I've built a ROS2 robot on RaspberryPi4 wit hubuntu 22.04 and Humble.

Im planning to add nav2 and slam toolbox to my robot but I'm having some problems with the wheel controller and hardware interface.

Actually my hardware interface is a custom python script which convert Twist messages into PWA to drive 2 Adafruit brushed motors through a L298N motor drive connected directly to Raspberry GPIO.

The problem is that with this setup I lack the "odom" frame and so nav2 and slam does not works. Can you suggest me a proper setup with motor controller and a a good hardware interface to publish odom frame, in order to make nav2 and slam toolbox work (and maybe replace my motors with encoder motors to add closed loop feedback?).

Thank you!


1 Answer 1


You need to have wheel encoders velocities reported from the motors, visual odometry, lidar odometry, etc to provide the relative motion information to populate the odom frame - this is very important in mobile robotics so that you have a smooth and continuous relative frame for motions that isn't impacted by localization jumps.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.