ROS packages for an outdoor 'Roomba' robot
Hello,
I am building a robot that will be able to clean small litter in an outdoor environment. My idea is as follows:
- I want to be able to define an area (like a geofence) that the robot needs to clean
- The robot needs to plan a path that covers the entire area - e.g. a snake pattern
- The robot needs to follow the path aided by GNSS and wheel odometry (and if necessary an IMU)
- The robot should detect litter using an neural network (YoloV3)
- The robot needs to pick up litter using a gripper and store it in its trash bin
- The robot needs to avoid obstacles detected by a depth camera
Hardware setup:
- Compute: Multiple Raspberry Pi 4 Model B / 4GB and NVIDIA Jetson TX2
- Depth camera: Intel Realsense D435
- GNSS: 2 simpleRTK2B boards in rover-base configuration
I have figured out most of what I need to detect litter. What I am still struggling with, is what ROS packages I should use for the localization, navigation and obstacle avoidance part. I have already looked at the robot_localization package, which seems suitable to combine our different sensors, but that would only cover the localization part.
I will be using ROS Melodic on Raspbian Buster (ARM, Raspberry Pi) and Ubuntu 18.04 (ARM, Jetson TX2).