Top Banner
1 ARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh
50

ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

Jan 24, 2021

Download

Documents

dariahiddleston
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: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

1

ARW – Lecture 01 Odometry Kinematics

Instructor: Chris Clark Semester: Summer 2016

Figures courtesy of Siegwart & Nourbakhsh

Page 2: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

Introduction

Page 3: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

3

Different Bots

Wheel Encoders

Differential Drive Motor Configuration

Range Sensors

Page 4: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

4

Different Bots

Page 5: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

5

Planning Based Control

Perception

Localization Path Planning

Motion Control

Prior Knowledge Operator Commands

Page 6: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

6

ARW Goals

Page 7: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

7

Odometry Kinematics

§  Lecture Goal

§  Develop an equation that maps the previous robot state and wheel encoder measurements to the new robot state.

Xt = f(Xt-1, Ut-1)

Page 8: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

8

Odometry Kinematics

1.  Odometry & Dead Reckoning 2.  Modeling motion – The X80 3.  Modeling motion – An ROV 4.  Odometry in your Sim

Page 9: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

9

Odometry & Dead Reckoning

§  Odometry §  Use wheel sensors to update

position §  Dead Reckoning

§  Use wheel sensors and heading sensor to update position

§  Straight forward to implement §  Errors are integrated,

unbounded http://www.guiott.com

Page 10: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

10

Odometry & Dead Reckoning

§  Odometry Error Sources?

Page 11: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

11

Odometry & Dead Reckoning

§  Odometry Error Sources?

§  Limited resolution during integration §  Unequal wheel diameter §  Variation in the contact point of the wheel §  Unequal floor contact and variable friction can lead to

slipping

Page 12: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

12

Odometry & Dead Reckoning

§  Odometry Error Sources?

Page 13: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

13

Odometry & Dead Reckoning

§  Odometry Errors §  Deterministic errors can be eliminated through proper

calibration §  Non-deterministic errors have to be described by

error models and will always lead to uncertain position estimate.

Page 14: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

14

Odometry Kinematics

1.  Odometry & Dead Reckoning 2.  Modeling motion – The X80 3.  Modeling motion – An ROV 4.  Odometry in your Sim

Page 15: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

15

Modeling Motion

§  If a robot starts from a position Xt-1, and the right and left wheels move respective distances Δsr and Δsl, what is the resulting new position Xt ?

xI

yI

Xt-1

Xt

Δsr

Δsl

Page 16: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

16

Modeling Motion

§  To start, let’s model the change in angle Δθ and distance travelled Δs by the robot. §  Assume the robot is travelling on a circular arc of

constant radius.

Δsr

Δsl

Page 17: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

17

Modeling Motion

§  Begin by noting the following holds for circular arcs:

Δsl = Rα Δsr = (R+2L)α Δs = (R+L)α

Δsr

Δsl

Δs

R

2L

α

Page 18: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

18

Modeling Motion

§  Now manipulate first two equations: Δsl = Rα Δsr = (R+2L)α To: Rα = Δsl Lα = (Δsr - Rα)/2 = Δsr /2 – Δsl /2

Page 19: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

19

Modeling Motion

§  Substitute this into last equation for Δs:

Δs = (R+L)α = R α + Lα = Δsl + Δsr /2 – Δsl /2 = Δsl /2 + Δsr /2

= Δsl + Δsr 2

Page 20: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

20

Modeling Motion

§  Or, note the distance the center travelled is simply the average distance of each wheel:

Δs = Δsr + Δsl 2

Δsr

Δsl

Δs

Page 21: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

21

Modeling Motion

§  To calculate the change in angle Δθ, observe that it equals the rotation about the circular arc’s center point

Δθ = α

Δs

α

α

Page 22: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

22

Modeling Motion

§  So we solve for α by equating α from the first two equations:

Δsl = Rα Δsr = (R+2L)α

This results in: Δsl / R = Δsr / (R+2L) (R+2L) Δsl = R Δsr 2L Δsl = R (Δsr - Δsl ) 2L Δsl = R

(Δsr - Δsl )

Page 23: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

23

Modeling Motion

§  Substitute R into α = Δsl / R = Δsl (Δsr - Δsl ) / (2L Δsl )

= (Δsr - Δsl ) 2L

So… Δθ = (Δsr - Δsl ) 2L

Page 24: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

24

Modeling Motion

§  Now that we have Δθ and Δs, we can calculate the position change in global coordinates. §  We use a new segment of length Δd.

XI

YI θ + Δθ

Δd

Δs

Page 25: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

25

Modeling Motion

§  Now calculate the change in position as a function of Δd.

XI

YI θ + Δθ

Δd

θ + Δθ/2 Δx

Δy

Page 26: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

26

Modeling Motion

§  Using Trig: Δx = Δd cos(θ + Δθ/2) Δy = Δd sin(θ + Δθ/2)

XI

YI

Δd

θ + Δθ/2 Δx

Δy

Page 27: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

27

Modeling Motion

§  Now if we assume that the motion is small, then we can assume that Δd ≈ Δs :

§  So… Δx = Δs cos(θ + Δθ/2) Δy = Δs sin(θ + Δθ/2)

θ + Δθ

Δd

Δs

Page 28: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

28

Modeling Motion

§  Summary:

Xt

2L

4L

4L

2L

Page 29: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

29

Modeling Uncertainty in Motion

§  Let’s consider wheel rotation measurement errors, and see how they propagate into positioning errors. §  Example: the robot actually moved forward 1 m on the x axis,

but there are errors in measuring this.

If:

Δs = 1 + es Δθ = 0 + eθ

where es and eθ are error terms Δs

Δθ

Page 30: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

30

Modeling Uncertainty in Motion

§  According to the following equations, the error es = 0.001m produces errors in the direction of motion.

Δx = Δs cos(θ + Δθ/2) Δy = Δs sin(θ + Δθ/2)

§  However, the Δθ term affects each direction differently. If eθ = 2 deg and es = 0 meters, then:

cos(θ + Δθ/2) = 0.9998 sin(θ + Δθ/2) = 0.0175

Page 31: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

31

Modeling Uncertainty in Motion

§  So Δx = 0.9998 Δy = 0.0175

§  But the robot actually went to x =1,y =0, so the errors in each direction are

Δx = +0.0002 Δy = -0.0175

§  THE ERROR IS BIGGER IN THE “Y” DIRECTION!

Page 32: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

32

Modeling Uncertainty in Motion

§  Errors perpendicular to the direction grow much larger.

Page 33: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

33

Modeling Uncertainty in Motion

§  Error ellipse does not remain perpendicular to direction.

Page 34: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

34

Odometry Kinematics

1.  Odometry & Dead Reckoning 2.  Modeling motion – The X80 3.  Modeling motion – An ROV 4.  Odometry in your Sim

Page 35: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

The VideoRay MicroROV

§  ROV Specs §  Two horizontal thrusters,

one vertical §  Forward facing color

camera §  Rear facing B/W camera §  1.4 m/s (2.6 knots) speed §  152m depth rating §  Depth & Heading sensors §  SeaSprite Scanning Sonar

Page 36: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

The VideoRay MicroROV

§  ROV Modeling

Page 37: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

Equations of Motion

§  6 degrees of freedom (DOF): §  State vectors:

body-fixed velocity vector: earth-fixed pos. vector:

DOF Surge Sway Heave Roll Pitch Yaw

Velocities u v w p q r

Position & Attitude x y z φ θ ψ

Forces & Moments X Y Z K M N

Page 38: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

Equations of Motion

§  Initial Assumptions

§  The ROV will usually move with low velocity when on mission §  Almost three planes of symmetry; §  Vehicle is assumed to be performing non-coupled motions.

[W. Wang et al., 2006]

Page 39: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

Equations of Motion

§  Horizontal Plane:

§  Vertical Plan:

[W. Wang et al., 2006]

Page 40: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

Theory vs. Experiment

§  Coefficients for the dynamic model are pre-calculated using strip theory;

§  A series of tests are carried out to validate the hydrodynamic coefficients, including §  Propeller mapping §  Added mass coefficients §  Damping coefficients

Page 41: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

Propeller Thrust Mapping

§  The forward thrust can be represented as:

Page 42: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

Direct Drag Forces

§  The drag can be modeled as non linear functions

Drag in Heave (Z) Direction

Drag in Sway (Y) Direction

Drag in Surge (X) Direction

Page 43: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

Perpendicular Drag Forces

•  Heave (Z) drag from surge speed

Page 44: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

Model Verification

§  Yaw Verification

Page 45: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

Model Verification

§  Surge Verification

Page 46: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

Autonomous Control

Page 47: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

47

Odometry Kinematics

1.  Odometry & Dead Reckoning 2.  Modeling motion – The X80 3.  Modeling motion – An ROV 4.  Odometry in your Sim

Page 48: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

48

Odometry on the Jaguar

§  Goals: §  Calculate the resulting robot position and orientation

from wheel encoder measurements. §  Display them with the Matlab plot function

Page 49: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

49

Odometry on the Jaguar

§  Method cont’: §  Make use of the fact that your encoder has resolution

of 4096 pulses per revolution. Be able to convert this to a distance travelled by the wheel.

rϕr = Δsr §  Given the distance travelled by each wheel, we can

calculate the change in the robot’s distance and orientation.

Δs = Δsr + Δsl Δθ = (Δsr - Δsl ) 2 2L

Page 50: ARW – Lecture 01 Odometry KinematicsARW – Lecture 01 Odometry Kinematics Instructor: Chris Clark Semester: Summer 2016 Figures courtesy of Siegwart & Nourbakhsh Introduction 3

50

Odometry on the Jaguar

§  Method cont’: §  Now you should be able to update the position/

orientation in global coordinates.

Δx = Δs cos(θ + Δθ/2) Δy = Δs sin(θ + Δθ/2)