Parand HumanoidTeenSize Team Description Paper
Rahman Barooj, Navid Fayaz, Farshid Khajehdehi, Ahmad Amiri, Farzad Nadiri, Hamid Pormalek, Masoud Kazemi, Amir Jambori, Omid Mohammadi
Department of Computer and Mechanic Engineering, Parand Islamic Azad University, Parand, Tehran, Iran
Abstract This paper is written to introduce Parand robotic team which is taking part in Brazil, Robocup international matches.This document will give brief information about this team researches in hardware and software field.During the current year team worked on implementing better stability, balance and vision algorithms and also designing natural motions and more accurate walking algorithms in participation with engine's output.
1-Introduction
In latest years humanoid robots are developing surprisingly to reach the dream of international robotics committee which is hosting a soccer match between humans and robots [1].Parand humanoid robotics team gathered in 2008 in order to develop humanoid robots and focused on making the robots much more intelligent.This team was successful enough to gain several honors in national and international events. In IranOpen2010 this team managed to reach the second place using 3 premadeBioloid Premium Kit [2] robots but during the latest years the team developed its software and hardware abilities and designed several kid size and teen size robots with some important features.It is important to mention that, this team took part in IranOpen2013 competitions and achieved the first place successfully [3].
Table 1.Diako Humanoid General Specifications
| weight | 8kg |
|---|---|
| height | 87cm |
| Processing Unit | QutePc4001 1.8 GHz processor[4] |
| Degrees of Freedom | 20 DOF |
| Actuators | MX-64, MX-106R, MX-28 |
| Camera | Logitech C905[5] |
| Batteries | Li-Po 11.1 v – 5000mAh |
| Operating System | Windows 8.1 |
2-HardwareDesign
2.1 Actuators
The actuators used in Parand robots are from Dynamixel servomotor family produced by Robotis [6]. These kinds of servomotors have many advantages, such as:
- Adjustable position control.
- High-speed serial communication.
- Many calculated parameters like actuator load and temperature
Chassis and body
This robot consist of one nucleus that all parts of robot among head and neck, hands, legs, pelvis and … adjoining it.
Nucleus
The robot's nucleus included the main controller board and batteries. There are 5 driver motors which are wholly in a metal container that just designed for this robot. 2 of MX-64 motors are in the bottom and 2 of MX-64 are at the top of the pelvis. Also in this new robot for a soft and better motion, 1 motor of MX-106R has been placed in the middle of it. (Totally five degree of freedom)
Arms
Two MX-28 actuators have been used in each arm (each one with 2 DOF). New arms are able to be equipped with palm in order to pick up ball easily.
Head and neck
Head and neck of robot totally consist of two actuators which one of them rotate around the vertical axes and the other around the horizontal axes (two degree of freedom).
Legs and feet
Each robot's legs have 5 MX-106R driver actuators: 2 of them related to the motion of ankle (2 DOF), one for the motion of knee (1 DOF) and the two others for pelvis (2 DOF). The robot's feet are designed in a way that it can hit the ball easily and therefor the robot can reach a higher level of stability.
2.2 Mechanical Structure
In order to increase speed, stability and decrease battery consumption we've designed a new structure. In our new structure we've reached some advantages such as more stability by adding an extra actuator in torso part to control stability, high speed movements by using high torque servo motors, Increase kicking distance by designing a proper weight and shape foots.
2.3Electronics& Sensors
In order to implement stabilization algorithms and determine opponentgoalorientation, recently anInertial Measurement Unit (IMU) andAttitude and Heading Reference System (AHRS) is developed by the team members and published as an open source project named PRO-IMU [7]. It's fully compatible with Dynamixel communication protocol and uses Madgwick sensor fusion algorithm [8]. The sensor module is MPU-9150, a9DOFintegrated motion processing unit produced by Invensense [9].
3-Software Design
3.1 Vision Module
in order to let the robot know it's surrondings, it's location in match field, detecting the ball and finding out the goal's location we use the following vision module:
By sampling the objects in the field and gathering their color in a table we make our base color system and then we use algorithms like circle detection,… to improve the accuracy in detecting the ball and goal figure 4: (Real Frame,Object Processing).
To ensure that the objects are in the field or not we set a filter, the filter checks at least 50 % of the background color and detects the field.
This filter draws a rectangle among the object and compares the resoulotion of inside and outside of the rectangle (and that way the robot can verify that whether the object is inside or outside of the field figure 4: On Field Filter).
We are currently using EmguCV (a cross platform .Net wrapper to OpenCV image processing library [10] to capturing and processing images with approximately processing 29 frames per second .
We have used HSV colour space rather than RGB colour space, "because the R, G, and B components of an object's color in a digital image are all correlated with the amount of light hitting the object, and therefore with each other, image descriptions in terms of those components make object discrimination difficult. Descriptions in terms of hue/saturation/value or hue/saturation/intensity are often more relevant." [11]
3.2 Motion Management
Motion Manager and Walk engine fully designed and developed by Parand robotic software team using Microsoft C# language.It has three main sections as described below:
3.2.1 Motion Editor
"Static motions enable humanoid robots to solve static problems where a dynamic solution would not provide noteworthy benefits." [12] Says,"The most popular technique to create static motions for humanoid robots is keyframing. Since a key frame motion defines many joint angles, tools for the design of key frame motions should support the motion designer to deal with them."
Since former team memberswere using RoboPlus motion editor to design keyframes, we've decided to implement a motion editorinspired from Robotis motion editor and aimed to have all functionalities (managing Pages and Steps, On/Off, Mirror, Etc.) that RoboPlus has[13].
We use the motion editor to create predefined motion patterns like Stand Style, Kick, Stand Up, and Block.
3.2.2 Walk Engine
"Omnidirectional locomotion is a concept that has proven to be advantageous in dynamic environments and in restricted spaces. The ability to move into any direction, irrespective of the orientation of the vehicle, and to control the rotational speed at the same time has advantages in many domains." [14]
Over last two years we were using a 4 phase COM shiftingomnidirectional walking pattern generationapproach. As walking speed is a critical feature in match, this year we've managed to implement Darwin-OP walk engine and replace it with former walk engine in our C# code base [15].Fortunatelywe've successfully integrated this walk engine on our robot platform.
3.2.3 Stabilization
As mentioned in the introductions of [16], "Balance control is an important topic for humanoid robotics and is becoming increasingly necessary for humanoid robots that must function within a human-centric environment. Regardless of the quality of bipedal locomotion, a humanoid robot must still be prepared for unexpected perturbations that could throw it off balance. These events are unpredictable and potentially unavoidable; therefore, it is necessary to have robust controllers for balance maintenance and recovery."
This year we've implemented initial version of Arm, Hip and Ankle strategies in order to improve stability during walk, unpredictable disturbance andcollisions.
3.3 Behavior Control
Figure 6 shows our Striker Robot simple Finite State Machine that implemented using Microsoft Workflow Foundation.
3.3.1 Communication
Recently we have implemented teammate communication in order to avoid collision while both robots are approaching the ball. This means both robots are aware of their distance from ball and share it via Wi-Fi and when both robots are approaching the ball, the robot that has much more distance from ball, stops and the other one continue his way. If the nearest robot fall down or lose the ball, the other one also continue the game. By using this approach, robots do not disturb each other during the match. Furthermore they also cover each other.
References
[1] RoboCup Humanoid League ,available at http://www.tzi.de/humanoid/ . Last accessed 30th April 2014. [2] ROBOTIS Co. , Bioloid Premium Kit Specifications available at http://www.robotis.com/xe/BIOLOID_Premium_en. Last accessed 30th April 2014. [3] http://2013.iranopen.ir/Default.aspx?tabid=209&language=en-GB [4] Quanmax Inc., QutePC-4000 Series , available at http://www.quanmax.com/en/products-detail.php?num=124. Last accessed 30th April 2014. [5] Logitech C905 Webcam available at http://www.logitech.com/en-sg/product/5868,. Last accessed 30th April 2014. [6] ROBOTIS Co. ,Characteristics of Dynamixel,available at http://www.robotis.com/xe/dynamixel_en,. Last accessed 30th April 2014. [7] Ahmad Amiri , February 2014, PRO-IMU Code Release available at https://github.com/ahmad-amiri/PRO-IMU/. Last accessed 30th April 2014. [8] Sebastian O.H. Madgwick ,April 2010, "An Efficient Orientation Filter For Inertial and Inertial Magnetic Sensor Arrays" [9] InvenSense , MPU-9150 Nine-Axis (Gyro + Accelerometer + Compass) MEMS MotionTracking™ Device,available at http://www.invensense.com/mems/gyro/mpu9150.html. Last accessed 30th April 2014. [10]EmguCv Library Documentations and Wiki available at http://www.emgu.com/wiki/index.php/Main_Page. Last accessed 30th April 2014. [11]Wikipedia , Last Update April 2014 , HSV and HSL , available at http://en.wikipedia.org/wiki/HSL_and_HSV. Last accessed 30th April 2014. [12]Simon Philipp Hohberg, "Interactive Key Frame Motion Editorfor Humanoid Robots" -FreieUniversität Berlin,February2012 [13]Robotis Co. Robotis E-Manual 1.7 , RoboPlus Motion Editor Software , available at http://support.robotis.com/en/software/roboplus/roboplus_motion_main.htm , . Last accessed 30th April 2014. [14]Sven Behnke, "Online Trajectory Generation for Omnidirectional Biped Walking" , Online Trajectory Generation for Omnidirectional Biped Walking (ICRA'06), pp. 1597-1603, May 2006 [15]Robotis , Last Update 2014-01-09 , DARwIn-OP Code Release available at http://sourceforge.net/projects/darwinop/ [16]Masaki Nakada, Brian Allen, Shigeo Morishima, DemetriTerzopoulos , "Learning Arm Motion Strategies for BalanceRecovery of Humanoid Robots" , International Conference on Emerging Security Technologies , 2010