Summer Research Program

pastecoolAI and Robotics

Nov 14, 2013 (3 years and 11 months ago)

49 views



Summer Research Program


Biped Robot

, d
evelopment of

an
autonomous

w
alking
r
obot

Mentor/I
nstructor: Prof. Ismail Lazoglu


Marcin Szarek

Mechanical Engineering and Robotics,

AGH
University of Science and
Technology, POLAND

mszarek@agh.edu.pl


Gözde Özcan

Electrical and Electronics Engineering,

Bilkent University, TURKEY

gozde_o@ug.bilkent.edu.tr




Ab
s
tract



In this project, the robot uses motors to
make

its walking motion. The project control aspect
is done by m
icrocontroller

controller

type. A
ided engineering tools
was used
for complex calculations
. Test of dynamic gait,
a
s

motion of robot, is taken under
research.
The calculations an
d 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.

I
NTRODUCTION

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 contr
olled 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 e
lectrical, mechanical aspects and software solution
of this project.


II.

M
AIN
B
ODY

A.

CAD model

Every model of legs is comprised of fives parts (Fig.1.), PELVIC is connection between its.
A
n

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
cons
truction 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 DO
M
) of each robot leg


B.

SIMULINK model

Conversion from SolidWorks assembly CAD model into a

SimMechanics
m
odel

is done. U
nity 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
-

h
ave
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 i
n Fig.4.


C.

Servomotor

HS5645 High To
rque
servo
motors are chosen to be located in hip, knee and ankle of each r
obot leg as it is shown in Fig.5a
.

The H
S
-
5645MG
is servomotor
, featuring a programmable digital circuit
with

custom metal gear train technology.
The

servo
delivers high

resolution and

to
rque. Specif
ication 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

work
ing pattern
, and idea is present
. Electrical model of servo is created in SIMULINK.
M
odel
, shown in Fig.7,
include most aspects of real servo
-
model
, like a DC motor delay. F
idelity

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]
degree [
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.

S
OFTWARE
S
OLUTION

D.

Arduino simulation board

Arduino

is open source microcontroller
,
board photograph is shown in Fig
.
8
.

It is
used

in project

fo
r controlling each of

eight

RC servo
motor.


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 De
velopment
Environment
(Fig.
9
).
RC serv
o
motors are controlled via serial communication between PC and Arduino.

Atmega 328 AVR is
used and
eight

s
ervomotors connection
s

are
made at a
simulation. The Arduino Duemilanove board i
s 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
Proteu
s serial ports, for example:
COM3 and COM2

connection
.


Fig.
10
. Arduino Duemilanove with Atmega 328 AVR
Simulation in Pro
teus

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 tu
rn
, and then direction, degree data are declared. The degree data is indicated within
quotation

marks
(example:

2L“45”3R”30”…)
as is shown
in Fig
.
11
. Each motor current position is kept

stabile
-

it to er nce
-
0.5

-

while
moves
.

When user enters ano
ther degree in the program,
motor
’s 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 communicat
ion from Hyper Terminal in Prot
e
u
s 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 M
atlab

GUI

Toolbox
. Thi
s program lets the user open/
close serial port of
Arduino

by press left
’s 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 A
rduino 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 develop
ment

to connect

GUI and rearranged SEND button a
s

automatic
sender option with
constant frequency to transfer commands

for Arduino
.

F.

G
ait pattern

I
n the Fig.
13
a

main SIMULINK system
/file

is presented.

Model is comprised of electrical (Fi
g
.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 mo
vement
s

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
s itc bot s itc ers in “G it sign ”
subsys瑥mK


Fig.13 . M in SIMULINK fi e, egs’ contro 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
B
iped

correctly
,

is develop a control system of
servos’ ve ocity.

As we can notice in Fig.14. only foot join has
to follow
non
linear path of degree
s angle

changing range, rest of joints has linear course
of graph.



Fig. 14. prototype range
of degrees ng e of step 0 )

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, s
tep back






Fig.
16.

Right leg, s
tep 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]
degree [
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. Her
e 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
c ue of rese c of servomotor’s ve ocity Const nt
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.

Velocity [deg/sec]


Trajectories [degr

Trajectory error


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 th
at model PELVIC is
grounded, so
robot’s
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 inc ude feedb ck from b ock sensor; rot tion m trixes s
convert to degree angle.
This

implementation

we
can see in Fig.
24.

T ere is “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 bee
twen 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.
2
4
.

VR subsystem



Fig.
25
.

Virtual World implementation
prototype


IV.

C
ONCLUSIONS

Table, which we can see below, show us

summary

of work done of this project.


REAL MODEL
SOLUTION




DESTINATION

Gait research,
Control panel

PWM generator

SIMULINK Model

Visualization

SOFTWARE
FOR SIMULATION
REAL

MODEL

(equivalents)






NAME OF
PROGRAMS

Matlab,

GUI Toolbox

Arduino,

Proteus, ISIS,

Tera Term,

Virtual Serial Port Driver

Matlab,

SIMULINK,

SimElectronics Toolbox,

SimMechanics Toolbox,

SolidWorks

SolidWorks,

V
-
Realm Builder


V.

R
EFERENCES

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.

P
HOTOS AT

MARC


(Manufacturing& Automation Research Center)



Photo no.1
. Gözde Özcan

te m member), Professor İsm i L zoğ u nd
Marcin Szarek

(team member)


Photo no.3
. Marcin Szarek and Gözde Özcan (team members)


Photo no.2.

MARC Mechanical Technician Muzaffer Bütün, Gözde Özcan
and Marcin Szarek(team members)


Photo no.4
. Gözde Özcan and Marcin Szarek (team members)