+ All Categories
Home > Documents > Arachnid tutorial

Arachnid tutorial

Date post: 04-Jul-2015
Category:
Upload: kameshsept
View: 2,196 times
Download: 0 times
Share this document with a friend
46
Arthrobotics : Legged Robots Arthrobotics : Legged Robots
Transcript
Page 1: Arachnid tutorial

Arthrobotics : Legged RobotsArthrobotics : Legged Robots

Page 2: Arachnid tutorial

Short Review of Locomotion

Two basic ways of using effectors: • to move the robot around => locomotion • to move other object around => manipulation

These divide robotics into two mostly separate categories:

• mobile robotics • manipulator robotics

Page 3: Arachnid tutorial

Review: Locomotion Many kinds of effectors and actuators can be used to

move a robot around.

The obvious categories are: legs (for walking/crawling/climbing/jumping/hopping)

wheels (for rolling)

arms (for swinging/crawling/climbing)

flippers (for swimming)

...

While most animals use legs to get around, legged locomotion is a very difficult robotic problem, especially when compared to wheeled locomotion.

Page 4: Arachnid tutorial

Locomotion First, any robot needs to be stable (i.e., not wobble and fall

over easily).

There are two kinds of stability: static and

dynamic.

A statically stable robot can stand still without falling over.

This is a useful feature, but a difficult difficult one to achieve: it requires that there be enough legs/wheels on the robot to

provide sufficient static points of support.

Page 5: Arachnid tutorial

Locomotion

For example, people are not statically stable.

In order to stand up, which appears effortless to us, we are actually using active control of our balance.

Achieved through nerves and muscles and tendons.

This balancing is largely unconscious: it must be learned,

so that's why it takes babies a while to get it right,

certain injuries can make it difficult or impossible.

Page 6: Arachnid tutorial

Locomotion With more legs, static stability becomes quite simple.With more legs, static stability becomes quite simple.

In order to remain stable, the robot's Center Of Gravity (COG) must fall under its polygon of support.

This polygon is basically the projection between all of its support points onto the surface.

So in a two-legged robot, the polygon is really a line.

Thus the center of gravity cannot be aligned in a stable way with a point on that line to keep the robot upright.

Consider now a three-legged robot:

with its legs in a tripod organization,

and its body above,

Such robot produces a stable polygon of support.

It is thus statically stable.

See the Robix tripod robot, it works!

Page 7: Arachnid tutorial

Stability of standing and walking

But what happens when a statically stable robot lifts a leg and tries to move?

Does its center of gravity stay within the polygon of support?

It may or may not, depending on the geometry.

For certain robot geometries, it is possible (with various numbers of legs) to always stay statically stable while walking.

This is very safe, but it is also very slow and energy inefficient.

Page 8: Arachnid tutorial

Static Stability Sequence of support patterns provide by feet of a

quadruped walking. Body and legs move to keep the projection of the center

of mass within the polygon defined by a feet. Each vertex is a support foot. Dot is the projection.

Page 9: Arachnid tutorial
Page 10: Arachnid tutorial

Stability of standing and walking

A basic assumption of the static gait (statically stable gait) is that the weight of a leg is negligible compared to that of the body, so that the total center of gravity (COG) of the robot is

not affected by the leg swing.

Based on this assumption, the conventional static gait is designed so as to maintain the COG of the robot inside of the support polygon.

This polygon is outlined by each support leg's tip position.

Page 11: Arachnid tutorial

Stability of standing and walking

The alternative to static stability is dynamic stability which allows a robot (or animal) to be stable while moving.

For example, one-legged hopping robots are dynamically stable: they can hop in place or to various destinations, and

not fall over.

But they cannot stop and stay standing

Page 12: Arachnid tutorial

Stability of standing and walking

A statically stable robot can: 1. use dynamically-stable walking patterns - it is fast,

2. use statically stable walking - it is easy.

A simple way to think about this is by how many legs are up in the air during the robot's movement (i.e., gait): 6 legs is the most popular number as they allow for a very

stable walking gait, the tripod gait .

if the same three legs move at a time, this is called the alternating tripod gait.

if the legs vary, it is called the ripple gait.

Page 13: Arachnid tutorial

Hexapod(6 legged) walking A rectangular 6-legged robot can lift three legs at a time

to move forward, and still retain static stability.

How does it do that?

It uses the so-called alternating tripod gait, a biologically common walking pattern for 6 or more legs.

Characteristic of this gait: one middle leg on one side and two non-adjacent legs on the

other side of the body lift and move forward at the same time,

the other 3 legs remain on the ground and keep the robot statically stable.

Page 14: Arachnid tutorial

Hexapod and Insect walking

Roaches move this way, and can do so very quickly.

Insects with more than 6 legs (e.g., centipedes and millipedes), use the ripple gate. However, when these insects run really fast,

they switch gates to actually become airborne (and thus not statically stable) for brief periods of time.

Page 15: Arachnid tutorial

Build your own hexapod Provides a

statically stable gait

Basic hexapod walker can be built with 9 servos (or fewer)

9 servo hexapod

Page 16: Arachnid tutorial

Hexapod Walking Continued Torso servo

supports a strut which supports two hip servos.

Legs are lifted and dropped by hips while side to side motion achieved by torsos.

Page 17: Arachnid tutorial

Alternating Tripod Gait Walking gaits were

first reported by D.M. Wilson in 1966.

A common gait is the “alternating tripod gait”.

Commonly used by certain insects while moving slowly.

Page 18: Arachnid tutorial

A Walking Algorithm

Step 1– legs 1,4,and 5 down, legs 2,3

and 6 up.Step 2

– rotate torso 7 and 9 counter-clockwise, torso 8 clockwise.

Step 3– legs 1,4 and 5 up,– legs 2,3, and 6 down.

Step 4– rotate torso 7 and 9

clockwise, torso 8 counter-clockwise.

Goto step 1

Page 19: Arachnid tutorial
Page 20: Arachnid tutorial

Description

The AVR is a Modified Harvard architecture 8-bit RISC single chip microcontroller which was developed by Atmel in 1996.

The AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to One-Time Programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.

Page 21: Arachnid tutorial

Description(contd.)

Atmel's low power, high performance AVR microcontrollers handle demanding 8 and 16-bit applications.

With a single cycle instruction RISC CPU, innovative Pico Power® technology, and a rich feature set, the AVR architecture ensures fast code execution combined with the lowest possible power consumption.

Page 22: Arachnid tutorial

Description(contd.)

Whether you program in C or assembly, the tuned AVR instructions decrease program size and development time.

The well-defined I/O structure limits the need for external components and reduces development cost.

A variety of internal oscillators, timers, UARTs, SPIs, Pulse Width Modulation, pull-up resistors, ADCs, Analog Comparators and Watch-Dog Timers are some of the features available for creative engineers.

Page 23: Arachnid tutorial

Description(contd.)

The AVR microcontrollers are divided into 4 families tiny AVR, mega AVR, XMEGA and Application specific AVR.

Among these 4 families of AVR here we are going to use a microcontroller of mega AVR family “ATmega16”

Page 24: Arachnid tutorial

programming

WinAVR is a suite of executable, open source software development tools for the Atmel’s AVR series of RISC microcontrollers hosted on the Windows platform. It includes the GNU GCC compiler for C and C++.

Page 25: Arachnid tutorial

Steps for writing code using winavr 1. Open the programmers notepad and write your code 2. Create a new folder and save your code in that folder with extension name

“.c” 3. Now open the make file and edit it as mentioned bellow

i. a. Make file main filename (give your file name here without →extension)

ii. b. Make file MCU type atmega (chose your UC) → → →iii. c. Make file Debug format AVR-ext-COFF → →iv. d. Make file Programmer select your programmer (if your → →

programmer is not in the list then follow the step3.d) v. e. Make file port (select the port where you have connected your → →

programmer) vi. f. Make file enable editing make file then in your make file edit the → →

following things vii. F_CPU = 8000000 (change it as for your crystal frequency)

AVRDUDE_PROGRAMMER = stk500 (here write down you programmers name)

viii. g. Save the make file in your folder without changing its name

Page 26: Arachnid tutorial

Steps for writing code using winavr(contd.)

4. Now open the programmers notepad 5. To compile your code and to generate hex file

(Tools make all) →

6. To upload your code into your UC (Tools →program)

Page 27: Arachnid tutorial
Page 28: Arachnid tutorial

Basic principlesServos are DC motors with built in gearing

and feedback control loop circuitry. Servos are extremely popular with robot, RC

plane, and RC boat builders. Most servo motors can rotate about 90 to 180

degrees. Some rotate through a full 360 degrees or

more.

Page 29: Arachnid tutorial

Basic principles(contd.)

However, servos are unable to continually rotate, meaning they can't be used for driving wheels (unless modified), but their precision positioning makes them ideal for robot arms and legs, rack and pinion steering, and sensor scanners to name a few.

Since servos are fully self contained, the velocity and angle control loops are very easy to implement, while prices remain very affordable.

Page 30: Arachnid tutorial

Basic principles(contd.)

Page 31: Arachnid tutorial

Basic principles(contd.)

Page 32: Arachnid tutorial

Basic principles(contd.)

To use a servo, simply connect the black wire to ground, the red to a 4.8-6V source, and the yellow/white wire to a signal generator (such as from your microcontroller) .

Vary the square wave pulse width from 1-2ms and your servo is now position/velocity controlled.

Page 33: Arachnid tutorial

Basic principles(contd.)

Page 34: Arachnid tutorial

Servo wiring

All servos have three wires: 1. Black or Brown is for ground. 2. Red is for power (~4.8-6V). 3. Yellow, Orange, or White is the signal wire

(3-5V).

Page 35: Arachnid tutorial

Servo Voltage (Red and Black/Brown wires)

Servos can operate under a range of voltages. Typical operation is from 4.8V to 6V.

There are a few micro sized servos that can operate at less, and now a few Hitec servos that operate at much more.

The reason for this standard range is because most microcontrollers and RC receivers operate near this voltage. So what voltage should you operate at? Well, unless you have a battery voltage/current/power limitation, you should operate at 6V. This is simply because motors have higher torque at higher voltages.

Page 36: Arachnid tutorial

Servo Voltage(contd.)

So what voltage should you operate at?

Page 37: Arachnid tutorial

Servo Voltage(contd.)

Well, unless you have a battery voltage/current/power limitation, you should operate at 6V. This is simply because motors have higher torque at higher voltages.

Page 38: Arachnid tutorial

Signal Wire (Yellow/Orange/White wire)

While the black and red wires provide power to the motor, the signal wire is what you use to command the servo.

The general concept is to simply send an ordinary logic square wave to your servo at a specific wave length, and your servo goes to a particular angle (or velocity if your servo is modified).

Page 39: Arachnid tutorial

Signal Wire (contd.)

“The wavelength directly maps to servo angle”.

So how do you apply this square wave to your servo?

Page 40: Arachnid tutorial

Signal Wire (contd.)

If your robot is remote controlled, your RC receiver will apply the proper square wave for you.

If however your robot is running from a microcontroller, you must: bring high a digital port wait between1-2ms bring low the same digital port for next 18 ms.

Page 41: Arachnid tutorial

Signal Wire (contd.)

Repeat this procedure until the servo reaches the desired angle.

Page 42: Arachnid tutorial

Signal Wire (contd.) The standard time vs. angle is represented in this chart:

Page 43: Arachnid tutorial

Servo current

Servo current operates the same as in a DC motor, except that you now also have a hard to predict feedback control system to contend with.

If your DC motor is not at the specified angle, it will suddenly draw huge amounts of current to reach that angle.

But there are other peculiarities as well.

Page 44: Arachnid tutorial

Servo current

If you run an experiment with a servo at a fixed angle and hang precision weights from the servo horn, the measured current will not be what you expect.

One would think that the current would increase at some fixed rate as the weights increased linearly. Instead you will get unpredictable curves and multiple rates.

Page 45: Arachnid tutorial

Servo current(contd.)

Servo current draw is very unpredictable.

Page 46: Arachnid tutorial

Organizers

K Jeshwanth Durga Sagar [email protected]

+919678883623 K Satyadeep [email protected]

+919957887814 Niteesh Kumar [email protected]

+919678883577 Pradeep Kumar [email protected]

+919678883554


Recommended