Team Parand Kid/Teen Humanoid Team Description Paper <RoboCup2016 Humanoid Kid/Teen Size Robot League>

Ahmad Amiri, Farzad Nadiri, Omid Mohammadi, Masoud Kazemi, Siroos Alizadeh, Rahman Barooj

Department of Computer and Mechanic Engineering, Parand Islamic Azad University, Parand, Tehran, Iran

http://www.teamparand.ir/


Abstract This paper is written to introduce Team Parand in international Robocup2016 competitions which will take apart in Germany.The document will give brief information about this team researches in hardware and software field.During the current year team worked on implementing acurate localization techniques, 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 Team Parand managed to reach the second place using 3 pre-made Bioloid 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. Further more team Parand participated in Robocup2014 in Teensize league and took the Third place. It is important to mention that, this team partciapted in Robocp2015 competitions and achieved the championship of Teen-Size league[3].

Diako Humanoid General Specifications

weight 8kg
height 105cm
Processing Unit QutePc3023 1.6 GHz processor[4]
Degrees of Freedom 20 DOF
Actuators MX-64, MX-106R, MX-28
Camera Logitech C905[5]
Batteries Li-Po 18.5
Operating System Windows 8.1
Parand Teen/Kid Humanoid named
Parand Teen/Kid Humanoid named "Diako"

2-HardwareDesign

Hardware design for the Parand humanoid robots.

2.1 Actuators

The actuators used in Parand robots are Dynamixel servomotor family produced by Robotis [6]. These kinds of actuators have many advantages, such as:

  1. Adjustable position control.
  2. High-speed serial communication.
  3. Many calculated parameters like actuator load and temperature

Body

The body is included the main proccessor, inertia measurment unit board and batteries. There are 5 actuators which are included in a metal container individually designed for the robot. A couple of MX-64 actuators are placed in the bottom and two other MX-64 are placed at top of the pelvis.

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

Due to increase speed, stability and decrease battery consumption a new structure is designed. In new structure , some advantages are reached 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.3 Electronics& Sensors

In order to implement stabilization algorithms and determine opponent goal orientation, recently an Inertial Measurement Unit (IMU) and Attitude 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, a 9DOF integrated motion processing unit produced by Invensense [9].

C905 Logitech Webcam
C905 Logitech Webcam
MPU-9150 sensor module
MPU-9150 sensor module

3-Software Design

Software design for the Parand humanoid robots.

3.1 Vision Module

Due to let the robot know it's surrondings, it's location in match field, detecting the ball and finding out the goal's location the following vision module is used:

By sampling the objects in the field and gathering in a color table and then algorithms like circle detection,etc are used to improve the accuracy in detecting the ball and goal figure 4: (Real Frame,Object Processing).

To ensure wehther objects are inside the field or not as filter is defined to 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.

Due to major changes in Robocup2015 rules specially in case of environment colors ( ball , goal , etc ) precise localisazion mechanism is needed in order to have an inteligent robot. So major efforts focused on improving vision system.

As the fisrt step in localisation, field features(L,T,X) detection is impelemented using Hough transform to detect lines with same directions and merge them as a single line then line directions is compared to detect features.

To capturing and processing images EmguCV (a cross platform .Net wrapper to OpenCV image processing library [10] is used in robot software with approximately processing 29 frames per second .

HSV colour space is used 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]

field features detection
field features detection

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 members were using RoboPlus motion editor to design keyframes, implementation of a motion editor inspired from Robotis motion editor and aimed to have all functionalities (managing Pages and Steps, On/Off, Mirror, Etc.) that RoboPlus has[13] decided.

The motion editor is used to create predefined motion patterns like Stand Style, Kick, Stand Up, and Block.

Further more Bezier curves is used to produce smoother and cosequently more human-like motions in action.

User friendly interface of Parand Motion Editor
User friendly interface of Parand Motion Editor

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 team Parand was using a 4 phase COM shifting omnidirectional walking pattern generation approach. As walking speed is a critical feature during the match, Darwin-OP walk engine is implemented and replace it with former walk engine in C# code base [15].Fortunately the the walk engine successfully integrated on robot platform.

3.2.3 Stabilization

"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." [16]

In order improve stability during walk, unpredictable disturbance and collisions initial version of Arm, Hip and Ankle strategies are implemented and integrated with the new walk engine successfully.

3.3 Localization

As robots are become more intelligent and perform faster and also due to major changes in rules in recent years, to estimate position and orientation of robot, implementing an accurate and robust localization algorithm is became necessary and fundamental.

"The Monte Carlo Localization algorithm allows a robot to probabilistically determine its location based on its drive commands and sensor measurements provided a map of the environment is available".[17]

"Whenever the robot moves, it shifts the particles to predict its new state after the movement. Whenever the robot senses something, the particles are resampled based on recursive Bayesian estimation, i.e. how well the actual sensed data correlate with the predicted state. Ultimately, the particles should converge towards the actual position of the robot". [18]

The Monte Carlo Localization is almost implemented on the robots as shown in figure below.

Monte Carlo Localization with sample data
Monte Carlo Localization with sample data

3.4 Behavior Control

Figure 6 shows our Striker Robot simple Finite State Machine that implemented using Microsoft Workflow Foundation.

Simplified striker robot behavior state machine
Simplified striker robot behavior state machine

3.3.1 Communication

Recently teammate communication is implemented 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 https://www.robocuphumanoid.org/ . Last accessed 26th January 2016. [2] ROBOTIS Co. , Bioloid Premium Kit Specifications available at http://www.robotis.com/xe/BIOLOID_Premium_en. Last accessed 26th January 2016. [3] https://www.robocuphumanoid.org/hl-2015/results/. Last accessed 26th January 2016 [4] Quanmax Inc., QutePC-4000 Series , available at http://www.quanmax.com/en/products-detail.php?num=124. Last accessed 26th January 2016. [5] Logitech C905 Webcam available at http://www.logitech.com/en-sg/product/5868. Last accessed 26th January 2016. [6] ROBOTIS Co. ,Characteristics of Dynamixel,available at http://www.robotis.com/xe/dynamixel_en. Last accessed 26th January 2016. [7] Ahmad Amiri , February 2014, PRO-IMU Code Release available at https://github.com/ahmad-amiri/PRO-IMU/. Last accessed 26th January 2016. [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 26th January 2016. [10] EmguCv Library Documentations and Wiki available at http://www.emgu.com/wiki/index.php/Main_Page. Last accessed 26th January 2016. [11] Wikipedia , Last Update April 2014 , HSV and HSL , available at http://en.wikipedia.org/wiki/HSL_and_HSV. Last accessed 26th January 2016. [12] Simon Philipp Hohberg, "Interactive Key Frame Motion Editorfor Humanoid Robots" –Freie Universitä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 26th January 2016. [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 [17] Dr. Rainer Hessmer, 25 July 2006, Monte Carlo Localization for Robots http://www.hessmer.org/news/5/31/Monte-Carlo-Localization.html Last accessed 26th January 2016. [18] Wikipedia , Last Update 19 April 2015, Monte Carlo localization, available at https://en.wikipedia.org/wiki/Monte_Carlo_localization. Last accessed 26th January 2016.