I offer to your attention a small introductory technical review of the Robotino® robot manufactured by Festo Didactic . The review consists of general technical information and details that were obtained in the course of experiments and research with this robot.
Mobile robot Robotino is an autonomous mobile platform with three roller-bearing wheels of the omnidirectional type (acting in all directions, omnidirectional). The movement of the robot is carried out by three DC motors, the axes of which are located at an angle of 120 degrees to each other. Thanks to this design, this robot is able to move in all directions on the plane of motion, with the possibility of rotation around its axis, passing through its geometric center 360 degrees.
Drive technology ')
An interesting design feature is the drive technology, namely geometry, which is the following design:
Where the numbers indicate: 1 - the engine, 2 - tachometer, 3 - roller, 4 - gear, 5 - belt drive. The speed of rotation of the shaft of each of the engines is transmitted to the axis of the corresponding wheel using a gearbox with a gear ratio of 16: 1. In addition, the measurement of the angular speeds of rotation of the shafts of the engines is carried out using incremental tachometers, and the linear velocities of the robot moving in three directions: forward, sideways and turning around its axis are recalculated accordingly by measuring the angular velocities of the engines.
Control
The robot can be controlled remotely via WLAN wireless communication, as well as using previously prepared programs stored in the robot's memory. Work offline is provided by batteries. Robotino runs the embedded operating system (OS) Linux. There is a set of functions (commands) that allow you to set and measure the angular velocity of rotation of the shafts of the engines, as well as the linear velocities of the robot. The robot comes with RobotinoView, a software with a graphical interface that displays the status of control signals, sensors, inputs and outputs. The program for the robot can be written based on the selection of the necessary functional blocks from the available list, their combination and setting in graphical mode, setting mathematical control parameters using functions and coefficients (visual programming). RobotinoView can be programmed using high-level C ++ APL languages for Windows and C ++ APL for Linux. Autonomous programming of the robot is possible when the monitor and keyboard are connected to it.
Hardware
The hardware part of Robotino consists of the following subsystems:
Power system - rechargeable batteries, charger, allowing the robot to work offline for several hours.
The propulsion system consists of three DC motors, a gearbox, roller-bearing wheels, allowing the robot to move in different directions, a belt drive. It should be noted that in order to stabilize the rotational speeds of the shaft of each of the three engines of the robot, built-in proportional-integral-differential (PID) regulators with predetermined coefficients are used.
Measuring system (tachometers) for measuring the speeds of rotation of engines.
Wireless communication system with an external control computer (Wi-Fi access point).
The built-in control computer that interacts with all the systems of the robot consists of two components: a PC 104 processor, compatible with MOPSlcdVE, 300 MHz and a compact flash card (1024 MB).
The I / O circuit board establishes a communication link between the computer and the sensors, the motor, and the I / O interface with the Robotino.
The software of the robot can be divided into 2 types: internal and external. Internal software includes:
Linux operating system (OS), which interacts with hardware and software, processes internal commands, and exchanges data with an external control computer.
Programs stored in the robot's memory for autonomous control.
External software includes:
Programs using C ++, C # classes with a set of methods for communicating and exchanging data with Robotino.
Matlab / Simulink visual design environment with a loaded library to control the robot.
Visual Design Environment RobotinoView.
Virtual simulator RobotinoSim provides the ability to work not with a real Robotino, but with its virtual copy.
Note: all control commands that come from the software and are sent to the robot are executed sequentially; the robot cannot execute several commands at the same time.Therefore, after the transfer of the corresponding command to the robot, the control program pauses until it starts executing this command and returns control to the program.Accordingly, there is a certain delay between the moment the command is given, the moment it is executed and the next command, due to the time when the command is transmitted to the robot via wireless communication, as well as the processing time of the Robotino OS command and the start of its execution.Empirically, it was found that the execution time of each team is a variable value, which may be due to the delay in the execution of the robot's command queue or the instability of the Wi-Fi communication channel.Thus, the time for issuing a command to one of the 3 engines averages 0.009 s.Time taken to take measurements from one tachometer 0.002 s.