Cooperative Mobile Robots
On a warm summer afternoon have you had the opportunity to watch ants bring food to their nest? They work in groups, communicate with each other using their feelers and work tirelessly to complete their task. Scientists have often wondered if it was possible to create intelligent autonomous agents that could carry out similar tasks.
Creating a framework for robots to cooperatively complete missions requires building intelligent independent autonomous agents. Autonomous agents are software and hardware entities that are capable of acting independently in open, changeable environments. Swarm robots are a group of distributed autonomous agents that work cooperatively in complex environments.
They require a software architecture for communication and navigation. They could be used in factory environments, highways, and farming. Applications include:
• Following road markings, autonomous cars in highway traffic
• Planning and coordination of multiple autonomous agents in factory environments
• Convoy driving, autonomous trucks
• Seeding and tilling in the farm environment
• Clearing landmines
• Search and rescue operations in natural disasters such as earthquakes.
Currently there is a lot of research going on in the field of swarm robotics. Several projects are investigating the feasibility to create a swarm of robots that can communicate with each to carry out cooperative missions. The name "swarm" comes from the robots' ability to communicate and work like insects. The robots communicate using an infrared light signal that begins with a chosen leader and then spreads to the rest. The robots can talk to each other and determine how far away they are from each other.
To investigate this interesting field of robotics, there are several choices available. For this introductory program we will be using the Lego Spybot. At the heart of swarm robots is the communication system used by individual robots. The hardware lets robots communicate with their neighbors using infrared light beams. The system also allows a robot to determine the relative bearing, orientation, and range of its neighboring robots. The communication network formed by these local interactions allows each robot to create and maintain a table of information that keeps track of each robots bearing, location, and range to its neighbors.
Most of the current research focus on swarm robotics is in finding mechanisms for cooperation between robots.
The typical scenario is, given a team of robots that need to perform a predefined task in a specific environment, what is the best mechanism for cooperation between the robots to accomplish the task?
Cooperative mechanisms are required in scenarios such as
Formation driving (Platooning)
Entertainment - soccer playing robots
Driving multiple, autonomous mobile robots in a formation is called Platooning. The art of holding a fixed pattern of formation and performing tasks such as overtaking and merging into groups is a part of the ongoing research in Platooning. The mechanism to control distance between robots and maintain a predefined path of motion requires new algorithms.
Picture two mobile robots that could perform distance control. These programmed robots may be used to maintain distance between a mobile convoy of agents. This leads to the development of autonomous vehicles in Intelligent Transport Systems (ITS) where the maintenance of distance between vehicles in terms of safety and efficient traffic loading is an important requirement.
Identify examples where you need multiple intelligent mobile agents to carry out a task. Identify the cooperation mechanism.
Perception & Location In Robot Agents
To accomplish a cooperative task, an autonomous robot must fist create a plan of action. To conceive a plan, the autonomous robot needs a description of the “world”. It should also know its location and orientation in the “world”.
How does the robot agent represent its world? How does the agent map the unknown environment, while accounting for uncertainty in perception & location? The questions define a research topic known as the “The Mapping Problem”
Sensing the Surroundings
To sense its surroundings and be able to communicate a robot needs to
Sense its surroundings
Process the signals it receives from external sources and
Determine its location within the “world”
Exercise: Manual Cooperative task
Control your robots so they could cooperatively push a 2 X 4 wooden block.
This may require adding some hardware components and modifying the robot appropriately to push the wooden block.
Exercise: Autonomous Cooperative task
Program your robots such that when a bright light is detected, the robots move the 2 X 4 block forward.
The Lego Spybot
The Lego Spybot has several features that make it an ideal candidate for experimenting with swarm robotics. It has four infrared emitters that transmit information, and two infrared detectors that receive information. Both the infrared detectors are in front of the robot. There are two transmitters in the front, one in the center, and one at the back. Information sent out on the transmitters is encoded. When another Spybot receives data, the receiver can determine the distance and the orientation of the transmitter.
Ask your instructor for a spybot and inspect it.
Can you locate its touch sensor?
Can you locate its infrared transmitter?
Can you locate the infrared receiver?
The Spybotics Controller can be used in one of three modes. The dial in front of the controller allows you to select the mode.
REMOTE CONTROL MODE
Turn the dial to the radio tower symbol, furthest to the left. You can now control your Spybotics robot directly, as you would a remote control vehicle.
ACTION CONTROL MODE
Turn the dial to the action flash symbol, furthest to the right for the action control mode.
Turn the lever to the lock symbol, in the center of the dial. Link mode ensures that your controller is linked to your robot with a secure communications channel. This is important when playing with more than one Spybotics robot in the same area. Linking to your robot means that you alone have full control over it when playing against other agents.
Linking the Controller to Your Spybotics Robot
To use the controller, it is very important that each Spybotics robot is linked to its controller on a secure communications channel. There are 3 different secure communications channels you can link to, allowing up to 3 Spybotics robots to be independently controlled using the Remote Control mode.
Set the controller to LINK MODE by turning the lever to the center of the dial, pointing to the lock icon.
Select one of the three channels by pressing either button 1, 2 (red), or 3 at the top of the controller.
Hold the controller in front of your Spybotics Robot (around 10-15cm), with the controller window facing the robot.
Now, press the link button (bottom right button with a key symbol). You should hear a short "bleep" sound, indicating that the link was successful. Switch your controller back to RC mode now. Your secure communications link is complete.
The Spybot’s detectors and transmitters are shown below.
Each Spybot periodically sends out a “Ping” message using its infrared emitters and lets the other Spybots know that they are nearby. The information sent out has details of their orientation and relative bearing. Spybots operating nearby “see” the infrared signals sent out and read this information using their infrared detectors. This information they receive about other Spybots and Controllers is captured and stored a table called the “World Table”. The World Table holds information for up to 16 devices.
How is the Spybot different from the Lego Mindstorms RCX?
Does the RCX have a world table?
Does the RCX know about the location of its neighbors?
Can you add more sensors to the Spybot?