This repository contains ROS2 version of Hosei orange, which has competed in the Tsukuba Challenge and IGVC. It supports several Gazebo world, SLAM methods and provides navigation feature.
$ git clone https://github.com/KBKN-Autonomous-Robotics-Lab/orange_ros2.git
$ wstool merge orange_ros2/orange_ros2.rosinstall
$ wstool update
$ rosdep install -r -y -i --from-paths .
The following 4 gazebo worlds can be run.
empty_world | orange_world | orange_igvc | orange_hosei |
---|---|---|---|
$ ros2 launch orange_gazebo {GAZEBO_WORLD_NAME}.launch.xml
Orange robot can be controlled via keyboard or gamepad.
keyboard
$ ros2 launch orange_teleop teleop_keyboard.launch.xml
gamepad
$ ros2 launch orange_teleop teleop_joy.launch.xml
$ ros2 launch orange_bringup rviz2.launch.xml
The following SLAM methods can be run.
slam_toolbox | cartographer |
---|---|
Gazebo simulation without creating waypoints
$ ros2 launch orange_gazebo orange_hosei.launch.xml
$ ros2 launch orange_slam {SLAM_METHOD_NAME}.launch.xml use_sim_time:=true
$ ros2 launch orange_teleop teleop_keyboard.launch.xml
Gazebo simulation with creating waypoints
$ ros2 launch orange_gazebo orange_hosei.launch.xml
$ ros2 launch orange_slam waypoint_slam.launch.xml slam_method:={SLAM_METHOD_NAME} use_sim_time:=true
$ ros2 launch orange_teleop teleop_keyboard.launch.xml
ros2 bag
$ ros2 launch orange_bringup with_ros2bag.launch.xml
$ ros2 bag play your_bag -r 3 --clock
$ ros2 launch orange_slam {SLAM_METHOD_NAME}.launch.xml with_ros2bag:=true
You can try Navigation2 with a map created by slam_toolbox or cartographer.
Gazebo simulation
Waypoint Navigation
$ ros2 launch orange_gazebo orange_hosei.launch.xml
$ ros2 launch orange_navigation waypoint_navigation.launch.xml use_sim_time:=true
You can download the ros2 bag obtained from orange_hosei.
$ wget --load-cookies /tmp/cookies.txt "https://drive.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://drive.google.com/uc?export=download&id=1T3eFLUSbdlLayyaVRCAf1Hfi8K1FMR4K' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=1T3eFLUSbdlLayyaVRCAf1Hfi8K1FMR4K" -O ros2bag_orange_hosei.zip && rm -rf /tmp/cookies.txt
- slam_toolbox : https://github.com/SteveMacenski/slam_toolbox
- cartographer : https://github.com/cartographer-project/cartographer_ros
- Navigation2 : https://github.com/ros-planning/navigation2