IRC Adult-size Humanoid Robot Soccer Team Description Paper 2017
Saeed Saeedvand, Masoumeh Jafari, Vahid Alizadeh, Arash Ranjbaran, Dr. Mortaza Abbaszadeh
Department of Computer Science, Ilkhchi Branch, Islamic Azad University, Ilkhchi, Iran
Abstract In this document the Humanoid robot of IRC robotic team is described. The IRC team's Humanoid robot is an adult-size robot, which is prepared for RoboCup 2017 competitions (Artin). In this way, we improved both of hardware and software part after last RoboCup competition, which has been obtained 1 st place at IranOpen 2015 and 3 rd place in RoboCup 2016 Adult-size league. Our Robot is a completely autonomous robot, which is compatible with RoboCup games Humanoid robot rules. One of the most important aims of our team is implementation of evolutionary algorithms on the humanoid robots. Therefore, we our main focus is on the artificial intelligence Algorithms in this way.
1. Introduction
Humanoid Robots competitions is one of the best opportunities for testing humanoid robot's behavior and capabilities. This competition has been held in different countries every year. The most important annual robotic competition in the world is RoboCup competitions [1]. Also some open robotic competitions are held in different countries yearly. For instance, Iran Open robotic competition is holding yearly. It should mention Iran Open robotic competition has very high quality in different leagues, especially in Humanoid robot leagues. Actually main aims of this type of competitions and this kind of activities is to increasing the scope of artificial intelligence from various aspects. In this way, our team started Adult-sized humanoid robot manufacturing since 2015 and we obtained 1 st place at Iran Open 2015 adult-size competitions and 3 rd place in our first appearance at RoboCup, (RoboCup 2016). We should mention our team started to improve the different aspects of IRC robot (Artin) after the RoboCup 2016 competition. our basic team members have had some different experiences and success in the humanoid kid-size robots with SoRoBo named team previously, (2nd place in Iran open 2012, 1st place in Iran open 2011 in technical challenge, 1st place in AUTCup 2010, 3rd place in Shiraz Sama Cup 2012).
2. Hardware and electronics
The characteristics of our robot hardware and software have been discussed in two separate parts in this section.
2.1. Mechanical structure
Our robot named Artin that shown in figure 1. The most parts of mechanical structure in lower limb of robot is building of aluminum alloy by CNC machining. Also some part of the upper body of Artin printed by 3D printer with PLA Alloys such as its arms and hands. The actuators used in Artin is MX-106t servo motors series that manufactured by Robotis company. Number of motors used for each kinematic chain of knee-shin-ankle-foot is 17, which enables 6 DOF in each leg. Also in the Artin's hands 3 motors for each hand used. Finally, there are 2 motors for robot head for pan and tilt movement of camera. In total DOF of Artin is 20. The Artin's configuration details have been explained in table 1.
Table 1. Hardware details of Artin
| Robot System | Artin |
|---|---|
| Weight | 25 kg |
| Height | 133 cm |
| DOF | 20 |
| Actuators | MX-106 |
| Vision System | Imaging Source® DFK 23G618 |
| Processing unit | Intel® Core™ i5 4250U processor, QBOX mini pc |
| 2000 | |
| OS | Windows 7 |
| Battery | Li-Po 11.1 V 8000 mA, Li-Po 14.7 V 2200 mA |
1.1. 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. Also, the electrical design of our robot shown in figure 2.
1.2. Mini PC: Intel® NUC
We used this module as main 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
1.3. QBOX mini pc 2000
We used this module to control all of servo motors to help robot walking process which its operation system is windows 7.
- Intel® Atom™ Processor N2600
- Intel® NM10 Express Chipset
- DDR3 SO-DIMM Socket
- 1x HDMI, 3x USB2.0
- 1x Phone Jack for both Line-Out & Mic-In
- 1x mSATA
- 1x mPCIe Socket for Wi-Fi Module
1.4. 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
1.5. Machine vision
1.5.1. Imaging Source DFK 23U618 camera
We used an industrial camera for hardware of Machine Vision unit in Artin Robot. Artin's camera model is "DFK 23G618" and manufactured by "Imaging source" company. This camera is use a CCD image sensor and one interface cable between camera and PC as GigE. Also, it used 11-13 V or POE for supply voltage.
3. Software Configuration
Software configuration of Artin is classified into three main parts according to figure3. We describe our humanoid robot software's detail and characteristics in separate parts as follow.
1.6. 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. According to the previous section, we used QBOX mini pc for controlling our robot to walking. But, in the previous version of IRC Robot [2] , had been used CM9 controller for this task . In this way, 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 [3] for improving this sensor data.
After collecting filtered GY80 data and according to our motors type, we implemented one dynamic walking algorithm. In fact, our walking trajectory is combination of our proposed method and NAO based robots simulation [4]. In this way, we use this simulation results for walking our robot. Also, 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.
1.6.1. Colored Petri Net
Petri Net [5-9] is a formal modeling method that benefits from graphical representation for analysis of protocols and algorithms that involves in concurrent systems. 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 an extension of original version that some of its features are removed. And some new features are added to it for supporting Petri net terms such as defining multi-set operators and multi-set markings [10]. 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 [5]. Modeling of humanoid robot is done using colored Petri net in this paper. In the figure 4 our used controlling model is presented. In this model a hierarchical model of our humanoid robot is presented [11]. This figure shows top level model of decisions of robot.
1.7. Behavior Controlling
We used C#.Net programming language for this steps. Our used OS is windows 7. In the figure 5 our robot image processing steps is modeled by CPN-Tolls, modelling software. This part is the key part of robot software, and artificial intelligence algorithm are proposed in this part. When this part is rich, robot performs more intelligent. The important algorithms of this part are estimating the distance, localization, routing, obstacle avoidance, searching object and tracking ball. Our team previously has been provided some offline algorithms for multi-objective path finding [12], but our proposed algorithms at Artin are completely real-time and online. Input information of this part involves process information of robot position and object detected around the robot. According to input information, robots decides that what it should do. Output information involve instructions provided for robot movement parts. Also, robot position is transferred to vision part.
1.7.1. Image processing and object detection
For image processing we used related mentioned camera. This Camera is connected to the system via Ethernet cable. There are some objects in RoboCup environment, and other objects must be completely detected at first to detect them. One of these objects is ball. Competition field must be determined to detect the ball. First, we determine and select color range of each objects. After this step, all obtained spots have been investigated from shape aspect. In this way, we used several methods to detect main objects on the field. In addition, we are able to recognize and detect needed objects from each frame of pictures [13,14]. 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 change, our robot will track it by head movement in PT directions.
4. 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 and Adult-size Humanoid robots. After the last success on RoboCup 2016, we tried to improve our Adultsize Robot from software and hardware aspect. In this way, we did several work that have been explained in this paper. Our IRC robot is one autonomous adult-size humanoid robot that is completely built manually. Finally, we are going 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
- RoboCUP Rules. RoboCup. https://www.robocuphumanoid.org/hl-2016/call/ (2016).
- Saeedvand, S., Gheibi, M., Saber, A.K., Jafari, M., Abbaszadeh, M.: IRC Team Description Paper 2016 Adult-size Humanoid Robot Soccer Team. In: RoboCup 2016, Leipzig Germany 2016. Robocup
- Faragher, R.: Understanding the basis of the Kalman filter via a simple and intuitive derivation. IEEE Signal processing magazine 29(5), 128-132 (2012).
- Strom, J., Slavov, G., Chown, E.: Omnidirectional walking using zmp and preview control for the nao humanoid robot. In: Robot Soccer World Cup 2009, pp. 378-389. Springer
- Colored Petrinet. http://cpntools.org/download
- Jensen, K.: Coloured Petri Nets. Basic Concepts, Analysis Methods and Practical Use. Monographs in Theoretical Computer Science, Springer-Verlag 1 (1997).
- Jensen, K.: Coloured Petri nets: basic concepts, analysis methods and practical use, vol. 1. Springer Science & Business Media, (2013)
- Van der Aalst, W.M.: Pi calculus versus Petri nets: Let us eat "humble pie" rather than further inflate the "Pi hype". BPTrends 3(5), 1-11 (2005).
- Saeedvand, S., Abbaszadeh, M., Ansaroudi, F.: Modelling Causal Consistency for Distributed Systems using Hierarchical Coloured Petri Net. Indian Journal of Science and Technology 8(35) (2015). doi:10.17485/ijst/2015/v8i35/54980
- Jensen, K., Kristensen, L.M.: Coloured Petri nets: modelling and validation of concurrent systems. Springer Science & Business Media, (2009)
- Pashazadeh, S., Saeedvand, S.: 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) 4(2) (2014). doi:10.5121/ijfcst.2014.4201
- Saeedvand, S., Razavi, S.N., Ansaroudi, F.: Path-finding in Multi-Agent, unexplored And Dynamic Military Environment Using Genetic Algorithm. International Journal of Computer Networks and Communications Security 2(9), 285–291 (2014).
- Cano, P., Tsutsumi, Y., Villegas, C., Ruiz-del-Solar, J.: Robust Detection of White Goals. In: RoboCup 2015: Robot World Cup XIX, vol. 9513. pp. 229-238. Springer International Publishing, (2015)
- Kar, P., Jain, A., Rout, B.K.: Effective localization of humanoid with fish-eye lens using field line detection. Paper presented at the Intelligent Robot Systems (ACIRS), Asia-Pacific Conference on,