Baset Adult-Size 2015 Team Description Paper

Vahid Mohammadi, Mojtaba Hosseini, Farhad Jafari, Hafez Farazi, Dr. Esfandiar Bamdad

Humanoid Robotic Laboratory, Robotic Center, Baset Pazhuh Tehran cooperation, No383, Jalale-ale-ahmad Ave., Tehran, IRAN, P.O. Box 14636-75871

http://robot.basetp.com


Abstract This document introduces Baset Humanoid team for participating in Humanoid Adult-Size League in RoboCup 2015. Our humanoid adult-size team is mainly based on our team member's previous developments and experiences in Baset Teen-Size [1] team, which ranked 1 st in humanoid Teen-Size and ranked 3 rd in humanoid Kid-Size at RoboCup 2015 (Joao Pessoa, Brazil). Our main research interests within the scope of the humanoid robots are robust real-time vision and object recognition, localization, navigation, and human interaction.

1. Introduction

Baset Adult-Size is a humanoid robot team participating in RoboCup 2015. In Baset Pazhuh Tehran cooperation, which is a well-known company in electronic devices, a new R&D section has been created in order to study some advanced robotics subjects like: biped locomotion, human interaction, multi robot cooperation, etc. The goal of this section is to build some advanced robot that will be useful in many research laboratories, universities, and even industries. In Robocup 2014 Baset Team ranked 1st in Teen-Size league and 3rd in Kid-Size league, and also ranked the third best humanoid robot in the RoboCup 2015. In Iranopen 2014 Baset Team ranked 1st in Teen-Size league and 2nd in Kid-Size league.

2. Hardware and Electronics

Baset Adult platform Mechanical structure is depicted on Figure 1, is based on Baset Teen-Kid structure. Currently, we are using a scaled version of our 2014 Baset Teen-Kid platform.

There have been used 6 actuators on each leg, 3 on each arm and 2 in the neck. The actuators in the neck are the fastest ones.

The Robot Configuration has been shown in Table 1.

In order to have a sense of stability on the robot, there has been used a 9DOF IMU sensor which is produced by one of our team member using RMG-146 as the raw sensor input. This product is available on the market with GN-MPU trademark [3]. This Board is shown in Figure 2.

As the Main processor uses a soft-real time operating system, a central board has been designed and produced by our team, which reads the actuators' information in 100HZ using multiple communication port for each limb. This Board is depicted in Figure 3. There is a closed-loop controller on this board, which controls each actuators in desired position. This board provides us a table for required information about all the actuators, which is used for calculating Forward kinematics [4].

Figure 1. Baset Adult-Size Platform
Figure 1. Baset Adult-Size Platform
Figure 2. 9DOF IMU
Figure 2. 9DOF IMU
Figure 3. Central Board Unit
Figure 3. Central Board Unit

Table 1. Hardware Configuration

Robot System Baset
Weight ~14 KG
Height 150 CM
DOF 20
Actuators Mx-106, Mx-64, Mx-28
Vision System Logitech C905 640x480 @ 30 fps
Processing unit Quan max Core-I 1.8GHz [2], 2 GB DDR3 memory, 64 GB SSD
OS Windows 8.1
Battery Li-Po 14.8 V 5000 mA

3. Software

3.1 Motion and Control

Developing a fast and stable walk engine and easy to develop static motion designer is the main concern in this module. Our walk engine is Omni-directional and working in different speeds.

This module is based on the foundation of our written Motion and control module at Team Baset Teen-Size [1]. In this module we are using a trajectory learning approach that was trained on NAO robot in simulation [5]. Figure 4 depicted one of the best generated trajectory.

After the learning period, the generated trajectory is tuned by hand and is used on Baset robot. Beside of the trajectory generator in walk engine there is a stabilizer unit. The main purpose of this unit is to increase the walk speed of the robot without decreasing its stability. To achieve this purpose a push recovery method is used to avoid external forces affecting robot's stability, this feature plays an important role to keep robots standing when colliding to the other robots or obstacles.

This module provides some outputs like forward kinematics of all joints for other modules including perception. This forward kinematic calculation is done using the central electronic (Figure 3) circuit and DH algorithm. Besides, extrinsic camera matrix is calculated in this module.

After each gait step, this module provides odometry data for localization module.

Figure 4. Walking gait screenshots [5]
Figure 4. Walking gait screenshots [5]

3.2 Perception

As the main perception sensor in humanoid league is the camera, and as in this year of competition, all field features and landmarks are color-coded, our team designed an intelligent growing color table using the HSV color system. By using a simple contour detection algorithm [6] [7] on binary images, we extract ball and goals from the captured image. One of the most important features for localization, are lines so first the image is binarized using the color table, second a field boundary is calculated, then the greenwhite-green points are extracted from the binary images finally a customized low computational cost method using RANSAC algorithm [8] is used to extract line segments. After extracting line segments some features, including X feature (which is a two crossing segments), T feature, and L features, could be detected using the calculation of exterior line angle. For camera calibration process, we use the chessboard calibration method provided by OpenCV [9].

To locate each object in real self-coordinating system, we need the DH parameters and extrinsic camera matrix provided in real time by motion module 3.1.

3.3 Localization

A good and robust localization method is the key to succeed in humanoid league. We had implemented and tested many localization techniques including Kalman filter and Auxiliary Particle but finally we decided to use a Sample importance resampling method due to its simplicity and low computational cost. We solve the localization problem by using 110 particles, which are remain by the probability proportional to their weights. For calculating each particles weight, we use a Gaussian function on distance and orientation [10].

To solve the global localization problem with solving kidnaped robot problem, we use sensor-reset technique [11] and we spread 10 random particles in the field. For tracking robots position, we use the dead reckoning data provided by the motion module 3.1. Localization output is depicted in Figure 5.

Figure 5. Initial particles (Left) and after conversion to one location (Right)
Figure 5. Initial particles (Left) and after conversion to one location (Right)

3.4 Auto Positioning System

As in the Robocup 2015 rules [12], some penalties were assigned to team with manual positioning, the auto positioning module were developed in order to not only take advantages of the rules but also providing us some options to modify the game strategy.

3.5 Path Planning

One of the best and simple algorithm that have a minimum computational cost in soccer field is Artificial Potential Field algorithm, this algorithm makes use of some repulsive and some attractive forces. In order to avoid collision between a robot and other robots or obstacles, we use APF method [13].

References

  1. Hafez Farazi, Mojtaba Hosseini, Vahid Mohammadi, Farhad Jafari, Donya Rahmati, and Dr. Esfandiar Bamdad "Baset Teen-Size 2014 Team Description Paper" 2014.
  2. "MaxData Co.," [Online]. Available: http://www.maxdata.de.
  3. "Pishrobot Official website," [Online]. Available: http://www.pishrobot.com/products/roboard.htm.
  4. Hartenberg, Richard S and Denavit, Jacques, "Kinematic synthesis of linkages," McGraw-Hill New York, 1964.
  5. Hafez Farazi, Farzad Ahmadinejad, Farhad Maleki and M.E Shiri, "Evolutionary approach for developing fast and stable offline humanoid walk," AI & Robotics and 5th RoboCup Iran Open International Symposium (RIOS), 2013, April 2013.
  6. Suzuki, Satoshi, "Topological structural analysis of digitized binary images by border following," Computer Vision, Graphics, and Image Processing, 1985.
  7. "OpenCv Official Documentation site," [Online]. Available: http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shap e_ descriptors.html?highlight=findcontours#findcontours.
  8. Bolles, Martin A. Fischler and Robert C., "Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography," 1981.
  9. "Camera calibration With OpenCV," [Online]. Available: http://docs.opencv.org/doc/tutorials/calib3d/camera_calibration/camera_cal ib ration.html.
  10. H. Strasdat, M. Bennewitz, , S. Behnke, and S. Behnke, "Multi-cue localization for soccer playing humanoid robots," 10th RoboCup International Symposium, 2006.
  11. Coltin, Brian and Veloso, Manuela M, "Multi-Observation Sensor Resetting Localization with Ambiguous Landmarks.," 2011.
  12. [Online]. Available: http://www.robocuphumanoid.org/wpcontent/uploads/HumanoidLeagueRules2015_DRAFT_20141205-withchanges.pdf. [Accessed 8 2 2015].
  13. O. Khatib, "Real-time obstacle avoidance for manipulators and mobile robots," The international journal of robotics research, vol. 5, pp. 90--98, 1986.