OMID 2011 Team Description
Seyed Arman Alaei, Masoud Abdi, Amirhosein Hajihoseini, Hamed Ghadimi, Davoud Abbasi, Mohammadreza Sarbandi, Mir Mehdi Khandani, Sina Sayardust, Saeed Keshavarzi, Mojtaba Najafi, Mehdi Hosseinzadeh, Mohammad Sajad Manuchehri, Asadollah Kiaei, Mostafa Abdolghafar, Abbasali Forouzideh, Saeed Alikhani, Ehsan Darestani, Seyed Mahdi Nasiri
Electrical Engineering Department, Shahed University of Tehran, Iran; Computer Engineering Department, Shahed University of Tehran, Iran; Bioelectrical Engineering Department, Shahed University of Tehran, Iran; Mechanical Engineering Department, Shahed University of Tehran, Iran
Abstract This Paper is a general description of OMID 2011, one of the Robocop Small Size League teams. The description includes hardware of robots and a general overview of software architecture. This time we have some improvement that include a complete new software design, noise avoiding ball detection, new design of robots main board.
1 Introduction
The Omid robotics team is a branch of robotic society of ECE department of Shahed University. Our team started the Small-Size League in summer 2007 with the effort of former member. Now OMID is working with new members and formers are as guiders. Here is an overview on the robots preparation and performances of each part respectively and all together.
2 Mechanical Design
This section describes the mechanical design of the OMID robots, including the driving system, kicking system, and spin-back system.
2.1 Driving System:
The main plan of robot is made of Aluminum. 4 Omni-directional carry the main body, each wheel is coupled to an EC-45-Flat brushless 30 watt motor via a inverse gear with a transmission ratio of 1:5. These Wheels are fully designed in one piece and no screw has been used in the structure of wheels. This feature causes more efficiency, more wheel life time and simplicity in design.
2.2 Kicking System:
There are two solenoids that help to kick the ball, both for direct and chip kick. A flat plunger is made of steel, 4mm thickness. Direct kick plunger is made of two materials. The first part material is magnet which is steel, and the second part is made of a material with no magnetic property such as Aluminum. This feature causes a powerful kicking system.
2.3 Spin-Back System:
The Spin-Back module is driven by 15 watt Maxon EC16 with a transmission ratio of 2:1. As we have in Small-Size League rolls the robots must have specific dimension, our robots have 178mm of diameter and 148mm of height and also each robot covers less than 20% of ball. The whole robot is about 2.5 kilograms weight. 3D simulation models shown in Fig.2 are created with SolidWorks.
3 Electrical System
The main board consists of Altera FPGA and ATmega64L microcontroller. We are using PI controller in order to drive all motors. Each motor is equipped with an encoder to generate the feedback signal for PI controller. Motors are driven by L6235 chip [1]. The IEEE 802.15.4 standard has been used in wireless communication, X-Bee transceiver module. It occurs in 2.40 to 2.48 GHz band in 12 channels with 250Kbps [2].
The motor drive circuit, wireless communication part, and main control circuit are designed in a single board rather than the shooting circuit, which connect to the main board by small cables.
3.1 Central Control
We use a cyclone II FPGA as the main controller to generate all control signals for motors [3]. The full duplex wireless communication system receives the command packet from the AI and sends the robot status to AI. Once a packet arrives, it has to be decoded and processed with the data of hall sensors and encoders to generate signals to handle motor drivers and shooting system.
3.2 Motor Driver
This part drives 4 brushless DC motors and 1 brushless DC motor for Spin-Back. Motors are driven by L6235 chip. The L6235 is DMOS fully integrated three-phase motor driver with over current protection. It realized in multi power-BCD technology, the device combines isolated DMOS Power Transistors with CMOS and bipolar circuits on the same chip. The device includes all the circuitry needed to drive a three-phase BLDC motor including: a three-phase DMOS Bridge, a constant off time PWM Current Controller and the decoding logic for single ended hall sensors that generates the required sequence for the power stage.
3.3 Shooting System
There are two kickers, a direct kicker and a chip kicker. We developed the flat kick system to kick in maximum velocity, approximately 8 m/s. The kicker board can charge two 2200μF capacitors from 0V to 250V in about 5 seconds with 2A average current.
4 Software
The robots software is separated to two main sections. Visioning software and Game play algorithms.
4.1 Vision
For purpose of real time image processing and object recognition, we use two cameras (The Stingray F‐046B/C's high resolution) and SSLvision software. The whole artificial intelligence is on one computer receiving the data of SSLVision and Referee in each frame and uses them to make decision.
4.2 Game Play Strategy Algorithms
The game play strategy is organized into operational functions categorized by level and decision making mechanisms.
4.2.1 Operational Functions
Functions of this section are categorized in three levels. Low, Medium and High Level Functions.
High Level Functions
These functions specify the current skill of the robot such as taking a defensive position, Goal kick, corner kick, passing the ball and so on. To do a high level function we need to make it closer to machine language, so we use medium level functions to do this task.
Medium Level Functions
Functions in this level are mostly common robot actions. For example one of these functions is "Moving In Field" so we can move and turn in field with this function. As you can see again we need to get closer to machine languages so we use low level functions.
Low Level Functions
Low Level Functions are the robot basic behaviors including: exactly addressed movements, stop, spin back On/Off, direct kick and chip kick. Functions in higher levels are interpreted to the low levels in order to execute the result of an appropriate command and send to the robot circuit via XBee.
As an example when the Decision Section (4.2.2) chooses the defensive state for a robot, the high level function will be set to "defense", consequently the medium level function will be set to "move in field" and then related low level functions such as gotoXY, stop, spin back,… will be executed so the command packet is ready to be sent to specific robot.
4.2.2 Decision making Section
The most important intellectual section is decision making section. In this section functions use data of SSL-Vision, SSL-Referee-Box and Robot Agents for current status of play and predictions of the next status in order to chose and decide a proper high level function.
4.3 GUI
The GUI provides tools for testing and managing game play.
4.3.1 Game Simulator
To test the Game Play Strategy Algorithms (4.2) without having two full robot teams and a play field, a Game Simulator GUI is prepared. In this way the Algorithm testing and error correction is done much easier regardless any physical and hardware problems and needs.
Fig.5. A Screenshot of game simulator program.
4.3.2 Game Manager
To monitor and control all robots in the game field, Monitoring Software is programmed that will be installed on the off board controlling system. The robots location and ID on the play field is received from the visioning software and simulated. In other word this software manages the game play. A screenshot of this program is shown below.
References
- Vincenzo Marano, "L6235 THREE PHASE BRUSHLESS DC MOTOR DRIVER" Application Note,ST,2003.
- Drew Gislason, "ZigBee Wireless Networking" Newnes Press
- Altera, "Cyclone II Device Handbook"