-
Notifications
You must be signed in to change notification settings - Fork 6
Workshop 5 ‐ Navigation
For this task, you are required to work in simulation for the time being.
-
Launch the simulation in the way you learnt in the previous weeks - you can check the dedicated Wiki pages if you don't remember how to do it.
-
Launch the navigation stack by invoking the following command
ros2 launch limo_navigation limo_navigation.launch.py
-
Add a new
Map
type marker for yourlocal_costmap
topic, and set theColor scheme
tocostmap
. Notice how obstacles got inflated by a safety area which is not traversable by the robot. You can read more about it here. -
Try to send a robot goal by using the
2D Goal Pose
button in the top bar in Rviz. A green arrow will appear at the point where you click on your mouse, and releasing the click the new goal will be sent to the robot. -
Appreciate how your robot will never traverse the inflated area.
-
Inspect the
tf_tree
(do you remember how to do it?) to see how it changed since the previous workshops, and inspect any new topics you may see in the console.
-
In Rviz add visualisations for local and global paths: rviz option
Add/By topic/
and then/plan/Path
and/local_plan/Path
. -
Change colours so you can differentiate between the paths.
-
You should be able now to send the robot from the Rviz interface to any place by specifying
2D Goal Pose
from the top menu. You can select the target position of the robot on the map and its orientation using the arrow. -
Inspect how the global and local paths differ, while the robot is approaching the destination point.
-
Add to Rviz the local and global costmaps, setting their visualisation style from
map
tocostmap
. -
Navigate close to the map borders and investigate if the robot can operate safely in the presence of borders.
-
Inspect the
/opt/ros/lcas/install/limo_navigation/share/limo_navigation/params/nav2_params.yaml
file and change the values forinflation_radius
layer such that the robot does not get stuck near the walls. This change will be reflected the next time you launch the simulation.1.1 These values can be dynamically reconfigured on the fly by opening
ros2 run rqt_gui rqt_gui
or by simply typingrqt
from the console and then from the menu barPlugins/Configuration/Dynamic Reconfigure
. Please selectglobal_costamp
orlocal_costamp
in the menu on the left, and you should be able to visualise all the parameters you can change. -
In the Gazebo simulator, place an obstacle in front of the robot, and in Rviz issue a navigation goal in a straight line behind the obstacle. Note the behaviour of the robot. For the local costmap, change values of the
inflation_layer
andobstacle_layer
to ensure the safe operation of the robot in the presence of local obstacles.
In Rviz, issue 2D navigation goal commands and inspect the global trajectory. Place an obstacle in front of the robot and check if that affects the global path. Modify the global re-planning using different values (e.g., 5, 10, 20s) by modifying the expected_planner_frequency
parameter, and note the differences in the planning behaviour. Inspect the optimisation potential in Rviz.
In Rviz, issue 2D navigation goal commands and inspect the local trajectory. Change the sim_time
parameter to 10 s and note the differences in robot behaviour and local/global trajectory alignment.