Ideal hardware/compute for an indoor 2d robot with using RTABMap

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Ideal hardware/compute for an indoor 2d robot with using RTABMap

hoffer
As the title states, I would love to hear what an ideal setup would look using only a camera, IMU, and wheel odometry, for mapping and localization. Is there a preferred mix of camera vendor/model and compute (jetson, raspi etc) that you all have found yields the best results?
Reply | Threaded
Open this post in threaded view
|

Re: Ideal hardware/compute for an indoor 2d robot with using RTABMap

teelusk
+1
Reply | Threaded
Open this post in threaded view
|

Re: Ideal hardware/compute for an indoor 2d robot with using RTABMap

ievolve
In reply to this post by hoffer
I've also been looking for the ideal rtab-map hardware stack that will yield best results.  Hopefully some of you that have had great results will share your preferred hardware.
Reply | Threaded
Open this post in threaded view
|

Re: Ideal hardware/compute for an indoor 2d robot with using RTABMap

matlabbe
Administrator
Referring to first post similar to that setup or this one used at the IROS2014 Kinect challenge, if you have already good wheel odometry (maybe a mix of IMU+encoders using robot_localization), you don't need powerful computer (as low as a RPI) to get same results. The RAM size and CPU power would then dictate how long you can slam online (or the maximum map size that can be held in RAM), but quality should be similar.

One issue with RPI-like computers is sometimes to get the camera driver running at a decent rate / resolution without using 100% CPU or having USB issues. Ideally, if you have a camera computing depth onbard the camera, you will same downstream CPU. If so, by setting rtabmap to subscribe to wheel/IMU odometry and to 1 Hz images, you can run easily on RPI4 or RPI5 + Arduino for motor control and imu/encoders readings.

I've seen RTAB-Map running decently on systems like Qualcomm Flight Pro / Snapdragon Flight, integrating their own optimized VIO. If any embedded system can handle VIO in real-time, RTAB-Map doesn't need much more to run, as shown on RTAB-Map's ports on Google Tango, Android and iOS.

The next level of computation would be Jetson AGC (xavier/orin) or intel Nuc (to keep it mobile, unless you don't care to put a laptop on the robot). The later may be easier to use with many open source approaches that are mostly implemented on CPU only. Note that I am currently working on better integration of RTAB-Map with jetson/nvidia CUDA (note that nvidia has their own GPU optimized visual odometry approach that can be integrated with RTAB-Map).

Then for the choice of the best stereo/RGB-D camera or lidar sensors... then it is another topic!

cheers,
Mathieu

Reply | Threaded
Open this post in threaded view
|

Re: Ideal hardware/compute for an indoor 2d robot with using RTABMap

ievolve
I appreciate the feedback Mathieu!  We are currently on an AGX Orin 64gb so the CUDA optimization is of interest.  

I'd love to start a new thread around stereo/rgbd camera choices.  We went with the zedx with capture card but aside for being a costly solution (camera and a capture card) it is pretty resource hungry as well.  I'm not certain that it justifies the cost to be honest.  

I've not yet tried some of the other alternatives but would like to know what others are getting solid results from.