WF Wolves KidSize Team Description RoboCup 2011
Prof. Dr. R. Gerndt, Stefan Krupop, Sina Ciesielski, Jan Carstensen, Fabian Gillich, Tobias Bolze
University of Applied Sciences, Department of Computer Sciences, Am Exer 2, 38302 Wolfenbüttel, Germany
Abstract This is the Team Description of the WF Wolves, the RoboCup Team of the University of Applied Sciences Wolfenbüttel, for the RoboCup 2011. The Team has been in the Mixed Reality since 2007. We won the Championship in 2008 and 2010. After bringing many improvements to the Mixed Reality League we startet in 2009 into the Humanoid Kid Size Comeptition.
Introduction
Our team has been founded at the beginning of 2007 at this University of Applied Sciences. It participated in the RoboCup 2007 in Atlanta, where it gained the fourth place in the Mixed Reality Competition. At the RoboCup 2008 and 2010 our team has won the Championship in the Mixed Reality. Our Team provided many developments to the Mixed Reality, such as the Battery Charger 2008, Programming Adapter, EcoBe!2008 Firmware and various hardware improvements of the Ecobe!2008. Since 2008, we competed besides the World Championships in Graz Singapur in two German Opens with our Humoid Team.
About the Team
This team currently has twelve student team members from different faculties such as computer science, electrical engineering, mechanical engineering and touristik. It is organized independently but supervised by the faculties.
Mechanical and Electrical Design
Our Robot uses 20 Servos for humanoid lilke behaviour. We started our Platform by modifing the Robobuilder-Huno Platform but changed nearly everything to this moment to improve biped walking and foster soccer behavior and skills. Since last year we added two more Servos to the legs to be able to turn properly. Besides two more Servos we enhanced the stability by adding brackets and upgrading all servos. Our platform still is very Low Cost even with the new improvements the total costs are below 2000 Euro. To control the Body we us a servo control board. The IMU-Board is based on an AT91SAM7X256 ARM7 microcontroller. The controller has a direct connection to the IMU sensor (3-axis acceleration and gyro sensors) and controls the servo motors. It runs at 50MHz, so we are able to calculate the demanding kalman filter data and adjust the movements simultaniously. We relocated the IMU into the center of Mass of our Robot which improves our Data. The power for the robot servos and the processing unit is supplied by a LiPo accumulator. In the Head we have two 2 Megapixel Cameras equipped and our main control board. The board features an microsd slot and a USB2.0 device port for external usb devices and uses UART to communicate with the servo controller board. It is also equippes with 802.11g WLAN for remote debugging and communication with the other robots an the field. The main proccesing unit works with an Analog Devices Blackfin BF-561 Dual-Core DSP Processor with each core running at 500 MHz . The module has additional 64MB SDRam and 8MB Flash for the demanding image processing algorithm and the artefical intelligence running on an uClinux operating system. The DSP processor architecture features two 16-bit MACs, two 40-bit ALUs, four 8-bit video ALUs, 40-bit shifter UART for processing the images. The Dual 12- Channel DMA is used to transfer the camera-data into the SD-Ram and internal L1 Cache with multiple Transfer-Buffers. with the multiple DMA-Channels the image data can be transfered simultaniously from both camera ports. [8] [6] [2]
Perception
Stereo Image Processing
Our perception aim is to locate objects as well as an amount of marks on the field. Because we use a stereo vision, we are able to calculate the distance to the object very accurately. By scanning the picture with an speed-optimized Scanline-algorithm with color-segmentation, we can detect or estimate the colored object positions and distances in few cycles. Using this information we can only process these preprocessed segments of the image, using windowing. The algorithm is able to detect just objects on the field to reduce errors caused by false detected colors surrounding the field. We are using the YUV image format, that supports a detection of colors with different light intensities. The Stereo processing algorithm uses both camera frames to calculate the image disparity. the disparity is used to estimate robots distance to the object.
Besids the detection of objects we are using an algorithm which detects the lines on the field. Lines are represented by an array of coordinates of detected line-points. These points can be matched with an particle filter to erstimate the robots position on the field. Using the found object positions and distances, the robot will try to determine its position more precisely. Using triangulation and trilateration we are able to get an amount of possible locations for each state. Taking the last position and getting the movement data, the Robot will update to the most probable position. We drastically improved our perception by developing a 3D simulator which generates pictures we then process using our vision. [6] [7]
IMU supported Movements
We are using a control-algorithm to adjust the movements of the robot. The algorithm prevent the robot of falling and is nesesary to walk stable at higher speed. We integrated a Kalman filter to improve the sensor data. [1] [5] [4]
Robot Control
We are using a framework which allows us to use the same Agent we are using in the Mixed Reality League for the humanoid League. This is possible due to a software architecture with an increased amount of abstraction. We are using two different abstraction layers. One which is simply a Hardware Abstraction Layer (HAL), so we are able to run the same software on different kinds of humanoid robots. The other is a more sophisticated layer which is able to transform high-level artificial intelligence commands into low-level commands, such as run towards the ball and kick. The other main improvement of our architecture is that we are taking different kinds of perception and combine them into a "WorldState", which is the basic for any Agent decision. The idea how to assemble such a WorldState is different in each League, but the main idea of such a state is and stays the same. Besides, this framework, there is the robot control which is able to react to an amount of events, as well as to perform actions given from the Hardware Abstraction Layer. These actions are executed by running Motion Files. Our Software completly runs with the GameControler provided for the humnoid league, besides that we use a debugger which is able to get every sensor data, taken picture and ai instructions at any time using the wirless network connection. [3]
The third Botgeneration
Since November 2010 a part of our team is developing our 3rd generation of Robotos. We learned quite allot and try to put all of our knowledge and our expirience into the new hardwareplattform. We switched our servo supplier and remodeled all controll boards, we hope to have the first prototype in Istanbul and plan to compete with an entire team next year.
References
- AnalogDevices: Small low power 3-axis accelerometer +-3g adxl335 (2008)
- Inc., O.T.: Ov2640 datasheet (2007)
- Kelm, F.: Lokalisierung humanoider Roboter in teilweise bekannter Umgebung. Bachelorthesis, Ostfalia - University of applied Sciences (2010)
- Lunze, J.: Regelungstechnik 1: Systemtheoretische Grundlagen, Analyse und Entwurf einschleiger Regelungen. Springer Verlag (2005)
- Michalik, S.: Dynamisches Laufen von humanoiden Robotern. Bachelorthesis, Ostfalia - University of applied Sciences (2010)
- Michalik, S.: Entwurf eines Stereo-Bildverarbeitungssystems im Roboterfuball. Bachelorthesis, Ostfalia - University of applied Sciences (2010)
- Steinmller, J.: Bildanalyse: Von der Bildverarbeitung zur rumlichen Interpretation von Bildern. Springer Verlag (2008)
- Wolves, W.: Bot specification wf wolves 2011 (2011)