CIT Brains (Adult Size League)
Hideaki Minakata, Yasuo Hayashibara, Kiyoshi Irie, Naoaki Hatakeyama, George Tsukioka, Daiki Maekawa, Yasufumi Suzuki, Taiichiro Mashiko, Yusuke Ito, Kazuyoshi Makisumi, Ryu Yamamoto, Masayki Ando, Yu Kato, Takanari Kida, Yuhdai Suzuki, Nung Duk Yun, Shouta Hirama, Yukari Suzuki, Chisato Kasebayashi, Akira Tanabe, Akira Kudo, Youta Seki, Moeno Masuda, Yuya Hirata, Yuuki Kanno, Tomotaka Suzuki, Joshua Supratman, Kosuke Machi, Shigechika Miki, Yoshitaka Nishizaki, Kenji Kanemasu, Hajime Sakamoto
Chiba Institute of Technology, 2-17-1 Tsudanuma, Narashino, Chiba, JAPAN; Sagawa Electronics, Inc., Matsudo, Chiba, JAPAN; Miki Seisakusyo Co, Ltd., 1-7-28 Ohno, Nishiyodogawa, Osaka, JAPAN; Nishizaki Co, Ltd., 1-7-27 Ohno, Nishiyodogawa, Osaka, JAPAN; Yosinori Industry, Ltd., 1-1-7 Fukumachi, Nishiyodogawa, Osaka, JAPAN; Hajime Research Institute, Ltd., 1-7-28 Ohno, Nishiyodogawa, Osaka, JAPAN
Abstract In this paper we describe our system for the RoboCup Soccer adult size humanoid league. The system we designed has some features such as high mobility, well-designed control system, position estimation by one camera and user-friendly interface. The robot can walk speedily and robustly. It also has a feedback system with gyro sensor to prevent falls. The robot has two control boards. One is for body control and another is for image recognition, behavior determination and so on. The latter CPU board is a standard PICO-ITX embedded personal computer. The robot detects the positions of landmarks by image processing. From the positions, the robot can also estimate own position by using a particle filter.
Keywords: high mobility, user-friendly interface, education tool
Introduction
In this paper, we describe on our system for the RoboCup soccer adult size humanoid league. Our robot is well designed and controlled robustly. Our team members are specialists from some technological areas. We integrate our technologies for developing an intelligent humanoid robot. Hajime Research Institute developed the mechanism and control system of the robot. Chiba Institute of Technology developed computer system and overall intelligence such as image recognition and soccer algorithm. Remarkable topic is that the most of members are undergraduate students. Through this development, the professors try to make an educational and research platform robot system of intelligent humanoid. Undergraduate students programmed almost all of behavior decision algorithm heuristically.
Our team members are specialists from some technological areas. Undergraduate student programs almost all of behavior decision algorism heuristically. The kid size robot "accelite" received 1st prize for soccer game in 2014. The teen size robot "xega" receive 2nd 2009, 2010, 2012, 2013, and also received 1st prize for soccer game in prize for technical challenge in 2010. Our team is planning to make brand new robots for Robocup2016. We are also planning to attend adult size league. Therefore we modified the teen size robot to the adult size this year to gather the data of human-size robot. The new leg and neck parts were made for this size-up.
Mainly, Hajime develops those robots and he/she use same control board. So, we can control those different size robots with same command system. It enables to decrease the cost to develop the system. We can apply almost same program to them. Furthermore, his robots perform high mobility and stability. The normal speed is approximately 0.4m/s. It can also walk to any direction and angle smoothly. For stable walking, it has gyro sensor. The robot has two CPUs. One is used for body control, and another is used for image recognition, behavior determination and so on.
Overview of the System
The photograph of our robot is shown in Fig.1. The specification of the robot is indicated in the Table 1. The overview of the control system is shown in Fig. 2. Our robot system consists of a camera, computers, sensors, servomotors, batteries and some user interfaces such as switch and LED. The camera sends image signal to the main CPU board. The signal is captured and stored in frame buffer memory. The CPU processes the image data to detect positions of ball, robots and landmarks. From the landmarks' positions, the robot can also estimate its own position by using a particle filter. From these data, the robot selects a next behavior. The behaviors that we can choose are not only just simple moving, but also complex task like following the ball. We prepare some behaviors. The action command is sent to sub CPU via RS232C network. The CPU decodes and executes the command. It sometimes returns the status data to the main CPU. If the command is a kind of moving the body or checking a status, the sub CPU sends a command to servomotor via RS485 network. Each servomotor has own CPU to control motor and receive/send commands. Because all servomotors are daisy-chained, the command is sent to all motor. The command includes ID number, so the servomotor can identify the command to which is sent. The servomotor decodes and executes the command. The displacement angle is controlled in local motor unit. The sub CPU should not send commands at short intervals. In total, this system is constructed as a well-designed hierarchic system and therefore, we can modify the system easily.
Table 1. Specification of the Robot
| Weight | 13.0 kg (Including Batteries) |
|---|---|
| Height | 1400 mm |
| Velocity (Forward) | 0.4 m/s (maximum) |
| Walking Directions | All direction and rotation |
| (Select the angle, stride, period and so on) | |
| CPU Board | Main: COMMEL LP-170 (Intel Atom D525 1.8GHz) |
| Sub: Hajime Robot HC5 (Renesas SH-2A/7211) | |
| OS | Windows 7 |
| Interface | Ether(100Base-TX) x 1, USB x 1(USB-wireless LAN), |
| CF x 1, RS232C x 2, Sound In/Out, Digital I/O, etc | |
| Servo Motor | Vstone VS-SV3310 x 6, VS-SV1150 x 10 |
| , ROBOTIS RX-28 x 1 | |
| Battery | Ni-MH 7.2V x 2 |
Mobility
We apply parallel mechanism to the legs. Through this mechanism, the stability of walk becomes much better as well as the number of servomotors also decreased comparing to the previous robot. At the neck and shoulder, energy-absorbing mechanism are applied. Even if the robot falls, the camera and body may be not broken.
Computer System
One of significant feature of the robot is the high computational capability. The robot is capable of processing VGA (640x480) images 20 frames per a second. The CPU is Atom D525 and the operating system is Microsoft Windows 7. It processes the image data, estimates the positions and determines the behavior. After these processes, it sends a command to sub CPU board for controlling the robot. Moreover, it was possible to develop easily by adopting Linux that was accustomed to the operation and installing the development setting and to do.
Image Processing and Position Estimation
As mentioned above, the computer processes the image data of 20 frames per a second. The resolution of the images can be selected from either 640x480 or 320x240. By simple image processing, it can detect the region of the same color. According to those data, it calculates the positions of ball, robots and landmarks. The position and direction of camera is calculated by inverse kinematics. The result is send and displayed on a PC. The example of the calculation is shown in Fig.3. Before this image processing, we should input the threshold of the color. We made an interface to input the value smoothly. The operator can change the value on GUI interface and check the effectiveness of the values immediately.
By measured positions of landmark, the position of the robot is estimated. We apply a particle filter to estimate it. It is shown in Fig. 4. If the robot detects the landmarks, the particles gather and bundle to collect position like the figure. The accuracy of the estimated position is not enough the goalkeeper to move home position. Then, we are now trying to detect the white line to reduce the position error.
Strategy Development Environment
We develop a user-friendly interface for strategy development environment. The programmer can check many kind of thing in this interface. This interface is provided as following.
[output]
- simple command to sub CPU (the command can also generate by joystick, mouse and keyboard)
- threshold of color (its effectiveness can be check immediately)
- strategy name like forward and keeper (it select the program in robot
- fight side and our color
[input]
- image data (It is possible to display the result of image processing)
- detect and estimate positions (It is indicated graphically and saved in storage.)
- command to sub CPU (We can check the algorism)
- message (If the programmer want to know the robot status, he/she can insert the message in the program. It is also saved in storage)
- color values (We use the YUV color value.)
These are example of input/output data. More data is interacted on this interface. Using this interface, the programmer can check the algorism easily. He/She can refer almost all data, so he/she can find the problem smoothly.
Spring Elements for Leg
As mentioned above, the original robot was teen size. The neck and leg parts were modified to extend the height and leg length. The spring elements will be attached to the link mechanism of leg for assist of knee joint. The numerical calculation was done for this trial. The discussion about potential energy and spring energy was done. Fig. 5 shows the model of this discussion and the trace of total energy. If we choose suitable spring, the robot can change its hip height with little energy. As shown in Fig. 5, the spring energy can compensate the loss of potential energy in the range from 58 cm to 73 cm of the hip height. In the case the robot bend knee joint more, the spring can compensate about the half of loss of potential energy.
Conclusion
In this paper we described on our system. Our system has some features. They are high mobility, well-designed control system, position estimation by one camera and user-friendly interface.