BehRobot Humanoid Adult Size Team Team Description Paper 2015

S.Mohammadreza Mohades Kasaei, Ali Ahmadi, Ehsan Shahri, Saman Saraf, Majid Delshad

Institute of Robotics and Intelligent Systems, Isfahan Islamic Azad University, Isfahan, Iran

http://www.humanoids.ir/


Abstract This technical description explains BehRobot adult size robot specification that have improved and customized to participate in RoboCup 2015. This paper describes scientific aspects and improvement of our robot including mechanical improvements, Electrical design and software modifications.

1 Introduction

BehRobot is an Institute of Robotics and Intelligent Systems at Department of Electronic and Computer in Isfahan Azad University in Isfahan, Iran, since 2004. The certain purpose of this institute is design and develop of autonomous robots that researchers and students can implement and test common methods and new algorithms on them (AI, Vision and Control). RoboCup is one of the most important and popular event in the robotic society in Iran. In fact, RoboCup is a project to progress artificial intelligence and related sciences like mechanical engineering, software and electrical engineering. One of the most important RoboCup leagues is Humanoid league which in robots with human anatomy similarity. During 11 years of RoboCup activity, we have built all of three sizes of humanoid robot that can play soccer autonomously [1]. In previous years, we have several national and international ranks such as first place in RoboCup IranOpen2014 and third place in technical challenge RoboCup2015 in Brazil.

Our current research topics is focused on robot hardware design, robot motion and robot vision. This paper also describes some scientific contribution in modified mechanical design, motion control, image processing, localization and path planning.

Fig. 1. BehRobot humanoids robots in last years
Fig. 1. BehRobot humanoids robots in last years

2 System & Control Overview

This section describes system structure and method of data transfer among different parts of the robot. In order to have a robot which can recognize environment correctly, we have used a digital 1.3 mega pixel camera (Logitech C905). In previous years, we have developed all module in main processor (Motion control, AI and Image Processing) and there is some problems in system such as priority of unit. One of the fatal problem was priority of the motion thread, the motion thread must be have highest priority and this priority affected in vision thread performance. For solving this problem, we have designed and implemented a motion controller board based on ARM Cortex-M3 (LPC1768). In this improvement, omni directional walking system was implemented in this board.

In this board we are using USB communication for reading and transferring data to main computer. The motion controller is used gyro, accelerometer and IMU sensor data. this sensors are embedded on the hip of the robot. (Figure3)

Fig. 2. System Overview of BehRobot humanoid robot
Fig. 2. System Overview of BehRobot humanoid robot
Fig. 3. Control Overview of BehRobot humanoid robot
Fig. 3. Control Overview of BehRobot humanoid robot

3.1 Mechanical structure

Mechanical structure is composed of aluminum alloy parts, 20 * MX106 Dynamixel motors. Our robot is 155 centimeter tall and 11 kilogram weight. In Brazil, we used MX106 motor in ankle and knee, RX64 in thigh and EX106 in hip, and now, we are using packed of two MX106 for all of them. BehRbot specification showed in Table 1.

Fig. 4. Dual motor used as an actuator (Left is Ankle, Right is Knee)
Fig. 4. Dual motor used as an actuator (Left is Ankle, Right is Knee)
(continued)
(continued)

Table 1. Behrobot specification

Mechanical Structure
Number of DOF Type of motors
Head Neck 2 Dynamixel AX12
Trunk Waist 1 Dynamixel MX106
Legs Hip 1 (X2) Dynamixel MX106
Thigh 2 (X2) Dynamixel MX106
Knee 1 (X2) Dynamixel MX106
Ankle 2 (X2) Dynamixel MX106
Arms Upper Arm 1 (X2) Dynamixel RX64
Shoulder 1 (X2) Dynamixel MX106
Elbow 1 (X2) Dynamixel RX64
Total 21
Electronic System
Sensors Camera Logitech C905
IMU xIMU
Processor LP170 1.6GHz , 2GB RAM,
64GB SSD
LPC1768 120Mhz, 64KB SRAM,
512KB Flash

3.2 Electrical Structure

We have designed a motion controller board for running Omni directional walking on it. This board is based on ARM-CortexM3 and read accelerator and gyroscope sensor data that mounted on hip, and running PID controller loop every 10ms (100Hz).

Fig. 5. New motion controller board
Fig. 5. New motion controller board

4 Software

BehRobot's Software has three main units and each unit has several sub modules (Figure 5). According to new humanoid rules, Ball detection module in vision unit redeveloped and other sub unit such as path planning and goal poll detection has improved. The structure of our software is shown in figure5.

Fig. 6. Software structure including sub-modules
Fig. 6. Software structure including sub-modules

4.1 Image processing

The vision system grabbed an image from camera's buffer and for first step, uses a look-up table for adjusting the image color (preprocess) and then using Hough lines and circle transform to detect the line and circle in the field. We use K-MEANS clustering method for generate this lookup table and then a human verify and edit the results. After generation color lookup table, CPU run BFS object detection algorithm to detect the objects and update the world model.

Fig. 7. Raw image and justified image
Fig. 7. Raw image and justified image

4.2 Ball Detection

In order to detect objects in the field of play, we use the Canny edge detection method. The Canny operator was developed to be an optimal edge detection algorithm [17–20]. Then the Hough transform technique is used to find instances of objects in the Edged Image by a voting procedure. In the voting procedure, the circles that has good similarity to line deleted and then we used a size filter and then choose nearest circle in the green filed as ball. In Figure8 small black rectangle is a circle that detected and it is not have enough potential to detected as ball.[2]

Fig. 8. Ball Detection Steps
Fig. 8. Ball Detection Steps

4.3 Localization

The robot uses particle filtering for reliable localization. The robot uses IMU sensor, goal posts, field lines and center circle as a basic elements to localization and then particle filter is used to track x, y and Ө and also to solve kidnapping problem. Also Motion and vision model is used to update particles. Finally we use a method named matching optimization, and it helps robots to play even in larger field with variable light conditions during a game.

Fig. 9. The particle filter simulation. Magenta circle: The initial and destination position of the simulated robot. Blue line: ground truth trajectory. Yellow line: odometry readings or relocation of the robot based on the sensor readings of the joint positions. Red line: estimated pose by particle filtering and matching optimization
Fig. 9. The particle filter simulation. Magenta circle: The initial and destination position of the simulated robot. Blue line: ground truth trajectory. Yellow line: odometry readings or relocation of the robot based on the sensor readings of the joint positions. Red line: estimated pose by particle filtering and matching optimization

4.4 Path planning

Potential field is used to have reliable and smooth path planning. In this method 3 main parameters are essential including 1-distance 2-angle 3-volume of obstacle. Also our algorithm can easily solves trapped situation in a local minimum using virtual forces. (Figure8) [10, 11]

Fig. 10. The sample of path planning
Fig. 10. The sample of path planning

5 Conclusion

In this technical paper the improvement of structure, motion control and image processing of BehRobot adult size robot is described. we designed a motion controller board and redeveloped ball detection algorithm. This robot is spatially designed for participate in RoboCup 2015 and we would like to participate in RoboCup 2015 for learning and share our experiments.

References

  1. Mohammadreza Mohades Kasaei, Mohsen Taheri, Mohammad Rahimi, Ali Ahmadi, Ehsan Shahri, Saman Saraf, Yousof Geramiannejad, Majid Delshad, Farsad Zamani "BehRobot Humanoid Adult Size Team Team Description Paper 2014", Online document: https://www.robocuphumanoid.org/qualification/2014/3ae53f44e5516fd5ab6f9c1d44479131b69ae982/BehRobot%202014%20TDP.pdf
  2. Daniel A. Martins, Antόnia J. R. Neves and Armando J. Pinho "Real-time generic ball recognition in RoboCup domain", Online document: robotica.ua.pt/CAMBADA/docs/pub2008/martins.08a.pdf
  3. Ehsan Azimi, Mostafa Ghobadi, "Three-Dimensional Smooth Trajectory Planning Using Realistic Simulation" In Proceedings of RoboCup 2004, Robot Soccer World Cup VIII Lecture Notes in Computer Science Volume 3276, 2005, pp 381-393.
  4. MARTIN FRIEDMANN, JUTTA KIENER, "Versatile, High-quality Motions and Behavior Control of a Humanoid Soccer Robot" In proceedings of International Journal of Humanoid Robotics, Volume 5, Issue 3, Sep 2008, Pages 417-436.
  5. D. Scholz, M. Friedmann, O. von Stryk "Fast, Robust and Versatile Humanoid Robot Locomotion with Minimal Sensor Input" In Proc. 4th Workshop on Humanoid Soccer Robots at the 2009 IEEE-RAS Int. Conf. on Humanoid Robots, pp. to appear, Dec. 7 - Dec. 10, 2009.
  6. Sven Behnke and Jörg Stückler: "Hierarchical Reactive Control for Humanoid Soccer Robots" International Journal of Humanoid Robotics (IJHR), vol. 5, no. 3, pp. 375-396, September 2008
  7. Hannes Schulz, Weichao Liu, Jörg Stückler and Sven Behnke: Utilizing the Structure of Field Lines for Efficient Soccer Robot Localization In Proceedings of 14th International RoboCup Symposium, Singapore, June 2010.