Artisti Humanoid Team for RoboCup 2006

Tommaso Guseo, Emanuele Menegatti, Stefano Antonello, Alberto Maggi, Fabio Meli, Davide Pippa, Alberto Pretto, Mirco Sergotti, Enrico Pagello

Intelligent Autonomous System Laboratory (IAS-Lab) Department of Information Engineering The University of Padua, Italy; IT+Robotics S.r.l. Vicenza, Italy

http://www.robocup.org/


Abstract In this paper, we describe the hardware and software design of the two humanoid robots of the team Artisti. The robots are called Galileo and Leonardo. They are fully autonomous humanoid robots, based on the Robovie-M platform of VStone. They has low computational power, low resolution camera and low memory space. The robot vision system uses a low resolution camera working in QVGA mode. We devoted many efforts to the problem of QVGA pattern demosaicing in order to obtain better image reconstruction. Our intention is to use omnidirectional camera as unique sensor. The decisional architecture is deliberative and the robots can communicate (using Bluetooth) in order to exhibit team coordination with role swapping. These approaches are based on the techniques we developed for the Artisti Veneti Team, our team in the Middle Size League.

1 Introduction

The RoboCup event represents an extraordinary challenge for the autonomous robots proposed in all Leagues. For Humanoid League some of the problems are:

  1. robot vision feature extraction in variable dynamic environment;
  2. localization of the robot in environment;
  3. safe control and collision free path planning in high DOF systems;
  4. fast motions and stability in a real-time platform in order to react to the quickly changing environment;
  5. coordination of group of humanoid robot to achive a common task;
  6. design hardware and software embedded systems.

Our robots are called Leonardo and Galileo. They are based on a modified Robovie-M platform of VStone. Robovie-M platform is an embedded low cost system and has a low computational power.

These robots are fully autonomous: CPU, power supply, sensor and obviously actuators are on-board. The two robots have a wireless communication interface to exchange information in order to cooperate to perform a common task.

2 Mechanical Structure

The Robovie-M platform of VStone has been modified, as shown in Fig. 1, in order to be compliant with the rules of Humanoid Kid Size League, see RoboCup (2006).

Our modified version Robovie-M has size of 480×235×70mm and a weight of 2.2kg. It is a fully autonomous humanoid robot that use as main sensor a camera. Our intent is to use a omnidirectional visor to play soccer in order to avoid the problem of limited visual field.

Our robots has 22 degrees of freedom distributed as follow: six for each lower limb, four for each upper limb and two for the bust; the actuators that move all DOF are servomotors. These actuators are directly controlled by CPU with PWM signals. The Table 1 shows the allowed movement of each joint and the Table 2 the specifications of the two types of actuators used in our platform. Servomotors has to be driven with a PWM signal with a range of the high level of the signal of [0.5ms, 2.5ms]. The period of PWM signal is fixed in about 17ms by a periodic interrupt.

Leonardo and Galileo in the two camera configurations.
Leonardo and Galileo in the two camera configurations.

Type of servomotors associated with joints.

Part or joint Rotation axes Servomotor Type
Head and Body Pitch, Yaw Hyper ERG-VB
Shoulders Roll, Pitch SPEC-APZ
Arms Pitch, Yaw SPEC-APZ
Hip joint Roll, Pitch Hyper ERG-VB
Knees Pitch Hyper ERG-VB
Ankles Roll, Pitch, Yaw Hyper ERG-VB

3 Electrical Specifications

Instead of the standard Robovie-M main board we mounted the VS–7054 board produced by VStone. The VS–7054 mounts a SH2–7054 MCU of Renesas running at 40Mhz with an internal FLASH memory of 384KByte and a RAM of 16KB. As external memory resources has got a RAM of 256K×16bit and a EEPROM of 64KB. This board can control a digital camera.

The CPU offers enough computational power to process image data, to control the behaviors of the robot and to output the signals for the 22 motors.

As an ongoing project, we are designing and developing our own control board.

Technical specification of servomotors by Sanwa.

Motor Torque Speed Size
Hyper ERG-VB 13 kg×cm (6V) 60/0.10s (6V) 39×20×37.4 mm
SPEC-APZ 4 kg×cm (4.8V) 60/0.20s (4.8V) 39×20×35.5 mm

3.1 Sensors

The main and only external sensor, that gives information on the environment surrounding the robot, is the OV7620, a digital camera produced by OmniVision. This camera can be mounted as frontal or omnidirectional camera and can be used in two resolution modes: QVGA low resolution and VGA high resolution.

There is only one internal sensor: an ADXL202E a two axes accelerometer produced by ANALOG DEVICES. This is used to sense, if the robot is standing or if it is felt down.

4 Software Architecture

The firmware of VS–7054 for Leonardo and Galileo was developed by our team following the Hierarchical Paradigm as defined in Murphy (2000): the robot senses the environment, plans the next actions and then acts, as shown in Fig. 2. This very simple architecture is chosen because when the robot is moving the displacement of the camera is not controlled.

The software architecture can be represented by three loops running at different speeds, as shown in Fig. 3. The inner loop controls the PWM motor output signals. These signals are obtained in asynchronous mode using interrupts. The medium loop include high speed functions as serial port and wireless port read– write operations and motor interpolation. The outer loop is the slowest one. In this loop is placed the behavior decision mechanism of robots. This module acquires and elaborates information on the surrounding environment, decides an action (accordingly to team task) and starts the action.

Software architecture of RobotCore.
Software architecture of RobotCore.
Software architecture of RobotCore of Leonardo and Galileo.
Software architecture of RobotCore of Leonardo and Galileo.

5 Research Approaches with Leonardo and Galileo

As already said a research approach in humanoid robots has to involve many disciplines as mechanics, electronics, control theory, robot vision, motion planning and artificial intelligence. The research in our team is focused especially on vision and motion planning.

5.1 Vision System and Image Processing

The vision system is designed to allow the use either of perspective cameras or omnidirectional cameras, see Menegatti, et al. (2002).

Algorithm Flow. The image processing algorithm proceeds as follows, Fig. 4):

  1. acquisition of the image, either in QVGA mode to acquire a complete frame covering the whole field of view of the robot's camera, or in VGA mode to acquire at higher resolution only the regions of interest (ROI) in which we want to focalize the attention;
  2. demosaicing of Bayer pattern: for QVGA mode use Periodic Reconstruction Interpolation, for VGA mode using Linear Interpolation with Laplacian Second–order Correction Terms, as we described in Guseo (2006) and in Guseo et al. (2006);
  3. color segmentation, with a look up table manually build offline and saved in EEPROM;
  4. blob detection with labeling of connected components;
  5. compute the centroids and the variance in two orthogonal direction of the pixel distributions of the ball, the goals, and the other robots.

Bayer Pattern Interpolation. Many digital cameras use a single sensor covered with a Color Filter Array (CFA). Several patterns exist for the CFA, the most common is the Bayer pattern, shown in Fig. 5(a). The CFA allows only one color component to be measured at each pixel, the remaining color components must be interpolated, this operation is called demosaicing.

We studied and implemented low computational cost algorithm for interpolating VGA Bayer pattern and for QVGA Bayer pattern (as shown in Fig. 5(b)) as Periodic Reconstruction Interpolation shown in Fig. 5(c), see Guseo (2006) and Guseo et al. (2006).

Focusing the Attention. As said before, our robot can acquire images in two modes: low resolution (QVGA) and high resolution (VGA). Due to the hardware constraints of our humanoid robot, it is not possible to store a fullresolution image in memory. Storing a 640x480x16 bit color image would require 614 KB, while our robot has only 512 KB of working RAM. Therefore, we use low resolution to acquire a complete frame covering the whole field of view of the robot's camera, as shown in Guseo (2006) and in Guseo et al. (2006). To have more accurate measures of the objects of interest we acquire at high resolution only the regions of interest (ROI) in which we want to focalize the attention, as shown in Fig. 6.

Example of image processing and features extraction of the ball.
Example of image processing and features extraction of the ball.
Basic structure of QVGA and periodic reconstruction.
Basic structure of QVGA and periodic reconstruction.
Focusing the attention image output.
Focusing the attention image output.

5.2 Communication and Cooperation

For communication between our robots we have designed a Bluetooth board as shown in Fig. 7. With this connection the robots can communicate to cooperate and eventually receive external commands, as shown in Pagello et al. (1999).

The robots are fully autonomous and the communication is not strictly necessary, but with message exchange the robots can exhibit a cooperative team behavior.

Blue Tooth board layout of top layer.
Blue Tooth board layout of top layer.

5.3 Context Based Arbitration

The software Arbiter module has to determinate the correct action, accordingly to sensors' measures and team play policy. Each robot has a basic motion set (including walk, rotate, kick, lye down and stand up) as shown in Fig. 8.

There are additional sets of complex movements that can be triggered only by a particular context such as peculiar game situations (e.g., throw in, penalty kick, etc.) or a particular role assumed by the robot: goalie, defender or attacker. This method was first proposed in Pagello et al. (1998) The context switching method enables to manage the complexity of dynamical selection of the behaviors. The effectiveness of this approach has been shown in Pagello et al. (1999), in Clemente et al. (2001) and in Pagello et al. (2006).

Arbiter in context switching environment.
Arbiter in context switching environment.

5.4 Collision Free Robot Motion Planning

To design robot movements we are studying the use of Rapid Random–exploring Trees (RRT), LaValle (1998), to explore the joints configuration space, following the approach of Kuffner (2000) and Chen and LaValle (2001). An example is presented in Fig. 9 in which the robot has to swap the supporting leg, moving the COG from one foot to the other. In this movement, the hardest problem is to calculate the correct placement for the second foot. The problem was solved by a double RRT–Connect.

In RRT the exploration is rapid and complete due to the fact that the random search in unknown regions is proportional to size of this area. Another advantage is represented by precluded configuration that are represented by boolean functions. Trajectories generated by RRT are sub–optimal but these are very near to optimal trajectories.

RRT motion planning single support swap.
RRT motion planning single support swap.

5.5 Robot Simulator and Development ToolKit

A 3D visualizer of robot has been developed in order to allow the design of the realistic movements without the need of the real robot. We are working on a simulator with a dynamical model of the robot . A screenshot of the simulator is shown in Fig. 10.

A designed a simulator of the vision system and a development toolkit for vision processing called RobotDTK, Fig. 11. In this environment, all vision algorithm can be tested as if they where executed on the robot, with the advantages of using a faster CPU for the software design and trials. This development toolkit is useful in order to prepare offline the Look Up Table for color segmentation.

Robot simulator.
Robot simulator.
Frontal. Omnidirectional.
Frontal. Omnidirectional.
(b) Omnidirectional.
(b) Omnidirectional.

6 Conclusion

In this paper, we introduced our humanoid robots named Leonardo and Galileo with 22 degrees of freedom and equipped with low computational power CPU. We present the software architecture we designed aiming not only at the RoboCup domain but also at different applications in general environments.

References

  1. Cheng P. and LaValle S. M.: Reducing metric sensitivity in randomized trajectory design. In Procedings IEEE/RSJ Int'l Conference on Intelligent Robots and Systems, 43–48 (2001).
  2. Clemente G., Pagello E., Piaggio, M. Nardi, D., Adorni, G. Bonarini, A. and Chella, A.: Art99 azzurra robot team. In Veloso, M. Pagello, E. and Kitano, H., editors, RoboCup–99: Robot Soccer World Cup III, LNAI 1856, Springer, 695–698 (2000).
  3. Guseo, T.: Architettura Software per Robot Umanoide Autonomo, Tesi di laurea, University of Padova, Padova (2006).
  4. Guseo, T., Menegatti, E., Pagello, E.: Demosaicing Low Resolution QVGA Bayer Pattern for Focus of Attention in Humanoid Robots, submitted to RoboCup 2006, (2006).
  5. Kuffner J.J., LaValle S.M.: RRT-Connect: An Efficient Approach to Single-Query Path Planning, In Procedings IEEE Int'l Conf. on Robotics and Automation, 995–1001, (2000).
  6. LaValle S.M.: Rapidly-Exploring Random Trees: A New Tool for Path Planning, TR 98–11, Computer Science Dept., Iowa State University, October (1998).
  7. Menegatti, E., Pagello, E., Wright, M.: Using Omnidirectional Vision within the Spatial Semantic Hierarchy. ICRA 2002 908–914, (2002).
  8. Murphy, R.R.: Introduction to AI Robotics, A Bradford Book, The MIT Press, Cambridge, Massachussetts, London, England (2000).
  9. Pagello, E., Montesello, F., Garelli, F., Candon, F., Chioetto, P., Griggio, S.,: Getting Global Performance through Local Information in PaSo-Team'98 RoboCup 1998 384–389 (1998).
  10. Pagello, E., Ferrari, C., D'Angelo, A., Montesello, F.: Intelligent multirobot systems performing cooperative tasks. In Emergent Systems: Challenge for New System Paradigm Invited Session (IEEE/SMC Conference) Tokyo, 754–760, October (1999).
  11. E.Pagello, A. DAngelo, E. Menegatti Cooperation Issues and Distributed Sensing for Multi-Robot Systems IEEE Proceedings of IEEE (in press)
  12. RoboCup, compiled by Sven Behnke: RoboCupSoccer Humanoid League Rules and Setup for the 2006 competition in Bremen, Germany, URL: http://www.robocup.org/ (2006).