introduction
The initial idea for robot soccer was formally proposed by Professor Alan Mackworth of the University of British Columbia, Canada, in 1992. In his paper "On Seeing Robots," he used robot soccer as an example to point out the shortcomings of traditional robotics research: Definite Knowledge, Complete Knowledge, Static Environment, Deterministic World, Discrete Sequential Actions, etc. Subsequently, numerous scholars and scientists studied the feasibility and technical issues of robot soccer. Small-scale competitions were also held between some laboratories and research institutes.
Robot soccer is a comprehensive project involving numerous traditional theories and cutting-edge technologies. Robot manufacturing itself integrates structural engineering, electronic circuits, precision mechanics, and biomimetic materials, while computer science, automatic control, sensing, and wireless communication are indispensable for robots to move and kick a ball. Furthermore, the coordination between multiple robots involves complex issues of multi-agent coordination, cooperation, and strategy. At the 15th International Joint Conference on Artificial Intelligence, nine internationally renowned scholars from the US, Japan, and Sweden, including Kitano, Veloso, and Tambe, jointly published an important paper, "The RoboCup Syntheticagent Challenge 97," systematically elaborating on the research significance, objectives, phased plans, recent key contents, and evaluation principles of robot soccer. In summary, the main problem of artificial intelligence research in the past 50 years has been "solving problems in single-agent, static, predictable environments," with the standard problem being human-machine chess. In the next 50 years, the main problem of artificial intelligence will be "solving problems in multi-agent, dynamic, unpredictable environments," with the standard problems being machine-to-machine and human-to-machine soccer matches. Therefore, robot soccer holds significant importance.
The motion controller is the actuator of a mobile robot, playing a crucial role in its stable operation. With the continuous emergence of new intelligent control algorithms, mobile robots are developing towards greater intelligence, which places higher demands on the performance of motion control systems. Designing and implementing a control system for an intelligent mobile robot requires familiarity with mobile robot hardware and software development, mastery of the motion control characteristics of mobile robots, and the establishment of a feasible and stable platform for subsequent functional expansion of mobile robots. This platform can then serve as a common foundation for the development of various robots. The development of an intelligent mobile robot control system has significant practical implications and will lay a solid foundation for future mobile robot development.
1. System Principles and Composition of Soccer Robots
The RoboCup mid-size competition is a match between two teams, each with multiple autonomous soccer robots, played on a standard field. As shown in Figure 1, each robot on the field has full autonomy, with its own independent sensor system, decision-making system, and execution mechanism. The robots communicate with other autonomous robots on their team by collecting information, and obtain the necessary information through data fusion from the robot itself or off-field monitoring stations. Then, they make decisions based on this information and execute corresponding actions.
Figure 1 Autonomous Soccer Robot System
The soccer robot system consists of the following parts:
1) Robotic vehicle subsystem
2) Visual subsystem
3) Wireless communication subsystem
4) Robot Control Subsystem
5) Decision Subsystem
The five subsystems described above constitute a large closed-loop system, as shown in Figure 2. The instructions from the decision-making system are sent to the robot vehicle system via a wireless communication system. The control subsystem controls the robot's corresponding movements according to the instructions, and the vision subsystem collects site information and feeds it back to the decision-making system to complete the closed-loop control.
Figure 2. Schematic diagram of the soccer robot system.
The robot vehicle system is the core of the competition, and its performance directly affects the outcome. The key to its design lies in the robot's hardware and software design.
The vision subsystem is the final detection and feedback mechanism for the entire competition, acting as the "eyes" of the robots. Its main task is to use cameras to collect image information on the competition field in real time, process and identify these images through image cards, obtain relevant data on moving objects on the field (including the eight robots from both sides and the ball), mainly the x-coordinate, y-coordinate, and orientation angle of each robot, and transmit this data to the host computer for analysis and decision-making by the decision-making system on the host computer.
The main function of the wireless communication subsystem is to transmit decision-making instructions and send the results of the decision-making system to each robot so that it can perform the relevant actions.
The decision-making system, connecting the vision subsystem above and the communication subsystem below, is the central hub of the entire intelligent system, its "brain." Its main function is to make optimal decisions regarding the robot's movement based on scene information provided by the image system and various sensor data, while simultaneously transmitting movement commands to the robot via wireless communication. Its quality directly impacts the robot's level of intelligence and the success or failure of the competition.
The control system is the link between the decision-making system and the robot itself. It is the core processing component for robot motion. If the decision-making system is the coach, then the control system is the team member's skill; its quality directly affects how well the robot executes the instructions from the decision-making system. Its function is to parse the instructions from the decision-making system using a specific algorithm, transform them into specific motion instructions for the robot, and control the robot to achieve the corresponding movements.
2. Structure of the control circuit system for soccer robots
RoboCup mini soccer robots operate in real-time, at high speeds, and with intense competition. To meet the demands of the game, the soccer robot's control circuitry must possess the following functions:
(1) The MCU has a high computing speed and can execute control algorithms with large computational load, making it convenient to expand various interface circuits;
(2) It can be used with a wireless communication module to receive wireless signals at a baud rate of 115200bps;
(3) It can drive four drive wheel motors in pulse width modulation mode;
(4) It can process four or more quadrature encoder signals and detect the armature current signal of each drive motor to perform precise closed-loop speed control of the four sets of drive wheels in real time.
(5) Convert the robot's power supply battery pack to 200V using DC-DC boost conversion to drive the "ball kicking" electromagnet to strike the "ball" at high speed;
(6) Use multiple infrared sensors and accelerometers to sense the robot's state.
Based on the analysis of the functional and performance characteristics of the soccer ball circuit system, and considering the requirements of the soccer robot's size and power supply, we boldly integrate and optimize the various functions of the circuit system, and propose the design scheme described in this paper.
The circuit system is designed and optimized as a whole, and can be divided into the following functional modules:
①MCU Module. The core of this module is a dual DSP operating in a master-slave mode. The MCU module can work with the wireless communication module to receive wireless communication signals sent by the host computer (PC), and complete real-time control of the robot based on the received instructions and its own sensor information.
② Drive circuit module. Under the control of the MCU module, this module performs real-time speed control of the robot's drive motor using pulse width modulation.
③ DC-DC boost circuit module. The soccer robot is powered by a rechargeable nickel-metal hydride battery pack. The power conversion module boosts the voltage to DC 200V and stores it in a large-capacity capacitor, which then powers the ball-hitting electromagnet.
④ Sensor circuit module. This module uses infrared LEDs and infrared receivers to detect whether the robot has carried the ball and the distance between the robot and surrounding obstacles.
The block diagram of the soccer robot's circuit system is shown in Figure 3:
Figure 3 Block diagram of the soccer robot circuit system
3. MCU Module Design
The robot control MCU needs to implement the robot speed and trajectory following control algorithm, as well as receive instructions and process signals from multiple sensors. Because these processes require a relatively large amount of computation and a large number of control interfaces, some traditional simple computing chips (such as the 8051) and microcontrollers cannot meet our needs. Therefore, we use a DSP chip with relatively powerful computing capabilities.
The system uses TI's TMS320LF2407A DSP chip, which belongs to TI's TMS320LF240X series of DSPs specifically designed for motor control. It is a special type of chip for motor control, based on the TMS320C2xLP series as its internal processing core, integrating a wealth of peripheral control circuits and interfaces. It has the following advantages: high processing speed and high accuracy; small size and low power consumption; powerful and efficient instruction set; large storage space and easy expansion; rich on-chip peripherals and simple interfaces; and multiple event managers for convenient motor control. The specific parameters of the TMS320LF2407A are: a maximum internal frequency of 40MHz, a clock cycle of 25ns, and a processing capability of 40MIPS.
The internal FLASH memory is 32K and can be encrypted; there are two Event Managers (EMs), each EM including: two 16-bit clocks; an 8-channel pulse width modulation (PWM) unit; and three event capture units (Cap).
10-bit A/D converter, 16 channels, conversion time 375-500ns; CAN2.0, asynchronous serial port (SCI), synchronous serial port (SPI); 40 pins can be used as general purpose I/O.
4. Design of DC-DC boost circuit module
The robot needs to "kick a ball" during the game, specifically a 46-gram golf ball. Therefore, a ball-hitting system needs to be designed, requiring the initial velocity of the ball to reach a maximum of 5 m/s and be controllable. Analysis and experiments showed that using a DC voltage of 200V or higher to drive the electromagnet allows the robot to achieve a maximum kicking speed of 5 m/s. This necessitates designing a DC-DC boost circuit to convert the robot's 10V battery voltage to over 200V.
Based on the principle of switching power supplies, a boost circuit is designed as shown in Figure 4:
Figure 4 Schematic diagram of DC-DC boost circuit module
A high-power MOSFET is an electronic switch, and its on and off states are controlled by a PWM wave generated by a PWM generator.
When the MOSFET is turned on, the power supply and inductor form a closed loop. During this process, the loop current rises linearly, and the power supply stores energy in the inductor coil. When the MOSFET is turned off, the power supply inductor and the energy storage capacitor form a closed loop. During this process, the inductor generates an induced voltage due to the decrease in current, and this voltage is superimposed on the power supply voltage to charge the energy storage capacitor. In this way, the energy storage capacitor can obtain a voltage much higher than the power supply voltage.
The PWM wave generated by the PWM generator controls the MOSFET to turn on and off at a high speed of 3.6kHz, allowing the boost circuit to continuously charge the energy storage capacitor. When the voltage in the energy storage capacitor reaches the preset voltage, the PWM generator stops working, and the charging circuit stops charging the energy storage capacitor. If the voltage of the energy storage capacitor drops due to factors such as the driving electromagnet, the PWM generator will be triggered. The PWM generator will then restart working and charging the energy storage capacitor. Through this process, the voltage in the energy storage capacitor can be maintained at the set voltage.
5. Software Design
The robot's control system employs a dual-DSP architecture, reducing hardware system complexity. However, this also results in high coupling between the master and slave DSPs, requiring extensive data exchange, management, and handshake signaling. This places demands on the software within the DSPs. The following section describes the software design of the master and slave DSPs, explaining how various functions are implemented.
Speed trajectory control of soccer robots is an important research area, thus requiring the DSP program executing the speed trajectory control algorithm to be easily modified. The master DSP manages the slave DSP; the host computer can send control commands to the master DSP, which then manages the slave DSP's control algorithm program. This provides greater flexibility in the execution of the control program on the slave DSP.
After the instructions received by the wireless module are received and verified by the main DSP, they are sent to the slave DSP via SCI. When the slave DSP needs the main DSP to read two sets of orthogonal code disk signals, the main DSP also sends this information to the slave DSP via SCI. In other words, both the verified instructions and the code disk signals are transmitted through the same channel. Therefore, a certain mechanism is needed to address this. In the actual design, two I/Os are used as handshake signals. The main DSP sends different data based on the handshake signals. Both sets of data are sent in the form of encapsulated "frames" with different data headers. The slave DSP uses the data headers to determine whether it is receiving an instruction or a code disk signal, and thus stores the received data in different registers. The two I/Os can represent four states, as shown in Table 1:
Table 1 SCI Transmission Handshake Signal Status Table
I/0 1 | I/0 2 | state |
1 | 1 | invalid |
1 | 0 | Send encoder signal |
0 | 1 | Send command signal |
0 | 0 | invalid |
The SCI interface baud rate is 115200bps; the data format is: 1 start bit, 8 data bits, 1 stop bit, and no parity check.
The following diagram shows the software flowchart of the master and slave MCUs of the system.
Figure 5. Master and Slave MCU Software Flowchart
6. Conclusion
This paper focuses on the motion control algorithms and control circuit system design for robots. In terms of motion control research, a suitable motion control mode and algorithm are proposed for a team of four-wheeled omnidirectional soccer robots. This mode divides motion control into two main stages: velocity trajectory generation and velocity trajectory following. To meet the requirements of the robot control algorithm, the authors designed a control circuit scheme based on a master-slave dual DSP architecture. This scheme effectively simplifies circuit design, increases reliability, and reduces cost.
For more information, please follow the Motion Control channel.