The purpose of this robot is to have a mean on which to test the control, perception and adhesion algorithms inherent to climbing; with this, it will be the main testing platform until the final manufacture of the second prototype. The robot used for this purpose was the commercial model XYZ Bolide Y-01, from the company XYZ Robots, which has been modified to get it to adhere to vertical walls.
The main characteristics of the prototype are the following. The robot is powered by a LiPo 3S 5500mA battery; it consists of 6 legs with three active degrees of freedom, motorized with smart servos of a maximum torque of 25 Kgcm. At the end of each leg are the suction cups that are attached by a ZYZ joint, they are equipped with a BSC-ESC that controls the brushless motor that powers the vacuum turbine. .. In the body of the robot is the MCU card, based on the microcontroller ATmega1280. The MCU communicates with a Trinket Pro 5V for the control of the suction cups, with the 18 motors of the legs and with the Intel Euclid that is the brain and the main sensor system of the robot. This component allows obtaining an RGBD image of the environment, to process it, and to communicate with external components.
- DYNAMIC MODELLING (VREP)
In order to test and verify that the implementations are safe, a model is built in the V-REP simulator (Virtual Robot Experimentation Platform). Developed by Coppelia Robotics, this is one of the most powerful and versatile simulators available today.
This program supports dynamic simulation of the robot, includes the possibility to implement motor controllers, with saturations, PIDs, maximum speeds etc. It is also possible to simulate the effect of a suction cup, as well as the friction of the grip, and to log the reaction forces. It is also capable of simulating complex sensors such as an RGB-D camera or a laser.
- MATHEMATICAL MODELLING
A critical aspect to control the robot while climbing is to ensure that normal and shear forces at the suction cup do not exceed certain limits during movement, given the risk of loss of grip. In principle to solve the problem it would be necessary to consider the elastic characteristics of the robot limbs and motors, which would make the system too complex to be included in the control loop of the robot.
Therefore we look for a simplified mathematical model, faithful enough to be able to decide which leg to release, and where to place it, as well as to inform about the convenience of moving the center of gravity of the robot in one direction or another.
CONTROL SYSTEM: CONTROL FIRMWARE
For the control of the robot, the embedded software for the microcontroller was developed, which allows the control of the commercial hexapod robot . To have as many functionalities as possible, tools were developed that serve as an intermediary between the elements involved in the movements,so an order to the robot is correctly transmitted from the robot assembly to the last engine.
The first step was to provide the hexapod with the displacement control, it must have the ability to, from externally defined objectives, interpret them and be able to carry out fluid and coordinated movements to achieve them.
The following are the main means for incorporation into the hexapod robot control system:
- Interface to standardize the engine, getting to communicate with it easily.
- Control at leg level so that it is able to carry out movements by controlling the three engines.
- Leg interface, simplifying communication with the robot as a whole.
- Control of the body, giving it the ability to carry out trajectories.
- Creation of the robot API oriented for the communication in any external way.
PERCEPTION SYSTEM: PROCESSING A CLOUD OF POINTS ON ROS
The perception system of the hexapod robot is based on processing a point cloud from a 3D sensor in order to find the possible gripping surfaces for the ROMERIN robot. For this purpose, we have made use of the Euclid Development Kit, which works on the ROS operating system. In addition, the Point Cloud Library (PCL), a library that allows a lot of flexibility and control over point clouds, has been widely used.
For the vision of the robot, the Intel Development Kit Euclid has been used, more specifically its infrared sensors that provide a cloud of points with which we have worked for the detection of the planes present in the scene. The processing of data, plane detection, location in the world of the robot and creation of the occupation map is done by means of the processor integrated in the Euclid, using the new standard in robotics ROS (Robot Operating System). This data has been used to create an occupancy matrix that tells the robot the probability that a point in space is available for the leg to be fixed.
To make it easier to hold the Euclid to the hexapod robot, it was decided to design a 3D part that could be screwed to the robot’s base and also provide a certain height and angle of inclination to improve the results.
As secondary targets, the robot is trained to distinguish between the different possibilities in its trajectory by extracting different grip planes and finding the optimal ones to reach from one point to another.
ADHESION SYSTEM: VACUUM GENERATION
At the end of each leg a suction cup is attached to stick to a wall or any other non-horizontal surface. To create the needed vacuum, every suction cup is equipped with its own turbine and motor. The turbine as well as the stator around it, are printed with a 3D printer, therefore it is easy to modify the design of the system to find the most efficient geometry. This means that the turbines design must be optimized so that the pressure will be as low as possible; more than 40 different tests have been carried out to obtain a sufficiently efficient vacuum system. The design and improvement process is documented on the Smart Suction Cup section.