an autonomous walking robot Mentor/Instructor: Prof. Ismail Lazoglu
Marcin Szarek Mechanical Engineering and Robotics, AGH University of Science and Technology, POLAND mszarek@agh.edu.pl
Gzde zcan Electrical and Electronics Engineering, Bilkent University, TURKEY gozde_o@ug.bilkent.edu.tr
Abstract In this project, the robot uses motors to make its walking motion. The project control aspect is done by microcontroller controller type. Aided engineering tools was used for complex calculations. Test of dynamic gait, as motion of robot, is taken under research. The calculations and the experimental data is visualized.
Content I. Introduction .....................................................................................................................................................................1 II. Main Body ..................................................................................................................................................................1 A. CAD model .............................................................................................................................................................1 B. SIMULINK model ...................................................................................................................................................1 C. Servomotor ..............................................................................................................................................................2 III. Software Solution ........................................................................................................................................................4 D. Arduino simulation board ........................................................................................................................................4 E. PWM generation system ..........................................................................................................................................5 F. Gait pattern ..................................................................................................................................................................6 G. Velocity servo control ..............................................................................................................................................8 H. Virtual Reality Toolbox model ............................................................................................................................... 10 IV. Conclusions ............................................................................................................................................................... 11 V. References ................................................................................................................................................................. 11 I. Webinars ................................................................................................................................................................... 11 J. Programs ................................................................................................................................................................... 11 VI. Photos at MARC........................................................................................................................................................ 12
I. INTRODUCTION Bipedalism is a form of terrestrial locomotion where an organism moves by means of its two rear limbs. An animal or machine that usually moves in a bipedal manner is known as a biped meaning "two feet" (Latin: bi = two + ped = foot). Types of bipedal movement include walking, running, or hopping, on two appendages (typically legs). The project is about construction of bipedal walking robot which consists of two parts; electrical and mechanical. In electrical part, 8 RC servo motors located hip, knee and ankle of robot are controlled with a PC and Proteus. In addition, MATLAB controlled user interface is prepared for this purpose. In mechanical part, simulation of robot structure are modeled 3D in SolidWorks and motion of bipedal walking are analyzed by modeling RC servo motor in Matlab SIMULINK. This report will explain what electrical, mechanical aspects and software solution of this project.
II. MAIN BODY A. CAD model Every model of legs is comprised of fives parts (Fig.1.), PELVIC is connection between its. An eight RC servomotors are used in a project. Each leg contains four of them. First motor is located on THINGH, second one is intended for motion of KNEE, third & fourth ones are used for given ANKLE/FOOT mobility. Model basically is rest upon humanoid construction of leg, but with many simplifications, like a reduce DOM. All parts is designed, and its CAD files is enclose to report.
Fig.1. Model of Biped. Location of servomotors: hip, knee and ankle (2 DOM) of each robot leg
B. SIMULINK model Conversion from SolidWorks assembly CAD model into a SimMechanics model is done. Unity coordinate system, body sensor block is already added, it is shown in Fig.2. Through trial and error method there steps was taken to find appropriate constrain for issue of wall-grounding construction for simulate constantly motion of walking. Unfortunately it is failure - have not found a proper one. The idea of research was to put floor below a robot, and located biped into it.
Fig.2. SIM-model of BODY with left foot grounded. After model initialization - to do it run initialize.m - machine for model (Fig.3) is going to reach standing position, every each of motor is working in design point, it means 90 degree angle (Fig.4).
Fig.3. SIMULINK model of Biped, gravity forces on
Fig.4. Servos on design point, respond Used solution is left leg grounded, so we are able to do one full step by opposite leg. Feedback from sensors in model is absolute value, and it is displayed in Fig.4.
C. Servomotor HS5645 High Torque servomotors are chosen to be located in hip, knee and ankle of each robot leg as it is shown in Fig.5a. The HS-5645MG is servomotor, featuring a programmable digital circuit with custom metal gear train technology. The servo delivers high resolution and torque. Specification is shown below, in Fig.5b.
Fig.5a. Digital sport servomotor: HS-5645MG High Torque Fig.5b. HS-5645MG specification. Manufacture by Hitec RCD, USA, Inc. In Fig.6 we can see issue of servo working pattern, and idea is present. Electrical model of servo is created in SIMULINK. Model, shown in Fig.7, include most aspects of real servo-model, like a DC motor delay. Fidelity of model is acceptable. Input of model is PWM control signal, output is stabile torque.
Fig.6. Schematic model of servomotor 0 500 1000 1500 0 20 40 60 80 100 120 140 160 180 time [ms] d e g r e e
[ o ]
desired angle R thigh R knee R ankle R foot L thigh L knee L ankle L foot (grounded)
Fig.7. Electrical SIMULINK model of servo The servo expect a pulse every 20 milliseconds (50 Hz). The length of the pulse will determine how far the motor turns. Operating angle is 45 degrees per one side pulse travelling 400 sec. A 1.5 millisecond pulse, will turn the motor to the 90 degree angle, to neutral position.
III. SOFTWARE SOLUTION D. Arduino simulation board Arduino is open source microcontroller, board photograph is shown in Fig.8. It is used in project for controlling each of eight RC servomotor.
Fig.8. Arduino Duemilanove board
Fig.9. Arduino Integrated Development Environment The code for loading input/output board is written in C programming language by using Arduino Integrated Development Environment (Fig.9). RC servomotors are controlled via serial communication between PC and Arduino. Atmega 328 AVR is used and eight servomotors connections are made at a simulation. The Arduino Duemilanove board is simulated in ISIS Proteus 7.6 (Fig.10). In order to make serial communication in Proteus; Virtual Serial Port Driver is used for creating virtual serial ports between PC (Tera term 3.1.3) and Proteus serial ports, for example: COM3 and COM2 connection.
Fig.10. Arduino Duemilanove with Atmega 328 AVR Simulation in Proteus 7.6 E. PWM generation system After connecting serial ports and opening Tera Term which is terminal emulator program, the user first enters which motor will turn, and then direction, degree data are declared. The degree data is indicated within quotation marks (example: 2L453R30) as is shown in Fig.11. Each motor current position is kept stabile - with tolerance +/-0.5 - while moves. When user enters another degree in the program, motors current position is being updated according to coming degree data. An main idea is generate proper PWM control signal according to command definition.
Fig.11. Eight RC Servo motor control by serial communication from Hyper Terminal in Proteus 7.6 Arduino Board Simulation. In Tera Term window (terminal) we can see line of commands, its results we can observe in the background (ISIS program) The user interface (Fig.12) is made by using Matlab GUI Toolbox. This program lets the user open/close serial port of Arduino by press lefts side buttons. It also provides the user selects each motor with desired turning degree, remember that its design position is 90 degree angle. The user can use the edit box to enter degree number or use slider for degree within border of 0 to 180. After pressing send button, this data is transmitted from PC to Arduino via serial communication.
Fig.12. GUI (user interface) designed in Matlab for control eight of RC servomotors by serial communication between PC and Arduino Duemilanove There is an idea for further development to connect GUI and rearranged SEND button as automatic sender option with constant frequency to transfer commands for Arduino. F. Gait pattern In the Fig.13a main SIMULINK system/file is presented. Model is comprised of electrical (Fig.7) and mechanical (Fig.2) Sim-model files (subsystems). Every motor receive each control signal, then generated Torque_Output, like a input for mechanical part, set proper join into rotation motion, what is display as a animation in Virtual World. So movements of model are simulated in real time control.
How to do a step
Fig.13b. Gait signal For moving legs, of robot from back to forward location you have to use switchers To perform step of biped you have to switch both switchers in Gait signal subsystem.
Fig.13a. Main SIMULINK file, legs control system
Gait pattern has been trialing to develop. In Fig.14 prototype range of degrees angle are shown. The main point, to perform motion of Biped correctly, is develop a control system of servos velocity. As we can notice in Fig.14. only foot join has to follow nonlinear path of degrees angle changing range, rest of joints has linear course of graph.
Fig. 14. prototype range of degrees angle of step (+ 90 ) step back step front In a present simulation left leg is grounded and a step by right legs is being performed. In Fig.15 we can see step back, and step forward in Fig.16 is shown. Results of joint localization are displayed in Fig.17.
Fig.15. Right leg, step back Fig.16. Right leg, step forward
Fig.17. Location of joints of model during step performance (tree times)
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0 20 40 60 80 100 120 140 160 180 time [ms] d e g r e e
[ o ]
desired angle R thigh R knee R ankle R foot L thigh L knee L ankle L foot (grounded) G. Velocity servo control To performance step correctly we have to find out how to control a speed of servomotor. This issue is quite easy with hardware solution, if you want use specialist board for it. Here we have put effort to implement a software solution. Control system velocity of servo was developing on DC motor model (Fig.20). Main system (Fig.18) lets us to doing research of find out solution for velocity control system.
Fig.18. System of servo velocity developing
Fig.19. PWM subsystem Fig.20. DC motor subsystem In this subsystem comparison of sawtooths and sinusoide signals is being done. Model of DC motor is presented in Fig.20 which is let us find out clue of reseach of servomotors velocity Constant of DC motor, and simulation: R = 1.5 Ohm L = 2.16 mH J = 0.000035 kg step time = 1 kHz Max power Amplifier = 5V
Fig. 21. PWM, Delta-sigma solution Principle of the delta PWM (Fig.21). The output signal (blue) is compared with the limits (green). These limits correspond to the reference signal (red), offset by a given value. Every time the output signal reaches one of the limits, the PWM signal changes state. V e l o c i t y
[ d e g / s e c ]
T r a j e c t o r i e s
[ d e g r
T r a j e c t o r y
e r r o r
Time [s] Fig.22. Servo speed control graphs As is shown in first graph in Fig.22 velocity has stabile with fluctuant trend. The next step of research is compile that result with a gait pattern system.
H. Virtual Reality Toolbox model There is another solution to create settings of simulation, where an Virtual Reality Toolbox is used. In that model PELVIC is grounded, so robots legs has no extra-loads. SIMULINK model was exported like a XML file from SolidWorks program, after that has been updating - last version is shown in Fig.25. VR subsystem include feedback from block sensor; rotation matrixes was convert to degree angle. This implementation we can see in Fig.24. There is a VR Sink block, where Virtual World is connected. Virtual World was created in V-Realm Builder; Virtual Scene has been prepared, transform nodes are created. In spite of well done transform nodes, problems with connection beetwen join appears. It is easy to find that problems are connected with constrains of joints. Model include gravity forces, there is no control signal implemented into it.
Fig.23. Biped model into VRML (Virtual Reality) world
Fig.24. VR subsystem
Fig.25. Virtual World implementation prototype IV. CONCLUSIONS Table, which we can see below, show us summary of work done of this project.
R E A L
M O D E L
S O L U T I O N
D E S T I N A T I O N
Gait research, Control panel PWM generator SIMULINK Model Visualization S O F T W A R E
V. REFERENCES I. Webinars [1] From SolidWorks Assemblies to SimMechanics Models and Animations from Simulink 3D Animation [2] Introduction to Electromechanical Modeling in Simulink [3] Building Virtual Worlds for use with Simulink 3D Animation [4] Advanced Modeling Techniques with SimEvents [5] Introduction to Electromechanical Modeling in Simulink [6] Introduction to Simulink 3D Animation [7] Learning Basic Mechatronics Concepts Using the Arduino Board and MATLAB [8] Optimizing Mechatronic Systems Using Simulation J. Programs [1] Matbal 2009b [2] V-Realm Builder Version 2.0 (in Virtual Reality Toolbox included) [3] SolidWorks 2009 [4] Arduino alpha, version 0017 [5] Proteus 7.6 SP0, build 8304 with Advanced Simulation (ISIS Professional) [6] Tera Term Web Pro, version 3.1.3 [7] Virtual Serial Port Driver, version 7.0, build 7.0.1.263 VI. PHOTOS AT MARC (Manufacturing& Automation Research Center)
Photo no.1. Gzde zcan (team member), Professor smail Lazolu and Marcin Szarek (team member)
Photo no.3. Marcin Szarek and Gzde zcan (team members)
Photo no.2. MARC Mechanical Technician Muzaffer Btn, Gzde zcan and Marcin Szarek(team members)
Photo no.4. Gzde zcan and Marcin Szarek (team members)