BRocks 2013 Team Description

O. F. Varol, O. Cihan, H. Esen, A. Haseltalab, M. Akar

Boğaziçi University, Bebek, Istanbul, 34342, Turkey


Abstract This paper aims to summarize robot's systems of the BRocks team which intend to participate in Small Size League (SSL) of RoboCup Netherlands 2013. Mechanical, electrical, and artificial intelligence subsystems are briefly described and many modifications and solutions for different problems are explained.

1 Introduction

Robocup SSL remains one of the most exciting competitions of Robocup, as the game is played at a quite high pace involving extremely sophisticated strategies, which is partly possible due to the centralized camera and computer systems being used.

Several issues in terms of electronics, communication and control have to be handled in order to realize a team of robots that can compete in Robocup SSL. To achieve this objective, the BRocks team have been working within the Networked & Embedded Control Systems Laboratory at the Boğaziçi University since 2008. Our aim is not only to participate in Robocup competitions, but also use our test bed to develop and test our hybrid, decentralized control, coordination algorithms while taking communication, networking, vision, electronics and mechanical constraints into account. BRocks is participating in SSL Robocup from 2009 and in this way, we would like to compete in Netherlands 2013.

The BRocks team consist of both graduate (O. Feyza Varol, Onur Cihan, Huzeyfe Esen and Ali Haseltalab) and undergraduate students.

In the rest of the paper, the current state of BRocks robots are described in detail.

2 Mechanical systems

In this section, we will present the mechanical subsystems of the robots. The mechanical design of our robots is similar to other Robocup designs [1, 2] in that it is equipped with four custom-built omnidirectional wheels, a dribbler and a kicking system in front.

As listed in Table 1, our new robots meet the mechanical criterion of the Robocup SSL.

After specifying the problems in the wheels, kicker and dribbling mechanism in the old design the mechanical system is redesigned this year.

The mechanical subsystem is composed of 3 main components (see Figs. 1– 2): locomotion system, dribbler and kicker. As shown in Fig. 1, the locomotion system consists of a base and 4 omni–wheels driven by 30 watt brushless DC motors with a gear ratio of 3.6:1. We modified omni–wheels to improve movement abilities and robustness. The wheel consists of 15 O-rings around the base wheel which is redesigned so rollers can turn freely. Also, bigger rollers can be adopted. Material of the wheel is aluminum 7000 series. Both the wheels and the base of the robot were precision manufactured via CNC tools based on CAD designs.

In the new dribbler mechanism, we use Maxon EC16 brushless motor with an embedded gearbox that has a gear ratio of 5.4:1. The gears between the shafts of the dribbler bar and motor are chosen to have a ratio of 1:1. The rotation speed is controlled via an actuator circuit whose input comes from the micro–controller, and it is activated once the robot has the possession of the ball. Different from last year, the dribbler bar is designed as a soft silicon rubber bar. The dribbler is designed to have a ball coverage of less than 20%.

The kicker mechanism contains two 2200 µF, 200V capacitors and two push type solenoid actuated by a kicker circuit. The associated kicker circuit is also controlled by the micro–controller which sends the kick signal and its duration. The robot has two different type of kicking system for direct and chip kicking.

We changed our chip kick actuator to a new one which has longer arms and is wider. Also, one fourth length of its plunger is made of rigid compacted plastic. So, it applies more force and speed to the ball. Moreover, The chip kick system contains a flat shape solenoid. With these specifications, it can kick the ball up to 6 meters.

The direct kicker contains a solenoid and a plunger which lead to kick the ball with maximum speed of 6.5 m/s.

(a) BRocks robot, (b) Technical drawing of BRocks robots.
(a) BRocks robot, (b) Technical drawing of BRocks robots.
Locomotion system: omniwheels.
Locomotion system: omniwheels.

BROCKS Team Robots: Mechanical Specifications.

Height of the robot 142 mm
Maximum diameter of its projection onto the ground 175 mm
Percentage of ball coverage < 19%

3 Electrical systems

We did some minor changes in the electrical subsystem this year. Each of our robots relies on the following electronic circuits that receive commands from the software system in order to perform the desired tasks:

  1. Locomotion Motor Control Circuit: Our robots consist of four custom–built omniwheels, each of which is driven by a 30 watt, 4370 rpm brushless DC motor. The microcontroller is used to estimate the motor speeds and a controller logic is implemented on the microprocessor for precise speed control. Also, the current sensing circuit is implemented to protect the system against unexpected errors by limiting the current flowing through the circuit. Fig. 3 shows the main board of the electrical system.

  2. Dribbler circuit: The dribbler consists of a 15 watt DC brushless motor and it is driven by a simple H–bridge circuit that is controlled by the microprocessor.

  3. Kicker circuit: The design principle of our current kicker circuit is similar to other Robocup designs [1] in the sense that it relies on charging a capacitor to 200 V and then releasing the solenoid once the controlling computer sends the "kick" command.

  4. Main Board: For proper implementation of the control strategies on the robots, it is critical that data be communicated to the robots in a wireless fashion that do not violate the rules of Robocup SSL. To this end, we use Zigbee low power wireless communication modules. The control data generated by the main computer are sent to the robots using the wireless modules, which are then received and processed by the microprocessor to carry out the following tasks:

    (a) Measure and control the speeds of four brushless DC motors, (b) Activate the solenoid when required, (c) Activate and control the dribbler when required.

The electrical subsystems also includes encoders, a gyroscope, an accelerometer and IR sensors as additional sensors in order to get the speed data more precisely. Sequential digital circuit is used to detect the rotational direction of wheels.

The main board.
The main board.

4 Low Level Control

The schematic of our low level control architecture onboard each robot is shown in Fig. 4. The primary task of the low level control unit is to control the motor speeds. The desired motor speeds are sent to the robot via wireless Zigbee transreceiver module from the remote PC. Microprocessor gets the motor speed data from the Zigbee trans-receiver module onboard and activate the speed control loop.

The schematic of our low level control architecture.
The schematic of our low level control architecture.

4.1 Brushless DC Motors

Maxon EC-45 Flat 30 watt Brushless DC Motors are used for the locomotion of our robots. The motors operate with 12V, at a maximum speed of 4400 rpm and can produce 59 mNm continuous nominal torque. 1:3.6 gear reduction ratio is used in order to increase the overall torque and three Hall sensors with 120 degrees phase difference are available from the motors for speed measurement. The Hall sensors in the motor produce a feedback signal that help estimating wheel velocities. Nevertheless, Hall sensors provide 48 pulses per revolution; therefore encoders which have higher resolution (1440 pulses per revolution) are implemented.

4.2 Speed Control

The speed regulation for each wheel is achieved using a digital controller that takes the reference and the estimated speeds as inputs, and adjusts the set point into the actuator. The complete block–diagram of the digital controller is shown in Fig 5 with the variables defined in Table 2 [4].

The design of the digital controller C(z) depends on identification of the actuator and motor dynamics, i.e., Gact(s) and Gm(s), respectively. The speed regulation is realized using a digital PI controller whose parameters are chosen such that the closed loop pulse-transfer-function is stable, and certain transient performance specifications are satisfied. For more details, see [4].

Digital speed controller
Digital speed controller

Descriptions of the variables in Fig. 5

Fd(z) z–transform of the desired wheel frequency
F(z) z–transform of the estimated wheel frequency
C(z) Digital PI controller
ZOH Zero–order–Hold
Gact(s) Transfer function of the driver circuit
Gm(s) Transfer function of the motor
Ts Sampling period

5 Vision based control and coordination

In this section, we describe the complete feedback system composed of autonomous holonomic robots that are equipped with wireless communication devices, two overhead cameras that can provide feedback on the robot positions, and a host computer that acts as a supervisor (see Fig. 6). The host computer receives/processes the vision data, and sends control commands to the robots accordingly. Our vision system consists of two 60 fps digital cameras which provide the visual feedback to the controlling computer. The SSL–Vision software provides the coordinates of the robots and the ball location via a graphical interface once colour and field calibrations are done properly based on the light intensity of the field.

Vision Based Control/Coordination Architecture.
Vision Based Control/Coordination Architecture.

5.1 High Level Control and Strategy Planner

High–level control of robot soccer team consists of two main modules:

  1. Strategy planning and tactics: The strategy planning is vital in multi–robot domains. Basically, the strategy planner assigns roles to each robot in order to complete a task, e.g., scoring a goal or defending its own goal. Team Agent Behavior Architecture (TABA) approach for dynamic task assignment and strategy is implemented (Fig. 6). The architecture consists of leader agent selection, strategy selection, role assignment and tactic execution. Role assignment is done according to the distance between robots and the ball. The primary attacker role is assigned to the nearest robot and this robot goes to the ball position. There are four types of roles which are primary attacker, offensive supporter, defensive supporter and the goal keeper.

  2. Motion planning and navigation: One of the main objectives when planning paths for multiple robots is to arrive at the destination point from a given initial point, while avoiding obstacles.

To briefly describe our methodology for the latter part, suppose that we set a goal point in the 2-D plane as shown in Fig. 8 [3, 4] . The location errors in x and y coordinates are defined as:

$$e_x = x_{goal} - x_{robot}, \tag{1}$$

$$e_y = y_{goal} - y_{robot}. \tag{2}$$

Using (1–2), we create a position error vector:

$$\Theta = \tan^{-1}(e_y/e_x),\tag{3}$$

$$|e| = \sqrt{e_x^2 + e_y^2}. \tag{4}$$

In order to direct the robot towards the goal point, we need proper velocity vectors in x and y directions. To this end, we have formulated the velocities in x and y directions as follows:

$$v_x = |e|\cos\Theta,\tag{5}$$

$$v_y = |e|\sin\Theta. \tag{6}$$

The velocities are proportional to the norm of the error vector that is the distance between the desired and current location of the robot. One important thing that needs to be considered is that, calculated velocities are relative to the global coordinates. In order to have the robot motion in the desired direction, we should transform these velocities relative to the robot's current orientation. This is accomplished by using the inverse of the rotation matrix in the z direction:

$$Z^{-1}(\Theta) = Z^{T} = \begin{bmatrix} \cos \Theta & \sin \Theta \ -\sin \Theta & \cos \Theta \end{bmatrix}. \tag{7}$$

Finally, the commanded velocities are calculated as

$$\begin{bmatrix} v_{xrobot} \ v_{yrobot} \end{bmatrix} = Z^{-1}(\Phi) \begin{bmatrix} v_x \ v_y \end{bmatrix}, \tag{8}$$

where Φ is the orientation of the robot relative to the global coordinate system.

Team Agent Behavior Architecture [5]
Team Agent Behavior Architecture [5]
Error vector definition.
Error vector definition.

5.2 Path Planning

Most path planning algorithms in real–time are based on the standard path planning approach [6]. The path planning system is based on well known RRT family of randomized path planners. The RRT planner searches for a path from an initial state to a goal state by expanding a search tree (Alg. 1). It is also capable of acting in Robocup domain in real–time. The user interface of the path planning algorithm is shown in Fig. 9.

Algorithm 1 RRT Algorithm.

Multi–agent collaboration The key issue in coordinating a team of robots during an SSL game is to decompose the complex task into simpler actions which might be referred to as modes and defining the transitions between these modes in some optimal way [7]. As the constraints and the goals of SSL are known, it is a well-defined environment for developing multi-agent strategies. On the other hand, it is still a challenging test–bed since two teams of robots compete with each other to win the match. The robots should work collaboratively in order to reach success. To this end, we intend to adapt 2 different approaches in developing our multi-formation algorithms:

  1. Hybrid systems based formulation and control: A hybrid system is a dynamical system whose behavior develops as the result of a continuous state system interacting with a discrete event system. We will use hybrid systems in the design of low level and high level control algorithms.
  2. Market driven: The main idea of the market-driven approach is to apply the basic properties of free market economy to a team of robots in order to increase the gains of the team. In adapting the aforementioned technique to our system, we will define suitable metrics in order to select the proper actions at any given time [8].
Path Planning Algorithm.
Path Planning Algorithm.

6 Concluding Remarks

This paper gives an overview of BRocks 2013, covering the developments of robot hardware and the software architectures. Participation in Robocup 2009 for the first time has helped us improve our team significantly. We are looking forward to compete in Eindhoven 2013.

Acknowledgements

This work is partially funded by TUBITAK Grant 110E196 and the Turkish Academy of Sciences (TUBA) under the Young Scientists Award Programme (GEBIP).

References

  1. Robocup Systems Engineering Project, MS Thesis, Dept. of Electrical Engineering, Cornell University, 2002.
  2. F. Wiesel, Steuerung und Kontrolle von Omnidirektionalen Fussballrobotern, Diplomarbeit der Informatik, Freie Universitat Berlin, January 2006.
  3. H. Karaoguz, M. Usta, and M. Akar, "Design and Implementation of a Hierarchical Hybrid Controller for Holonomic Robot Formations" Proc. of the 10th International Conference on Control, Automation, Robotics and Vision (ICARCV 2008), Hanoi, Vietnam December 2008.
  4. H. Karaoguz, "Vision based control algorithms for a small size robot soccer team", MS Thesis, Bogazici University, February 2009.
  5. M. A. Ruiz and J. R. Uresti, "Team Agent Behavior Architecture in Robot Soccer". In Proceedings of the 2008 IEEE Latin American Robotic Symposium, Washington DC, USA, 20-25, 2008.
  6. O. Khatib, "Real–time Obstacle Avoidance for Manipulators and Mobile Robots", The International Journal of Robotics Research, 5(90-98), 1986
  7. H. Kose, K. Kaplan, C. Mericli, U. Tatlidede and H. L. Akin, "Market-Driven Multi-Agent Collaboration in Robot Soccer Domain", in Cutting Edge Robotics, (eds: Kordic, V.; Lazinica, A. and Merdan, M.), Germany, July 2005.
  8. C. Mericli and H. L. Akin, "A Layered Metric Definition and Validation Framework for Multirobot Systems," RoboCup International Symposium 2008, Suzhou, China, July 15-18, 2008.