IRC Team Description Paper 2016 Adult-size Humanoid Robot Soccer Team

Saeed Saeedvand, Mehdi Gheibi, Alireza Karimi Saber, Masoumeh Jafari, Dr. Mortaza Abbaszadeh

Department of Computer Science, Ilkhchi Branch, Islamic Azad University, Ilkhchi, Iran.

www.IRoboC.com


Abstract In this document the Humanoid robot of IRC robotic team is described. The IRC team Humanoid robot is an adult-size robot, which it is prepared for RoboCup 2016 competitions. Our Robot is a completely autonomous robot, which is compatible with RoboCup competitions Humanoid robot rules. One of the most important aims of our team is implementation of evolutionary algorithms on the humanoid robots. Key Words: RoboCup, Humanoid Robots, Image Processing, Real-time Controlling

Introduction

Humanoid robots competitions is one of the best opportunities for testing humanoid robot's behavior and capabilities. This competitions have been held in different countries every year. The most important robotic competition in the world is RoboCup competitions [1]. Also some open robotic competitions are held in different countries yearly too. For instance Iran Open robotic competition are holding yearly. It should mentioned Iran Open robotic competition has very high quality in different leagues, especially in Humanoid robot leagues. Our team have built an adult-size robot with soccer competition capability in adult-size. Our basic team members have had some different experience and success in humanoid kid-size robot with SoRoBo named team previously, (2nd place in Iran open 2012, 1st place in Iran open 2011 in technical challenge, 1st place in AUT Cup 2010, 3rd place in Shiraz Sama Cup 2012). The IRC adult size robot project has been start since 2015 and this team in the first participation in humanoid adult-size league at Iran Open 2015 obtained 1 st place of this competitions.

Hardware and electronics

In this section our robot hardware and software characteristics will be discussing in two separate parts.

Mechanical structure

Our robot named ILRobot mechanical structure looks like the DARwIn-OP robots. Most parts of mechanical structures in ILRobot is built of aluminum alloy profiles. The actuators used in ILRobot is MX-106t servo motors series that manufactured by Robotis company. Number of motors used for each leg in ILRobot is 9, which enables the ILRobot to have 6 degrees of freedom (DOF) in each leg. Also in the ILRobot hands 3 motors for each hand used. Finally there are 2 motors for robot head. In total, the ILRobot has 20 DOF that helps the robot to walk and kick easily. The ILRobot configuration is illustrated in the table 1 and in Figure 1.

Hardware details of ILRobot

Robot System ILRobot
Weight ~15 KG
Height 135 CM
DOF 20
Actuators MX-106t
Vision System Logitech C920
Processing unit Intel® Core™ i5 4250U processor, ARM Cortex-M3
OS Windows 7
Battery Li-Po 14.8 V 2000 mA
ILRobot mechanical structure
ILRobot mechanical structure

Our team are working on a second and new version of Adult-size robot concurrently. Our new robot named Artin shown in figure 2 is under developing for future. We hope Artin will finishes until RoboCup 2016. In the second robot which named Artin the most parts of mechanical structure in lower limb of robot is building of aluminum alloy by CNC machining process (Fig.2). Also the upper body of Artin printed by 3D printer with PLA Alloys. The actuators used in this robot are MX-106-t servomotors series. Number of motors used for each kinematic chain of knee-shin-ankle-foot is 17, which enables 6 DOF in each leg. The Artin's arms and head detail are similar to ILRobot. In total DOF of Artin is 20. The Artin's configuration details have been explained in table 2.

Hardware details of Second Robot (Artin is under construction one).

Robot System Artin
Weight ~25 kg
Height 133 cm
DOF 20
Actuators MX-106t
Vision System Imaging Source® DFK 23U618
Processing unit Intel® Core™ i5 4250U processor, ARM Cortex-M3
OS Windows 7
Battery Li-Po 14.8 V 2000 mA
Artin's lower limb of next generation of IRC team robot mechanical structure (Artin).
Artin's lower limb of next generation of IRC team robot mechanical structure (Artin).

Electronics Structure

We used different kind of electronic modules that detailed below for controlling different parts of our robot that in this part we describe all of them.

Mini PC: Intel® NUC

We used this module as central processing unit which its operation system is windows 7.

  • Intel® Core™ i5 4250U processor
  • DDR3 SO-DIMM Socket
  • 1x HDMI,1x Mini HDMI, 4x USB3.0
  • 1x Phone Jack for both Line-Out & Mic-In

Open CM9

Open Cm9 Controller is an open source processor that based on a 32-bit processor STM32F103CB Series ARM Cortex-M3, built at 72 MHz. This module is used to control all of servo motors to help robot walking process.

GY80

This module contains compass (HMC5883L), accelerometer (ADXL345) and gyroscope (L3G4200D) sensors that are used for the purpose of this information is to maintain balance and orientation.

Description:

  • Nine-axis module (Three-axis gyroscope + triaxial accelerometer + 3-axis magnetic field + pressure)
  • Immersion Gold PCB process
  • The use of chip: L3G4200D + the ADXL345 + HMC5883L + BMP085
  • Power supply :3-5v
  • Means of communication: IIC communication protocol (fully compatible with the system 3-5v)
  • Module Size: 25.8mm * 16.8mm mounting hole 3mm
  • Standard 2.54mm pin interface, convenient bread plate experiments connection

Machine vision

(No introductory text for this section)

Logitech C950 camera

In our robot image processing and machine vision step we used Logitech C950 camera in the first version of IRC team robot. The configuration of this camera presented as follow.

Description:

Applications HD 720p video calling on most major IM applications and Logitech Vid™ HD
Video Resolution Up to 1920 x 1080 pixels
Motionless Picture Resolution Photo capture: Up to 15 megapixels
Microphone Yes
Mac/PC For HD 1080p video recording:
1 Mbps upload/download for 720p
2 Mbps upload/download for 1080p

Imaging Source DFK 23U618 camera

Also we intend to use an industrial camera that named "DFK 23U618" in new Robot, that made by "Imaging source" company. The configuration of this camera presented as follow.

Software Description

In this part we describe our humanoid robot software's detail and characteristics in separate parts as follow.

Robot Motions and Controlling

As we know one of the serious challenges in adult size humanoid robots is walking in the field. For this issue we have to use some different kinds of sensors. In the previous section we described one sensor and one controller, which named GY80 sensor and open CM9 controller. For controlling our robot to walking process we used GY80 sensor data. This data is used for balancing our robot in the different fields. It's obvious that when one humanoid robot is walking in the field there are a lot of noise in our balance sensor. Therefore we implemented Kalman Filter [2] for improving this sensor data. We should notice that Kalman filter is implemented in the CM9 controller.

According to our motors type, after collecting filtered GY80 data we implemented one dynamic walking algorithm. Our walking trajectory is combination of our proposed method and NAO based robots simulation [3]. We use this simulation results for walking our robot. In our robot there are some static motions which combined with dynamic behaviors through implementation of inverse Kinematic. For instance kicking the ball has some static motions, which combined with dynamic states by assessing the data from GY80 sensor.

Colored Petri Net

Petri Net [4] [5] [6] is a formal modeling method that benefits from graphical representation for analysis of protocols and algorithms that involves in concurrent systems. A Petri net consists of four basic elements: places, transitions, arcs, and tokens. Assignment of tokens to places (markings) represents states of the system. A place is shown in the form of a circle or oval and tokens in the form of small filled inside circles that resides in the places. Each transition is shown in the form of a rectangle and represents system activities. Petri nets works based on its special enabling and firing rules.

Many extensions of classical Petri net are developed with aim of extending modeling capability of Petri nets. Colored Petri net is the most recent and powerful extension of classical Petri net that enables modeler to define color type (data type) for tokens and their containing places. Its modeling capability is extended using ML programming language that is an artificial intelligence language. ML inscriptions and functions can be used as arc expressions and guard conditions of transitions. Using colored Petri net enables modeler for modeling wide range of systems. ML language that is used in colored Petri net is extension of original one that some futures of it is removed and some new futures are added to it for supporting Petri net terms such as defining multi-set operators and multi-set markings [7] [8]. One of the best tools that is developed for modeling and analysis of colored Petri net models is the CPN Tools. This free open source software is accessible from its official web site [9]. Modeling of humanoid robot is done using colored Petri net in this paper. In the figure 3 our used controlling model presented [10]. In this model a hierarchical model of our humanoid robot is presented. This figure shows top level model of decisions of robot.

Top level model of humanoid robot's operations.
Top level model of humanoid robot's operations.

Image Processing and Behavior Controlling

For image processing we used related mentioned camera. This Camera connected to the system via USB cable. We used C#.Net programming language for our image processing and controlling steps. Our used OS is windows 7. In the figure 4 our robot image processing steps is modeled by CPN-Tolls, modelling software.

Image processing sub-module.
Image processing sub-module.

Localization

We had rewritten some localization algorithms by our presented algorithm in which there are few steps. In first step our robot try to find field center lines. In second step it check GY80 compass data for detection robot side. In third step our robot try to find correct goal for attacking.

Ball and Goal Detection

For ball and goal detection in our robot, we use object detection in image. For this operation we implemented one software in C# language in which we determine and select color range of each objects. After this step we able to recognize and detect needed objects from each frame of pictures. Also for ball detecting movement we track it by center location of ball through detecting the ball circular edges. After that if the ball's center position will changes, our robot will track it by head movement in PT directions.

Conclusion

Humanoid Robots are one of the most complicated robots in building and controlling steps. Humanoid robots competition is one great opportunity for progressing in robotic science. Our team has some different experiences in kid size Humanoid robots. Therefore we started to build an Adult size robot for participating in the RoboCup competitions. Our IRC robot is one autonomous adult-size humanoid robot that is completely built manually. In this robot we tried to build a robot that it is compatible RoboCup competitions rules. Finally we optimistic to improve our robot behaviors step by step, also we aim to use evolutionary algorithms on our robot as much as it is possible.

References

  1. "RoboCUP," [Online]. Available: https://www.robocuphumanoid.org/hl-2016/call/.
  2. R. Farager, "Understanding the Basis of the Kalman Filter," IEEE SIGNAL PROCESSING MAGAZINE , 2012.
  3. G. S. E. C. Johannes Strom, "Omnidirectional Walking Using ZMP and Preview Control for the NAO Humanoid Robo," Lecture Notes in Computer Science, vol. 5949, pp. 378-389, 2009.
  4. K. Jensen, "Coloured Petri nets basic concepts, analysis methods and practical use," Basic Concepts of Monographs in Theoretical Computer Science Springer-Verlag, vol. 1, 1992.
  5. K. Jensen, "Coloured Petri nets. basic concepts, analysis methods and practical use," Analysis Methods of Monographs in Theoretical Computer Science, Springer-Verlag, vol. 2, 1994.
  6. K. Jensen, "Coloured Petri nets. basic concepts, analysis methods and practical use," Practical Use of Monographs in Theoretical Computer Science, Springer-Verlag., vol. 3, 1997.
  7. a. L. M. K. K. Jensen, "Coloured Petri nets, modelling and validation of concurrent systems," Springer, 2009.
  8. a. C. S. W. van der Aalst, "Modeling business processes," MIT press, p. 2011.
  9. "Colored Petrinet," [Online]. Available: http://cpntools.org/download.
  10. S. Pashazadeh, S. Saeedvand, "Modelling of Walking Humanoid Robot With Capability of Floor Detection and Dynamic Balancing Using Colored Petri Net," International Journal in Foundations of Computer Science & Technology (IJFCST), vol. 4, no. 2, 2014.