ACCURACY IMPROVEMENT FOR PHYSICAL ROBOT Gal Lerman, Dorin Ben-Zaken.

Slides:



Advertisements
Similar presentations
Odometry Error Modeling Three noble methods to model random odometry error.
Advertisements

Team Spot Cooperative Light Finding Robots A Robotics Academy Project Louise Flannery, Laurel Hesch, Emily Mower, and Adeline Sutphen Under the direction.
Presentation by: Serena, Ann & Nicole
The Bioloid Robot Project Presenters: Michael Gouzenfeld Alexey Serafimov Supervisor: Ido Cohen Winter Department of Electrical Engineering.
Rotary Encoder. Wikipedia- Definition  A rotary encoder, also called a shaft encoder, is an electro- mechanical device that converts the angular position.
PH4705 ET4305 Interface Standards A number of standard digital data interfaces are used in measurement systems to connect instruments and computers for.
Autonomous Mobile Plotter Team Members: Kim Schuttenberg & Alicia Tyrell Project Design Review #2.
Autonomous Helicopter: James Lyden Harris Okazaki EE 496 A project to create a system that would allow a remote- controlled helicopter to fly without user.
Controlling Robot Car via Smartphone Supervisor: Dr. Jamal Kharousheh Prepared by : Hamza Qaddara Esmat Hedariya Hareth Hanani Faculty of Engineering Telecommunication.
Final Demonstration: Dead Reckoning System for Mobile Robots Lee FithianSteven Parkinson Ajay JosephSaba Rizvi.
1 DIFFERENTIAL POLARIZATION DELAY LINE Controller FINAL REPORT D0215 Supervisor : Mony Orbach Performed by: Maria Terushkin Guy Ovadia Technion – Israel.
How to program robot hardware Sascha Lange Why care about?
ME 224-Final Project Jim Lovsin Erica Morales Dan Sheehan Josh Widzer.
ME 224 Final Presentation Fall 2005 Joni Stegeman Ingrid Lin Giovanni Wuisan Patrick Luckow Brent Willson.
ME 224 Experimental Engineering: Professor Espinosa 2005 TEAM : Jamie Charles Carlo Niko Javier.
1 Electrical and Computer Engineering Guitar Virtuos Justin D’Alessandro (EE) Jacob Dionne (CSE) Adam Montalbano (CSE) Jeffrey Newton (EE) Team Kelly Final.
Power Consumption Awareness by using a Pedometer Denis Kosovich Lior Kuchinski Asaf Bar Power Consumption Awareness by using.
A Navigation System for Increasing the Autonomy and the Security of Powered Wheelchairs S. Fioretti, T. Leo, and S.Longhi yhseo, AIMM lab.
Senior Project – Computer Engineering Integrated Workout Shoe Peter Katlic Advisor – Prof. Cotter Development: Consisting of an 8051 microcontroller.
June 12, 2001 Jeong-Su Han An Autonomous Vehicle for People with Motor Disabilities by G. Bourhis, O.Horn, O.Habert and A. Pruski Paper Review.
Computerized Train Control System by: Shawn Lord Christian Thompson.
Fuzzy control of a mobile robot Implementation using a MATLAB-based rapid prototyping system.
IMPLEMENTATION ISSUES REGARDING A 3D ROBOT – BASED LASER SCANNING SYSTEM Theodor Borangiu, Anamaria Dogar, Alexandru Dumitrache University Politehnica.
Team Spot A Cooperative Robotics Problem A Robotics Academy Project: Laurel Hesch Emily Mower Addie Sutphen.
Construction and Motion control of a mobile robot using Visual Roadmap
Administrative Introduction Our goals for this project is for the two robots to work together intelligently using wireless communication Not only did.
Remote Control of a Furby Toy with Bluetooth
Acceleration Based Pedometer
Localisation & Navigation
iRobot Create Introduction Assembled from various online resources
Programming Concepts Part B Ping Hsu. Functions A function is a way to organize the program so that: – frequently used sets of instructions or – a set.
Ruslan Masinjila Aida Militaru.  Nature of the Problem  Our Solution: The Roaming Security Robot  Functionalities  General System View  System Design.
INTRODUCTION Bluetooth technology is code name for Personal Area Network (PAN) technology that makes it extremely easy to connect a mobile, computing device.
Wireless Intelligent Sensor Modules for Home Monitoring and Control Presented by: BUI, Phuong Nhung, 裴芳绒 António M. Silva1, Alexandre Correia1, António.
Programming Concepts (Part B) ENGR 10 Introduction to Engineering 1 Hsu/Youssefi.
Project Objectives Today’s GPS technology allow calculating and producing accurate positioning and tracking of the movement path in open environments.
Autonomous Robot Project Lauren Mitchell Ashley Francis.
Autonomous Helicopter James LydenHarris Okazaki EE 496.
CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise.
Mobile Controlled Car Students : Tasneem J. Hamayel Hanan I. Mansour Supervisor : Dr.Aladdin.
IBM - CVUT Student Research Projects Remote Control of a Furby Toy with BlueTooth Tomáš Kunc
Autonomous Helicopter James LydenEE 496Harris Okazaki.
HARDWARE INTERFACE FOR A 3-DOF SURGICAL ROBOT ARM Ahmet Atasoy 1, Mehmed Ozkan 2, Duygun Erol Barkana 3 1 Institute of Biomedical Engineering, Bogazici.
Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
Robot Swarm Work group : Ibrahem Batta. Emad Shakhshir. Supervisor: Dr. Ashraf Armoush.
GPAR Manar Anabtawi Mays Al-Haj Qasem Dr.Sufyan Samara Prepared by Supervisor Examiners Dr.Luai Malhis Dr.Hanal Abu Zant.
By: Eric Backman Advisor: Dr. Malinowski.  Introduction  Goals  Project Overview and Changes  Work Completed  Updated Schedule.
Small, Lightweight Speed and Distance Sensor for Skiers and Snowboarders Michael Bekkala Michael Blair Michael Carpenter Matthew Guibord Abhinav Parvataneni.
P09311: FPGA Based Multi-Purpose Driver / Data Acquisition System Sponsor: Dr. Marcin Lukowiak Team MemberDisciplineRole Adam Van FleetEEProject Manager/Documentation.
DO NOT FEED THE ROBOT. The Autonomous Interactive Multimedia Droid (GuideBot) Bradley University Department of Electrical and Computer Engineering EE-452.
The George Washington University Electrical & Computer Engineering Department ECE 002 Dr. S. Ahmadi Class3/Lab 2.
Protocol Layering Chapter 11.
See3PO - A Visually Capable Path Finding Robot See3PO Frank Marino, Nick Wang, Jacky Yu, Hao Wu and Debarati Basu Department of Computer Science University.
10/15: Lecture Topics Input/Output –Types of I/O Devices –How devices communicate with the rest of the system communicating with the processor communicating.
CONTENTS Objective Software &Hardware requirements Block diagram Mems technology Implementation Applications &Advantages Future scope Conclusion References.
Magic Wand Battle Game Team 53 Shanoon Martin, Jialin Sun, Manfei Wu.
ISA CLICK CONTROL #38 – FALL 2014 ERIC BRUNNGRABER DRAKE ISABIRYE.
Final Report Idea and Overview 1 Scope 2 Hardware and software 3 Algorithm 4 Experiments & Results 5 Conclusion 6.
Final Design Review By: Alireza Veiseh Anh-Thu Thai Luai Abou-Emara Peter Tsang.
NXT Mindstorms Kit Programming
Obstacle avoiding robot { pixel }
Group 3 Corey Jamison, Joel Keeling, & Mark Langen
Gesture Control interface
Microcontroller Applications
Monitoring Robot Prepared by: Hanin Mizyed ,Abdalla Melhem
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
Sasha Popov November 16, 2018 iRobot Create.
Jamie Snape University of North Carolina at Chapel Hill
Enable Talk Prepared By: Alaa Mayyaleh Shurouq Abu salhiah.
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
Presentation transcript:

ACCURACY IMPROVEMENT FOR PHYSICAL ROBOT Gal Lerman, Dorin Ben-Zaken

The Project  The goal is to improve the accuracy of a robot.  Based on a Motion Planning workshop for physical robots.  Software improvements to the robot driver.  Additional sensors supported by extra hardware.

The Workshop  We have a computer controlled robot.  The robot maneuvers in an obstacle filled room.  The robot starts at a certain position and must reach a target position.

Our robot…

Just kidding…The iRobot Create  Two wheel differential drive robot.  Based on the well known Roomba vacuum cleaner.

The iRobot create  Left and right wheels are controlled separately.  Built-in sensors:  Left and right bumpers (know when the robot collides).  Wheel encoders (measures the number of wheel revolutions).  Lacking a high-quality distance sensor…So we added our own.

Encoder Inaccuracy Reasons  Wheel slippage counts as movement  Finite encoder resolution results in round-up errors  Errors are accumulated over distance – the greater the distance the bigger the error

Workshop Architecture Distance sensor Bluetooth Analog out BAM RS 232

Robot Driver  Communication between the robot and the PC is done by serial communication over Bluetooth.  The robot driver sends command packets complying to the robot’s protocol.  The robot sends packets containing sensor data every 15ms.  Also implemented a simulator driver (using a shared interface).

Scene Loader  Scenes contain information about:  The bounding box of the room.  Obstacles.  Robot start and goal positions.  Scenes are loaded from files.

Scene Solver  A general interface for solving the motion planning problem.  Uses the PRM (Probabilistic Roadmap) algorithm:  Samples random free positions in the room.  Builds a graph by connecting near positions.  Reduces the problem to a shortest-path in graph problem.

Graphical User Interface (GUI)  A user interface for interacting with the system.  Also shows sensor data, roadmap and more. Robot Driver Interface Simulator Robot Driver Physical Robot Driver Scene Loader Scene Solver Interface PRM Scene Solver Robot Mover User Interface

Dynamic Obstacles  We added a remote-controlled Roomba to act as a dynamic obstacle.  Distance sensor is used to detect the Roomba.  Requires algorithm modifications:  When detecting a dynamic obstacle we add a temporary static obstacle.  Update the roadmap graph so that colliding edges are removed.  Re-plan using the new roadmap

Robot Competition  Two PCs controlling different robots.  Another PC acting as referee and coordinates between them.  First robot to reach its destination wins.  Communication over TCP.

Lack of accuracy demonstration  video

The Project - Hardware

Original Project Architecture Arduino microprocessor Gyroscope Accelerometer XBee module RS 232 iRobot create RS 232 PC running robot’s motion path software XBee on USB dongle Zigbee Communication

Original Project Architecture - limitation  Robot response to command isn’t reliable - Robot freezes a lot  Other developers in the community complained about Xbee reliability in full duplex high packet rates scenarios  iRobot Command Module is a microcontroller designed for iRobot Create, in hind sight perhaps it was better to use it instead of Arduino

Project Architecture Based on Workshop PC running robot’s motion path software Bluetooth iRobot create BAM RS 232 Gyroscope Accelerometer Arduino microprocessor Distance sensor Analog out D/A Analog out Digital out * (*) Here we use Time Division Multiplexing on the 3 sensor data streams

Project Architecture Based on Workshop - cont  Xbee free architecture  Reuse of BAM as proven communication channel between robot and pc  Ardunio interfaces with the sensors and converts their data to n digital bits  D/A converters Arduino digital output to robot’s analog input  Time Division Multiplexing to transfer 3 sensor data stream using 1 analog input in the robot  Full use of the robot’s 4 digital inputs  2 name bits – naming the sensor data  Start, Stop bits to solve Arduino-Robot synchronization problem (packet containing gyro’s name with distance data)

Project Architecture Based on Workshop - limitation  Only 8 bit D/A available in TAU where we needed at least 9 (8 bits for angle [0,180] and 1 bit for sign)  Complex architecture  A simpler idea came to mind…

Final Project Architecture PC running robot’s motion path software Bluetooth iRobot create BAM RS 232 XBee on USB dongle Bluetooth Distance sensor Analog out Gyroscope Arduino microprocessor XBee Gyro packets Sensor data Commands Power

Final Project Architecture - cont  PC has 2 serial connections  Xbee channel from Arduino  BAM channel to/from Robot  Xbee back in action but in only one sided communication and only sensor data to PC  Reuse of BAM as proven communication channel between robot and PC

Accelerometer limitation  Double integration to get location data from acceleration causes massive accumulation of errors  Tilt of the sensor is interpreted as movement  Mobile Robot Positioning – Sensors and Techniques by J.Borenstein, H.R. Everett, L. Feng and D.Wehe.

Software improvements  Wait angle command  Specify desired degrees and let the robot stop after executed  Requires to stop the sensor stream before command is lunched and resume it after command executed  Combine angle reading from robot’s odometry and gyroscope to get a more accurate angle

UMBmark – Odometry calibration  Based on a University of Michigan article from 1994  Designed to correct systematic odometry errors  Systematic errors are caused by  Inaccurate wheel base  Inaccurate wheel radius  Calculates alpha and beta  α - the error in degrees when the robot tries to turn 90 degrees  β – the angle in degrees the robot has veered off a straight path after running the straight line

UMBmark – Odometry calibration cont  Correct α by turnAngle = requestedTurnAngle*(90/(90- α ))  Correct β by driving in an arc instead of straight line. Arc with radius of R = (L/2)/ β )  We couldn’t use it because of drive-with-radius command is limited to only 2m radius

Results

Results - cont

 video

Conclusions  Wait angle accounts for most of the accuracy improvement  No distance accuracy improvement because of accelerometer sensor’s limitations  Possibly better to use a laser sensor instead of accelerometer  Wait distance would probably improve the distance accuracy greatly, but at the cost of loosing response to dynamic obstacles

Thank you  Questions?