You can find some videos of tests in the Demo folder.
RealRobot_oneway.mp4
Utils : Scripts, data and tools to build and run the project
Report : Final thesis report pdf
Report-updated : An updated version of the final thesis report pdf
The rest of the directories are ROS2 packages.
Install ROS2 humble, Gazebo 11, and other dependencies by looking at Dockerfile included in Utils directory.
- Make a ROS2 workspace
- Create a
srcdirectory. - Clone the content of this repository into
src - Go back to ROS2 workspace and run
colcon build - Refer to report appendix to run the project.
A detailed guide to running the project is in the project Report, part Apendix.
As a review, the following nodes should be running for the whole system to work.
The main node:
$ ros2 launch caspi_bot caspibot_world_real.launch.py
The LiDAR node:
$ ros2 launch urg_node urg_node_launch.py
The joystick node:
$ ros2 launch caspi_bot joystick_caspibot.launch.py
To capture a map from the environment:
$ ros2 launch caspi_bot online_async_launch.py params_file:=./src/caspi_bot/config mapper_params_online_async.yaml use_sim_time:=false
To save the map:
$ ros2 run nav2_map_server map_saver_cli -f path/to/save/<maps_name>
Run localization in a pre-saved map:
$ ros2 launch caspi_bot localization_launch.py map:=path/to/saved/map/<maps_name>.yaml use_sim_time:=false
To navigate in the captured map:
$ ros2 launch caspi_bot navigation_launch.py use_sim_time:=false map_subscribe_transient_local:=true
Run collision monitor:
$ ros2 launch caspi_bot collision_monitor_node.launch.py
Waypoint following node:
$ ros2 run waypoint_navigation follow_waypoints
Detecting the Station and Docking to it:
$ ros2 run station_docking detect_docking
$ ros2 run station_docking attach_docking