Open search

Service robots

ROS and CANopen make a perfect team

Nanotec (Germany) has adapted the Robot Operating System (ROS) to its motion control products.

The EM5 embedded controller communicates via CANopen with the wheel drives (Photo: Nanotec)

The Linux-based Robot Operating System (ROS) is becoming more and more popular in service robotics applications. Therefore the engineers from Nanotec have chosen ROS for the semi-autonomous, mobile service robot they have developed to test their wheel drives. However, two obstacles needed to be overcome: firstly, the integration of CANopen devices is not yet standardized, and secondly, Linux is not real-time capable without modifications.

For this reason the company splits the tasks: The motors and sensors are connected to Nanotec's EM5 CANopen host system, which controls the motors in real-time. On this Linux-embedded PC, ROS calculates the target positions of the individual wheels with the help of kinematics and a map and sends them to the EM5 via Ethernet. The CANopen controller then interpolates and monitors these values. As a result of the precisely timed clock rate of 1 ms, with which the EM5 cyclically commands the target speed of the wheels, slippage of the wheels due to temporal jitter can be prevented. Furthermore, the control unit is equipped with eight ultrasonic sensors for collision avoidance. Their data is also relayed to the ROS via Ethernet and synchronized with the data of the integrated laser scanner. Diagnostic information can be retrieved through the integrated touchscreen of the controller.

“ROS teaming up with a CANopen master and plug & drive motors results in an open, simple and quick-to-assemble modular system for service robotics applications that nonetheless delivers top performance,” stated the company on its website.


Publish date