The Firmware and ROS package for a robot with mecanum wheels that can be controlled by sending it ROS Twist messages.
The robot chasis was build using this kit from robu.in. The robot is controlled using a ESP32-WROOM (38-Pin).
The firmware is written in C++ and uses the Arduino framework and should be flashed to the ESP32-WROOM using the Arduino IDE.
This repo is also a ROS package that contains a ROS node that can be used to bring up the robot. The node uses the rosserial package to communicate with the ESP32-WROOM. The node can be started using the following command:
roslaunch mecanumbot bringup.launchThe robot can be controlled by publishing to the /cmd_vel topic. The message type is geometry_msgs/Twist.
To control the robot using a joystick / gamepad, the joystick parameter can be set to true while launching the node. This then uses the joy package to publish the /joy topic and convert the joystick messages to Twist messages.
- Publish odometry by using reverse kinematics
- The firmware is based on the ros_mecanum_robot by Reinbert.
- The kinematics have been adapted from this blog post by David Kohanbash.