Newly sensed obstacle. Trajectory which catch up the path. Obstacle

Similar documents
On Fleet Size Optimization for Multi-Robot Frontier-Based Exploration

CE801: Intelligent Systems and Robotics Lecture 3: Actuators and Localisation. Prof. Dr. Hani Hagras

Sensor Based Control of Autonomous Wheeled Mobile Robots

Autonomous Advertising Mobile Robot for Exhibitions, Developed at BMF

Force/position control of a robotic system for transcranial magnetic stimulation

Automatic Train Control based on the Multi-Agent Control of Cooperative Systems

Design-Simulation-Optimization Package for a Generic 6-DOF Manipulator with a Spherical Wrist

Sensor-Based Robotic Model for Vehicle Accident Avoidance

Path Tracking for a Miniature Robot

Introduction to Engineering System Dynamics

Robot Perception Continued

Adaptive Cruise Control of a Passenger Car Using Hybrid of Sliding Mode Control and Fuzzy Logic Control

Robotics. Lecture 3: Sensors. See course website for up to date information.

Physics Kinematics Model

Applications > Robotics research and education > Assistant robot at home > Surveillance > Tele-presence > Entertainment/Education > Cleaning

E190Q Lecture 5 Autonomous Robot Navigation

Adaptive Cruise Control

Robot coined by Karel Capek in a 1921 science-fiction Czech play

SYSTEMS, CONTROL AND MECHATRONICS

Parameter identification of a linear single track vehicle model

AN INTERACTIVE USER INTERFACE TO THE MOBILITY OBJECT MANAGER FOR RWI ROBOTS

CHAPTER 1. Introduction to CAD/CAM/CAE Systems

ExmoR A Testing Tool for Control Algorithms on Mobile Robots

AP PHYSICS C Mechanics - SUMMER ASSIGNMENT FOR

LINEAR MOTOR CONTROL IN ACTIVE SUSPENSION SYSTEMS

Robotics. Chapter 25. Chapter 25 1

Research fellow Irstea, TSCF Unit Clermont-Ferrand Division

Robotic motion planning for 8- DOF motion stage

Autonomous Ground Vehicle Path Tracking

In order to describe motion you need to describe the following properties.

INSTRUCTOR WORKBOOK Quanser Robotics Package for Education for MATLAB /Simulink Users

BENEFIT OF DYNAMIC USE CASES TO EARLY DESIGN A DRIVING ASSISTANCE SYSTEM FOR PEDESTRIAN/TRUCK COLLISION AVOIDANCE

Electric Power Steering Automation for Autonomous Driving

Separation of Concerns in Component-based Robotics

6.099, Spring Semester, 2006 Assignment for Week 13 1

Thermodynamic efficiency of an actuator that provides the mechanical movement for the driven equipments:

Chapter 4 One Dimensional Kinematics

Robot Sensors. Outline. The Robot Structure. Robots and Sensors. Henrik I Christensen

MSc in Autonomous Robotics Engineering University of York

Visual Servoing using Fuzzy Controllers on an Unmanned Aerial Vehicle

An Instructional Aid System for Driving Schools Based on Visual Simulation

Static Environment Recognition Using Omni-camera from a Moving Vehicle

By: M.Habibullah Pagarkar Kaushal Parekh Jogen Shah Jignasa Desai Prarthna Advani Siddhesh Sarvankar Nikhil Ghate

Synthetic Sensing: Proximity / Distance Sensors

Definitions. A [non-living] physical agent that performs tasks by manipulating the physical world. Categories of robots

Robotic Home Assistant Care-O-bot: Past Present Future

A STUDY ON WARNING TIMING FOR LANE CHANGE DECISION AID SYSTEMS BASED ON DRIVER S LANE CHANGE MANEUVER

Online Risk Assessment for Safe Autonomous Mobile Robots - A Perspective

Intelligent Flexible Automation

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

MOBILE ROBOT TRACKING OF PRE-PLANNED PATHS. Department of Computer Science, York University, Heslington, York, Y010 5DD, UK

The Design and Application of Water Jet Propulsion Boat Weibo Song, Junhai Jiang3, a, Shuping Zhao, Kaiyan Zhu, Qihua Wang

LEGO NXT-based Robotic Arm

Orbital Mechanics. Angular Momentum

Improved Mecanum Wheel Design for Omni-directional Robots

Scalar versus Vector Quantities. Speed. Speed: Example Two. Scalar Quantities. Average Speed = distance (in meters) time (in seconds) v =

Mobile Robot FastSLAM with Xbox Kinect

SPEED, VELOCITY, AND ACCELERATION

WMR Control Via Dynamic Feedback Linearization: Design, Implementation, and Experimental Validation

Rotation: Moment of Inertia and Torque

CALIBRATION OF A ROBUST 2 DOF PATH MONITORING TOOL FOR INDUSTRIAL ROBOTS AND MACHINE TOOLS BASED ON PARALLEL KINEMATICS

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

Constraint satisfaction and global optimization in robotics

Infrared Spectroscopy: Theory

Introduction to Logistic Regression

INTERFERENCE OF SOUND WAVES

How to Turn an AC Induction Motor Into a DC Motor (A Matter of Perspective) Steve Bowling Application Segments Engineer Microchip Technology, Inc.

SOLID MECHANICS TUTORIAL MECHANISMS KINEMATICS - VELOCITY AND ACCELERATION DIAGRAMS

DIEF, Department of Engineering Enzo Ferrari University of Modena e Reggio Emilia Italy Online Trajectory Planning for robotic systems

Understanding and Applying Kalman Filtering

What s Left in E11? Technical Writing E11 Final Report


SIMERO Software System Design and Implementation

Power Electronics. Prof. K. Gopakumar. Centre for Electronics Design and Technology. Indian Institute of Science, Bangalore.

TomTom HAD story How TomTom enables Highly Automated Driving

Sensor-Based Robot Motion Generation in Unknown, Dynamic and Troublesome Scenarios

Position Estimation Using Principal Components of Range Data

SURVEYING WITH GPS. GPS has become a standard surveying technique in most surveying practices

1 One Dimensional Horizontal Motion Position vs. time Velocity vs. time

Synthesizing Adaptive Navigational Robot Behaviours Using a Hybrid Fuzzy A* Approach

Physics: Principles and Applications, 6e Giancoli Chapter 2 Describing Motion: Kinematics in One Dimension

FRC WPI Robotics Library Overview

NATIONAL SUN YAT-SEN UNIVERSITY

ANALYTICAL METHODS FOR ENGINEERS

KINEMATICS OF PARTICLES RELATIVE MOTION WITH RESPECT TO TRANSLATING AXES

Epipolar Geometry and Visual Servoing

Maximization versus environmental compliance

Robotics & Automation

Onboard electronics of UAVs

UNIT 1 INTRODUCTION TO NC MACHINE TOOLS

CONTRIBUTIONS TO THE AUTOMATIC CONTROL OF AERIAL VEHICLES

Simulation of Trajectories and Comparison of Joint Variables for Robotic Manipulator Using Multibody Dynamics (MBD)

To define concepts such as distance, displacement, speed, velocity, and acceleration.

AP1 Oscillations. 1. Which of the following statements about a spring-block oscillator in simple harmonic motion about its equilibrium point is false?

EDUMECH Mechatronic Instructional Systems. Ball on Beam System

FURBOT : un nouveau système de transport de marchandises en ville. Evangeline Pollard INRIA-RITS

College Credit Plus Dual Enrollment

3D Collision Avoidance for Digital Actors Locomotion

CATIA V5 Tutorials. Mechanism Design & Animation. Release 18. Nader G. Zamani. University of Windsor. Jonathan M. Weaver. University of Detroit Mercy

300 MW Variable Speed Drives for Pump-Storage Plant Application Goldisthal

Transcription:

Controlling the Motions of an Autonomous Vehicle using a Local Navigator Cyril Novales, Didier Pallard and Christian Laugier INRIA Rh^one-Alpes, 655 Avenue de l'europe F-38330 Montbonnot, France. Paper: # ISRAM-141 in session: ISRAM-session-10 Contact : Cyril Novales Phone: (33) 76 61 52 93 Fax: (33) 76 61 52 52 e-mail : Cyril.Novales@inria.fr

Controlling the Motions of an Autonomous Vehicle using a Local Navigator Cyril Novales, Didier Pallard and Christian Laugier INRIA Rh^one-Alpes, 655 Av. de l'europe, 38330 Montbonnot, France. Ph: (33) 76.61.52.93. Fax: (33) 76.61.52.52. Email: Cyril.Novales@inria.fr ABSTRACT This paper addresses the problem of controlling the motion of an autonomous vehicle. This research is carried out within the framework of the French INRIA/INRETS Praxitele project on public transportation by individual electric cars. In this project the cars must have the ability to perform certain motions autonomously. For that purpose we have designed a specic control architecture based upon a local navigator,which projects in the robot evolution space admissible trajectories, called escape lines, on a short time horizon using a direct model of the mobile robot. After the removal of the escape lines that cross some obstacles, it chooses the best escape line that matches with the planned path and delivers it to the inputs of the servo controllers of the vehicle. The trajectories delivered by the local navigator respect the kinematic and dynamic constraints of the vehicle (as embedded in the direct model that is used). Since the local navigator only requires a proximity map obtained from sensory data rather than an exhaustive map of the vehicle's environment, its running time is low. I. NAVIGATION PROBLEM Our research work sits above the control level of an autonomous car like mobile robot which operates in a partially known environment. In this environment, the robot has to follow a predetermined path, given by a planner. But the robot is not necessary on this path and it must compute a trajectory to catch it up (gure 1). In case of unpredictive events occurrence (for example obstacles), this control level, called motion controller, must locally modify the path to take them into account. This functionality can be assumed by a reactive pilot, but generate oscillations due to this reactivity. To smooth these oscillations, we add to the reactive pilot a local navigator able to generate parts of trajectories on a few seconds. In sum-up, a motion controller must integrate two dierent kinds of constraints : The moving topology of the environment due to some unmapped static obstacles or unpredicted dynamical moves; Kinematic and dynamic constraints, particularly non-holonomic constraints, derived from the physical architecture of a car like mobile robot.

Newly sensed obstacle Trajectory which catch up the path Obstacle Path Error Figure 1: Plan following for an autonomous mobile robot I.1. General Control Architecture Our control architecture is composed of the three following layers: (gure 2) A long term layer which is called the "planner". This planner makes use of maps of the robot environment that includes static known obstacles, static detected obstacles and prediction of motion of mobile obstacles [1]. It delivers a plan to the next layer. We dene a plan as a path with velocity prole; A short term layer which is called "local navigator". With a plan as input, this module delivers to the next layer a trajectory on a short time horizon. The purpose of the local navigator is to try to locally track the plan provided by the planner while taking into account the constraints of the mobile robot and the unpredictable events detected by the sensors (such new constraint map prevents the robot to accurately follow the plan given by the previous layer); An instantaneous layer which is called the "reactive pilot". This module converts the trajectory produced by the local navigator into controls for the robot actuators. It also reacts directly to sensor data in order to avoid collisions (e.g. emergency stop). [2]. To connect the layer of the planner which uses maps to the layer of the reactive pilot which reacts instantaneously to sensor data, we use a layer which works on short term: the local navigator. This local navigator and the reactive pilot form the motion controller, which may be able to follow the plan computed by the planner in a reactive way. I.2. Local Navigation The short term layer must determine a trajectory on a short time horizon - a few seconds - and deliver it to the reactive pilot. There are two types of input for this navigator : proximity data and plan data, which is a path parameterised by linear velocity and given by the planner. The local navigator attempts to follow the nominal plan while satisfying the dynamic and kinematic constraints of the robot, and while taking into account newly sensed static or dynamic obstacles located on this plan

Maps Long Term ÍÍ Trajectory M OT I O N C O NT R O LL E R Short Term Instantaneous Physical Robot Figure 2: Control Architecture (such obstacles will give rise to local modication of the executed trajectory). A proximity map of the environment built on-line from sensor data, is used to determine the required modication of the plan This layer must therefore generate a trajectory that: attempts to follow the nominal plan as closely as it can whilst respecting constraints; avoids unmodelled or dynamic obstacles present on the plan. II. LOCAL NAVIGATION BY ESCAPE LINES II.1. Basic idea To execute a given trajectory, one generally use an inverse model of the mobile robot [3] which transforms cartesian motions into dierential controls. However, determining an inverse model for a given mobile robot is sometimes impossible because of non integrable constraints, due to the presence of non-holonomy [4]. An alternative to this approach is to use a direct model for predicting a restrictive set of possible pieces of trajectories for the mobile robot, before choosing one of these local solutions according to some given criteria [7]. Constructing a direct model of a given mobile robot is always possible. Moreover, the processing time to obtain a path from control inputs is lower than the previous method and dynamic and kinematic behaviours can be easily integrated. This is why we developed a navigator which makes use of a direct model of the robot. The basic idea is to "identify" the parameters of the small pieces of trajectories that the robot will execute when applying a given control law over a small time interval T, which is called time horizon, in a given set of known states of the robot. Let us assume that we know the direct model of a mobile robot R in a given state X 0 at the time t 0. Let [t0 ; t0 + T ] be the set of admisible control laws which can be apply on R during time interval [t 0 ; t 0 + T ]. Applying all the control laws! 2 [t0 ; t0 + T ]

generates a set of small pieces of trajectories [t0 ; t0 + T ], that gure 3 illustrats. These Control Vector Control Law on time horizon Physical Robot Trajectory on time horizon Motions Input Space State Space Output Space All Admissible Control Laws on time horizon Direct Model of the Robot All Performable Trajectories on time horizon = Escape Lines Control Vectors Virtuals Motions Figure 3: Escape Lines Generation pieces of trajectories are called Escape Lines; they represents the local trajectories that the robot can follow from the current robot position. Then the basic idea is to construct at each time step the associated Escape Lines and to apply a given selection algorithm to choose in real time the more appropriate Escape Line to follow according to the nominal plan to track and to the detected obstacles. This method is called Local Navigation using Escape Lines. II.2. Constructing Escape Lines The general formalism of local navigation is derived from the control theory formalism of E.D. Sontag [6], and was developed in detail in previous papers ([5],[2]). In this formalism we make a dierence between the internal state X of a mobile robot and its position/orientation e in the space. The internal state belongs to the state-space and the position/orientation belongs to the output space ". The output function that links X to e is dierential and since we keep as the input space the control space, the transition function between and remains dierential. We can model our electrical vehicle evolving on a plan (IR 2 ) without sliding as following: the input or control vector, U = ( _v; ), _ contains the linear acceleration and the steering angular speed; the state vector, X = (v; ), is composed of the linear speed and the steering angle; and the output vector, e = (x; y; ), is the Cartesian position and orientation of the robot. Assume that a mobile robot is in the internal state X 0 at the time t 0. If we make the hypothesis of homogeneous oor (for wheel/oor contact) and assume an environment without obstacles, we can determine with a direct model of R the trajectory that it will follow if we apply a control law! during T. To obtain the set of Escape lines [t0 ; t0 + T ] we apply to the model all the admissible control laws of [t0 ; t0 + T ] [t 0; t0 + T ]. Actually this set [t0 ; t0 + T ] depends on the state X 0 (i.e. on the robot's abilities) and also on the position/orientation e 0 at the time t 0 (i.e. on the robot/environment relation). With our hypothesis of homogeneous oor and environment without obstacles, we can determine [t0 ; t0 + T ] with only the internal state X 0. Thus, we sever the internal state of a mobile robot from its position/orientation. To be admissible, each control law! must only verify boundaries and dynamic constraints of the servoings. [t0 ; t0 + T ] on T gives all the trajectories that the robot will able to

Figure 4: Top view of forward Escape Lines for a car-like robot perform from its position e 0 with its state X 0 on the time interval [t 0 ; t 0 + T ] if there is no obstacles. For our car-like robot driving ahead with its steering wheels turned on the left at state X 0, the obtained Escape Lines are plotted on the gure 4. The next step is to determine whether these Escape Lines are executable or not in the local environment of the robot (i.e. in the vicinity of the location e 0 ). For that purpose, the obtained Escape Lines are projected onto the output space " and they are matched with the proximity map constructing using sensor data. This allows us using a simple collision detection algorithm to construct a set of Free Escape Lines L [t0 (upper part of the gure 5). ; t0 + T ] Admissible Control Laws Time Horizon Internal State Location Plan Direct Model of the Mobile Robot Escape Lines Proximity map Collision Test Generation of the Catch up Curve Free Escape Lines Catch up Curve Comparison Best Free Escape Line Figure 5: Algorithm of Local Navigation II.3. Selecting an Escape Line To choose a Free Escape Line, we use the plan given by the planner. But, if the mobile robot is not placed at the time t 0 on the right place of this plan, it need a catch-up curve to reach this plan. In that way, we dene a geometrical curve C, called Catch-up Curve, that joins e 0 to the position/orientation that the robot will be placed on the plan at t 0 + T (lower part of the gure 5). This curve does not take into account robot constraints and obstacle places. It may only take into account initial and nal robot velocities.

The best Free Escape Line is chosen by comparing the Catch-up Curve and the Free Escape Lines. The nearest Free Escape Line from the Catch-up Curve is delivered to the reactive pilot. Free Escape Line Selected Catch up Curve Plan Obstacle Figure 6: Free Escape Lines, Catch-up Curve and Plan II.4. Sketch of the local navigator Finally, the local navigator operates as follows: At each time step, the local navigator determines the set of Escape Lines [t0 ; t0 + T ] associate to X 0 ; The set [t0 ; t0 + T ] is pruned in order to remove the Escape Lines which generate a collision in the vicinity of e 0. This is done using the proximity map built with sensor data; A catch-up curve is computed using the plan delivered by the planner. This curve is realised without taking into account newly sensored obstacles, The Free Escape Line which is the nearest to the catch-up curve is chosen and delivered to the pilot. The mobile robot does not follow the Best Free Escape Line to its end. The chosen escape line will be updated as the algorithm is recomputed. III. IMPLEMENTATION III.1. Initial experiments on small mobile robots The rst implementation of this local navigator was made on two small wheeled mobile robots in the LIRMM (Laboratory of computer science Robotics and Microelectronic of Montpellier): RAT and SNAKE II [5]. These robots drove at a maximum speed of 7m/s and had ultrasonic devices to perceive their environment. The local navigator ran on a single transputer and allowed the robot to move in a complete unknown environment with dynamic obstacles.

III.2. The Praxitele vehicle Praxitele prototypes are electric car-like robots with a weight of 700kg. An asynchronous motor powered by lead Batteries allows to propel the car up to 70 km/h. Two persons can embark in each car and the vehicule gets an autonomy of about 80km. A Motorola VME162 with custom interfaces drives three servo-motors and a AC-motor controller. All proprioceptive data - like odometry or velocity - are computed on that device. Connected to ethernet, the computation is done using ORCCAD Software on a SUN workstation. An ultra-sonic belt composed of fourteen ultrasonic sensors dispatched all around the vehicle has been constructed for sensing its local environment (Figure 7). Each of these sensors are synchronized and can detect obstacles in a range of eight meters with a resolution of one centimeter. It uses a measure of the ying time of ultrasonic waves to compute the distance between the vehicle and obstacles. This is done at a frequency of 50 ms (the time needed for the round trip of 8 meters of the wave) using a transputer network made of 4 transputers dynamically linked by a C004 circuit. Figure 7: Praxitele prototype Figure 8: Ultra-sonic sensors III.3. Implementation on a transputer net and a VME board The fourteen ultrasonic sensors are driven and synchronized by a custom board with a transputer and programmable integrated circuits. Data are computed in a second transputer which built a proximity map - a polar grid - of the local environment of the robot every 50ms, using the linear and the rotational instantaneous velocities. (Figure 9). This proximity map is sent to a third transputer which computes the escape lines. The best free escape line is sent to the fourth transputer which manages the data transfers with the VME board. The VME board is programmed using ORC- CAD tool and it drives all the actuators and proprioceptive sensors. Two non-linear servo controls are implemented on it: one on the curvilinear velocity and one on the steering wheel angle. A fuzzy logic controller drives these 2 servo controls and takes place into this motion controller [2]. III.4 Synthesis We have presented a local navigator for a mobile robot evolving in an unstructured and partially known environment. The data required by this navigator may come from

VME rack with ORCCAD Transputers network Reactive Pilot (Fuzzy Logic Controler) Monitor and data transmission V δ V δ Escape lines navigator V δ V δ θ V θ Map Speed servo controller Direction servo controller Proprio ceptive sensors drivers Proximity map computation Data Exteroceptive sensors (Ultrasonic) driver Figure 9: Motion controller implementation non-accurate proximity sensors, like ultrasonic ones. Taking into account kinematic and dynamic constraints of the robot, as embedded in the direct model that it uses, the local navigator ts the computation abilities of the current technology. It was created to overpass classical oscillation problems due to the use of a reactive pilot. This local navigator forms with a reactive pilot a motion controller able to nd a trajectory which takes into account constraints and unpredictive events, and follows the plan given by the planner. References [1] Th. Fraichard and A. Scheuer. Car-Like Robots and Moving Obstacles. In icra, volume 1, pages 64{69, San Diego, CA (USA), may 1994. [2] Ph. Garnier, C. Novales, and Ch. Laugier. An Hybrid Motion Controller for a Real Car- Like Robot Evolving in a multi-vehicle Environment. In Intelligent Vehicles'95, Detroit, USA, September 1995. [3] Y. Kanayama, Y. Kimura, F. Miyazaki, and T. Noguchi. A Stable Tracking Control Method for a Non-Holonomic Mobile Robot. IEEE/RSJ International Workshop on Intelligent Robots and Systems IROS'91, Osaka, 1991. [4] Jean-Claude Latombe. Robot Motion Planning. Kluwer Academic Publishers, Boston, 1991. [5] C. Novales and R. Zapata. A Local Architecture for Controlling the Movments of Fast Mobile Robot. International Symposium on Robotic And Manufacturing ISRAM'94, Hawai, USA, 1994. [6] E.D. Sontag. Mathematical Control Theory, Deterministic and Finite dimensional System. Springer Velag, 1990. [7] B. Dacre-Wright T. Simeon. A practical motion planner for all-terrain mobile robots. Proceeding of the International Conference on Intelligent Robots and Systems, Yokohama, July 1993.