experimental construction of walking robot

4 downloads 0 Views 834KB Size Report
Power supply: Li-poly battery 11,1 V or AC Adapter 12 V. – Length: 350 mm. – Width: 300 mm (when robot stand on legs). – Weight without batteries: 2.5 kg.
MECHANICS Vol. 27 No. 3 2008

MECHANICS Vol. 27 No. 3 2008

Artur BABIARZ*, Krzysztof JASKOT*

EXPERIMENTAL CONSTRUCTION OF WALKING ROBOT SUMMARY The paper presents an experimental construction of six legs walking robot. In the paper, we consider problem of control six legs robot with eighteen servomotors. Each of the legs is equipped in three servomotors what mean 3DOF (degree of freedom) per leg. Using multiprocessor architecture, one microcontroller for servo control and one for analyse data from sensors are described. Mobile robot is a machine that can operate in a human-made environment. By control, in this case we will understand to be able to avoid collisions with obstacles during walk in unknown environment. Legs movement algorithm is described. Presented algorithm generates movement of legs with surface detection. All of presented algorithms were written in C language. Results of real application are also shown. Preliminary results of work on fully autonomous walking robot that can operate in human environment are presented. Keywords: walking robot, sensor system EKSPERYMENTALNA KONSTRUKCJA ROBOTA KROCZ¥CEGO Artyku³ prezentuje eksperymentaln¹ konstrukcjê szeœciono¿nego robota krocz¹cego. Rozwa¿any jest problem sterowania szeœciono¿nym robotem wyposa¿onym w osiemnaœcie serwomechanizmów. Ka¿da z nóg robota zaopatrzona jest w trzy serwomechanizmy, co zapewnia jej trzy stopnie swobody. Pokazano u¿ycie architektury wieloprocesorowej, gdzie jeden z mikrokontrolerów odpowiedzialny jest za sterowanie serwomechanizmami, a drugi zaanga¿owany jest do obs³ugi systemu sensorycznego robota. Przedstawiono wykorzystanie czujnika ultradŸwiêkowego do wykrywania przeszkód. Robot mobilny, jako maszyna, która mo¿e operowaæ w otoczeniu cz³owieka, musi byæ zdolny do omijania przeszkód, opisano tak¿e prosty wzorzec chodu. W pracy zaprezentowano równie¿ opis kinematyki prostej i odwrotnej dla jednej nogi. Wyniki znajduj¹ce siê w pracy s¹ wstêpem do projektu autonomicznego robota krocz¹cego. S³owa kluczowe: robot krocz¹cy, system sensoryczny, kinematyka 1. INTRODUCTION Walking machine or walking robot is defined as technical device, which move like most animal using legs (Zieliñska 2006). An example of application of the multi legs walking robots is inspection and rescue robots (Albrecht 2005). The big advantage of walking robots in contrast to wheel mobile robots is mobility when the surface is not flat – rough terrain. It is of great importance when robot has to inspect unknown environment e.g. after earthquake (rescue robots). Obviously, wheel mobile robots also to be able to operate in terrain but their dimension must be larger. It follows that must be equipped in the large drive system especially big wheel. This paper presents experimental construction of the six legs walking robots, which can operate in human-made environment. 2. MECHANICAL CONSTRUCTION OF THE ROBOT Mechanical construction of our robot was built with using most popular materials like Plexiglas and aluminium. This material is rigid and its weight is small in our case it is very important. As actuators, we are using servomotors from *

radio controlled models. Two types of servomotors are used. The main advantage of these servomotors is very simple control method using one signal wire. This signal PWM (Pulse Width Modulation) contains information about servo movement. Virtual construction of six legs robot is shown on Figure 1.

Fig. 1. Construction of the walking robot

Our robot is equipped with eighteen servomotors. Each of the leg has three servomotors it means three degrees of freedom (3DOF) per leg. Construction of one leg is shown on Figure 2.

Institute of Automatic Control, Silesian University of Technology Gliwice, Poland; [email protected]; [email protected]

91

Artur BABIARZ, Krzysztof JASKOT EXPERIMENTAL CONSTRUCTION OF WALKING ROBOT

Additionally each of the leg is equipped with infrared proximity sensors (one per leg) to detect surface. As proximity sensors, we are using TCRT5000 from Vishay. Proximity sensors send information to main robot controller when leg is close to surface (Fig. 4).

Fig. 2. Construction of the one leg

The list of technical parameters of the real robot is shown below: – – – – – –

Power supply: Li-poly battery 11,1 V or AC Adapter 12 V. Length: 350 mm. Width: 300 mm (when robot stand on legs). Weight without batteries: 2.5 kg. Weight with batteries: 2.630 kg. Minimal distance of the robot body from ground: 20 mm. – Maximal distance of the robot body from the ground: 150 mm. – Programming of on-board system: ISP programming. Real construction of the robot is shown on the Figure 3.

Fig. 4. Proximity sensor mounted on the leg

3. KINEMATICS OF ONE LEG To describe translation and rotational relationship between adjacent joint links, we use a matrix method proposed by Denavit–Hartenberg (Koz³owski et al. 2000, Szkodny 2004), which systematically establishes a coordinate system for each link of an articulated chain. Example of kinematics scheme is shown on the Figure 5. The individual matrixes can be describe as follows (according to matching coordinate systems in Fig. 5): A1 = Rot ( Z , θ1 )Trans (0, 0, λ1 )Trans (l1 , 0, 0) Rot ( x,90o ) (1)

Fig. 3. Real construction of six legs walking robot

A 2 = Rot ( Z , θ2 )Trans (l2 , 0, 0)

(2)

A3 = Rot ( Z , θ3 )Trans (l3 , 0, 0)

(3)

The values of range each θ angles are presented in Table 1.

Fig. 5. Kinematics scheme of one leg

92

MECHANICS Vol. 27 No. 3 2008 Table 1. The θ angles values The number of link

èi [º]

1

30–120

2

0–120

3

0–150

From equations (1)–(3) we receive matrix T which describe position and rotation of the last joint in relation to the base system:

⎡C1 (C2C3 − S2 S3 ) −C1 (S2C3 + S3C2 ) S1 C1 (l3C2C3 − S s S3l3 + C2l2 + l1 ) ⎤ ⎢ ⎥ ⎢ S1 (C2C3 − S 2 S3 ) − S1 ( S2C3 + S3C2 ) −C1 S1 (l3C2C3 − S 2 S3l3 + C2l2 + l1 ) ⎥ ⎥ T =⎢ ⎢ S2C3 + S3C2 0 C2C3 − S2 S3 S2C3l3 + C2 S3l3 + S2l2 + λ1 ⎥ ⎢ ⎥ ⎢⎣ ⎥⎦ 0 0 0 1

(4)

where: Si, Ci – sin θi, cos θi; li , λi – dimensions of robot. Position of an effectors of leg is described by:

S2 =

x = C1 (l3C2C3 − S s S3l3 + C2l2 + l1 )

(5)

y = S1 (l3C2C3 − S 2 S3l3 + C2l2 + l1 )

(6)

z = S 2C3l3 + C2 S3l3 + S 2l2 + λ1

(7)

3.1. Inverse kinematics One of more difficult task in robotics is inverse kinematics. If we want to solve this problem we have to know T matrix. Matrix T describes positions and orientations of the last joint in relation to the base system, when we give θ1, θ2 and θ3 angles. To calculate angle θ1 we must solve: y S1 (l3C2 C3 − S s S3l3 + C2 l2 + l1 ) S1 = = = tgθ1 x C1 (l3C2C3 − S s S3l3 + C2l2 + l1 ) C1

(8)

then we got: ⎛S ⎞ θ1 = arctg ⎜ 1 ⎟ ⎝ C1 ⎠

(9)

dz − λ1 − l3 S 23 l2

(11)

where S23 is sin(θ2+θ3). In equation above we see two additional variables C23 and S23. Both angles we take directly from matrix T, xz = S23

(12)

y z = C23

(13)

Angle θ23 we calculate from: ⎛S ⎞ θ23 = arctg ⎜ 23 ⎟ ⎝ C23 ⎠

(14)

Using equation (14), (10) and (11), we calculate angle θ2: ⎛ ⎜ ⎜ ⎜ θ2 = arctg ⎜ ⎜ ⎜ ⎜ ⎝

z − λ1 − l3 xz l2 y − l3 y z − l1 S1 l2

⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠

(15)

Value of angle θ3 we got by: θ3 = θ2 − θ23

(16)

Next we calculate angle θ2, from (6) we got C2:

4. CONTROL SYSTEM

y −l C −l S1 3 23 1 C2 = l2

Robot control system was built using multiprocessor architecture Jaskot (2004). We are using two control boards – sensors and servo control. Sensors board was built using Microchip PIC18F4680 (Mirochip 2007). Main features of this microcontroller are presented in Table 2. Prototype construction of sensors board is shown on Figure 6.

where C23 is cos(θ2+θ3). From (7) we calculate S2:

(10)

93

Artur BABIARZ, Krzysztof JASKOT EXPERIMENTAL CONSTRUCTION OF WALKING ROBOT Table 2. PIC18F4680 Program Memory

64 Kbytes

RAM

3328 bytes

Data EEPROM

1024 bytes

I/O

36

Analog/Digital

11

Fig. 7. Ultrasonic rangefinder SFR02 Table 3. ATmega162 Program Memory

16 Kbytes

RAM

1024 bytes

Data EEPROM

512 bytes

I/O

35

Fig. 6. Sensors board

Microcontroller on sensors board analyses data from proximity sensors mounted on the legs. Each sensor is connected to 10-bit Analog/Digital input of microcontroller. Information from sensors are using to calculate positions of the legs. Second type sensor connected to this board is ultrasonic rangefinder (Fig. 7). We are using this sensor to detect obstacles in front of the robot. This sensor communicates with microcontroller by I2C bus. Servo control board is equipped in ATMEL Atmega162 microcontroller (Atmel 2007). Main features of this microcontroller are presented in Table 3. Prototype servo board is shown on the Figure 8.

Fig. 8. Servo control board

Sensor board communicates with servo control board by RS232 protocol using UART (Universal asynchronous receiver/ transmitter) build in PIC and Atmel microcontroller (Fig. 9).

Fig. 9. Communication between microcontrollers

94

MECHANICS Vol. 27 No. 3 2008

All information calculated by sensor board was sent to servo control board. When microcontroller on the servo board has all needed information, calculates necessary movement. Then it sends eighteen PWM signals to servomotors in every 20 ms.

First step (I) – all legs are straight. Second step (II) – body moves to the front. Third step (III) – legs one and six move forward. Fourth step (IV) – legs four and five move forward. Then when robot is in first step (I) legs two and three move to the start position.

5. TRAJECTORY PLANNING AND WALKING ALGORITHM In our case to trajectory planning for legs, we are using 3-order polynomial (Zieliñska 2006). Signals for control servomotors are calculated in the following way:

x(n) = x(nΔt ) = x0 +

48Δx T

2

( nΔt ) 2 +

128Δx T

3

(nΔt )3

(17)

where: Δx – coordinate the overall change, Δt – step, T – total time. To avoid exceeding of velocity limits of servomotors we using formula: θi =

x(n) − P0 + 90 −CT

Fig. 11. The pattern of walking

(18) 6. CONCLUSIONS

where: θi – angle, P0 – base position of servomotor, CT – timer constant.

values in discrete-time n

Using of polynomial (17) guarantees smooth movement, soft start and stop for every servomotor. Example trajectory is shown on Figure 10.

Experimental construction of six legs walking robot (Fig. 3) presented in the paper was used to test different patterns of walk. All test pattern of walking were implemented on the real robot. The paper presents also an experimental multiprocessor controller for walking mobile robot. Multiprocessor system provides higher reliability at a lower cost. Microcontrollers are located in various parts throughout the system and control their local functions (sensors, servomotors). In this paper we also describe forward and inverse kinematics for one leg of robot. References

n

Fig. 10. Example trajectory T = 1, Δt = 0.005

Our pattern of walking uses polynomial smooth servomotor trajectory generator and has four steps (Fig. 11).

Albrecht M., Backhaus T., Planthaber S., Stüpler H., Spenneberg D., Kirchner F., AIMEE: A Four Legged Robot for RoboCup Rescue. [in:] Tokhi M.O., Virk G.S., Hossain M.A., Climbing and Walking Robots. Springer, Berlin, Heidelberg 2005, ISBN 978-3-540-26413-2, pp. 1003–1010. Atmel 2007, ATmega162 Data Sheet. Atmel. Jaskot K. 2004, Distributed data system for mobile robot. International Ph.D. Workshop, Wis³a, Poland, October 2004, pp. 9–13. Koz³owski K., Dutkiewicz P., Wróblewski W. 2003, Modelowanie i sterowanie robotów. PWN, Warszawa, ISBN 83-01-14081-X. Microchip 2007, PIC18F4680 Data Sheet. Microchip. Szkodny T. 2004, Modelowanie i symulacja ruchu manipulatorów robotów przemys³owych. ZN Pol. Œl., s. Automatyka, z. 140, Gliwice. Zieliñska T. 2006, Maszyny krocz¹ce. Podstawy, projektowanie, sterowanie i wzorce biologiczne. PWN, Warszawa, ISBN 83-01-13925-0.

95