Prerequisites

Start the container

rocker --home --user --nvidia --x11 --privileged --network=host palroboticssl/tiago_tutorials:melodic

Empty World with TIAGo

cd /tiago_public_ws/
source ./devel/setup.bash
roslaunch tiago_gazebo tiago_gazebo.launch public_sim:=true end_effector:=pal-gripper

Basic Simulation

cd /tiago_public_ws/
source ./devel/setup.bash
roslaunch tiago_gazebo tiago_gazebo.launch public_sim:=true robot:=titanium world:=simple_office_with_people

Mapping Demo

cd /tiago_public_ws/
source ./devel/setup.bash
roslaunch tiago_2dnav_gazebo tiago_mapping.launch public_sim:=true
# this will also launch rviz
# since we are in network=host, we can use Foxglove instead

Save the map using:

rosservice call /pal_map_manager/save_map "directory: ''"
# by default this saves into ~/.pal/tiago_maps/config

Load existing map

cd /tiago_public_ws/
source ./devel/setup.bash
roslaunch tiago_2dnav_gazebo tiago_navigation.launch public_sim:=true lost:=true map:=$HOME/.pal/tiago_maps/configurations/<the_map_folder>

Localise the robot by running:

rosservice call /global_localization "{}"

Spin the robot:

TERM=linux rosrun key_teleop key_teleop.py

Now reset costmaps:

rosservice call /move_base/clear_costmaps "{}"