Answered step by step
Verified Expert Solution
Question
1 Approved Answer
A . TASK - 1 : Multi - robot coverage path planning Two robots are located in ROS Stage environment. The environment includes obstacles that
A TASK: Multirobot coverage path planning
Two robots are located in ROS Stage environment. The environment includes obstacles that the robots should
avoid colliding.
The starting positions and orientations of the robots are shown in Figure The arrows show the directions
that the robot moves. The distance R that the robot travels in leftright directions is the same. Both robots
start moving up until they detect the wallobstacle with their sensors; then they turn leftright and then move
downup until they detect the wallobstacle again with their sensors This motion pattern is executed until
the robot reaches the end point see Figure square icons The robots should always face the directions
that they move. The starting positions and the orientations of the robots should appear as seen in Figure
Set the value of R as for robot and robot You can do small changes on this value.
Each robot should keep the track of the total distance that it travels.
You should create a yaml file that holds the R values for the robots. The parameters in the yaml file should be
received in the Python file using the appropriate functions.
First, robot should start moving. When robot finishes its motion, it should send the message that includes
string command and float distance to robot The value of the command variable should be START and the
value of the distance variable should be the total distance traveled by robot Robot should subscribe to
the topic that this message is sent. Upon receiving this message, robot should start its motion also print the
distance value that is received. Note that for this message file to be built, you need to modify your
CMakeListstxt file in your project package accordingly and include this message as a header to your Python
files
Important Notes:
You should use the robots sensor so that it does not hit the wallsobstacles You can define a fixed
distance R for the robot when it is traveling in left or right direction ie in the x axis However, do
not define a fixed distance for the robot when it is traveling in up or down direction ie in the y axis
This should be controlled by the robots sensors That is the robot should understand when it should
turn leftright using its sensor data.
You need to change the world file to change the initial postions and orientations of the robotsEXECUTION:
The execution of each step should be demonstrated in ROS Stage and the nodes should be written in Python.
You can create a seperate Python node for each robot that executes step A Or you can create a single Python
node that executes step A for both robots. You need to have a separate Python nodes for steps B and C
You can start running your nodes either using rosrun command or using roslaunch command by creating
launch files.
In your world file, change the window and floorplan functions in your world file as you see below. The image
file is in the uploaded project folder in Moodle.
window
size
rotate
scale
showdata
showtrailarrows
showtrailfootprint
floorplan
name "firstmap"
bitmap "FinalProjectWorld.png
size
pose
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started