Baset Adult-Size 2016 Team Description Paper
Mojtaba Hosseini, Vahid Mohammadi, Farhad Jafari, Dr. Esfandiar Bamdad
Humanoid Robotic Laboratory, Robotic Center, Baset Pazhuh Tehran company. No383, Jalale-ale-ahmad Ave., Tehran, IRAN. P. O. Box 14636-75871.
http://robot.basetp.com · http://www.basetp.com
Abstract This document introduces team Baset participating in Humanoid Adult-Size league in RoboCup 2016 and describes the hardware, software and electrical design of Baset Adult-Size robot platform. The new robot is designed based on previous achievements of teams Baset Adult-Size [1] and Baset Teen-Size [2] which ranked respectively 2nd in RoboCup 2015 Adult-Size and 1st in RoboCup 2014 Teen-Size leagues. The researches in team Baset are mainly about humanoid robot and its different aspects such as robust object recognition, localization, navigation, and human interaction.
Keywords: RoboCup 2016, Humanoid, Perception, Localization, Path Planning, Walk Engine.
Introduction
Team Baset Adult-Size which started its activities at R&D section of Baset Pazhuh Tehran company, is participating in the Humanoid Adult-Size league for the second time. This team ranked 2nd in RoboCup 2015 Adult-Size league and 1st in the technical challenges of the same year and league. The team Baset has also previous experiences in Humanoid Teen-Size and Kid-Size leagues during which ranked 1st in Teen-Size and 3rd in Kid-Size league in RoboCup 2014 and also introduced its first Teen-Kid humanoid robot platform.
In this year of competitions, the team Baset consists of four team members working on different aspects of the humanoid robot. These members have sufficient knowledge of rules and would be happy to act as referees. Team Baset reminds that is committed to participate in RoboCup 2016 Humanoid Adult-Size League Competition.
Hardware and Electronics
The Mechanical structure of Baset Adult-Size platform which is depicted on Figure 1, is a parallel structure designed with 6 degrees of freedom for each leg.
The total of 13 actuators has been used to construct each leg. In order to achieve both speed and power, there has been used 4 actuators working together alongside a spring in each knee joint, 2 actuators working together alongside external power transfer gears in each hip-roll and ankle-roll joints, and 1 actuator alongside an external gear in each hip-yaw joint. Each arm has two degrees of freedom.
The robot's weight is an important aspect in this project, so all the mechanical parts are constructed from aluminum alloy which makes the total weight of the robot as light as 16 kilograms. The Robot Configuration has been shown in Table 1.
The BeagleBone Black (known as BBB) board has been used with Ubuntu OS for low level tasks such as controlling and synchronizing actuators on every joint in at least 100Hz, and reading accelerometer, gyroscope, and magnetometer sensors.
To communicate with actuators 3 individual RS-485 ports has been used, one for hands and neck and the other two for legs. A table of all required information and events about actuators and sensors is produced with this board and is available for the main computer via the communication interface over Ethernet using UDP packets which makes a robust and fast communication. Figure 2 depicts The electrical design of Baset robot.
Hardware Configuration
| Robot Spec | Baset Adult-Size |
|---|---|
| Weight | ~16 KG |
| Height | 148 CM |
| DOF | 18 |
| Actuators | Mx-106, Mx-64, Mx-28 |
| Vision System | Logitech C905 640x480 @ 30 fps |
| Processing unit | Intel NUC [3] |
| BeagleBone Black Rev C [4] | |
| OS | Windows 10 |
| Ubuntu 14.04 | |
| Battery | Li-Po 3Cells / 6400 mAh |
Software
This section covers the software components of the Baset Adult-Size robot.
Motion and Control
The algorithms to develop a fast and stable walk engine is based on our previous success on Teen-Size and Adult-Size robots. Due to the use of parallel structure and multiple actuators for each joint, we had to make some modifications on the algorithm.
Combining all actuators' data in each joint, and changing the inverse and forward kinematics helped the previous algorithms to work on the new robot. The parallel structure also led to a more stable motions performing on the robot. The developed walk engine is Omni-directional and works with different speeds while keeping its balance.
By tuning the walking trajectory for the parallel structure on Baset robot we achieved walking speed of 30 centimeters per second. Figure 3 depicts the enhanced generated trajectory on Baset robot. Besides the trajectory generator there is a stabilizer unit in the walk engine with the purpose of increasing 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 the robot standing when colliding to the other robots or obstacles.
A fast communication interface over Ethernet has been developed in order to access the whole or partial data of objects on BBB board, such as forward kinematics of all joints, and use them for the walk engine, static motions, and perception. In order to increase localization precision there are some ongoing attempts to achieve better odometry results.
Perception
In Humanoid Adult-Size league obstacles and goal keeper detection plays a major role to win the competition. In order to achieve this purpose, instead of using the usual mono vision, a stereo vision is going to be used which makes the opportunity to get better percepts of goal poles, obstacles, and the opponent's goal keeper.
To locate each object in real self-coordinating system, the DH parameters and extrinsic camera matrix provided by motion module has been used. Lines are detected by a customized low computational cost method using RANSAC algorithm [5].
To calibration the cameras, the chessboard calibration method [6], provided by OpenCV, has been used.
Ball Perception. As of RoboCup 2015 the standard soccer ball is being used in the Adult-Size league. In order to percept the ball, using a growing color table and a simple contour detection algorithm [7] [8] on the binary image, the potential spots are detected first, then these spots are compared to the ball and a confidence value is calculated.
There has been used 3 algorithms to determine how much each spot resembles the ball. Each algorithm calculates the confidence value using its specific Gaussian filter which reduces the effect of noises. By combining these confidence values according to their importance, each spot's overall likelihood to be a ball is calculated. The algorithms are as following:
- The size of the spot is compared to the size of the real ball.
- The best matching circle is detected using OpenCV Hough Circle Transform [9] and its radius is compared to the actual ball's radius.
- Using Correlation Histogram Comparison algorithm [10] with 32 beans all three HSV color channels of the spot is compared to the previously trained colors of the real ball. This algorithm's output has more importance than the other two when combining them to get the overall confidence.
There is an ongoing research in the team Baset to use stereo camera's depth image to achieve more robust ball perceptions.
Localization
A good and robust localization method is the key to succeed in humanoid league. To localize the robot, there has been used the Sample Importance Resampling method due to its simplicity and low computational cost. The localization problem has been solved by using 110 particles, which are living by the probability proportional to their weights. For calculating each particles weight, a Gaussian function has been used on distance and orientation [11].
To solve the global localization problem with solving kidnaped robot problem, the sensor-reset technique [12] has been used by spreading 10 random particles in the field. For tracking robots position, the dead reckoning data provided by the motion module has been used. Localization output is depicted in Figure 4.
Path Planning
One of the best and simple algorithms that have a minimum computational cost in soccer field is Artificial Potential Field algorithm, this algorithm makes the use of some repulsive and some attractive forces. In order to avoid collision between a robot and obstacles, the APF method [13] has been used.
References
- Mohammadi, Vahid, Mojtaba Hosseini, Farhad Jafari, Hafez Farazi, and Esfandiar Bamdad. "Baset Adult-Size 2015 Team Description Paper."
- Farazi, Hafez, Mojtaba Hosseini, Vahid Mohammadi, Farhad Jafari, Donya Rahmati, and Esfandiar Bamdad. "Baset Teen-Size 2014 Team Description Paper." (2014).
- Intel NUC Mini Personal Computers http://www.intel.com/content/www/us/en/nuc/overview.html
- BeagleBone Black development platform http://www.beagleboard.org/BLACK
- Fischler, Martin A., and Robert C. Bolles. "Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography." Communications of the ACM 24, no. 6 (1981): 381-395.
- Camera Calibration with OpenCV http://docs.opencv.org/doc/tutorials/calib3d/camera_calibration/camera_calibration.html
- Suzuki, Satoshi. "Topological structural analysis of digitized binary images by border following." Computer Vision, Graphics, and Image Processing 30, no. 1 (1985): 32-46.
- OpenCV Official Documentation Site http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=findcontours#findcontours
- Hough Circle Transform by OpenCV http://docs.opencv.org/2.4/doc/tutorials/imgproc/imgtrans/hough_circle/hough_circle.html
- Histogram Comparison Algorithms by OpenCV http://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/histogram_comparison/histogram_comparison.html
- Strasdat, Hauke, Maren Bennewitz, and Sven Behnke. "Multi-cue localization for soccer playing humanoid robots." In RoboCup 2006: Robot Soccer World Cup X, pp. 245-257. Springer Berlin Heidelberg, 2006.
- Coltin, Brian, and Manuela Veloso. "Multi-observation sensor resetting localization with ambiguous landmarks." Autonomous Robots 35, no. 2-3 (2013): 221-237.
- Khatib, Oussama. "Real-time obstacle avoidance for manipulators and mobile robots." The international journal of robotics research 5, no. 1 (1986): 90-98.