View
213
Download
0
Tags:
Embed Size (px)
Citation preview
Robotic ControlWith Situation Aware Mobile Computing and Distributed
Robot Agents
Brent Dingle
Marco A. Morales
Texas A&M University, Spring 2002
Problem
• A robot is an Intelligent Connection of Perception to Action (Jones, Flynn 1993)
• The major problem in Robotic Motion Planning is stated thus:To plan an obstacle free path for a robot from a specified initial configuration (position, orientation, etc) to a specified final configuration.
• Multiple sensors and actuators
• Two main approaches:– Sequential based– Behavior based
Control of Robots
• Two main approaches:
– Sequential based
– Behavior based
• Little integration with the environment
• It is important to create autonomous robots, but technology could help to build robots competent enough for specific tasks.
Sequential Based Approach
• Sensors gather data
• Data are translated into a intermediate language
• A model of the world is built
• Motion planning is performed
• Motion commands are translated into low level orders for actuators
Behavior based approach
• Modules generate behaviors
• Each has perception and planning
• Each receives input and give commands
• A mediator scheme assigns control to modules
• Basic behaviors lead to complex behaviors
• No central model of the world
• No central control
Smaller Problems
• Currently robot control is done for SPECIFIC environments.
• Sequential approach
– It takes a great amount of time to find the solution to complex environments.
– The environment is often assumed static.
• Behavior based approach
– There is little knowledge to share about the environment
• The solution usually applies to a SPECIFIC robot.
• The solutions only deal with one robot.
• If the path doesn’t work the robot gets “stuck” (until a human helps it out).
Small to One: Situation Aware Mobile Computing (SAMC)
• We would propose that these small problems can all be solved through the usage of techniques employed in Situation Aware Mobile Computing.
• SAMC obviously is related to Robotic Motion Planning.
• So we are going to assume some things (reasonably) so that we may incorporate the advantages of Situation Aware Mobile Computing into Robotic Motion Planning.
Assumptions
• Rooms exist with transensors – devices that can send and receive wireless communications from mobile devices and relay them to a computer for processing.
• Robots are mobile devices.– are equipped with a minimal set of functions defining how to move themselves
about.– are capable of translating a “general” command set into their hardware
specific command set.• Computers exist which are aware of
– Robots and have access to “extra” information on various types of robots and robot IDs.
– Various room ‘states.’ Where the state of the room is derived from information relayed by transensors.
– General solutions to moving around the room, items in the room, and actions that may be taken on items in the room (and how to do so).
– The general command set and can relay directions for motion and action using this command set.
Picture (Proposed Idea)
• The solution usually applies to a SPECIFIC robot.
– No longer a problem as the solutions (paths and actions) are stored in the room in a generic language.
– Each robot becomes responsible for translating the general solution into specific commands.
Problems become solutions.
• The solutions only deal with one robot.
– Obviously since each robot is operating autonomously there is no loss of processing power to implement the solutions.
– And the problem is mostly pre-solved by the room’s distant computer.
– All the computer need do is send each robot a path in such a fashion as it will not collide or interfere with the path of another.
• The environment is often assumed static.
– As the transensors can track objects in the room the computer will know the location of all objects in the room – even those moving.
– So if necessary small (and quick) adjustments can be sent by the room’s computer to correct for the dynamic environment (e.g. telling a given robot to delay 10 seconds so another may pass OR sending another robot to assist).
Problems become solutions.
• If the path doesn’t work the robot gets “stuck” (until a human helps it out).
• Also no longer a problem.
• If a solution for whatever reason fails, the robot may send a request for another solution or request aid in performing its current task.
Extra Beauty
• As the room’s computer may be in contact with multiple robots at the same time (and objects in the room).
• It may direct robot B to help robot A, or to synchronize them together to achieve a task they cannot perform alone.
• This may involve sending robot A to find robot B – known to be elsewhere in the building.
• Further the rooms’ computer could control access to the rooms or direct things such things as lifts or non-mobile robots (robot arms) to assist in accomplishing tasks.
• Robots can help each other to accomplish a task by sharing information only accessible to one of them at a time.
Components of the Robot Agent
• Planner– Finds a path between two points
or reports no such a path• Navigator
– Creates a list of high level commands for the robot
• Pilot– Gives low level commands to
the controller and it’s aware of the sensors
• Controller– Controls actuators in closed
chains
Problems:
Environment modeling– To model the environment
each robot either is able to:• Identify main features by
itself, or• Uses a set of preloaded
features.
– It seems reasonable to make robots use both.
More Problems
• Distribution of tasks
– Environments are far too complex for a robot to handle efficiently in detail
– A robot shouldn’t care for parts of the environment that are far away, unless it really needs them.
• Nearby robots can help by providing info on the environment.
• Rooms, buildings, sites can help by having planning abilities.
Solution
• Build a distributed Motion Planning Agent
• Use nearby robots as sources of info for the environment
• Use precompiled info about the environment
• The local planner gathers info from all the robots in it and makes plans for them while they are nearby
• The robots can ask a local planner for a plan to follow
• The robots have the navigator, pilot and controller.
• A global planner coordinates the missions of the robots.
Distributed Planner
• Global planner• Defines general goals based on main tasks
– Go to room 124, go to room 302
• Local planner• Activated when the robot arrives to the area known to a given local
planner
• Coordinates robot information with room information
• Stores a local map of the room and info gathered by all robots in the room
• Gives a plan to each robot in its “influence” area.
Robot agent
• Basic planner
– Takes control when no info is given by a room planner
• Navigator
• Pilot
• Controller
Advantage summary
• We have turned problems into solutions.
• We have introduced generality into the solutions.
• We have added the extra functionality of coordinating robots.
• We have decreased the functionality requirements of the robots (and likely the cost)
• We have increased the potential functionality of a given robot (no longer constrained to just a specific one or two tasks).
The “newness”• Almost no robotic motion planning algorithms consider the
possibility of another computer assisting in the path.
• Much of the research currently is on finding paths – not accomplishing tasks.
• Coordinating actions through wireless communications would be an obvious direction to go in research.
• Building a generic command language to describe robotic motion needs to be done. (Aside: Building a generic representation of rooms also needs to be done.)
Potential Future• Incorporating humans into these concepts would be nice.
• This is already being done in medical operations.
• Could it be possible to design automatic assistants that coordinate in real time with the surgeon, via preplanned paths and a similar network.
• Could equipment auto relocate itself as needed from one surgery room to another based on calls from room computers and scheduled operations?