The conversion of ROS topic cmd_vel (travel commands that are sent by your higher-level ROS
system) into movements of the motors of Nanotec's "drive and technology platform RP-NTH-2D01-C1-Sx-Px"
Providing the odometry data to your higher-level ROS system under the topic odom. The odometry
data is an estimate of the position based on the actual movements of the vehicle.
The interaction with the powerboard of RP-NTH (display and forwarding of the data, e.g., of the battery status)
The following figure shows the general design of the drive and technology platform:
Part of the software, EMROS-ROS, runs on your on-board computer with Linux and is responsible for
calculating the necessary drive speeds. EMROS-ROS sends the target values for the individual wheel
drives to the EMROS-EM5 part of the software via Ethernet (using a simple self defined UDP based protocoll named "EtherProtocol").
EMROS-EM5 is the software within the freely programmable part of the EM5 CANopen master.
Because ROS (ROS 1) is not currently real-time capable, the EM5 controls the drives in a temporally precise cycle via CANopen.
The drives (CANopen slaves) receive the target values (target velocity) via CANopen and perform the
movements. Their current data (actual velocity) is processed by EMROS-EM5 and sent to EMROS-ROS.
The following figure shows the communication sequence between the components of the system: