Intelligent Modular Service Mobile Robot Controllable Via Internet

Intelligent Modular Service Mobile Robot Controllable Via Internet

Intelligent Modular Service Mobile Robot Controllable Via Internet Nayden Chivarov, Yasen Paunski, Vania Ivanova, Vladimir Vladimirov, Georgi Angelov,...

1MB Sizes 0 Downloads 42 Views

Intelligent Modular Service Mobile Robot Controllable Via Internet Nayden Chivarov, Yasen Paunski, Vania Ivanova, Vladimir Vladimirov, Georgi Angelov, Daniel Radev and Nedko Shivarov* *Service Robotics Group of the Institute of Systems Engineering and Robotics, Bulgarian Academy of Sciences, Bloc II Acad. Bonchev str., Sofia 1113, Bulgaria e-mail: [email protected] Abstract: The article focuses on the research. Development and prototyping of the “Intelligent Modular Service Mobile Robot Controllable via Internet” using open-source meta-operating system/platform ROS. The robot can be controlled either locally via an immediate console or remotely (via Internet) using a remote terminal. The immediate control is implemented by means of a computer terminal. The remote connection can be made over any TCP/IP enabled network such as the Internet. Software architecture of the remotely controlled robot consists of two major parts – ROS part and remote interface. The Remote control consists of two parts – Server and Client. The Client accepts user input and transmits the corresponding commands remotely to the Server via TCP/IP connection over a network (i.e. the Internet). The Server listens for Client connections and accepts commands from the connected Client. Such kind of mobile service robots can be used for servicing of elderly and/or disabled people, in a semiautonomous of fully autonomous mode of control from a distance via Internet As they are a great number of such applications it increases the social stability of the society. Keywords: ROS, Linux, Ubuntu, Intelligent Modular Service Mobile Robot, TCP/IP, ATMega8L, RS232. 

1.

INTRODUCTION

“Intelligent Modular Service Mobile Robot Controllable via Internet” is a scientific research project aiming on the studies and creation of a high technology robotic system with the potential of application in a variety of fields-from scientific research to education, ecology, medicine, industry and many more. Prognoses of the United Nations made jointly with the International Federation of Robotics show that until the end of the year 2014 the number of service robots worldwide will be over 14 million which confirms the importance and the actuality for a realization of such project. In the course of the project implementation will be carried out: studies on the worldwide experience, selection of the most perspective solutions, research activities, computer modeling and animations, design, experimenting, testing and studying the latest achievements in the following fields:  information and communication systems of the robot and its components;  onboard multilevel computer systems and the software for the control of the different modules;  the components of an artificial vision system of the robot and components of a system for voice generation and recognition;  sensors and sensory systems for robot orientation, path following, robot’s and staff safety;  electro-actuating systems, batteries and automatic recharging systems (docking stations);

 studies on the aggregate-modular mechanical system of the robot including its locomotion system;  studies on modules for the creation of an articulated robotic arm and study of different grippers for its functioning;  ergonomic and patent studies;  studies on the different applications of the robot;  studies of the impact of mobile service robots used for servicing of elderly and / or disabled people to the social stability of the society; During the research and the design of this modular robot, the most quality and high-tech materials, elements, blocks and assemblies will be applied for reaching the best technical level. As a result of the above activities they will be designed and produced different assemblies, elements and modules of the Intelligent Modular Service Robot Controllable via Internet. All the necessary methodic and procedures for all robot’s tests will be elaborated. Robot abilities in performing of tasks such as precision of the path following, precision of the repeatability, load capacity and the precision of the articulated robotic arm will be studied. Tests of the artificial vision system, the speech generation and recognition systems and the communication system for the distant control of the robot will be carried out. The reliability of the functioning of sensor systems and the

control of all systems by the onboard computer via Internet, by 3G, WiFi and Bluetooth will be tested. The social stability studies of the impact of the mobile service robots used for servicing elderly and/or disabled people are to be done first by collecting of statistical data for service robots number used for such purpose in the most developed countries. Based on those studies the prognoses can be elaborated. It is clear that in the beginning a semiautonomous distant control systems of those robots will dominate and they will be needed qualified operators or trained family members to help if the elderly is in other place than the caregiver. 2. INTELLIGENT MODULAR SERVICE MOBILE ROBOT The Intelligent Modular Service Mobile Robot Controllable via Internet consists of the following components:  Intelligent onboard multilevel control system and ROS based software for the control of the different modules of the Intelligent Modular Service Mobile Robot;  Modular remote control User Interfaces Teleoperation UI – Joystick based and Tactile UI – Touch screen based;  Electro-actuating systems, batteries and automatic recharging systems (docking stations) allowing 24 hours Service;  Mobile Robot Platform - 4 wheels/4 powered wheels Intelligent fully autonomously vehicle with all its systems built on a modular principle able to carry peripheral systems or tools;  Manipulating Articulated Robot Arm System including a proper gripper, which will allow different tasks to be performed like fetch an carry, bringing and manipulating difficult objects etc.;  Sensor Systems – including Tactile sensors, Infrared sensors, Ultrasound Sensors, Artificial vision system and Voice generation and recognition systems, which help performing all functions related to environment and user interactions – monitoring of spatial location and orientation of the robot, maintaining proper course, obstacles detection, safety of the people and the robot itself, object visualization and recognition;  Movement of the robot in the range of service is one of the basic functions which determine the operational characteristics and abilities. Parameters as carrying capacity, positioning accuracy, speed, range of operation depends on the area of applications of the robotic system. A typical mobile platform consists of mechanic base, motors, gear, wheels, motor controller and power stage. The control subsystem is very important for the operation and integration in the robot. The presented concept of mobile base control introduces an IP based approach, which allows easy integration in many environments including ROS (Robot Operating System).

3.

INTELLIGENT MODULAR SERVICE MOBILE ROBOT SENSOR SYSTEM

Sensor systems are essential part of every intelligent mobile robot. They help performing all functions related to the environment and user interactions – monitoring of spatial location and orientation of the robot, maintaining proper course, obstacles detection, safety of people and the robot itself. Depending on its primary function sensors can be divided into several groups:  Tactile sensors These sensors react on a physical collision with hard obstacles. They are usually attached to the mechanical bumpers surrounding the mobile robot. The most common implementation of these anti-collision sensors is by mechanical micro-switches, reacting on pressure. Other possible implementations will be considered, such as using materials for which the electrical resistance depends on mechanical pressure, as well as electromagnetic-based sensors.  Proximity sensors They react on presence of an object that is closely located but not colliding with the robot. Their implementation can be based on infrared transmitters/receivers, ultrasonic echolocators, laser distance meters, etc. In all cases the proximity of the object is evaluated by parameters of the echoed signal. The effectiveness of different proximity sensor types will be evaluated and compared with respect to detecting different types of objects, possibilities of precise distance measurement, limitations of range and viewing angle and other parameters.  Acceleration sensors They can be used both for tracking velocity changes of the mobile robot and for detecting the direction of the earth gravity (when the robot is not moving) thus detecting the spatial orientation of the robot itself. Different types of accelerometers will be examined and their parameters will be evaluated – resolution, number of axes etc.  Vision system The growing demands on improved interactivity of the robot as well as performing different types of specific tasks lead to the necessity of introducing robot vision capabilities. The possibilities of application of commonly used cameras today will be considered, as well as usage of special cameras with higher speed and/or resolution and other relevant parameters. Today’s trends in the field of robot vision will be analyzed such as color spots discovery, contour extraction, object recognition , using different types of classifiers (i.e. ANN Artificial Neural Networks and others).  Voice interaction system The need for verbal interaction with the mobile robot is none less necessary than Robot Vision for improving interactivity. This feature consists of two different types of functions – speech recognition and speech synthesis. The task for speech synthesis has always been basically simpler but the challenge today is synthesis of natural human speech with proper intonation, pauses, and other parameters of natural human speech, that leads to significantly improved interaction between the robot and the users. For the task of speech recognition different advanced systems will be considered and their parameters – evaluated.

4.

INTELLIGENT MODULAR SERVICE MOBILE ROBOT CONTROL SYSTEM OVERVIEW

The common block diagram of the Robot is shown on Figure 1. All electronic control modules are interconnected by a system bus. That gives an extreme flexibility and scalability to the whole architecture. All commands to the robot are passed and processed by the control module Robot Controller. The immediate control of the motors is implemented by separate intelligent electronic modules M1 - MN. The distribution of different queries and commands to different modules, self-test and detection of system’s configuration, as well as the whole robot intelligence at high level is performed by the embedded software of the controller and communicated to the modules by the System Bus (Chivarov, Kopacek, Shivarov, 2009).

Fig. 2 Robot Controller The Communications Controller implements receiving commands from the host computer running ROS/Ubuntu, and sending back data for the robot status. It is implemented using MAX232 integrated circuit. The Interface Module is responsible for connecting the Robot Controller to the System Bus. It is in fact built into the main CU microcontroller. The Control Unit is built around an ATMega32 microcontroller from Atmel’s AVR microcontroller family (Atmel, 1984) and contains the Robot’s firmware implementing the internal intelligence of the Robot. 5.

Fig. 1 Control System of Intelligent Modular Service Mobile Robot Controllable via Internet 4.1. Intelligent Modules The intelligent modules implement direct control of the motors. They are built using a simple 8-bit microcontroller ATMega8L and driver ICs that provide the necessary levels of electrical control signals for the proper motor operation. 4.2. Robot Controller The Controller performs the following tasks:  Communication with the host computer on which ROS/Ubuntu runs using a serial connection (RS232);  Discovery and diagnostics of the system configuration – present intelligent modules;  Medium-level control of motors and collecting information about their current position using the System Bus and a specially designed protocol. The Robot Controller consists of three main blocks – the Control Unit- CU, the Communications Controller- CC and Bus Interface module- BU (Chivarov, Shivarov, Kopacek, 2009), as shown on figure 2.

INTRODUCTION TO ROS FEATURES

ROS is an open-source meta-operating system. The term meta-operating system means that there is an operating system installed on the hardware already, and the platform ROS is installed over that operating system. For the moment Linux (Linux, 2012) distribution Ubuntu 10.4 (Ubuntu, 2012) is the operating system that supports fully ROS. That distribution has a great future related to porting and integration into embedded world. ROS is an applications platform very convenient for development and use of applications in the field of robotics. There is large number of drivers for various types of sensors and control of different mechanisms as well as packages for robot vision, navigation and others for ROS. Some of the basic ROS concepts are nodes, topics and services. They help create the skeleton of every ROS application (ROS, 2012). Nodes are processes implementing a given function. They are the basic unit of execution in ROS. All functions and the whole logic of a ROS application are implemented in nodes. Topics are a means of IPC (Inter-Process Communication), a way to exchange messages of a defined format. They allow detaching between sender and receiver of a message because both sides “know” the name of the topic only, and not of each other. This allows implementing extremely scalable and flexible software and lets the developer focus on the very logic and creativeness of the application at hand.

Services give a very comfortable means of two-way message communications and easy implementation of client-server relations between nodes. ROS implements a very convenient format of defining services and messages passed between nodes and this format is language-independent. Thus there can be multiple nodes written in different programming languages (i.e. C/C++, Python) and communicating with each other implementing a complete and integrate system. The communications between different nodes can be implemented over a network TCP/IP link that makes possible cooperation between nodes running on different computers over the Internet and logic/load distribution between multiple machines. 6. SOFTWARE ARCHITECTURE

The node rosout is a standard node for almost every application under ROS and it implements visualization of various system messages – information and error logs and other changes of the state of application. It takes messages from all of the rest of nodes that belong to the application and displays them in the console. The ROS part of the application consists of the nodes Controller, Keycontrol and NetReceiver. The Controller node (Fig. 5) takes commands from the other two modules and implements their validation, formatting and transmitting through the serial link to the embedded controller of the robot arm. It is accomplished by registering for receiving messages on the topic control_if.

The application consists of two major parts – ROS part and remote interface. The following graphic is generated using the rxgraph tool of the ROS system. It displays the node architecture of the ROS part of the application (Figure 3).

Fig. 5 Controller Node Fig. 3 Node Architecture of the Application A basic software module that is not shown here is called roscore and it is a part of every standard ROS application. It can be started from a shell console using command roscore (Fig. 4).

The other two nodes transmit commands for the local and remote mode of operation correspondingly. The Keycontrol node ( Fig. 6) reads commands from the local user input (a local terminal console), generates appropriate commands, formats them into messages and publishes them on control_if topic (Chivarov, 2010).

Fig. 4 Roscore Fig. 6 Keycontrol Node

7.

REMOTE CONTROL

The Remote control consists of two parts – Server and Client. The Client accepts user input and transmits the corresponding commands remotely to the Server via TCP/IP connection over a network (i.e. the Internet). The Server listens for Client connections and accepts commands from the connected Client. Then it publishes the commands to the control_if topic where they become available for the Controller node to read and relay them to the Robot. The Client is implemented for Windows and is a console application that connects to the Server at a provided IP address (Fig. 7). Then it starts to read user input, format appropriate commands and send them via the connection to the Server.

In this application the flexibility of the ROS platform is clearly visible. Such a system becomes very scalable and easily extendable. New nodes can easily be added, for example a node for reading commands from a file and sending them to the Controller node and many others. All those nodes can publish on the same topic control_if without changing the Controller node, as there is no need for any node to be aware of the number and functions of the others that publish on the same topic. 8.

CONCLUSION

The “Intelligent Modular Service Mobile Robot Controllable via Internet” is a scientific research project, which lets by modifications and upgrade to become a multifunctional in its applications, for example: -upgrade for application in the health services (so-called ROBODOCTOR) for remote medical examinations of patients from the National Consultants of Medicine; -variant for helping elderly and disable people at home; -variant for application in ecological investigations and inspection; -by processing devices to work in environments with severe toxicity; -to work in nuclear plants (in premises with a weak, but harmful to a permanent group of people radiation); -research in the field of cleaning – the metro, large halls, airports etc.; -variants for industry, entertaining, free time and hobby. All mentioned applications have direct impact on the world population well being, thus increasing the social stability and technical progress of the society. REFERENCES

Fig. 7 Windows Client Application The Server is implemented for Linux and is both a TCP/IP server and a ROS node called NetReceiver (Fig. 8). It waits for commands from the remote Client console, and publishes them on the topic control_if.

Fig. 8 NetReceiver Node - Server

Chivarov, N., Kopacek, P. and Shivarov, N. (2009). Modular Control System For The Family Of Educational Robots “ROBCO”, Robotics and Mechatronics 2009, October, Varna, Bulgaria; 23 –27. Chivarov, N., Shivarov, N. & P. Kopacek (2009). Mechatronics Educational Robots ROBKO Phoenix, International Journal Automation Austria – IJAA, 17 (2), 68–73. Atmel: http://www.atmel.com Linux: http://www.linux.org Ubuntu: http://www.ubuntu.com ROS: http://www.ros.org/wiki/ Chivarov, N. (2010). Robot Arm Control under ROS/Ubuntu, Problems of Engineering Cybernetics and Robotics, 62.