ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

micro-ROS meets MoveIt!

Here at micro-ROS, we have laid out and packaged a new glamorous demo to showcase the integration between micro-ROS and MoveIt 2, a manipulation framework for robotic applications created and maintained by PickNik. The final result is displayed with the ROS visualization tool Rviz.

Find the full video of the demo here.

We designed the demo in such a way that the MoveIt 2 manipulation and planification algorithms cause the virtual panda robotic arm to reach out to the board as this is being moved in real space and publishes data regarding its position and orientation to the ROS 2 ecosystem.

With this demo we bring micro-ROS to a whole different level: thanks to MoveIt’s kinematic planification talent, an app running on a microcontroller is now enabled to be integrated into complex algorithms and ROS 2 workflows. This allows all robots in micro-ROS’ ecosystem to perform actual ‘stunts’ of all types.

To run micro-ROS, we employ a STM32L4 Development IoT kit board in combination with Zephyr. The board offers several general-purpose I/O pins and peripherals to communicate its 32-bits microcontroller with the external world. It also includes a lot of sensors. For this demo, we make use of a 6-DoF Inertial Measurement Unit (LSM6DSL), composed of an accelerometer and a gyroscope, and a 3-DoF magnetometer (LIS3MDL). The fusion of the measurements fetched by these sensors outputs the pose, or relative orientation of the board with respect to a fixed reference frame.

The pose data is then forwarded to the ROS world, where it is consumed by both Rviz and MoveIt 2. Rviz uses it directly to represent the position and orientation of the board in its graphical interface, and MoveIt 2 uses it to calculate the movement that the virtual arm has to perform to ‘touch’ it, according to its kinematic algorithms. The resulting movement is then integrated into Rviz and represented by means of its virtual panda robotic arm, a standard tool used by MoveIt in tutorials and graphic interfaces.

Find the dedicated repo at this link, with instructions on how to reproduce the demo.