Multi-Robot Motion Coordination

Devon Poon
2016-2017 COMP4801 Final Year Project | fyp16018

Background

The development of robot application is steady-going. Robot system becomes more and more common in different occasions. We can see robots doing jobs like exploration, rescue and manufacturing. It helps human in different areas especially to replace human to perform dangerous, boring or repetitive jobs that we do not prefer to do.

According to Robot Institute of America, “a robot is a reprogrammable, multifunctional manipulator designed to move material, parts, tools, or specialized devices through various programmed motions for the performance of a variety of tasks.”

Most of the robots we see in daily life is relatively simple which perform only easy and repetitive tasks. They usually is just a still machine that perform one specified task.

On the other hand, robots that perform complicated tasks often cost a lot that normal people could not afford. They are usually owned by different organizations for military or research use. They can perform various and complex tasks, but general public can seldom benefit from it.

There seems to be an inversely proportional relationship between robot’s performance and robot’s cost. What if we use the low-cost robot to perform advanced tasks? One robot may not be possible, but a bunch of them could be. This is what this project aims to do – use multiple low cost robots to coordinate together and perform some relatively complex tasks.

In this project, multiple robots would be built and they are able to achieve pattern formation. User would provide a pattern to the multi-robot system, then the robots are able to construct the pattern with their bodies.

Objective

This is the basic step of the project. Approximately 20 robots would be built and take part in. All robots would adapt the same design. They are basically combined with 3 components: a microcontroller, a mechanical unit and a communication unit.

The microcontroller is the “brain” of the robot. Arduino board is used because of its extendibility. The microcontroller processes all the input and output data. It also do the computation. The mechanical unit contains motors and wheels. They are connected to the microcontroller then receive and execute order from it. The communication unit is a wireless module. It is responsible for the receiving and transmitting data. Therefore, the robots able to communicate with others.

The shape of the robots would be circular because their function is pattern formation. A circular shape is more suitable. All robots would be tested and ensured to have the same capability.

The multiple robots have to work with each other. The coordination is achieved by setting up a central unit. The central unit do most of the computational job.

Positions of robots are monitored by the central unit. It uses a camera to identify and locate the robots. Then the next movement of the robots are computed. After that, the commands are sent to the robots wirelessly. From time to time, the positions are updated and the central unit keep updating and sending the command. It keeps computing until the goal is achieved.

This is the fundamental requirement for every robot. They have to move around the specified area without colliding other robots or the obstacles. Only by doing so, further tasks can be processed smoothly.

To achieve this, the central unit mentioned above is responsible. While it determining the next movement, it also monitor robots’ position and avoid collision. If the robots are too close to each other and about to collide, the central unit would the route for the particular robots.

This is the main objective of this project. The robots should be able to form different shapes or patterns with their “bodies”. After they receive the order - a shape or pattern that provided by the user, the robots have to travel to suitable location and form that shape or pattern altogether. So if the robots are viewed from the top, the shape/pattern would be merely formed. More robots take part in the formation, more accurate the shape/pattern is.

To achieve this, centralized pattern formation is chosen. A central unit monitors the whole area and all robots [5]. The movement and location of the robots are transmitted from robots to the central unit. And the movement order would be transmitted from the monitoring device to the robots. Then multiple robots would perform tasks accordingly.

Therefore, the main computing place is the central unit which contains a camera and transceiver. It would do most of the computation and send out the commands to the robots.

The robots would do relatively less computations and focus on receive and execute the commands from the monitoring device. So the processing power requirement of the robots is lower and thus lower cost. However, more investment is needed in building the central unit.

Methology

Before the hardware and software details of robots are confirmed, the tasks of multiple robots are decided first because this may affect the design of the robots.

“Multi-robot motion coordination” is searched on Google Scholar. There are total 20700 results and top 5 results are examined. “Localizing”, “mapping”, “exploration”, “path planning” are appeared in one or more articles. However, these projects require much resources and are not very practicable for a one-man-team.

More research have been done and few inspiring projects are found. Including “Kilobot” from Harvard University, “Multi-Robot System for Artistic Pattern Formation” from Disney Research and “Multi-Robots Formation Control System” by Keisuke Uto.

Considering the workload and the effect of the project, pattern formation is chosen for the main goal of the multi robot system. Participates in the exhibition can provide the pattern, the robots then move and form it. This should be a good experience for participates to know about this project.

The project also has relatively good extendibility, once the technique of pattern formation is acquired, further development can be done based on this.

As in the similar projects, some robots used are already on sale and ready-to-use without assembling such as “Kilobot” and “E-puck”. However, the price of these robots are high, around HKD$10,000 for 10 Kilobots and HKD$19,000 for 3 E-pucks. As these robots include many components for different uses which is not necessary in this project, they are not suitable.

By further research, many project done by others used Arduino as the main component of the robot. It is a microcontroller with input and output pins, different components can be bought separately for specific use . Also, since both the hardware and software is open source, there are replicates that being sold in relatively lower price. After estimation, a robot can be built with the cost under HKD$100. This is more practicable for the project.

After deciding the robots would be built based on Arduino, the model of Arduino board need to be confirmed. There are 12 board still on sale and 10 already retired. The main difference of the boards are the size, processor, speed and number of I/O pins.

For this project, the optimal robots is a form factor that is powerful enough for the tasks and can be built with lowest cost and smallest size. Since the task of the robots is to receive command from central unit and move the motors accordingly which is relatively not computational complex, the processor and CPU speed should not be a limitation. The main concern is the size and the number of I/O pin.

After examining the specifications of every Arduino boards, Arduino UNO and Arduino Nano are shortlisted. Further test and research will be done to confirm to final decision.

As the robots are required to communicate wirelessly with the central unit, each robot needs a wireless module to transmit and receive the wireless signal. There are several wireless module that compatible with Arduino development environment, including Infra-Red, Wi-Fi, Bluetooth and Radio frequency.

For centralized pattern formation, the central unit sends out commands of every robots and each robot receives its own command. Therefore, each robots should be able to filter out and execute its own command but not the commands of other robots. To achieve this, the signal sent out from the central unit need to be multi-channel. Therefore, Infra-red is not compatible. Also, the price of Wi-Fi module is high (more than HKD$100 each). Bluetooth and Radio frequency module are shortlisted. More test and study will be done.

Centralized pattern formation is chosen for this project. There is another approach – decentralized pattern formation, which does not need a central computational unit.

Both methods were considered before. However, decentralized approach means there is no central unit to monitor the position of the robots [4]. Thus, each robot need the global information of all other robots. This requires bidirectional communication between robots. The requirement of robots would be stricter and rising the cost of each robot. So the decentralized approach is not chosen.

Schedule

Phase 1 Deliverables

- Detailed project plan

- Project web page

Materials purchasing for small amount of robots (2-3)

Preparation work for software development

Robot building and testing

Algorithm development

Purchase of all materials

Building and testing whole system

Algorithm development

Preparation on presentation

First presentation

Phase 2 Deliverables

- Preliminary implementation

- Detailed interim report

Algorithm development optimization

Preparation on final report and final presentation

Algorithm development optimization

Preparation on final report and final presentation

Algorithm development optimization

Preparation on final report and final presentation

Final presentation

Phase 3 Deliverables

- Finalized tested implementation

- Final report

Preparation on exhibition

Project exhibition

Progress

2 Oct 2016 Project website updated

2 Oct 2016 Detailed project plan summited

Documentation

Project Plan

(last update: 2 Oct,2016)