Navigation stack for the ErgoCub project
New Docker ready simonemiche/ergocub_ros2:ecub_first_year_demo_release
to use ergoCubGazeboV1
.
To use the demo is enough to execute the run.sh
script present in this repo (if you are using windows you have to modify the run script to allow the use of gpu).
run_NVidia.sh
allows to use the NVidia gpus if you have installed the NVidia docker components.
If you don't have Docker installed, follow this link on how to install it.
Once the docker is running, type terminator
to launch a terminal window.
The docker has aliases for simplify the execution of longer and tedious commands (tip: use TAB to autocomplete the command)
Type in order each one of the following instruction in a separate terminal (tip: use terminator
installed in the docker):
0_yarpserver
to launch the yarp server1_clock_export
followed by2_start_sim_world
: Gazebo will launch with a pre-loaded warehouse world. In Gazebo go to the Insert tab and select the robot and place it in the simulated world.launch_ecub_yarprobotinterface
to launch the yarprobotinterface forergoCubGazeboV1
3_reset_offsets
to open the rpc port and type inresetOffset all
(use TAB for autocomplete)ports_merge_yarp
for merging the ports needed by the navigation stack in a single one4_walking_mod
will launch the walking controller5_walking_coordinator
to open the RPC port for interfacing with walking controller. Type the following two commands (in order):>> prepareRobot >> startWalking
After the Simulation Setup has been completed, type in order each one of the following instruction in a separate terminal:
launch_localization_setup
starts the map server and AMCL.launch_robot_setup
starts Rviz and necessary ros2 nodes for scan filtering, odometry, TFs and frame projection.launch_planner_trigger
for synchronizing the nav2 stack BT with the walking-controller.launch_navigation
launches the rest of the nav2 stack, with the global planner, costmaps and BT navigatorlaunch_talker
is the node that transforms and converts the global path to the walking-controller.- (optional)
ros2 launch ergoCub_ros2 footprints_viewer.launch.py
for viewing the planned footprints on RViz.
Once all the previous commands have been successfully launched, you'll face RViz interface
Then select the button to set the initial position of the robot and click on the position on the map. You will see the initialization of AMCL with the green particle swarm around the robot.
To navigate, select the button and then the goal pose that you want on the map.