Rapid prototyping environment for wheeled mobile robot control algorithm

Andrzej Burghardt, Dariusz Szybicki

Department of Applied Mechanics and Robotics, Faculty of Mechanical Engineering and Aeronautics Rzeszow University of Technology

Abstract: In the paper, the author provides a proposal of a quick prototyping environment for algorithms controlling homogenous, autonomous mobile robots. The solution proposed enables monitoring of the operation of a group of mobile robots consisting of the recording of motion parameters and signals from distance detectors as well as of controlling the drive units. Furthermore, the solution is flexible, enabling work with various numbers of robots as well as modification of their settings, and conforms to the real time system requirements assumed. In the course of the development process, AmigoBot mobile robots manufactured by ActiveMedia Robotics were used.

Keywords: autonomous mobile robots, multi-robot, rapid prototyping, AmigoBot

1. Introduction

Development of mobile robots performing complex tasks is one of the driving forces of modern robotics. The ingenuity of engineers and the resulting multitude of applications combined with a variety of control algorithms results in a wide range of applications and timeliness of research conducted with the use of rapid prototyping environments. In the case of mobile robots, prototyping most often applies to both drives and the whole constructions, control algorithms testing for a single robot or a group of robots, sensory systems modelling, etc. [1, 2, 4]. The proposed solution was created as a combination of selected parts of the Aria manufacturer’s software with the MATLAB/Simulink mex-function. A wireless network was used for communication. The presented environment satisfies the conditions of a real-time system; for a single robot or a group of robots it records the following parameters: velocities and angular displacements of the driving wheels, battery voltage, motors currents, distance sensors indications. It also offers support for digital inputs/outputs and analogue inputs, which the robots are equipped with. It provides software support for peripheral devices of the mobile robots, using RS-232 and I2C standards for communication. For the purpose of research, AmigoBot robots were equipped with an electronic measurement module (designed and constructed by the authors), which measures the concentration of harmful gases, and with URG-04LX laser scanners supplied by Hokuyo.

2. Mobile Robots Prototyping Environment

The presented rapid prototyping environment provides control over robots supporting Aria, an object-oriented class library (SDK) of C++ language, supplied by MobileRobots. The written software allows controlling such robots as: AmigoBot, Pioneer 3-DX, PowerBot, Seekur, PeopleBot, and PatrolBot.

2.1. Controlled object and available software

In this solution the controlled objects are the AmigoBot robots (fig. 1) driven by two DC motors with toothed gear.

The AmigoBot mobile robot is equipped with rotary pulse transducers, ultrasonic distance sensors, a wireless communication module, and an internal PID controller. Optional accessories include: a compass with position sensors, a colour and night vision camera, laser rangefinder and a GPS module.

The AmigoBot mobile robot is equipped with rotary pulse transducers, ultrasonic distance sensors, a wireless communication module, and an internal PID controller. Optional accessories include: a compass with position sensors, a colour and night vision camera, laser rangefinder and a GPS module.

The mobile robot operation is managed by the AmigoSH software, which was implemented in the Hitachi H8/2357 controller, which is a component of the robot. Using a wireless network, the AmigoSH software can exchange information with the master computer having the Aria software installed. The software implemented in the robot allows defining:

–the maximum velocities and linear/angular accelerations of the robot frame,

–the operating sensors’ range,

–PID set points.

In addition, it manages the external communication ports of the robot (8-bit I/O RS-232 port, I2C port).

The Aria software allows for total control over the mobile robots’ operation, their sensors and connected devices. Aria’s class components allow sending to and receiving from the robot simple instructions, such as: battery voltage, global coordinate “X” (basic class ArRobot, fig. 2). Available classes provide high level Action infrastructure control, such as: defining a specific trajectory (ArActionGoto) or the laser scanner support (ArSick).

In addition, Aria includes the ArNetworking library, which allows building an infrastructure of robot communication based on the TCP/IP protocol. Consequently, it is possible to control the robots and connected devices wirelessly. This library is written in C++ language, and has access to the API (Application Programming Interface) for Java and Python. The library allows the use of GCC compiler (version 3.4 or higher, pre-compiled with GCC 3.4) in GNU/Linux system. In Windows OS, Aria can be compiled in MS Visual C++ NET 2003 (7.1) and Visual C++ 2008 (9.0) [3].

The discussed software, despite the clear advantages, also has many drawbacks. It does not provide the robot formation control, does not allow for saving data, does not allow for convenient testing of developed algorithms and solutions, the user interface is unfriendly and requires knowledge of a number of commands (fig. 3).

In order to eliminate these disadvantages, it was necessary to develop our own solution.

2.2. Rapid prototyping environment construction

By using available Aria objects, functions and software solutions, it was possible for the author to write software that combines the advantages of MATLAB/Simulink with advanced wireless control system of one or a group of robots and control and measuring functions. The presented solution allows monitoring the operation of a group of mobile robots, recording the motion parameters and distance sensors’ indications, and controlling the drives. Additionally, it is flexible, enables working with a varying number of robots and changing their configuration parameters. It also meets the real-time system requirements. The presented control and measuring environment:

–provides autonomous control,

–implements control and measuring processes for one or more robots,

–can measure and record the following parameters:

•drive wheels angular velocity,

•drive wheels angular displacement,

•distance sensors indications,

•driving motors currents,

•battery voltage,

–has been made in the form of a Simulink library.

A rapid prototyping environment governing the operation of a group of n-mobile robots has been created as a combination of selected parts of the Aria software and the Simulink’s S-function, using a wireless computer network for communication. In Simulink, the library containing the AmigoBot block (fig. 5) was written. Its use in the model allows connecting user-built control algorithms with the real object. A general scheme of the implementation of the control and measuring environment is shown in fig. 4.

In order to be able to change the AmigoBot parameters, a special configuration window was created in the subsystem, whose source code is located in the m-function file (fig. 5). It allows changing the robot’s parameters such as:

–robot’s number,

–robot’s IP address,

–the values defined in Amigo-SH, PID set points, maximum velocities, etc.

–transmission rate for the specified serial port.

The authorial AmigoBot library selection window and the subsystem configuration window created in MATLAB/Simulink are shown in fig. 5.

The configuration window allows defining the vector of parameters that will be read from the mobile robot.

2.3. Rapid prototyping environment communication

In order to control a group of autonomous mobile robots, it is necessary to establish communication between the master computer and the robots. To ensure proper communication, it is necessary to provide the correct configuration of the following network devices: the wireless card or Access Point and the wireless module installed in the robot. Communication with the robots is established at the beginning of the simulation and ends at the end of the simulation. The principle of operation of the rapid prototyping environment and the information flow diagram are presented in fig. 6.

After starting the simulation, connection with the robot (robots) is established; then the AmigoBot subsystem input vector is sent through subsequent program modules and network devices:

–using a properly designed AmigoBot subsystem, which is a mask of the S-function block, the AmigoBot subsystem input vector and settings stored by the management interface are sent to the ArMatlab mex-function [5],

–then the input vector and the robot’s operating parameters settings are sent via the Aria library using the TCP/IP protocol to the Access Point,

–from the Access Point to the wireless module installed in the robot, the data is sent wirelessly using the 2.4 GHz frequency band and 802.11 b Wi-Fi protocol,

–the wireless module installed in the robot transmits the data via a built-in serial port at a rate of 115 200 bps to the AmigoBot controller, where the interpretation of the received data takes place and appropriate control of the robot based on the data is performed.

2.4. Rapid prototyping environment communication Prototyping of authorial devices enhancing the robots features

The prototyping environment allows changing the number of robots with no interference in the software and enables the data exchange with, and control and management of, peripheral devices which each robot can be equipped with.

For the purpose of research, the AmigoBot robots were equipped with an electronic module measuring the concentration of harmful gases, a laser scanner (both devices were built in the Dept of Applied Mechanics and Robotics, fig. 7a and fig. 7b respectively) and the URG-04LX scanner supplied by Hokuyo (fig. 7c).

The electronic module measuring the concentration of harmful gases is a device whose purpose is to measure the concentrations of gases that are hazardous for humans (carbon monoxide, methane). It also allows measurement of ambient temperature and the temperature of the inspection robot’s motors.

The laser scanners provide continuous time stamped coordinates of the surroundings and thus determine the instantaneous position of the robot or an autonomous transport system. The advantage of laser scanning over other sensors, such as ultrasound, which the AmigoBot robot is equipped with, is the ability to quickly obtain accurate information about the robot’s surroundings.

The 2D laser scanner, designed and built for the AmigoBot robot, acts as a perceptual system for the mobile robot in closed locations. The developed 2D laser scanner is a source of information in the process of building a surroundings map in the rapid prototyping environment. The robot was also equipped with a URG-04LX scanner (fig. 8) in order to increase the range and resolution of the measurements made using optical sensors.

The scanner measurement range is 5.6 m, the resolution is 0.36° and the frequency equals 10 scans/s. Such parameters are much better than those of a sensor made from scratch. The scanner communicates with the robot using the RS-232 interface. The obtained information about the number of objects within the range of the laser beam, the distance from the objects and their size, is transmitted to the rapid prototyping environment, where it is used to control a robot or a group of robots.

3. Conclusion

The presented authorial rapid prototyping environment allows conducting research using real AmigoBot robots and the MATLAB/Simulink software. It is dedicated for research on the testing of motion control algorithms for both a single robot and a robot formation. Its integration with the MATLAB/Simulink packet and its powerful tools for modelling and also wireless communication with the robots are unquestionable advantages of the discussed software. The ability to read parameters and support for external devices connected to the robots allow testing of developed hardware and software solutions and integration of external sensors in real time.

Acknowledgements

The work was performed under project No. N N501 068838 funded by the school in 2010-2012.

Bibliography

1. Burghardt A., Proposal for a rapid prototyping environment for algorithms intended for autonomous mobile robot control, Mechanics and Mechanical Engineering, Technical University of Lodz, 1/2008, 5–16.

2. Burghardt A., Hendzel Z., Sterowanie behawioralne mobilnymi robotami kołowymi, Oficyna Wydawnicza Politechniki Rzeszowskiej, Rzeszów 2007.

3. Giergiel J., Szybicki D., System Linux w robotyce. Oficyna Wydawnicza Politechniki Rzeszowskiej, Rzeszów 2010.

4. Hendzel Z., Żylski W., Burghrdt A., Autonomiczne mobilne roboty kołowe. Oficyna Wydawnicza Politechniki Rzeszowskiej, Rzeszów 2008.

5. Mrozek B., Mrozek Z., MATLAB i Simulink. Poradnik użytkownika. Wydawnictwo HELION, Gliwice 2004.

Środowisko szybkiego prototypowania algorytmów sterowania robotów mobilnych

Streszczenie: Rozwój robotów mobilnych, wykonujących złożone zadania, jest jednym z motorów napędowych współczesnej robotyki. Pomysłowość konstruktorów oraz wynikająca z niej mnogość aplikacji połączona z różnorodnością algorytmów sterowania owocuje szerokim spektrum zastosowań i aktualnością badań realizowanych z wykorzystaniem środowisk szybkiego prototypowania. Środowiska szybkiego prototypowania pozwalają na testowanie opracowanych rozwiązań programowych oraz sprzętowych na wielu etapach prowadzonych prac. W przypadku robotów mobilnych prototypowanie najczęściej dotyczy modelowania zarówno napędów jak i całych konstrukcji, testowania algorytmów sterowania jednego lub grupy robotów, modelowania układów sensorycznych itp. W pracy zaprezentowano autorskie oprogramowanie pozwalające na sterowanie grupą do 256 mobilnych robotów firmy Mobile-
Robots. Zaproponowane rozwiązanie zostało wykonane jako połączenie wybranych fragmentów oprogramowania producenta ARIA z mex-funkcją systemu MATLAB/Simulink. Do komunikacji wykorzystano sieć bezprzewodową. Prezentowane środowisko spełnia założenia systemu czasu rzeczywistego, rejestruje dla jednego lub grupy robotów takie parametry jak: prędkości i przemieszczenia kątowe kół napędzających, napięcie baterii, prądy silników napędzających koła, wskazania czujników odległości. Ponadto zapewnia obsługę wejść i wyjść cyfrowych oraz wejść analogowych, w które wyposażone są roboty. Umożliwia programową obsługę urządzeń peryferyjnych robotów mobilnych wykorzystujących do komunikacji standard RS-232 oraz I2C. Całość oprogramowania wykonano w postaci biblioteki pakietu Simulink (Toolboxes).

Słowa kluczowe: roboty mobilne, sterowanie, MATLAB, prototypowanie

Andrzej Burghardt, PhD

He received the MSc degree in robotics and mechatronics from the Faculty of Mechanical Engineering and Robotics and the MSc degree in marketing and management in industry from Faculty of Maining of the AGH University of Science and Technology in 2001. He received the PhD degree in mechanics from the Rzeszow University of Technology in 2005. He works at the Department of Applied Mechanic and Robotics of the Rzeszow University of Technology. His current research includes kinematics, dynamics and control of underactuated systems, mobile robots and robots formation, image processing, behavioural control and path planning.

e-mail: andrzejb@prz.edu.pl

Dariusz Szybicki, MSc

He was born in Przeworsk. He graduated from the University of Rzeszów, where since 2009, is a member of doctoral studies in the field of engineering at the Faculty of Mechanical Engineering and Aeronautics. He works as an assistant in the Department of Applied Mechanics and Robotics at the Technical University of Rzeszów. His research interests relate to robotics, programming, and modeling of mechatronic systems.

e-mail: dszybick@prz.edu.pl