Immortals 2010 Team Description Paper
Mohammad Reza Niknejad, Seyed Ali Salehi Neyshabouri, Seyed Ali Ghazi MirSaeed, Ehsan Kamali, Mohammad Hossein Fazeli
Department of Computer Engineering of Iran University of Science and Technology; Department of IT Engineering of Sharif University; Department of Mechanical Engineering of Tehran University; Department of Electronic Engineering of Shahed University; Department of Mechanical Engineering of Iran University of Science and Technology
Abstract Below, we have classified information in 4 major parts: mechanics, electronics, programming and vision. Pictures of available instruments are attached and further information about future improvements is added.
Introduction
"Immortals" is a robotic team consisting of university students of Sharif, Tehran, IUST and Shahed Universities. The team was formed in 2003 to attend junior soccer league competitions. The team successfully participated in the 3rd Hellicup Robotic competitions in 2004. After placing 3rd we qualified for 2005 Osaka Robocup , taking part under the name of Robonik. The team also successfully participated IranOpen Robotic competitions in 2006 & Iran Open 2007. The small size project started in summer 2007 and simple-structured robots were made by summer 2008 and have continually improved since then. After qualifying for 2009 Graz Robocup competitions, the 5th generation of Immortals robots were developed to assemble a challenging robotic team to participate the event.
Satisfying results were obtained and it was decided participate next Robocup competitions, Robocup 2010 with the latest generation of Immortal robots, inheriting all preceding robots' strengths while decreasing their weaknesses. Since then many developments and upgrades have been implemented. In this paper we mention the properties of the 5 th& 6th generations of Immortals robots.
Mechanics
The main chassis is a 5mm 7075 aluminum alloy plate on which, all heavy components like motors, batteries, capacitors, and solenoids are mounted. By this, we have lowered the altitude of mass center to stabilize movements and kicks.
It has a height of 148mm & diameter of 178mm. A unique gearbox-wheel pack is designed to minimize the volume occupied by driving system in which the gear used to for transition is merged to the wheel.
Wheels
Robots are designed Omni-directional with four Omni-wheels of 61mm diameter having 18 sub wheels. As the field is about to enlarge in the next year, higher speeds are inevitable. Achieving such speed is possible by changing gear ratio. Nonetheless it increases probability of overshoots which would only be solved by applying a greater acceleration. These needs left us with no choice but to choose a motor with higher rpm and torque. Each wheel is actuated by a 50 watt Maxon EC-45 flat brushless-Motor, connected with gear wheels in a ratio of 45:12. The gear is merged into the wheel to avoid vibration.
Dribler
Actuated by a 25 watt Maxon EC-Max-22 brushless-Motor and connected with gear wheels in a ratio of 26:45, an 8cm silicon tube spins back with final RPM of 7000 to 17000 depending on the AI command. A servo motor is to adjust the height of the dribbler to avoid unwanted collision of the ball with the silicon tube during chip-kick. A servo motor is contrived to adjust the height of the dribbler by rotating it around its axis by about 7 degrees.
Kicker
The most important aspect in designing a kicking system is to optimize the solenoid. The more efficient the solenoid gets, the less time and energy would be needed to charge the capacitors and the lighter and smaller the module becomes. Parameters to change in order to optimize a solenoid are the plunger diameter, outer diameter, wire diameter, length of the core and the shield, the shape of the system and the material used in the wire, plunger and the outer shield. After experimenting numerous types of solenoid systems, we eventually obtained the desired efficiency using a 1020-steel cylinder-shaped outer shield, a core made of 1020-steel used as the plunger and a cupper coil. The outer shield is attached to the bottom chassis which acts like a huge heat-sink for extracting heat.
The material used in the chip-kicking system is the same as that of the round one and the only difference between the solenoids is in geometrical parameters.
Electronics
A Xilinx XC3S400 chip functions as the only processor on the main board and operates telecommunication, decodes IR sensors data, drives motors and executes PID controller. This chip was chosen because of its low power consumption and its huge logic gate numbers in comparison with other similar products.
Below different electronic parts of the project are described.
Motor Driving
Firstly, each robot receives a velocity command from AI system, consisting of velocities in XY coordination and one angular velocity. The processor translates these into velocity commands for each motor.
Then, in order to drive a BLDC motor, the FPGA sends output signals to six mosfet drivers each driving a mosfet to control the current flow in motors stator coils. Built-in hall-sensors specify the rotor's position for FPGA to determine which mosfet is suppose to be activated.
An encoder supplies the FPGA with feedback required for PID calculation.
Shooting System
For charging system, pulse width generated by 555 IC is used to switch the MOSFET for boosting circuit. Two 1500uf capacitors are charged up to 250 Volts. Capacitor voltage is controlled by a comparator logic using an operational amplifier. Shooting module implemented in FPGA is used for sending pulse, charging, and opening IGBT gate which enables current flow from capacitor through solenoid.
Dribbling System
The robot uses a Maxon EC-22 to dribble the ball. Dribble module in FPGA is assigned to control this system by generating the PWM signal to adjust the speed. It also adjusts the height of the spinning tube by controlling the servo motor contrived in the robot better control the ball.
Wireless Communication
Robots use Telecontrolli RXQ2-GFSK multi-channel radio transceiver, operating within the 440 MHz band. The module operates in user selectable channels.
Software
Our main algorithm is taking information from the field by global cameras, passing them to the server, and then communicating processed values to the robots, in each frame.
Hardware
For each half of the field, we use AVT Stingray F-46-C which is capable of a 780×580 resolution with maximum frame rate of 61 and a Fire wire 1394B computer connection. The reason of this choice was its ½ inch CCD format, enabling us to avoid using a wide lens with its problematic image processing. A C type ½" format lens with a focal length of 5mm is used to capture the whole desired field.
There is no special image processing hardware, all processing are done via software running in the PC.
Image Processing
The main part of the system is based on the SSL-Vision, a shared global vision system developed for Robocup small size competitions.
However some changes are made to improve performance. The main change is that the color segmentation process is done by the GPU. Although the CMVision2 is a very fast and inexpensive process for CPU, and it takes about 3 milliseconds for processing, multithread ability of GPUs are inevitable. They have about 400 cores in the main core. Thus multithread processes like color segmentation that segmentation result of each pixel is independent from the others, can be ran extremely fast on GPU.
For example in computer games, some effects are made to the final image called "Post Processing Effects". They have routines to implement the effect, developed as GLSL shader codes. GLSL syntaxes are so similar to c-type codes.
Then compiled code is sent to the GPU and the main program sends image pixel data to the pixel shader, and processed image is sent back to the program.
We use OpenGL for implementing pixel shaders.
AI
Two main sections of the AI are calculating word state and decision making.
Calculating Word State
We use Kalman filter for reducing noises, and predicting the future state.
There are two types of input for the filter. For our robots, we use the data that is sent to the robots each frame, and for the ball and opponent robots, vision-calculated data is used.
Decision Making
The main method for this part is STP, developed by CMDragons and is tested since 2003, and the results show the success of this method.
In an adversarial multi-robot task, such as playing robot soccer, decisions for team and single robot behavior must be made quickly to take advantage of short-term fortuitous events when they occur. When no such opportunities exist, the team must execute sequences of coordinated action across team members to increases the likelihood of future opportunities. We have developed a hierarchical architecture, called STP, to control an autonomous team of robots operating in an adversarial environment. STP consists of Skills for executing the low-level actions that make up robot behavior and tactics for determining which skills to execute, and Plays for coordinating synchronized activity amongst team members. Our STP architecture combines each of these components to achieve autonomous team control. Moreover, the STP hierarchy allows fast team response in adversarial environments while carrying out actions with longer goals. STP is used for controlling an autonomous robot team in a dynamic adversarial task that allows for coordinated team activity towards long-term goals, with the ability to respond rapidly to dynamic events.
There is sub-component of skills and tactics as a generalized, single-robot control hierarchy for hierarchical problem decomposition with flexible control policy implementation and reuse. Thirdly, we contribute our play techniques as a generalized method for encoding and synchronizing team behavior, providing multiple competing team responses, and for supporting effective strategy adaptation against opponent teams. STP has been fully implemented on a robot platform and thoroughly tested against a variety of unknown opponent teams under in a number of RoboCup robot soccer competitions. We present these competition results as a mechanism to analyze the performance of STP in a real setting.
Simulator
Simulator plays the role of the vision system and with the aid of the server it could simulate a game of two virtual teams. To obtain best physical results, the Leadwerks Game Engine is used. The engine uses Newton Dynamics 2.
References
- Zickler, S., Vail, D., Levi, G., Wasserman, P., Bruce, J., Licitra, M., Veloso, M.: CMDragons 2008 Team Description. In: Proceedings of RoboCup 2009.
- Srisabye, J., Hoonsuwan, P., Bowarnkitiwong, S., Onman, C., Wasuntapichaikul, P., Signhakarn, A., et al., Skuba 2009 Team Description of the World RobCup 2008, Kasetsart University, Thailand.
- B.P.T. van Goch, Optimizing a solenoid for a Robocup kicker, University of Technology Eindhoven.
- Ruud Tilburgs, Design and realization of a solenoid for a Robocup kicking device, Technische Universiteit Eindhoven, Department of Mechanical Engineering, Control Systems Technology Group.
- Lenses selection and setup, www.theimagingsource.com/en.
- Bruce, J., Zickler, S., Licitra, M., Veloso, M.: CMDragons 2007 Team Description. Technical report, Tech Report CMU-CS-07-173, Carnegie Mellon University, School of Computer Science.
- Browning, B., Bruce, J.R., Bowling, M., Veloso, M.: STP: Skills tactics and plans for multi-robot control in adversarial environments.In: Journal of System and Control Engineering.
- Bruce, J.R.: Real-Time Motion Planning and Safe Navigation in Dynamic Multi-Robot Environments. PhD thesis, Carnegie Mellon University
- Bruce, J., Veloso, M.: Real-time randomized path planning for robot navigation. In: Proceedings of IROS-2002, Computer Science Department Leadwerks Engine, http://www.leadwerks.com
- Brett Browning, Gal Kaminka, and Manuela Veloso. Principled Monitoring of Distributed Agents for Detection of Coordination Failure. In Proceedings of DARS-2002, the Seventh International Symposium on Distributed Autonomous Robotic Systems, Fukuoka, Japan, June 2002.
- Sven Behnke, Anna Egorova, Alexander Gloye, Raúl Rojas, and Mark Simon: Predicting away the Delay, in N.N. (editors): RoboCup-2003: Robot Soccer World Cup VII, Springer, 2004.