This project is to demonstrate R1mini control and navigation in ROS2-foxy environment.
한국어 사용자는 다음 한국어문서를 참조하십시오.
cd {$workspace_path}/src/
git clone https://github.com/omorobot/omo_r1mini-foxy.git
git clone https://github.com/PinkWink/YDLidar-SDK.git
git clone https://github.com/PinkWink/ydlidar_ros2_driver.git
cd {$workspace_path}/src/YDLidar-SDK
cd build
cmake ..
make
sudo make install
Following additional packages may be reuqired to be installed.
- gazebo
- ros-foxy-gazebo-ros-pkgs
- cartographer-ros
- nav2_map_server
- pyserial
sudo apt install -y ros-foxy-gazebo-ros ros-foxy-cartographer-ros ros-foxy-nav2-map-server ros-foxy-gazebo-ros-pkgs
pip install pyserial
- To build
cd {$workspace_path}
colcon build --symlink-install
- To enable the built source into ROS2 environment
cd {$workspace_path}
./install/setup.bash
- To give authority for driver access to MCU and LiDAR
cd {$workspace_path}/src/omo_r1mini/omo_r1_bringup
sudo sh create_udev_rules.sh
- To bringup robot
cd {$workspace_path}
ros2 launch omo_r1_bringup omo_r1_bringup.launch.py
- To bringup robot (in simulation environment)
cd {$workspace_path}
ros2 launch omo_r1_gazebo omo_r1mini.launch.py
- To teleoperate the robot using KEYBOARD
cd {$workspace_path}
ros2 run omo_r1_teleop teleop_keyboard
- To conduct SLAM (Try after few seconds from MCU and LiDAR bringup)
cd {$workspace_path}
ros2 launch omo_r1_cartographer cartographer.launch.py
ros2 launch omo_r1_cartographer cartographer_rviz.launch.py
- Once mapping is done, you can create map.pgm and map.yaml file by executing
cd {$HOME}
ros2 run nav2_map_server map_saver_cli -f map
- To conduct path planning & following (Try after few seconds from MCU and LiDAR bringup)
cd {$workspace_path}
ros2 launch omo_r1_navigation2 navigation2.launch.py map:=$HOME/map.yaml
ros2 launch omo_r1_navigation2 navigation2_rviz.launch.py