Robotics and Autonomous Systems

Similar documents
Robotics and Autonomous Systems

ROBOTICS AND AUTONOMOUS SYSTEMS

Localization, Where am I?

CS283: Robotics Fall 2016: Sensors

Encoder applications. I Most common use case: Combination with motors

Outline Sensors. EE Sensors. H.I. Bozma. Electric Electronic Engineering Bogazici University. December 13, 2017

Sensor Modalities. Sensor modality: Different modalities:

Old View of Perception vs. New View

Navigational Aids 1 st Semester/2007/TF 7:30 PM -9:00 PM

Robotics and Autonomous Systems

Exam in DD2426 Robotics and Autonomous Systems

EE565:Mobile Robotics Lecture 3

Localization and Map Building

Autonomous Navigation for Flying Robots

Line of Sight Stabilization Primer Table of Contents

Camera Drones Lecture 2 Control and Sensors

Sensor technology for mobile robots

E80. Experimental Engineering. Lecture 9 Inertial Measurement

ECGR4161/5196 Lecture 6 June 9, 2011

Navigation and path execution NAVIGATION IN LEJOS ROBOTICS AND AUTONOMOUS SYSTEMS. Today. Digging into the detail of how you do the last two.

EE565:Mobile Robotics Lecture 2

Unit 2: Locomotion Kinematics of Wheeled Robots: Part 3

Localization, Mapping and Exploration with Multiple Robots. Dr. Daisy Tang

Collaboration is encouraged among small groups (e.g., 2-3 students).

Basics of Localization, Mapping and SLAM. Jari Saarinen Aalto University Department of Automation and systems Technology

CAMERA GIMBAL PERFORMANCE IMPROVEMENT WITH SPINNING-MASS MECHANICAL GYROSCOPES

Humanoid Robotics. Monte Carlo Localization. Maren Bennewitz

ROBOT SENSORS. 1. Proprioceptors

Robotics course student reading and in-class presentation

Last update: May 6, Robotics. CMSC 421: Chapter 25. CMSC 421: Chapter 25 1

Introduction to Robotics

Practical Robotics (PRAC)

DD2426 Robotics and Autonomous Systems Lecture 4: Robot Sensors and Perception

Motion Capture & Simulation

Lecture 2. Reactive and Deliberative Intelligence and Behavior. Lecture Outline

EV3 Programming Workshop for FLL Coaches

Intro to Programming the Lego Robots

Robotics. Lecture 5: Monte Carlo Localisation. See course website for up to date information.

Localization and Map Building

Robotics (Kinematics) Winter 1393 Bonab University

This was written by a designer of inertial guidance machines, & is correct. **********************************************************************

Cinematica dei Robot Mobili su Ruote. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Modern Robotics Inc. Sensor Documentation

Lecture 13 Visual Inertial Fusion

navigation Isaac Skog

DEAD RECKONING FOR MOBILE ROBOTS USING TWO OPTICAL MICE

Probabilistic Robotics

CS Project 2 - Experience with More lejos Classes

IMU and Encoders. Team project Robocon 2016

MOBILE ROBOT LOCALIZATION. REVISITING THE TRIANGULATION METHODS. Josep Maria Font, Joaquim A. Batlle

Project 1 : Dead Reckoning and Tracking

7 3-Sep Localization and Navigation (GPS, INS, & SLAM) 8 10-Sep State-space modelling & Controller Design 9 17-Sep Vision-based control

AMG Series. Motorized Position and Rate Gimbals. Continuous 360 rotation of azimuth and elevation including built-in slip ring

Program your face off

Inertial Navigation Systems

Mirror positioning on your fingertip. Embedded controller means tiny size plus fast, easy integration. Low power for hand-held systems

NAVIGATION SYSTEM OF AN OUTDOOR SERVICE ROBOT WITH HYBRID LOCOMOTION SYSTEM

Mobile Robotics. Mathematics, Models, and Methods. HI Cambridge. Alonzo Kelly. Carnegie Mellon University UNIVERSITY PRESS

Today. Robotics and Autonomous Systems. Today. Communication on the NXT. Lecture 14: Communication and other useful things.

Testing the Possibilities of Using IMUs with Different Types of Movements

Robotics and Autonomous Systems

INTRODUCTION TO ARTIFICIAL INTELLIGENCE

ADVANTAGES OF INS CONTROL SYSTEMS

Introduction to Mobile Robotics

Attitude Control for Small Satellites using Control Moment Gyros

COMMUNICATION AND OTHER USEFUL THINGS

Motion Control (wheeled robots)

OFERTA O120410PA CURRENT DATE 10/04//2012 VALID UNTIL 10/05/2012 SUMMIT XL

Probabilistic Localization with the RCX Lloyd Greenwald

A General Framework for Mobile Robot Pose Tracking and Multi Sensors Self-Calibration

1 Differential Drive Kinematics

SPARTAN ROBOTICS FRC 971

Mobile Robots Locomotion & Sensors

Major project components: Sensors Robot hardware/software integration Kinematic model generation High-level control

Me 3-Axis Accelerometer and Gyro Sensor

MTRX 4700 Experimental Robotics

Getting Started Guide

Controlled Steering. Prof. R.G. Longoria Spring Relating to Kinematic models of 2D steering and turning

INDOOR AND OUTDOOR LOCALIZATION OF A MOBILE ROBOT FUSING SENSOR DATA. A Thesis Presented. Md Maruf Ibne Hasan

4INERTIAL NAVIGATION CHAPTER 20. INTRODUCTION TO INERTIAL NAVIGATION...333

Image Composition System Using Multiple Mobile Robot Cameras

Robotics and Autonomous Systems

Zürich. Roland Siegwart Margarita Chli Martin Rufli Davide Scaramuzza. ETH Master Course: L Autonomous Mobile Robots Summary

CS283: Robotics Fall 2017: Sensors

Introduction to Mobile Robotics Probabilistic Motion Models

THREADS AND MULTITASKING ROBOTS

ROBOTICS AND AUTONOMOUS SYSTEMS

INTEGRATED TECH FOR INDUSTRIAL POSITIONING

A simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s

A Simple Introduction to Omni Roller Robots (3rd April 2015)

Robot Mapping. A Short Introduction to the Bayes Filter and Related Models. Gian Diego Tipaldi, Wolfram Burgard

On Differential Drive Robot Odometry with Application to Path Planning

CMPUT 412 Motion Control Wheeled robots. Csaba Szepesvári University of Alberta

Sphero Lightning Lab Cheat Sheet

Overview. EECS 124, UC Berkeley, Spring 2008 Lecture 23: Localization and Mapping. Statistical Models

Calibration of Inertial Measurement Units Using Pendulum Motion

MULTI-MODAL MAPPING. Robotics Day, 31 Mar Frank Mascarich, Shehryar Khattak, Tung Dang

Marker Based Localization of a Quadrotor. Akshat Agarwal & Siddharth Tanwar

Strapdown inertial navigation technology

Mobile Robot Kinematics

Transcription:

Robotics and Autonomous Systems Lecture 6: Perception/Odometry Terry Payne Department of Computer Science University of Liverpool 1 / 47

Today We ll talk about perception and motor control. 2 / 47

Perception Sensors give important feedback from the environment Without them, robots are blind. percepts Environment sensors effectors actions Perception is all about what can be sensed and what we can do with that sensing. 3 / 47

Classification of sensors Proprioceptive sensors Measure values internally to the system (robot), (motor speed, wheel load, heading of the robot, battery status) Exteroceptive sensors Information from the robots environment (distances to objects, intensity of the ambient light, unique features.) Passive sensors Energy coming from the environment. Active sensors Emit their own energy and measure the reaction Better performance, but some influence on envrionment 4 / 47

Classification of sensors Proprioceptive sensors Measure values internally to the system (robot), (motor speed, wheel load, heading of the robot, battery status) Exteroceptive sensors Information from the robots environment (distances to objects, intensity of the ambient light, unique features.) Passive sensors Energy coming from the environment. Active sensors Emit their own energy and measure the reaction Better performance, but some influence on envrionment 5 / 47

Classification of sensors Proprioceptive sensors Measure values internally to the system (robot), (motor speed, wheel load, heading of the robot, battery status) Exteroceptive sensors Information from the robot s environment (distances to objects, intensity of the ambient light, unique features) Passive sensors Energy coming from the environment. Active sensors Emit their own energy and measure the reaction Better performance, but some influence on envrionment 6 / 47

Wheel encoders Measure position or speed of the wheels or steering. Wheel movements can be integrated to get an estimate of the robot s position Odometry Optical encoders are proprioceptive sensors Position estimate is only useful for short movements. Typical resolutions: 2000 increments per revolution. 7 / 47

Wheel encoders Count the changes from black to white: Measure light passing through the encoder. Bounce light off the encoder. Simple encoder will give you count/speed. Quadrature encoder will you direction also. Look at phase of signals from the two bands on the encoder. 8 / 47

Wheel encoders Can obtain additional information (Tom Lackamp) 9 / 47

Differential Pilot Distance information on its own permits a crude form of navigation: Dead reckoning Calculate how far the robot has gone based on wheel rotations. LeJOS provides some of this in the: DifferentialPilot class Though our robot doesn t have a differential drive, this class sort of works with it. A slip/skid drive is like a differential drive with worse odometry. 10 / 47

Differential Pilot Constructor: DifferentialPilot( double wheeldiameter, double trackwidth, RegulatedMotor leftmotor, RegulatedMotor rightmotor) wheeldiameter is in any units you like But then you have to use the same units for other Pilot commands. trackwidth is the distance between the left and right wheels. 11 / 47

Differential Pilot Set speed of motion settravelspeed(double speed) speed is in wheel-diameters-units per second. Move a certain amount travel(double distance) distance is in wheel-diameters-units. Rotate: rotate(double angle) rotate through specified angle (in degrees) in a zero-radius turn. Lots of other methods defined in the API. 12 / 47

Differential Pilot From the way it handles wheel diameter, it looks like DifferentialPilot just counts wheel rotations: Since: revolutions distance π ˆ diameter 13 / 47

Differential Pilot The differential pilot uses exactly the kind of computation that we obtained from the kinematic model. 14 / 47

A example program import lejos.nxt.*; import lejos.robotics.navigation.differentialpilot; public class SimplePilot{ DifferentialPilot pilot ; public void drawsquare(float length){ for(int i = 0; i<4 ; i++){ pilot.travel(length); // Drive forward pilot.rotate(90); // Turn 90 degrees } } public static void main(string[] args){ SimplePilot sp = new SimplePilot(); sp.pilot = new DifferentialPilot( 3.25, 19, Motor.B, Motor.C); sp.drawsquare(40); } } 15 / 47

Key lines import lejos.robotics.navigation.differentialpilot; Link the DifferentialPilot class sp.pilot = new DifferentialPilot (3.25, 19, Motor.B, Motor.C); Create a new Pilot object and initialise it. pilot.travel(length); pilot.rotate(90); Call the Pilot to move the robot. 16 / 47

Calibration When you use DifferentialPilot you will find it doesn t do exactly what you ask it to right away. With correct robot dimensions Pretty good on distance. Less good on rotation. You will need to callibrate to get it to do what you want it to do. You will need to keep on callibrating. 17 / 47

Borenstein s experiment 18 / 47

Borenstein s experiment 19 / 47

Pose Provider When executing a program using the DifferentialPilot, the control loop running the motors knows instantaneously how far the robot has moved. That is what it uses to know when to stop the motors. It is useful to be able to log this information in the control program. The OdometryPoseProvider provides some of this ability. 20 / 47

Pose Pose objects are manipulated by OdometryPoseProvider. Pose objects store a robot pose. Turns out you need to do this a lot. Has no necessary relation to where the robot is. Methods: getx() gety() getheading() Just as you might/should expect. Values returned are floats. 21 / 47

OPP Methods SetPose(Pose apose) sets the Pose value in the OPP. Note that this does not move the robot, just changes the value that is stored. GetPose() returns a Pose. This is the current pose stored by the OPP. If used correctly, this Pose will tell you something useful. 22 / 47

OPP Constructor When you create an OPP, you link it to a Pilot object: OdometryPoseProvider opp = new OdometryPoseProvider(dp); where dp is a DifferentialPilot. Then the pose returned by the OPP is updated when the robot moves. Of course, it is updated by the amount that the robot thinks it moves. (Since the robot doesn t actually know how much it is moving.) 23 / 47

A example program import lejos.nxt.*; import lejos.robotics.navigation.differentialpilot; import lejos.robotics.localization.odometryposeprovider; public class SimplePose { public static void main(string[] args){ DifferentialPilot dp = new DifferentialPilot(3.22, 19, Motor.B, Motor.C); OdometryPoseProvider opp = new OdometryPoseProvider(dp); System.out.println("First pose = " + opp.getpose()); dp.travel(15); System.out.println("Second pose = " + opp.getpose()); } } 24 / 47

Key lines DifferentialPilot dp = new DifferentialPilot(3.22, 19, Motor.B, Motor.C); OdometryPoseProvider opp = new OdometryPoseProvider(dp); Create the OPP with a reference to the DifferentialPilot System.out.println("First pose = " + opp.getpose()); Access the pose information. 25 / 47

Heading sensors Heading sensors can be: proprioceptive (gyroscope, inclinometer); or exteroceptive (compass). Used to determine the robot s orientation and/or inclination. Allow, together with an appropriate velocity information, to integrate the movement to an position estimate. A bit more sophisticated than just using odometry. 26 / 47

Compass 27 / 47

Compass 28 / 47

Compass Used since before 2000 B.C. Chinese suspended a piece of naturally magnetic magnetite from a silk thread and used it to guide a chariot over land. Magnetic field on earth Absolute measure for orientation. Large variety of solutions to measure the earth s magnetic field Mechanical magnetic compass Direct measure of the magnetic field (Hall-effect, magnetoresistive sensors) 29 / 47

Compass Major drawback Weakness of the earth field Easily disturbed by magnetic objects or other sources Not feasible for indoor environments in general. Modern devices can give 3D orientation relative to Earth s magnetic field. 30 / 47

Gyroscopes Heading sensors, that keep the orientation to a fixed frame Provide an absolute measure for the heading of a mobile system. Unlike a compass doesn t measure the outside world. Two categories, mechanical and optical gyroscopes Mechanical Gyroscopes Standard gyro Rate gyro Optical Gyroscopes Rate gyro 31 / 47

Gyroscopes Concept: inertial properties of a fast spinning rotor gyroscopic precession Angular momentum associated with a spinning wheel keeps the axis of the gyroscope inertially stable. No torque can be transmitted from the outer pivot to the wheel axis Spinning axis will therefore be space-stable Quality: 0.1 degrees in 6 hours In rate gyros, gimbals are held by torsional springs. Measuring force gives angular velocity. 32 / 47

Optical gyroscopes Use two monochromatic light (or laser) beams from the same source. One beam travels clockwise in a cylinder around a fiber, the other counterclockwise. The beam traveling in direction of rotation: Slightly shorter path Ñ shows a higher frequency Difference in frequency f of the two beams is proportional to the angular velocity Ω of the cylinder/fiber. Newest optical gyros are solid state. 33 / 47

Accelerometer Measure acceleration. Mass on a spring. Measure force in spring, gives acceleration of mass. Weight. Any heading or position sensor reading can be differentiated to give acceleration. Difference between two values gives velocity Difference between two velocities gives acceleration Any velocity sensor reading can be handled similarly. 34 / 47

Sensor performance Sensitivity Ratio of output change to input change In real world environment, the sensor has very often high sensitivity to other environmental changes, e.g. illumination. Cross-sensitivity Sensitivity to environmental parameters that are orthogonal to the target parameters Error / Accuracy Difference between the sensor s output and the true value m v accuracy 1 v where m = measured value and v = true value. 35 / 47

Sensor performance Systematic error Ñ deterministic errors Caused by factors that can (in theory) be modeled Ñ prediction e.g. distortion caused by the optics of a camera. Random error Ñ non-deterministic No prediction possible However, they can be described probabilistically e.g. error in wheel odometry. Precision Reproducibility of sensor results range σ 36 / 47

Deterministic sensor errors 37 / 47

Coping with errors Compensate for systematic errors. Build a probabilistic model of random errors. Obtain a distribution of possible positions. 38 / 47

Coping with errors A simple error model for straight line motion: (Thrun, Burgard and Fox) 39 / 47

Coping with errors Which is worse when we turn: (Thrun, Burgard and Fox) 40 / 47

Coping with errors Compensate for systematic errors. Build a probabilistic model of random errors. Obtain a distribution of possible positions. Know where we are on average. 41 / 47

Coping with errors Compensate for systematic errors. Build a probabilistic model of random errors. Obtain a distribution of possible positions. Know where we are on average. Don t know where we are in particular 42 / 47

Coping with errors Compensate for systematic errors. Build a probabilistic model of random errors. Obtain a distribution of possible positions. Know where we are on average. Don t know where we are in particular. Errors accumulate over time. 43 / 47

Coping with errors Errors accumulate over time. Problem? 44 / 47

Possibility of spectacular failure 45 / 47

Summary This lecture started to look at sensor data. It concentrated on data that can be used in odometry. Wheel encoders and looked at LeJOS support for doing odometry. Also looked at other kinds of related sensor data: Compass Gyroscope Next time we ll look at range sensor data and cameras as sensors. 46 / 47