Top Banner
Urban Search & Rescue Project Hints & Additional Information
62

Urban Search & Rescue Project Hints & Additional Information.

Dec 26, 2015

Download

Documents

Jonas Garrison
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Urban Search & Rescue Project Hints & Additional Information.

Urban Search & Rescue ProjectHints & Additional Information

Page 3: Urban Search & Rescue Project Hints & Additional Information.

Dead-Reckoning

Dead Reckoning is the process of estimating your position by advancing a known position using direction, speed, time and distance to be traveled. In other words figuring out where you will be at a certain time if you hold the speed, time and direction you plan to travel.

Dead-reckoning error is important in your project!

Page 4: Urban Search & Rescue Project Hints & Additional Information.

Design your robot & drive train so that it can translate and rotate with accuracy.

Translate: Write a function that takes as input a number (in inches), waits for the start button to be pressed, waits five seconds, and then accurately drives the robot forward by the inputted value in inches (or reverse if the inputted number was negative).

Rotate: Write a function that takes as input a number (in degrees), waits for the start button to be pressed , waits five seconds, and then accurately rotates the robot counter-clockwise by the inputted value in degrees (or clockwise if the inputted number was negative).

Page 5: Urban Search & Rescue Project Hints & Additional Information.

Measure the accrued dead-reckoning error after initial robot design is complete

Mark the location of the wheels. Drive your robot forward & reverse for a fixed distance 9 times and report your findings.

Mark the location of the wheels. Drive the robot forward for a fixed distance, turn ninety degrees to the left, repeat three more times to make a square. Drive around the square five times. Report what happens.

Page 6: Urban Search & Rescue Project Hints & Additional Information.

Position

Odometer systemCount the number of revolutionsCalculate distance based on wheel diameterHardware

Infrared emitter and detector (shield them)Interrupter, detects when the IR beam is blockedReflector, detects when the IR beam bounces off an object

Rotary encodersOutputs a pulse based on rotation of shaftDifferent resolutions availableSome indicate direction of rotation

Software Count pulses from the sensor Interpret the data to calculate actual distances Need to consider error and cumulative drift Perhaps use readings from multiple devices and

use average

Page 7: Urban Search & Rescue Project Hints & Additional Information.

Direction

Lego motors are not identical due to variations in manufacture. A slight imbalance in motor output is important because even small variations in wheel speed can result in the robot straying from a straight-line path.

Differential steering

Wheels are independently driven (separate encoders)

Turn by changing the relative speeds of the wheels

Monitor rotation and use equations to determine direction

Page 8: Urban Search & Rescue Project Hints & Additional Information.

Encoder_Design.exe

Page 9: Urban Search & Rescue Project Hints & Additional Information.

Optical Encoders

• Relative position - direction

- resolution

grating

light emitter

light sensor

decode circuitry

A

B

A

B

A lags B

Page 10: Urban Search & Rescue Project Hints & Additional Information.

Optical Encoders

• Relative position - direction

- resolution

grating

light emitter

light sensor

decode circuitry

A

B A leads B

Phase lag between A and B is 90 degree

Page 11: Urban Search & Rescue Project Hints & Additional Information.

Structural Design

Make liberal use of Lego's pin and beam construction elements to prevent vibration, wobbling or distortion of the robot's frame or drive shafts while in motion. This degrades the wheel alignment introducing both random and systematic error to the navigation problem.

To provide further stability, the robot's heaviest component, the Handyboard could be positioned as low as possible within the constraints of the overall design. It will be a good idea to put the center of gravity slightly behind the main wheels so that the tail wheel is lightly loaded, but not so much that the system tips forward when it stops suddenly.

Page 12: Urban Search & Rescue Project Hints & Additional Information.

Trade-off between accuracy and traction.

• Hard and narrow wheels provide better accuracy.

• Wide and soft wheels provide better traction

Your design should be a compromise between the geometry imposed by the Lego components and the need to obtain as fine a resolution from the wheel encoders as possible. The more accurately the robot can measure wheel rotation, the more accurately it can dead-reckon. Couple each motor to an encoder through a 1:1 gear train that ensures they are synchronized.

Page 13: Urban Search & Rescue Project Hints & Additional Information.

If your gear train provides a 9 to 1 reduction ratio from motor to wheels and there are 16 pulses on your encoder (The Lego rotation sensors measure rotation with an accuracy of 22.5 degrees,16 intervals per revolution), for each rotation of the wheel, the encoder rotates 27 times allowing the system to measure 9x16=144 samples per revolution (Make sure that you don’t exceeded the 500 RPM sample rate supported by the Lego rotation) sensors .

Measure the diameter of the tire and calculate the distance for each encoder “click” e.g. 8.16 cm diameter tires means that each "click" of the encoders covers a distance of 8.16x3.1415/144=0.18 cm.

Page 14: Urban Search & Rescue Project Hints & Additional Information.

Lego sensors are not identical due to variations in manufacture: If using more then one encoder, set each encoder and set each encoder threshold separately. Due to differences in photocells, LED lights, and so on, the readings you obtain from one encoder won't necessarily be the same readings you'll get from the other encoder.

Sampling rate v.s. sensor resolution:As the motor is running, the encoder is turning very quickly and the photocell won't have time to reach its "totally-dark" value before it is again exposed to the LED light. And while the photocell is exposed to light, it won't have time to reach its maximum “totally-light" value before the light source is removed.

Record 100 consecutive values while the wheels are turning. Report what you see.

Page 15: Urban Search & Rescue Project Hints & Additional Information.

Moment of Inertia

When you turn off the motor, the robot will not come to an immediate halt.Reverse the motor for a fraction of a second before turning it off.

While moving forward and trying to make a 90-degree turn, inner wheel turns in reverse and due to moment of inertia, the motor won’t be able to execute reverse movement as quickly asouter wheel’s forward movement. To solve this problem, have the car, just before it is about to change its direction of movement, come to a complete stop for a second.

Page 16: Urban Search & Rescue Project Hints & Additional Information.

Dual-Differential Design

• Wheel shaft on one differential.– Preferably centrally located

• One motor geared to each differential shell.• Consistent power to both wheels is ensured if second motor is braked or on.

– Best way to ensure straight-line motion without PID.– Given gearing between shells, each applies power to the other’s shafts in equal but

opposite directions.

• Allows numerous types of motion with single configuration.– linear motion (drive shell > 0, turn shell = 0)– 0-radius turn (drive shell = 0, turn shell > 0)– turns about a wheel (drive shell > 0, turn shell = ± drive shell)– varying radial turns (drive shell > 0, turn shell < > drive shell)

shellshaft2shaft1 2/)( Drive shell

shaft 2

shaft 1

Turn shell

Page 18: Urban Search & Rescue Project Hints & Additional Information.
Page 19: Urban Search & Rescue Project Hints & Additional Information.
Page 20: Urban Search & Rescue Project Hints & Additional Information.

Reduction ratio of gearing 12.5:1

Diameter and width of tires 8.16 x 1.5 cm (3.2 x 0.6 in.)

Circumference of tires 25.6 cm (10.1 in.)

Encoder "clicks" per wheel revolution 200

Distance per click 0.128 cm (0.05 in)

Clicks per unit distance (handy when writing navigation code)

7.8 click/cm (19.8 click/in.)

Distance between wheels, center-to-center

19.75 cm, 7.7 in, 154 clicks

Difference of right and left encoder values when making a 90-degree turn

242

Maximum motor speed 270 RPM

Maximum forward robot speed 9.2 cm/sec (3.6 in/sec, 72 clicks/sec)

Page 22: Urban Search & Rescue Project Hints & Additional Information.

Control to avoid dead-reckoning error

In the PID control, a controller monitors the error in the system (its deviation from some desired value, or set point) and makes corrections based on three criteria. The Proportional response is based on the magnitude of the observed error, the Integral of that error (error accumulated over time), and the Derivative of the error (the rate at which the error changes over time). The PID control can be the basis of the steering system used to control your robot and keep it following a straight line.

Page 23: Urban Search & Rescue Project Hints & Additional Information.

Let e(t) represent a general error function and use the following variation of the PID equation:

 

                                 where

     is the correction factor to be applied to the system;     is the adjustment coefficient for the observed error;    is the adjustment coefficient for the integrated error;     is the adjustment coefficient for the derivative of the error

Page 24: Urban Search & Rescue Project Hints & Additional Information.

One common use of the PID technique is in controlling motor speed. Two sets of PID calculations can be used to maintain a constant speed for each motor. Feedback from each sensor can be used as input into the PID calculation for the corresponding motor. Additional calculations can combine sensor inputs to track data such as orientation and position, coordinating the motors and adjusting their respective speeds as needed.

Alternatively, a less ambitious approach can be used. Rather than looking at the problem as a matter of controlling two motors, look at the robot as a whole. So controlling the absolute speed of each motor is not as important as controlling their speed relative to each other. This approach focuses on the robot's path, and disregards its speed. The important thing is simply that the vehicle goes straight.

Page 25: Urban Search & Rescue Project Hints & Additional Information.

The simplified approach uses a single PID calculation based on its observed lateral drift rate to set PWM output levels (and thus, the relative speed) for the pair of motors. Essentially, this implementation attempts to control a secondary effect (the overall behavior of the robot), rather than a primary effect (individual motor speed).

Page 26: Urban Search & Rescue Project Hints & Additional Information.

PID control: Proportional / Integral / Derivative control

desired dV

Motoractual

actual speed

- compute V using PID feedback

d a

Error signal e

V = Kp (d ) + Ki ∫ (d ) dt + Kd

V = Kp • ( e + Ki ∫ e + Kd )

d e dt

d e dt

Page 27: Urban Search & Rescue Project Hints & Additional Information.

Functional Modules of a Intelligent Mobile Robot All functions reside on a single processor

Page 28: Urban Search & Rescue Project Hints & Additional Information.

Functional Modules Related to Control Architecture

Page 29: Urban Search & Rescue Project Hints & Additional Information.

Hierarchical Organization

Page 30: Urban Search & Rescue Project Hints & Additional Information.

Behavior-Based/Reactive Control

Page 31: Urban Search & Rescue Project Hints & Additional Information.

Typical Mobile Robot Implementation

Page 32: Urban Search & Rescue Project Hints & Additional Information.
Page 33: Urban Search & Rescue Project Hints & Additional Information.

What is meant by “no abstract / symbolic representation” ?

Page 34: Urban Search & Rescue Project Hints & Additional Information.

Robotic Behavior

3 Methods for Specifying & Designing Robot Behavior

Page 35: Urban Search & Rescue Project Hints & Additional Information.

1. Ethologically Guided Design

Page 36: Urban Search & Rescue Project Hints & Additional Information.

2. Situated activity-based design

Page 37: Urban Search & Rescue Project Hints & Additional Information.
Page 38: Urban Search & Rescue Project Hints & Additional Information.
Page 39: Urban Search & Rescue Project Hints & Additional Information.

3. Experimentally Driven Design

Page 40: Urban Search & Rescue Project Hints & Additional Information.
Page 41: Urban Search & Rescue Project Hints & Additional Information.
Page 42: Urban Search & Rescue Project Hints & Additional Information.

How to Express Behavior

Page 43: Urban Search & Rescue Project Hints & Additional Information.

Stimulus Response Diagram

Page 44: Urban Search & Rescue Project Hints & Additional Information.

Stimulus Response Diagram for Professor Classroom Navigation

Page 45: Urban Search & Rescue Project Hints & Additional Information.

Functional Notation

Page 46: Urban Search & Rescue Project Hints & Additional Information.

Functional Notation of Classroom Example

Can be recursive

Page 47: Urban Search & Rescue Project Hints & Additional Information.

Finite State Acceptor Diagrams

Page 48: Urban Search & Rescue Project Hints & Additional Information.

Classroom Navigation Example

Page 49: Urban Search & Rescue Project Hints & Additional Information.

Formal Methods for Behavior Design

Page 50: Urban Search & Rescue Project Hints & Additional Information.

Behavioral Encoding

Page 51: Urban Search & Rescue Project Hints & Additional Information.

R: Range of Responses

Page 52: Urban Search & Rescue Project Hints & Additional Information.

your search & rescue robot, 3 DOF r = (x, y, )

Page 53: Urban Search & Rescue Project Hints & Additional Information.

S: Stimulus

Page 54: Urban Search & Rescue Project Hints & Additional Information.

: Behavioral Mapping

Page 55: Urban Search & Rescue Project Hints & Additional Information.

Stimulus / Response Strengths

Page 56: Urban Search & Rescue Project Hints & Additional Information.

3 Categories of Behavioral Mapping

Page 57: Urban Search & Rescue Project Hints & Additional Information.

Discrete Encoding

Page 58: Urban Search & Rescue Project Hints & Additional Information.

Continuous Encoding

Page 59: Urban Search & Rescue Project Hints & Additional Information.
Page 60: Urban Search & Rescue Project Hints & Additional Information.
Page 61: Urban Search & Rescue Project Hints & Additional Information.
Page 62: Urban Search & Rescue Project Hints & Additional Information.