A modular mobile robot for multi-robot applications

Marta Rostkowska, Michał Topolski, Piotr Skrzypczyński

Institute of Control and Information Engineering, Poznań University of Technology, Poznań

Abstract: This paper presents the process of designing and constructing a desktop-size mobile robot aimed at multi-robot applications. We present the mechanical structure, the electronics and the software, focusing on the modularity concept, which determines the educational values of the entire design. The decision process underlying the design is presented in details: choosing motors, sensors and crucial electronics components, implementing communication buses, and construction of the additional modules. Possible multi-robot applications of this design are outlined at the end.

Keywords: mobile robot, microcontroller, multi-robot systems, odometry, communication

1. Introduction

In the last decade we are witnessing a growing popularity of mobile robots used in teaching various aspects of robotics and computer science. This trend seems to be partially caused by increased availability of various types of commercial mobile robots and educational robot kits, and availability of components for building robots on your own. However, most of the mobile robots, which are available as kits for self-assembly or finished products, are characterized by a simplified mechanical design, because the price of the “mechanics” is the biggest part of the cost of the robot. Because of that, simple mobile robots do not meet the essential requirements of the academic users who want to use mobile robots not only as eye-catching toys, but for specific educational and research activities.

On the other hand, professional mobile robots designed for research and education, such like the well-known Pioneer family [1] are quite expensive. Our attempt to change this situation was the LapBot project [2] − a proposal of a simple mobile platform controlled by a standard laptop/netbook computer, which provided the computational hardware, much improving the performance/cost ratio of the robot. The LapBot was designed according to the open source ideas, with regard to both hardware and software. While the design of LapBot turned out to be successful, and a commercialized version started to be marketed by WObit, our industrial partner in this project, the concept of a laptop-based mobile robot has some drawbacks. They are related mostly to the size and the cost of the robot. The cost of a robot, that has to carry a typical laptop (mass at least 1.2 − 1.5 kg), is increased by the need for quite powerful motors. Also, the size plays an important role, as LapBot cannot be used on a desktop, it has to run on the floor, and requires pretty much space for experimentation. These limitations are particularly important for multi-robot experiments. A large number of relatively simple robots, if coordinated properly, can accomplish various complex tasks, such as urban search and rescue, surveillance, humanitarian de-mining, and collective construction [3]. This makes the multi-robot systems an interesting field of research, but experimentation in this area requires a large number of robots, which assuming a limited budget of the research project, is feasible only by reducing the cost of an individual robot. Also, the size is particularly important in multi-robot setups. The possibility to observe a group of several robots roaming just on the desktop makes multi-robot experimentation more comfortable and efficient, as development of collective behaviors often involves long-time experiments with a lot of trials.

This motivated us to create the inexpensive, desktop-size mobile robot SanBot (from Sandwich Robot). Its design still adheres to the principles of modularity and open source hardware/software development, as it was in LapBot, but strives to keep the robot cheaper and much smaller, with the target application domain of multi-robot systems. The prototype SanBot Mk. I (fig.1) has been constructed by the first two of us, as a part of bachelor’s thesis project [4]. Now the robot is further developed within the framework of the master’s thesis project.

Fig. 1. SanBot robot
Rys. 1. Robot SanBot

2. Related work

Becoming acquainted with the commercially available small mobile robots, one can conclude that they generally represent two groups: those that are more complicated, with many sensors and considerable on-board computing power, but rather expensive; and those that are much cheaper, but at the cost of a very limited computing power, simple sensors and communication devices.

The Khepera from K-Team [5] is perhaps the most known desktop mobile robot. Now available as Khepera II, it is a small-size circular-shape robot, which is extendable by various modules (cameras, grippers, etc.), and is known for being reliable and well-supported by scientific tools, e.g. third-party software simulators. However, Khepera II is rather expensive and does not follow the concepts of an open source development. The KTeam offers also the bigger and even more expensive Khepera III, and the cheap and simple Hemisson robot, which is however quite large with a diameter of 120 mm.

Robotino from Festo [6] is a slightly bigger omni-directional mobile robot for education. It is an example of industrial-standard design, which makes it interesting for some educational purposes, but also makes it much expensive (4500 Eur. per unit).

A completely different approach to the desktop mobile robot design is presented in the Palm Pilot Robot Kit from the Carnegie Mellon University [7]. This robot, now marketed by Acroname, combines an omni-directional mobile base and a personal digital assistant (Palm Pilot) as the on-board computer. This concept makes it somewhat similar to our LapBot, but scaled down to the desktop size. A problem with this kit is the fact, that Palm Pilot is being replaced on the market by the next generation smartphones and tablets, making the design a bit obsolete.

One interesting example of a desktop mobile robot is the e-Puck from the Ecole Polytechnique Federale de Lausanne, which was designed as a education tool for engineering in a broad sense. It is small and easily extendable, but its cost is increased by the rather complex electronics of the basic version, which was designed in order to enable experimentation in various fields of engineering education, not only mobile robotics.

3. Concept and design of a compact modular robot

The requirements considered during the design process of the modular robot were related to the limited resources assigned to the project, and the required functionality of a mobile robot, which can be used to develop behavior-based and cooperative navigation algorithms. Obviously, the concept of modularity played also the crucial role in the design. The main design requirements can be summarized as follows:

– Limited size, to enable simple experiments on a desktop, and to enable use of a RoboCup-like table-based arena for multi-robot experiments. The limited size of the robot is also important from the point of view of the use as an educational tool. As mentioned in [8] a desktop mobile robot improves the student efficiency during experimentation with mobile robots.

– Modular structure. As our intention was to build a robot that can be used to develop and test various control algorithms; it was important to make this robot easily extendable with regard to sensors, communication interfaces and even mechanical devices (e.g. a simple gripper). The extendibility should be achieved by standardization of both mechanical and electrical connectors of the modules, and by providing a common communication interface between modules. Because being extendable should not complicate maintenance of the robot, a stack-like structure was considered, in which the modules can be connected and disconnected almost on-the-fly, not dismantling the main body of the robot.

– Rugged mechanical structure. Although the robot is small and lightweight, it should tolerate some level of mechanical impact, as in multi-robot scenarios collisions always could happen. Therefore, we opted for a partially enclosed body, rather than using just an open stack of PCBs interconnected by some rods.

– Simple technology of manufacturing. The robot was conceived as an “open source” project, with the intention, that next examples would be home-built on demand, even by individual students. This assumption made it necessary to avoid the use of such manufacturing technologies as plastic moulding, which are not available in a typical workshop. Instead, we considered the use of some commercially available parts, e.g. wheels, and building the body exclusively from flat aluminium sheets. Many companies offer cutting parts of almost arbitrary shapes from such sheets at affordable prices.

– Low cost. This criteria was the background for many particular choices of components. As the robot is intended for multi-robot applications, we plan to replicate it, which in turn makes the price per unit a crucial factor.

– None of the robots currently available on the market is respecting all these criteria. The available robots are either too expensive (like Khepera and its derivatives), or too simple and not modular. Perhaps, among the existing designs the one most adhering to our requirements is the e-Puck. However, as this robot was designed as an universal tool for education, it packs some components (like the DSP), which are not necessary in our application domain, but make it more expensive. Also, the technology used to manufacture the e-Pucks mechanics is rather not available at a typical workshop, so these robots rather cannot be replicated at home.

4. Mechanical structure and sensors

4.1. Mechanical structure of the robot’s body

The SanBot is destined mainly for educational purposes, i.e. work with students on various control, navigation and co-operation issues, Therefore, when designing it, we have assumed easiness of assembly, rigidity and hardiness to become the most important qualities of the construction. Also, the use in multi-robot environment, where collisions can occur, is considered. Therefore, every part of the robot is made of aluminium, which is also cheap, light and widely available. The robot has the shape of a cube, which dimensions are 12 × 12 × ١٠ cm (fig. 2). The chassis is symmetrical. All parts are attached using steel screws (ISO M3).

The robot’s frame consists of three main components:

– A Cbeam shaped element is the main framework of the construction. Other aluminium parts are screwed to it. Also, DC motors, electronic boards, wheels, supports of motors, side IR distance and line sensors are attached to the main framework.

– The second element of the frame is a smaller Cbeam shaped component, which is doubled and acts as “front” and “back” of the robot. Sharp sensors and ball casters are mounted here.

– The third part is power source support, which is also Cbeam shaped and works as cross linkage, reinforcing the construction. Power source (Li-Ion battery) and optical sensors are attached to it.

Manufacturing of home-made wheels is not an easy task. Also, finding the method of joining the wheel and the motor shaft is problematic. Therefore, we decided to buy off-the-shelf wheels that fulfilled our requirements as to the size and mass. Especially, the suited mounting hub was supplied. Wheels are made of plastic and have rubber tires. The diameter is 8 cm, including tires.

Fig. 2. SanBot mechanical structure overview
Rys. 2. Struktura mechaniczna robota SanBot (pogląd)

4.2. Motors and power source

Designing the robot, we had to consider using DC or stepper motors:

Tab. 1. DC and stepper motor comparison
Tab. 1. Porównanie silnika DC oraz krokowego

DC motor

Stepper motor

Pros

+ high power

+ easy to drive

+ positioning by stepping

Cons

 requires external encoder

 low power

 complex driving

The comparison presented in tab.1 motivated us to use DC motors with metal gear. SanBot Mk I holds two Pololu motors with 154:1 metal gear [9]. They have no encoders, as the robot’s odometry was supposed to use optical (computer mouse) sensors. After some tests, the use of optical mouse sensors for odometry turned out to be ineffective. Therefore, for the SanBot Mk II, another Pololu motors with 75:1 metal gear and embedded encoders have been chosen [10].

The power source consists of four 18650 type LiIon cells. The battery has been homemade, as batteries available on the market have not met our requirements. According to the cube-shaped design of the SanBot, the battery pack fits in its interior. One DC motor is powered with 6 to 9 V and sinks 3.3 A stall current. The designed power source delivers nominal voltage of 7.4 V and max current 9.6 A.

4.3. Sensors used in the robot

For tests of control and navigation algorithms the SanBot had to be equipped with a wide variety of sensors. Some of them are used for positioning, other sensors are for perception of the surrounding environment.

Positioning task is achieved using active optical sensors (SanBot Mk I) or encoders (SanBot Mk II). The optical sensors we applied had been originally designed for the use in optical computer mice, from where they were dismounted. This origin was a source of failure whilst attempting to force the sensors to work in the mobile robot. Optical sensors in mice do not abide any deviation from the nominal distance to the ground surface, nor nominal angle of the measured surface [4]. The encoders used in SanBot Mk II are easier to control and provide more stable data. However, they count revolutions of the motor shaft, not the wheel. Therefore, the measurements are corrupted by skidding and uneven tire-floor contact, giving in result a quite noisy estimate of the robot’s pose.

Perception of the environment is completed mainly using four Sharp infrared distance measuring sensors, which are located on each side of the robot. The IR sensor is more economic and compact than a sonar rangefinder. The detection range of used sensor is approximately 10 to 80 cm. Another help for robot when roaming across the world, are line sensors, which basically are infrared reflective optical proximity sensors, type CNY70. They are used for detecting the edges of the operational area (e.g. edges of a table).

5. Control system of the modular robot

5.1. Structure of the modular control system

SanBot’s control system is divided into modules (fig. 3). One of them − the main module − coordinates core subsystems and is crucial for the basic functioning of robot. Others − extension modules – cover additional functionality, like communication between robot and computer or another robots, local user interface (manual steering and data presentation), extra sensors for positioning or a miniature gripper.

Fig. 3. Modules’ organization scheme
Rys. 3. Schemat organizacyjny modułów

Modules communicate through a common, internal bus. Two possibilities are taken into account in the design:

– USART bus − for lowvolume transmission, like basic status checking or simple orders;

– SPI bus − for high-volume transmission, like data from sensors or camera.

The protocol allows for one master and many slaves. The master controls each bus and handles transmission requests from up to 13 unique slaves for each bus. Each slave has a separate address, which doesn’t have to be unique (e.g. multiple modules can receive the same data in one time). Slaves request for transmission using interrupt pin, which is common for all slaves. Because of that, master is obligated to enumerate devices on buses and store addresses in a list, which is later used to poll slaves if they have made a call.

Some sensors and engines’ drivers required additional electronic elements, however they should have stayed separated from the main or extension boards. These electrical boards inside robot are not modules, but only simple adapters.

5.2. Main board

The main board (fig. 4) controls the basic devices, like DC motors drivers, distance sensors, line sensors and optical sensors. As a master chief board, it holds fast and efficient microcontroller from STMicroelectronics Cortex-M3 family – STM32F103ZE. Main board contains also auxiliary electronics:

– two switches and 4 LEDs, which create a simple user interface,

– MicroSD card, which can be used to store large amount of data or to load from it some AI algorithm,

– USB, which can be used natively or through the FDTI USART adapter,

– JTAG/SWD, which is used as main on-board microcontroller programming interface.

Fig. 4. Main module block diagram
Rys. 4. Schemat blokowy modułu głównego

The master module plays an important role as the supervisor of two inter-board communication buses. This electronic board is also a basis of modules pile – the SanBot Sandwich ability.

6. Extension modules

6.1. Communication board

The main board supports only the USB port (native or through FT232 Virtual COM adapter). Because of that, to fulfill the requirements of multi-robot applications, a communication extension board has been designed (fig. 5). It grants access to major transmission mediums, like inter-robot InfraRed (IR diodes and receivers), Bluetooth (BTM-222 module) and WiFi (ZG2100M module).

The Bluetooth and Wi-Fi are considered for transmission with an external system, like PC computer, laptop, smartphone, etc. On the other hand, IR diodes and receivers create an inter-robot communication environment.

Fig. 5. Communication module block diagram
Rys. 5. Schemat blokowy modułu komunikacyjnego

Six diode-receiver pairs, located hexagonally, can be used to make conversation between the given robot and its interlocutor. Each pair can sustain an individual link for information exchange. Additionally, as diodes positions are wellknown, the link can provide the (rough) orientation of the robot with regard to its partner.

6.2. User interface board

As the main board interface is limited, another extension module have been designed. User interface board (fig. 6) provides ability to easily communicate between the machine and the human operator.

Four switches compose intuitive joypad, another two act as “OK” and “Cancel” buttons which in combination with the Nokia 3310/3300 graphical LCD screen and eight multicolored LEDs create a simple but useful interface.

Fig. 6. User interface module block diagram
Rys. 6. Schemat blokowy modułu interfejsu użytkownika

7. Evaluation and applications

7.1. Evaluation of the design

After finishing a single SanBot example (Mk. I version), some test have been performed to validate the design. The designed electronics and mechanical construction have passed almost all tests. Modularity has proven itself functional, as well as the mechanics of the modules. Plugging and unplugging modules does no harm the robot, and the aluminium frame is solid, rigid and crashworthy.

The wheels are not skidding, unless acceleration reaches its maximum. Unfortunately, wheels’ mounting hubs turned out to be incapable of transferring the imposed strain. Their material – aluminum alloy – was too weak, resulting in quick degeneration, which finally caused wheels to break away during the work.

Also, the optical mouse sensors have proven themselves completely untrustworthy. Using these components requires creation of proper mechanical frame, which can hold sensors in adequate distance and horizontal orientation in relation to the ground. Any deviation implies massive, random and incalculable error.

7.2. High level control of the robot

Although SanBot is destined for standalone functioning, mostly for testing and educational reasons, external steering has been added. USB (native or through Virtual COM) enables control, using dedicated PC software.
It opens two-way transmission link, not only for giving orders, but also for retrieving data (ex. from sensors). Bluetooth module is intended to be used with the same program.

As mentioned before, a user interface board has been designed. The on-board joypad can navigate the built-it menu as well as control robot’s motion. User interface board can be easily unplugged off the robot, cable connected and used for presentation or quick correction or robot’s position.

7.3. Multi-robot applications

The SanBot is a modular construction. It can be used as a standalone mobile platform for testing control algorithms and education. However, by using the extension modules, it is possible to employ several SanBots in multi-robot experiments. The communication board is a vital part of these capabilities. Granted an ability to transfer information between each other, SanBots can be used to solve problems involving inter-robot communication and negotiations.

Further development of the SanBot will evolve in this direction.

An exemplary problem for multi-robot system: groups of robots are trying to pass through a narrow passage. Few cases can be defined (fig. 7). Roaming robot can encounter a wall, where a robots’ queue can already be established. If this is true, robot joins the queue and waits for his turn to pass (robots pass one-by-one from each side of obstacle). If not, the robot tries to pass through. When meeting another robot when driving, right of way is negotiated.

Fig. 7. Robots passing through a narrow passage
Rys. 7. Roboty przechodzące przez wąskie przejście

A communication strategy solving the described problem has been analyzed. Hardware side of solution involves using IR diodes on communication module for local information transmission and positioning between robots. Broadband protocols, like Bluetooth or Wi-Fi are considered auxiliary in the considered resolution. Software part uses finite automata, which has been designed, minimized and simulated using the program Supremica. Final solution will be implemented and tested by the group of three SanBots, which are currently under development.

8. Conclusions

This paper presents the concept, design, and selected features of a desktop-size mobile robot. The robot has been designed to fulfill the specific requirements of a small, affordable, yet powerful enough platform for academic-level education and research, particularly in the area of multi-robot systems.

The robot presented in this article, SanBot Mk. I is a prototype. Evaluating the design in real-life experiments we found some design solutions to be inappropriate or unreliable. Therefore, the improved prototype SanBot Mk. II was designed. It differs mostly in the motors and sensors being used for odometry. However, the concept of modular electronics, which enables to change the robot’s configuration on-the-fly, has proven to be successful. SanBot Mk. I is demonstrated in the movie available at: www.lrm.cie.put.poznan.pl/mrmtps.mpg

Currently, we are working on a group of such robots with extension modules enabling communication and teamwork.

References

1. [www.mobilerobots.com] − Adept Mobile Robots (١٥th November, 2012)

2. Piątek P., Zieliński M., Skrzypczyński P., Modułowy robot mobilny do celów dydaktycznych i badawczych, “Pomiary Automatyka Robotyka”, 2/2011, 411–419.

3. Dudek G., Jenkin M., Milios E., Robot teams: From diversity to polymorphism, [in:] A Taxonomy of Multirobot Systems, Wellesley, AK Peters, 2002.

4. Rostkowska M, Topolski M, Projekt i wykonanie miniaturowego dydaktycznego robota mobilnego, Bachelor’s thesis, Poznań University of Technology, 2012.

5. Mondada F., Franzi E., and Ienne P., Mobile robot miniaturization: A tool for investigation in control algorithm, Proceecedings of 3rd International Symposium on Simulation on Experimental Robotics, LNCS vol. 200, Springer, 1993, 501-513.

6. [www.festo-didactic.com] – Festo Didactic (15th November, 2012)

7. [www.cs.cmu.edu/~pprk] – Palm Pilot Robot Kit (15th November, 2012)

8. Mondada F., Bonani M., Raemy X., Pugh J., Cianci C., Klaptocz A., Magnenat S., Zufferey J.-C., Floreano D., Martinoli A., The e-puck, a Robot Designed for Education in Engineering, Proceedings of 9th Conference on Autonomous Robot Systems and Competitions, Castelo Branco, Portugal, 2009, 59–65.

9. [www.pololu.com/catalog/product/1109] − Pololu (15th November, 2012)

10. [www.pololu.com/catalog/product/2275] − Pololu (15th November, 2012)

Modułowy robot mobilny przeznaczony do systemów wielorobotowych

Streszczenie: Niniejsza praca przedstawia poszczególne etapy projektowania i konstrukcji miniaturowego, dydaktycznego robota mobilnego własnego pomysłu. Zawarto w niej opis każdego z etapów, ze szczególnym naciskiem na koncepcję modułowości, która stanowi o wartości dydaktycznej całej konstrukcji. Opisano m. in. proces projektowania mechaniki, doboru czujników i najważniejszych elementów, projektowania elektroniki, opis zastosowanych magistral komunikacyjnych oraz opis wytworzonych modułów i programów zawartych w mikrokontrolerach oraz na komputerze PC.

Słowa kluczowe: robot mobilny, mikrokontroler, system wielorobotowy, odometria, komunikacja

Piotr Skrzypczyński, PhD, DSc

Graduated (1993) from the Poznan University of Technology. He is professor at the Institute of Control and Information Engineering of PUT. His current research interests include: autonomous mobile robots, SLAM, multi-sensor fusion, and computational intelligence methods in robotics.

e-mail: piotr.skrzypczynski@put.poznan.pl

Marta Rostkowska, BEng

Receiving BEng degree in robotics (2012) from the Poznan University of Technology, she continues studying at the same University. Her interests consider mobile robotics, electronics design and programming.

e-mail: marta.rostkowska@student.put.poznan.pl

Michał Michał Topolski, BEng

Receiving BEng degree in robotics (2012) from the Poznan University of Technology, he continues studying at the same University. His interests consider mobile robotics, electronics design and embedded systems.

e-mail: michal.topolski@student.put.poznan.pl