Market-Based Coordination of Recharging Robots

Market-Based Coordination of Recharging Robots
Victor Marmol
[email protected]
Abstract
Autonomous recharging is becoming increasingly important to mobile robotics as it has the
potential to greatly enhance the operational time and capability of robots. Current research
in autonomous recharging favors a mobile robot that can recharge a group of worker
robots. Existing approaches however have little to no coordination between a recharging
agent and its workers. This leads to less efficient interactions which adversely affect the
performance of the team of robots, especially as the ratio of worker robots to recharging
robots increases. Therefore, improved coordination can greatly enhance the performance
of such a team. Furthermore, recharging robots could have capabilities beyond recharging
and can thus further contribute to team performance. The current literature does not
address these additional roles that can be played by recharging robots. The proposed
senior thesis will advance the state of the art in autonomous coordination by developing,
implementing, testing, and evaluating a market-based distributed algorithm for effectively
coordinating recharging robots. The developed solution will be evaluated in a long-duration
exploration task where the environment being explored is unknown and dynamic, the team
of robots is heterogeneous, and some of these robots are capable of both exploring and
recharging other robots.
Advisor: M. Bernardine Dias, Ph.D.
Mentor: Balajee Kannan, Ph.D.
• Tasks are auctioned by agents
• An agent’s bid is determined by their objective cost
function
• Lowest costing bid wins the task
• Tasks are placed on an agent’s tour
TraderBots
• Tasks are auctioned by agents
• An agent’s bid is determined by their objective cost
function
• Lowest costing bid wins the task
• Tasks are placed on an agent’s tour
3 city tour in TraderBots
Thesis Roadmap
1.
Mobile recharging agent docking with a worker . Real hardware and CAD model.
Market-Based Coordination
• Utilize a simulated economy for task allocation, where robots buy and sell tasks via
auctions according to their estimated costs for completion
• Market-based systems are dynamic and distributed which provides flexibility and
fault-tolerance for many domains
Robot
Task
Robot
Task
Robot
An auction for two tasks with three bidding robots. Arrows are bids,
green arrows are winning bids. Cost metric is distance.
2.
3.
Recharging aware system with
robots going home to recharge
Incorporate mobile rechargers
Allow rechargers to take on
multiple roles
Null to Task Cost Function: Calculates the cost of performing the first task given the robot’s
current location and state.
Task to Task Cost Function: Calculates the cost of performing the second task given the
completion of the first task.
3 city tour in TraderBots
• Necessary for any group of mobile robots that are to be effective beyond
a short amount of time
• Mobile and static recharging units allow a group of robots to recharge
when necessary
• Robots must be charge aware and know what to do when recharging is
triggered
• Pairwise cost functions calculate the cost between two tasts.
• Following cost functions reflect inserting a recharging task into the schedule if necessary
Cost NullToTask(Null nullTask, Task task2)
If (estimatedDistanceToEmpty < distance(currentPos, homePos))
// We can’t go home and recharge now
estimatedDistanceToEmpty = 0
Return Infinity
Else
// Treat as a task from the current position to task1
Return TaskToTask(currentPosAsTask, task1);
TraderBots
Autonomous Recharging
Cost Functions
Cost TaskToTask(Task task1, Task task2)
// We can assume that we have at least enough charge to recharge
If ((estimatedDistanceToEmpty – distance(task1Pos, task2Pos)
– distance(task2Pos, homePos)) > 0)
// Can reach task2 and recharge from there
estimatedDistanceToEmpty -= distance(task1Pos, task2Pos)
Return distance(task1Pos, task2Pos)
Else
// Can’t reachtask2 and recharge from there, must
// insert the cost of going home to recharge
estimatedDistanceToEmpty = FullBatteryDistanceToEmpty
Return distance(task1Pos, homePos) + distance(homePos, task2Pos)
Inserting Into Tours
• TraderBots scheduler can’t add tasks while scheduling.
• Implemented custom TraderBots scheduler which recognizes recharge tasks during and
after auctions
• Schedule is optimized by trimming duplicate recharging tasks and moving the recharge task
where its cost is minimized in the tour.
S : Literature Survey, F : Familiarization, P : Presentation,
L : Long-term Test, T : Thesis Writing
Estimating Distance to Empty
• Runtime = distance in meters traversable by
robot before battery depletion.
• Battery discharge patterns are consistent with
a significant linear region.
• Battery resolution: tenths of a volt from 12.5 –
11.5 volts.
• Resolution too coarse, need to create more.
• Two models of discharge: in motion and while
idle.
• Robot updates distance to empty estimation at
2Hz
• Runtime is recalculated at new sighting of
coarse resolution reading.
Graph
runtime -= distanceTraveledInTimestep + idleToMeters(timeIdleInTimestep)
Acknowledgements: I would like to thank my advisor Dr. M. Bernardine Dias and my
mentor Dr. Balajee Kannan for their help and support. I would also like to thank
Jimmy Bourne, M. Freddy Dias, Nisarg Kothari, and Sairam Yamanoor for their work
on the robot hardware and software. Finally, I want to thank everyone in the
rCommerce Group for developing and maintaining the current system and robots.