• Tidak ada hasil yang ditemukan

4 control for mobile robot

N/A
N/A
Protected

Academic year: 2017

Membagikan "4 control for mobile robot"

Copied!
63
0
0

Teks penuh

(1)

Control for Mobile Robots

(2)

Building a control system for

a mobile robot can be very challenging

Mechanical Electrical Software

Mobile robots are very complex and involve many interacting components

(3)
(4)
(5)
(6)

Building a control system for

a mobile robot can be very challenging

How will you debug and test your robot?

What are the performance requirements?

Can you easily improve aspects of your robot?

Can you easily integrate new functionality?

Just as you must carefully

design

your

robot chassis you must carefully

design

(7)

Sistem Kontrol Robot

Turn right 90 Go forward until reach obstacle

Capture a ball Explore playing field

Dasar dari sistem kontrol adalah perilaku

Perilaku harus didefinisikan dengan baik
(8)
(9)

Pendekatan Model-Plan-Act

1. Gunakan data sensor untuk membuat model

2. Gunakan model membentuk urutan perilaku yang akan mencapai tujuan yang diinginkan

3. Jalankan rencana (menulis perilaku)

Model

Actuators Sensors

P

lan Act

(10)

Exploring the playing field

using model-plan-act approach

Red dot is the mobile robot

(11)

Exploring the playing field

using model-plan-act approach

(12)

Exploring the playing field

using model-plan-act approach

(13)

Exploring the playing field

using model-plan-act approach

(14)

Exploring the playing field

using model-plan-act approach

(15)

Exploring the playing field

using model-plan-act approach

(16)

Finding a mousehole

using model-plan-act approach

Given the global map,

(17)

Finding a mousehole

using model-plan-act approach

(18)

Finding a mousehole

using model-plan-act approach

Decompose world into convex cells

(19)

Finding a mousehole

using model-plan-act approach

(20)

Finding a mousehole

using model-plan-act approach

(21)

Finding a mousehole

using model-plan-act approach

(22)

Advantages and disadvantages

of the model-plan-act approach

Advantages

– Pengetahuan global dapat digunakan untuk menentukan optimasi

– Dapat membuat rencana

Disadvantages

– Harus mengimplementasikan semua unit fungsional sebelum digunakan

– komputasi secara intensif

– Memerlukan data sensor yang sangat baik untuk model yang akurat

(23)

Emergent Approach

Makhluk hidup seperti lebah madu mampu

mengeksplorasi lingkungan mereka dan

menemukan target (madu)

Is this bee using the

model-plan-act

approach?

(24)

Emergent Approach

(25)

Emergent Approach

Actuators Sensors

Behavior C Behavior B Behavior A

Environment

As in biological systems, the emergent approach uses simple behaviors to directly couple sensors and actuators

(26)

To illustrate the emergent approach

we will consider a simple mobile robot

Bump Switches

Infrared Rangefinders

Ball Detector Switch

(27)

Layering simple behaviors can create

much more complex

emergent behavior

Jelajah Motors

(28)

Layering simple behaviors can create

much more complex

emergent behavior

Jelajah Menghindar Infrared

S Motors

Left motor speed inversely proportional to left IR range Right motor speed inversely proportional to right IR range

If both IR < threshold stop and turn right 120 degrees

(29)

Layering simple behaviors can create

much more complex

emergent behavior

Jelajah Menghindar

Mundur dan belok

Infrared Bump

S S

Motors

Escape behavior stops motors,

(30)

Layering simple behaviors can create

much more complex

emergent behavior

Jelajah menghindar

Mundur dan belok

mencari

Infrared Bump Camera

S S

S

Motors

The track ball behavior adjusts the

(31)

Layering simple behaviors can create

much more complex

emergent behavior

jelajah menhindar

Mundur dan belok

Mencari bola Memgang bola Infrared Bump Camera Detektor sentuh S S S Motors Ball Gate

(32)

Layering simple behaviors can create

much more complex

emergent behavior

Jelajah mengindar

Mundur dan belok

Mencari bola Memgang bola Mencari gol Infrared Bump Camera Detektor sentuh

S S S

S

S

Motors Ball

Gate

The track goal behavior opens the ball gate and adjusts the motor differential to steer the robot

(33)

Layering simple behaviors can create

much more complex

emergent behavior

All behaviors are always running in parallel and an arbiter is responsible for picking which behavior can

access the actuators

Jelajah mengindar

Mundur dan belok

Mencari bola Memgang bola Mencari gol Infrared Bump Camera Ball Switch

S S S

S

S

Motors Ball

(34)

Advantages and disadvantages

of the behavioral approach

keuntungan

– Pengembangan bertahap sangat alami

– Modularitas membuat eksperimen mudah

– Dapat menangani lingkungan yang dinamis

kekurangan

– Sulit untuk menilai apa robot benar-benar akan melakukan

– Tidak ada kinerja atau kelengkapan jaminan

(35)

Model-plan-act fuses sensor data,

while emergent fuses behaviors

Model P

lan Act

Environment

Behavior C Behavior B Behavior A

Model-Plan-Act Emergent

Environment

Fixed plan of behaviors Layered behaviors Lots of preliminary planning No preliminary planning

(36)

Finite State Machines

offer another

alternative for combining behaviors

Fwd (dist)

TurnR (deg)

Fwd behavior moves robot

straight forward a given distance

TurnR behavior turns robot to the right a given number of degrees

FSMs have some preliminary planning and some state. Some transitions between behaviors are decided

(37)

TurnR (90)

Finite State Machines

offer another

alternative for combining behaviors

Fwd (2ft)

Fwd (2ft)

Each state is just a specific behavior instance - link them together to create

(38)

TurnR (90)

Finite State Machines

offer another

alternative for combining behaviors

Fwd (2ft)

Fwd (2ft)

Each state is just a specific behavior instance - link them together to create

(39)

TurnR (90)

Finite State Machines

offer another

alternative for combining behaviors

Fwd (2ft)

Fwd (2ft)

Each state is just a specific behavior instance - link them together to create

(40)

TurnR (90)

Finite State Machines

offer another

alternative for combining behaviors

Fwd (2ft)

Fwd (2ft)

Each state is just a specific behavior instance - link them together to create

(41)

TurnR (90)

Finite State Machines

offer another

alternative for combining behaviors

Fwd (2ft)

Fwd (2ft)

Since the Maslab playing field is unknown, open loop control systems

(42)

TurnR (45)

Finite State Machines

offer another

alternative for combining behaviors

Fwd (1ft)

Closed loop finite state machines use sensor data as feedback to make

state transitions

No Obstacle

Obstacle Within 2ft No

Obstacle

(43)

TurnR (45)

Finite State Machines

offer another

alternative for combining behaviors

Fwd (1ft)

No Obstacle

Obstacle Within 2ft No

Obstacle

Obstacle Within 2ft

Closed loop finite state machines use sensor data as feedback to make

(44)

TurnR (45)

Finite State Machines

offer another

alternative for combining behaviors

Fwd (1ft)

No Obstacle

Obstacle Within 2ft No

Obstacle

Obstacle Within 2ft

Closed loop finite state machines use sensor data as feedback to make

(45)

TurnR (45)

Finite State Machines

offer another

alternative for combining behaviors

Fwd (1ft)

No Obstacle

Obstacle Within 2ft No

Obstacle

Obstacle Within 2ft

Closed loop finite state machines use sensor data as feedback to make

(46)

TurnR (45)

Finite State Machines

offer another

alternative for combining behaviors

Fwd (1ft)

No Obstacle

Obstacle Within 2ft No

Obstacle

Obstacle Within 2ft

Closed loop finite state machines use sensor data as feedback to make

(47)

Implementing a

Finite State Machine in Java

switch ( state ) {

case States.Fwd_1 : moveFoward(1);

if ( distanceToObstacle() < 2 )

state = TurnR_45;

break;

case States.TurnR_45 : turnRight(45);

if ( distanceToObstacle() >= 2 )

state = Fwd_1;

break; }

TurnR (45)

(48)

• Implement behaviors as parameterized functions

• Each case

statement includes behavior instance and state transition

• Use enums for state variables

Implementing a

FSM in Java

switch ( state ) {

case States.Fwd_1 : moveFoward(1);

if ( distanceToObstacle() < 2 )

state = TurnR_45;

break;

case States.TurnR_45 : turnRight(45);

if ( distanceToObstacle() >= 2 )

state = Fwd_1;

(49)

Turn To Open

Finite State Machines

offer another

alternative for combining behaviors

Fwd Until

Obs

(50)

Simple finite state machine

to locate red balls

(51)

Simple finite state machine

to locate red balls

Scan 360 Wander (20sec) Fwd (1ft) Align Ball TurnR Stop No Balls Found Ball Lost Ball Ball < 1ft Ball > 1ft

(52)

Outline

High-level control system paradigms

– Model-Plan-Act Approach

– Behavioral Approach

– Finite State Machine Approach

Low-level control loops

PID controller for motor velocity

(53)

Problem: How do we set

a motor to a given velocity?

Open Loop Controller

– Use trial and error to create some kind of relationship

between velocity and voltage

– Changing supply voltage or drive surface could result in incorrect velocity

Motor Velocity

To Volts

Desired Velocity

(54)

Controller

Problem: How do we set

a motor to a given velocity?

Closed Loop Controller

– Feedback is used to adjust the voltage sent to the motor so that the actual velocity equals the desired velocity

– Can use an optical encoder to measure actual velocity

Motor

Desired Velocity

Actual Velocity Adjusted

(55)

Step response

with

no controller

Time (sec)

V

el

oc

it

y

• Slow rise time

• Stead-state offset

Motor Velocity

To Volts

Desired Velocity

(56)

Step response

with

proportional controller

Time (sec) V el oc it y

des act

P

des K V V

V

X    

• Big error big = big adj

• Faster rise time

• Overshoot

• Stead-state offset (there is still an error but it is not changing!)

Controller Motor

Desired Velocity

(Vdes)

Actual Velocity

(Vact) Adjusted

(57)

Step response

with

proportional-derivative controller

Time (sec) V el oc it y dt t de K t e K V X D P des ) ( ) (   

• When approaching desired velocity quickly, de/dt term counteracts proportional term slowing adjustment

• Faster rise time (waktu naik lebih cepat)

• Reduces overshoot

Controller Motor

Desired Velocity

(Vdes)

Actual Velocity

(Vact) Adjusted

(58)

Step response

with

proportional-integral controller

Time (sec) V el oc it y

 

V K e t K e t dt

X

I P

des ( ) ( )

• Integral menghilangkan akumulasi error

• Meningkatkan overshoot

Controller Motor

Desired Velocity

(Vdes)

Actual Velocity

(Vact) Adjusted

(59)

Step response

with

PID controller

Time (sec) V el oc it y dt t de K dt t e K t e K V X D I P des ) ( ) ( ) (    

Controller Motor Desired Velocity

(Vdes)

Actual Velocity

(Vact) Adjusted

(60)

Choosing and tuning

a controller

Rise Time Overshoot Error

Proportional Decrease Increase Decrease

Integral Decrease Increase Eliminate

Derivative ~ Decrease ~ © 1996 Regents of UMich -- http://www.engin.umich.edu/group.ctm

Controller Motor

Desired Velocity

(Vdes)

Actual Velocity

(Vact) Adjusted

(61)

Choosing and tuning

a controller

• Gunakan kontroler yg sederhana untuk mencapai yang diinginkan

• Tuning PID constants is very tricky, especially for integral constants

Controller Motor

Desired Velocity

(Vdes)

Actual Velocity

(Vact) Adjusted

(62)

The digital camera is a powerful sensor

for estimating error in our control loops

– Track wall ticks to see how they move

through the image

– Use analytical model of projection to

determine an error between where they are and where they should be if robot is going straight

(63)

The digital camera is a powerful sensor

for estimating error in our control loops

– Track how far ball

center is from center of image

– Use analytical model of projection to determine an orientation error

– Push error through PID controller

What if we just used a simple proportional controller? Could lead to steady-state error if

Referensi

Dokumen terkait

Pokja ULP/Panitia Pengadaan Barang dan Jasa Unit Layanan Pengadaan

Berdasarkan uraian yang telah dikemukakan di atas, maka perlulah kiranya dilakukan suatu penelitian mengenai alternatif pembelajaran matematika yang dapat mengembangkan

[r]

Terjadinya pengaruh yang berbeda terhadap jumlah buah sisa disebabkan pada dosis yang tepat NPK Grower dapat memenuhi kebutuhan hara makro dan mikro yang dibutuhkan

Limbungan, saya lahir di pekanbaru pada tanggal 16 Agustus 2017, saya mempunyai satu orang abang, saya hanya dua kakak beradik, saya alumni dari SMA Negeri 13 Pekanbaru yang

Di dalam mempelajari Ilmu Hubungan Internasional, penstudi juga harus mengetahui siapa pihak pihak yang terlibat dalam Hubungan Internasional tersebut, dan juga harus

Lembaga Penerbangan dan Antariksa

Data dari penelitian ini adalah register variabel; antara lain field, tenor, dan mode dari dialog-dialog yang digunakan oleh Liz, Stephen, David, dan Felipe di