Title: Development and Implementation of a High-Level Command System and Compact User Interface for Nonholonomic Robots
1Development and Implementation of a High-Level
Command System and Compact User Interface for
Nonholonomic Robots
- Hani M. Sallum
- Masters Thesis Defense
- May 4, 2005
2Outline
- Overview and Goals
- Development
- Control System
- Data Analysis and Mapping
- Graphical User Interface
- Results
3Overview
- This work details the design and development of a
goal-based user-interface for unmanned ground
vehicles which is maximally simple to operate,
yet imparts ample information (data and commands)
between the operator and the UGV.
4Typical UGV Usage
5Other UGV Issues
- Multi-person crews
- Proprietary Operator Control Units (OCUs) for
each UGV
Is there a way to have local users control UGVs
without the operational overhead currently
required?
6Current State of the Art
7Why UA/GVs?
- Over the last two decades there has been a
dramatic increase in the complexity/availability
of manufactured electronics. - As a result, the capital cost of robotic systems
in general has decreased, making them more
feasible to implement. - Example N.A.S.A. Mars Pathfinder/Sojourner
system was built largely out of commercially
available (OTS) parts (sensors, motors, radios,
etc.)1. - Additionally, the capacity and functionality of
devices such as PDAs and cellular phone has
increased as well.
1. N.A.S.A., Mech. Eng. Magazine, Kodak
8Motivation
Q Do custom O.C.U.s need to be developed when
commercial technology is evolving so rapidly?
- Considering the ubiquity of PDAs, smartphones,
etc., is it possible to develop a method of using
these devices as a form of common O.C.U.?
9Goals
- Develop a control system for a UGV
- Automates low-level control tasks
- Develop a method of rendering sensor data into
maps of the UGVs environment - Design a GUI which runs on a commercially
available PDA
10Hardware Robot
- iRobot B21R Mobile Research Robot (nonholonomic)
11Definition of Nonholonomic
- Unable to move independently in all possible
degrees of freedom.
Example Cars have 3 degrees of freedom (x, y,
q), but can not move in x or q alone.
12Hardware PDA
240x320 Color Screen Touch Sensitive
13Navigation Control System
- Two aspects of the navigation process
- Target Approach
- Obstacle Avoidance
Multimodal Controller Separate control laws
depending on the desired operation of the robot.
14Proven Method
- Schema Architecture Chang et al.
- Discrete shifts between control modes
- Straightforward to implement
- chattering between modes
15Proposed Method
- Fuzzy Control Wang, Tanaka, Griffin
- Gradual shifts between control modes
- More complicated controller
- Smoother trajectory through state-space
16Fuzzy Controller
Sensor Data
Target Approach Mode
Obstacle Avoidance Mode
K,w
K,w
Fuzzy Blending
Fuzzy Control Signals v,w
17Target Approach
- Control of Turning Velocity
- Final orientation unconstrained
- Implement a proportional controller driving the
robot heading to a setpoint equal to the current
bearing of the target (i.e. qDEV ? 0) - Produce wAPP
- Saturate the controller at the max allowable
turning speed
- Use high proportional gain to approximate an
arc-line path
18Target Approach
- Control of Forward Velocity
- Final position close to target
- Implement a proportional controller to scale the
forward velocity, based on the robots distance
to the target coordinates (i.e. DTAR ? 0) - Produce KAPP
- Saturate the controller at KAPP 1 (scale to the
maximum allowable forward speed)
19Obstacle Avoidance
- Control of Turning Velocity
- Implement a proportional controller driving the
robot heading to a setpoint 90º away from the
nearest obstacle (i.e. qOBS ? 90º) - Produce wAVOID
20Obstacle Avoidance
- Control of Forward Velocity
- Implement a proportional controller to reduce
(scale down) the forward velocity when nearing an
obstacle
21Obstacle Avoidance
- Forward Control
- Inner threshold elliptical to avoid being stuck
to obstacles
22Final Control Law
- Turning Control
- Blend the target approach and obstacle avoidance
control signals using a weighted sum - WAPPwAPP WAVOIDwAVOID wFUZZY
- Determine weights using membership functions
based on the robots distance to the nearest
obstacle.
23Final Control Law
- Forward Control
- Blend the target approach and obstacle avoidance
control signals by multiplying the maximum
forward velocity by the scaling factors produced
by each control mode. - KAPPKAVOIDvMAX vFUZZY
24Outline
- Overview and Goals
- Development
- Control System
- Data Analysis and Mapping
- Graphical User Interface
- Results
25Data Analysis and Mapping
- Render data from the laser rangefinder into
significant features of the environment - Fiducial Points
- e.g. corners, ends of walls, etc.
- Use these fiducial points to generate primitive
geometries (line segments) which represent the
robots environment.
26Distillation Process
Finding Fiducial Points
RAW DATA
27Why Find Fiducial Points?
28Object Detection
Range vs. Bearing (used by Crowley 1985)
29Object Detection
30Object Detection
31Segment Detection
Recursive Line Splitting Method used by Crowley
1985, B.K. Ghosh et al. 2000
32Segment Detection
- Proposed Threshold Function
- CREL Relative Threshold CABS Absolute
Max Threshold
33Line Fitting
- Use perpendicular offset least-squares line
fitting
34Finding Intersections
35Categorization
- Each fiducial point is either interior to an
object, or at the end of an object. - Fiducial points at the ends of objects are either
occluded or unoccluded.
36Distillation
37Mapping
- Fiducial Points provide a clear interpretation of
what is currently visible to the robot - Provide a way to add qualitative information
about previously observed data to local maps
Global map
38Creating a Global Map
- Global MapOccupancy Evidence Grid Martin,
Moravec, 1996 based on laser rangefinder data
collection.
39Creating a Global Map
- Global MapOccupancy Evidence Grid Martin,
Moravec, 1996 based on laser rangefinder data
collection.
40Local Mapping
- Map Image
- Sample section of global map for qualitative a
priori information about local area. - Overlay map primitives.
41Local Mapping
- Example
- Local map with and without a prior information.
42Vision Mapping
- Vision Map
- Transform map primitives to perspective frame and
overlay camera image of local area.
43Vision Mapping
- Find common geometries for defining vertical and
horizontal sight lines.
44GUI
- Serve web content from the robot to the iPAQ
- Use image-based linking (HTML standard) to allow
map images to be interactive on the iPAQ - Use web content to call CGI scripts onboard the
robot, which run navigation programs on the robot
45GUI
Main Map/Command Screen
46GUI
- Long-Range
- Map/Command Screen
Close-Range Map/Command Screen
47GUI
- Rotation
- Map/Command Screen
Vision Map/Command Screen
48Results
- GUI Main Map/Command Screen
49Results
- GUI Rotation Map/Command Screen
50Results
- GUI Vision/Command Screen
51Results
52(No Transcript)
53(No Transcript)
54(No Transcript)
55Conclusions
- The infrastructure exists for implementing an OCU
on a PDA - OTS devices
- Networking/web standards
- Fuzzy logic methods can be applied to mobile
robot control - Obstacle Avoidance
- Economic Path Generation
- Variable thresholds can be used for more robust
range data interpretation - Object detection based on incident angle
- Segment detection based on two parameters
- Fusion of data can impart more information to the
operator - Occupancy information and fiducial points
- Fiducial points and visual data
56Future Work
- Use fiducial points to implement Simultaneous
Localization and Mapping - Address control system limitations
- Streamline/upgrade web content and programming
for the GUI
57Thanks To
- My Committee
- Professor Baillieul
- Professor Wang
- Professor Dupont
- ARL/MURI
- Colleagues in IML
- Family and Friends
- AME Staff
- Professor Baillieul