Szabad(ka) II Robot
Autonomous hexapod walker robot “Szabad(ka)” is developed for testing and developing algorithms connected to motion, robot vision, decision making and robot networking. This hexapod robot was given the name “Szabad(ka)” because it incorporates the name of the city where it was designed as well as hinting at its main feature, namely that it can be openly (‘szabad’) developing platform for user specific needs.
Walking machines are desirable because they can navigate terrain features that are similar in size to the size of the robot, whereas wheeled and tracked vehicles are only suitable for obstacles smaller than half the diameter of the wheel. Furthermore, if given an ability to find locally horizontal footholds in regionally steep terrain, they can climb extreme angles. Applications potentially include reaching territories which are unreachable or dangerous for humans, exploration, mining, military, rescue, and industrial environments, on earth and beyond.
For walking machines, mostly two legged (biped), four legged (quadruped), and six legged (hexapod) constructions are used. The hexapod is the most stable of the named machines. This is why an autonomous hexapod robot was built with 18 DOFs (degree of freedom). The robot has MATLAB development platform. It contains one TMS320C6455 DSP (1GHz frequency) and 10 MSP430F6412 processors, an access point, 2 cameras, 2 ultra sound radars, several accelerometers, gyroscopes and other sensors for navigation and motion control.
The robot can be used for testing and developing algorithms connected to motion control, visioning, decision making, and networking. In the robot’s 10 microcontrollers, there are various algorithms for sensor processing and basic motion control. Higher level software can be written on personal computers, (in C++ or in MATLAB) and following that it can be implemented into the robots DSP processor which has really high processing abilities. Its software platform (with the already written algorithms) is designed in a modular way, which makes it possible for the developers and researchers to develop codes in their own fields of interest without having to be familiar with other software parts of the robot.
The DSP and the 10 MSP processors are connected into network through SPI and I2C protocols. The DSP processor is on a DSP Starter Kit (DSK) made by a third party company, and the 5 PCB-s (2 MSP controllers on each) are designed at the college. From these 5 boards, 3 are for controlling the legs, and the other two are for processing signals from 2 gyroscopes, 2 accelerometers, 2 radars, several IR collusion detectors. Also every leg has an accelerometer and a force sensor in its foot. The communication with the computer is realized wirelessly with an integrated high speed access point. A Video Interface is implemented for connecting 2 digital, high resolution cameras. This is used for stereo visioning.
The robot’s body is made from more than 150 aluminium and steel parts. All of them were designed in AutoCAD, and simulated in Rhino3D. The parts were manufactured with CNC milling machines.
Figure 1 shows a 3D animation the robot while Figure 2 shows the general layout. The robot weighs about 10 kg and it is 300 mm high if it stands. All the parts of the legs and the body are made mostly from aluminum. This material is strong and light enough for our needs.
Figure 3 shows the body and the locations of the six identical legs with the approximate movements available about the a axis of each leg before they hit the bumpers on the chassis.
The leg attachments all lie in the same plane, with all the a axes parallel. Besides holding the legs, the function of the chassis is to hold the electronics and the accumulator, too.
The legs (Figure 4) are all identical and have three revolute joints each. The first two are orthogonal to each other and the third is parallel with the second.
All the joints use identical 10W DC motors running through 1:100 planetary reduction gearboxes. After the gearbox, there is a metal bevel gear pair (with 12-36 teeth), providing 1:3 additional reduction, for smoother moving, and more torque.
For angle measurements on the servos home made optical quadrature encoders were used. Calibration of their offset can be done with software by moving the joints until they hit the bumpers, which generates known reference angles for each joint.
In every jointed foot there is a force measuring stamp and a 3D accelerometer providing additional data.
The electronics consists of the DSP Starter Kit (DSK), the MSP boards, and the Stereo Video Interface.
The DSK (Figure 5. and 6.) has a high-end DSP TMS320C6455 processor, running on 1 GHz, having 128 MB of RAM memory, 4 MB of ROM memory, an Ethernet connector and an audio in/out port. Because this DSP is Texas Instruments’ most advanced processor, it is a good choice for the current needs. The DSP and one MSP board is connected through SPI protocol and communication with the computer is established wirelessly through an access point and the Ethernet connector.
From the 5 MSP boards, there are:
– 1 Sensors board
– 1 Communications – Motion Algorithm board, and
– 3 Inverse Kinematics boards.
The Communications – Motion Algorithm board (Figure 6.) contains 2 MSP processors. One of them is the one, which is connected to the DSP processor. Its main tasks are to transceivers the commands between the DSP and the other MSP-s, and to generate the walking coordinates in dependence of time. The other MSP’s job is to process the rear gyroscopes, the rear accelerometers, and some infra red collision signals.
The task of the 3 Inverse Kinematics boards (Figure 7.) is to receive the coordinates from the Communications – Motion Algorithm board and to generate the desired angles of 3 joints for a leg. Logically, every IK board has 2 MSP-s, one for each leg. This board’s other task is to process the data received from the force sensors and the accelerometers placed in the feet.
The Sensors board’s (Figure 8.) first MSP controls the 2 ultra sound radars (it moves RC servo motors, and processes data), and the second MSP’s job is to process the front gyroscopes, the front accelerometers, and some infra red collision signals.
The robot’s software is physically divided into 3 parts. These are: the software running on the PC, the DSP software, and the MSP software.
For the PC, currently there is some controlling software written in JAVA (Figure 12.), and a MATLAB platform (Figure 10. and 11.). Both of them are capable for moving the robot in various directions, with various speeds, and with other options. The JAVA software is also prepared for receiving video data and other information from the robot. Further, it can set some behaviour.
About the DSP software: currently its only task is to transmit data between the PC and the Communication MSP but it will be used for image processing and decision making as soon the Stereo Video Interface will be finished. Some contour recognition and other algorithms are already written for it, and ready to use. The DSP software is written in C++ with Code Composer Studio.
The tasks of the software on the 5 MSP boards (on the 10 MSP controllers) were already described under the electronics section, thus 6 MSP-s are for Inverse Kinematics, 2 MSP-s are processing one gyroscope, one accelerometer, and some IR sensors (per each controller), 1 MSP is for controlling, and processing 2 US radars, and 1 MSP is for communications, and for motion algorithms.
Special thanks go to the HungarianAcademy of Sciences’ research group dealing with brain research at the KFKI-RMKI Institute, because they took it on themselves to finance this robot and continually monitor our activities around the development of the robot. We are also grateful to the College of Dunaújváros for having agreed to carry out the robot’s etch work using CNC. The development of the robot has furthermore been supported by Zsolt Takács from Subotica and the Gordos family from Ada with their work and advice.