Lab Curriculum

From FIRE Wiki
Jump to: navigation, search

Basic Topics in Multi-Robot

Communication

Data Organization and Transfer

This topic covers the basic ‘nut and bolts’ of coordinating multiple robots – identifying critical state information and passing it on. Typically this information will either be robot state (position, velocity), workspace information (obstacle or feature identified and added to map), sensor data, or planning information (queued tasks or moves). This info must be organized in such a way as to be understandable by all coordinating robots as well as work within the limits of the communication equipment.
Lessons:

  • Identify critical information for state of robot and workspace.
  • Learn limitations of communication equipment (bandwidth, etc).
  • Develop efficient representation of state information.
  • Learn which information is critical or superfluous for various tasks.
  • Implement basic communication with state sharing.


P2P vs. Network

These two basic approaches to communication paths may seem generally similar with a pair of robots. As the number of robots increases, the benefits/limitations become readily apparent.
Lessons:

  • Understand the limitations and benefits of both comm paths.
  • Identify how each approach may alter the content and parsing of data packets.
  • Implement both comm paths with >2 robots.


"Low Level" Multi-robot Topics

Synchronizing Multiple Robot Movement

Even though a pair of robots might have identical hardware and software, variations in friction, battery voltage, electrical component tolerances will prevent robots synchrony with dead reckoning only. In order for robots to match or follow others properly, robot state info must be shared and used to adjust motion.
Lessons:

  • Identify critical state information required to coordinate motion.
  • Implement simple synchronous motion between robots.
  • Implement follow the leader motion.


Concurrent Path Planning with Multiple Robots

Robots working with other robots not only have to avoid obstacles , but also have to avoid moving obstacles in their partner robots. Robots must share location and destination info with each other and calculate and avoid collisions.

  • Consider different strategies for avoiding collision.
  • Introduce right of way, or master/slave, or some other prioritizing criteria as appropriate.
  • Implement two robots navigating a known area without collisions.


Sharing Sensor Data

Multiple robots can work together and pool their sensor information, thus building their map or otherwise collecting all the necessary information faster. Also, robots with different sensor load outs can pool their information together.

  • Revisit developing efficient simplified representations for characterizing complicated environments.
  • Implement two identical robots sharing sensed environment info.
  • Implement two dissimilar robots sharing sensed environment info.


"High Level" Multi-robot Topics

Identifying and Distributing Tasks Between Identical Robots

One main benefit of using multiple robots is the fact that they can work together to complete a set of tasks faster. Previous lessons of path planning and sensor information sensing are still critical for robots working in the same area. To avoid duplication of effort, robots must keep each other updated of progress, or tasks should be distributed in some way.

  • Develop a method of codifying tasks so they can be parsed
  • Implement robots completing a list of tasks without interfering or duplicating effort.
  • Develop and implement a method of distributing tasks among robots. Recall right of way, master/slave, etc from path planning as possible inspiration.


Distributing Tasks Between Robots of Differing Capabilities/Access to Environment

Cooperation and task distribution becomes more complicated when disparate sensor load outs (or entirely different robots) are used. Tasks distribution must now consider the capabilities of each robot.

  • Develop some method of classifying task requirements and robot capability on top of basic task info.
  • Develop and implement a method of distributing these tasks among disparate robots.




Lab Coverage

Lab Variant Basic communication and simple synchronous motion Follow the leader motion Complex synchronous motion Robot team navigating a known area without collision Robot team sharing sensor info Robot team completing a list of tasks Distributing tasks among disparate robots Disparate robot team distributing and sequencing list of tasks
Remote Control x
Leapfrogging x
Line Follower Follower Basic line x x
Tag x x
Log Jammer x x
Soccer x x
Coverage x x
Pacman/Rev. Pacman x x
Line Follower Follower Multiple sensor sequence x x x
Minesweeper Team of detectors x x x
Warehouse x x x x
Minesweeper Team with detectors, layers x x x x
Factory assembly Know parts x x x x
Factory assembly Unknown parts x x x x x
Triangulation x x x
Law of Squares x x x
Scout and Follow x x x x x
Specialization Lab x x x x x x
USAR x x