Research on dust removal competition robot and its control strategy

Publisher:科技创新实践者Latest update time:2012-06-15 Source: 电子设计工程 Keywords:MSP430 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

At present, the development of robots has become an important standard for measuring the scientific and technological strength of various countries. The design of robots in developed countries such as Europe, the United States, and Japan has become increasingly mature, with a wide variety and powerful functions. China has also invested a lot of manpower and financial resources in the research and development of robots, attaches great importance to the teaching of robots, and takes robots as a practical training and practice course in primary schools, middle schools, and universities. It has vigorously carried out various student competitions at the national, provincial, and municipal levels, which has greatly promoted the popularization of robots in China and laid a solid foundation for the research of robots.
The design of competition robots has become a scene of flourishing. In terms of structure, there are humanoid robots, wheeled robots, foot robots, and crawler robots; in terms of completing tasks, there are service robots, fire-fighting robots, dust removal robots, and scenic spot robots. For different tasks, they have their own characteristics. The main performance indicators of dust removal competition robots are the coverage rate of dust removal area and the time to complete. This paper uses the 16-bit microprocessor MSP430F5418 microcontroller to design a wheeled robot. The robot's obstacle avoidance and movement are controlled by four DC motors to complete the competition tasks.

1 Overall structure
Since the tasks completed by the dust removal competition robot are relatively simple and there are strict regulations on its size, the design of the robot should be as simple and practical as possible to avoid unnecessary redundant design. To this end, this paper adopts a modular approach to design the dust removal competition robot, which can flexibly add modules and improve the system according to actual needs to complete the specified tasks; the system is mainly composed of the main control board, power management module, infrared ranging module, electronic compass and motor control board, etc., and its system structure is shown in Figure 1.

c.JPG


The main controller uses the 16-bit microcontroller MSP430F5418, which is widely used due to its high computing speed, rich peripheral interfaces and low price. It is responsible for processing the data collected by the sensor and controlling the movement of the motor based on the effective information obtained. The power management module is mainly responsible for providing independent and stable power for each module in the entire system; the infrared ranging sensor is responsible for collecting obstacle information in the environment to provide a basis for the robot's obstacle avoidance; the electronic compass obtains angle information to control the robot's steering; the motor driver board is responsible for driving and controlling the DC motor.

2 System Implementation
The system mainly consists of the main control board, power management module, infrared ranging module, electronic compass and motor control board. The infrared ranging and electronic compass modules are the key to the system implementation.
2.1 Infrared ranging sensor
The infrared sensor is mainly responsible for measuring the distance between the robot and the obstacle. In order to reliably obtain the site and environmental information, the location deployment of the infrared ranging sensor is very critical. The top view and side view of the deployment of 7 sensors are shown in Figure 2 and Figure 3 respectively.

d.JPG


The left end of Figure 2 is the head of the dust removal robot. The robot head is equipped with infrared sensors 1, 2, and 3, which are placed at 45°, 90°, and 135° respectively, to detect obstacles in front of and on both sides of the robot head. Since the platform height of the dust removal competition robot venue is relatively low, in order to be able to detect the periphery of the platform, sensors 1, 2, and 3 are installed at a lower position. Infrared sensors 4 and 5 on both sides of the robot are used to ensure that the entire body of the robot is in a wide area when entering the room to turn. If only infrared sensors 1 or 3 are used to judge the blank area in front, the robot may turn too early and hit the wall. Infrared sensor 7 is installed at a 45° tilt. When the robot is running on the platform, it can sense the road conditions by detecting the sudden change in the height of the platform edge. Infrared sensor 6 is used to obtain information behind the robot as auxiliary information. [page]

2.2 Electronic compass
The electronic compass is a key component in the design of the dust removal robot. The processing of angle information is directly related to whether the robot's steering can be accurately controlled. The design structure of the electronic compass is shown in Figure 4.

e.JPG


As a new generation of magnetic sensor, HMC1022 has the advantages of high sensitivity (<0.1°), fast response time (<1μs), high output frequency (1 000 Hz), small size and solid-state packaging. In the circuit, IRF7105 provides set/reset pulses for HMC1022 magnetoresistive chip. HMC1022 magnetoresistive sensor generates two differential analog signals according to the applied direction of the geomagnetic field. After differential amplification by two AD620 amplifier circuits, two analog voltages AD0 and AD1 are obtained. After 10-bit high-precision A/D conversion by microcontroller LPC938, digital signal is obtained. After digital filtering, the angle value of the robot is calculated and finally transmitted to MSP430F5418 main controller through UART serial port. UART serial port protocol consists of start word (0x24), angle value high 8 bits, angle value low 8 bits, and end synchronization word (0x55).

3 Software Design
Software is the soul of the robot system. The quality of the software is directly related to whether the robot can work stably. The design of the dust removal competition software should fully consider the specific environment of the venue and adopt effective path planning. The venue model of the Jiangsu Provincial Robot Competition Dust Removal Competition is shown in Figure 5.

e.JPG

[page]

3.1 Path Planning
In order to maximize the robot's traversal area, its running path should be reasonably planned. To this end, the site is divided into 4 rooms as shown in the figure, and the robot's running path is 1->2->3->4->3->1. The process of the robot's running strategy is shown in Figure 6.

f.JPG


The operation process of the robot can be divided into 6 steps:
1) The robot performs a return traversal in Room 1, starting from the starting point and moving forward to the left in the figure. When it encounters a baffle, it returns 180°, and repeats this process until the black line at the door of Room 2 is detected. This ensures that the traversal area of ​​Room 1 reaches the maximum.
2) After the robot enters Room 2, it runs one circle counterclockwise with the cylindrical obstacle as the center to reach the maximum traversal area.
3) When the robot comes out of Room 2 and enters Room 3, since Room 4 is a protruding platform, it can directly run along the edge of Room 4 and the slope and enter Room 4. The remaining area of ​​Room 3 can be traversed when returning.
4) Since Room 4 is a platform and more than one-third of the area of ​​the platform must be traversed for the traversal area of ​​Room 4 to be effective, the robot traverses twice on the platform. First, the robot traverses the outer circle on the platform along the wall and the edge of the platform, and then when it encounters the corresponding wall and platform edge for the second time, it retreats appropriately and traverses the inner circle to achieve a larger traversal area.
5) After the robot comes down from the platform and enters room 3 again, it can traverse the remaining area in step 3 according to the information of walls and obstacles.
6) Use the wall-walking strategy to return to the starting point safely.
3.2 Angle control
The electronic compass provides angle information for the operation of the robot. In actual applications, the dust removal robot has three large angles of 45°, 90°, and 180°. The electronic compass module outputs angle information of 0° to 360°. Considering the uncertainty of the direction of the competition venue, relative angles are usually used instead of absolute values. That is, the current angle value is obtained, and then the angle to be turned is preset. The collected angle information is queried and compared. When the preset angle is reached or exceeded, the turning work is stopped and the next task is entered. During the debugging process, it was found that the robot would spin continuously during the turning process. After analysis and research, it was found that the main reason was the jitter of information acquisition and the influence of the environment. For this reason, the specific preset angle was expanded to a range. In general, the principle of the robot turning a certain angle is shown in Figure 7. Expanding the specific preset angle into a range introduces a new problem. This is caused by the sudden change from 360° to 0° in the preset angle range, that is, passing through the critical point of 360° (0°). The schematic diagram of the preset angle crossing the critical angle is shown in Figure 8.

a.JPG

[page]

The process of angle control is divided into the following four steps. The flowchart of the control algorithm is shown in Figure 9.

g.JPG


1) Loop to obtain the starting angle information. When the absolute difference between the two obtained information is less than 5°, a stable starting angle value start_angle is obtained.
2) According to the current angle value start_angle and the angle value to be rotated, the preset angle value set_value is calculated.
In order to avoid the preset angle value being missed when obtaining, the preset angle value can be increased by 5° to obtain the preset angle range angle_little-angle_big. When angle_little 3) When angle_little When the robot rotates clockwise, it can be judged that the robot has reached the preset angle value if one of the following conditions is met:
a) The current angle value result is within the preset angle range.
b) When the robot's starting position start_angle is in area ② in Figure 7, and the current position result is in area ③ in Figure 7.
c) When the robot's starting position start_angle is in area ③ in Figure 7, and the current position result>angle_little and result When the robot rotates counterclockwise. The robot can be judged to have reached the preset angle value if one of the following conditions is met:
a) The current angle value result is within the preset angle range.
b) When the robot's starting position start_angle is in area ② in Figure 7, and the current position resultstart_angle.
c) When the robot's starting position start_angle is in area ③ in Figure 7, and the current position result is in area ② in Figure 7.
4) When angle_little When the robot rotates clockwise, if one of the following conditions is met, it can be judged that the robot has reached the preset angle value:
a) The current angle value result is within the preset angle range of area ① or area ② in Figure 8.
b) When the robot's starting position start_angle is in area ③ in Figure 8, and result>angle_big and result When the robot rotates counterclockwise, if one of the following conditions is met, it can be judged that the robot has reached the preset angle value:
a) The current angle value result is within the preset angle range of area ① or area ② in Figure 8.
b) When the robot's starting position start_angle is in area ③ in Figure 8, and resultstart_angle.

4 Conclusion
The control strategy is used to control the robot's turning angle, and the reliability and stability have been greatly improved, and the success rate can reach 100%, which can fully meet the requirements of the competition. The dust removal competition robot designed on this basis has the characteristics of low cost and high reliability. In the dust removal competition of the 4th Jiangsu Provincial Robot Competition, the dust removal area coverage rate reached more than 80%, and won the first prize.

Keywords:MSP430 Reference address:Research on dust removal competition robot and its control strategy

Previous article:Design principle of LED outline display controller based on single chip microcomputer
Next article:Design of temperature control system based on MSP430 microcontroller

Recommended ReadingLatest update time:2024-11-16 21:48

Communication methods and protocols between MSP430 multi-processors
In a single-chip computer system, multi-processor refers to multiple single-chip computers of the same type or different types cooperating to handle different tasks of the same system. They must have certain data exchange and collaborative processing capabilities to complete a systematic work together. Different proces
[Industrial Control]
Design of Low Power RF/Infrared Controller Based on MSP430
0 Introduction In the application of intelligent home control system, wireless communication and control have been used more and more widely. In order to realize the centralized wireless control of household electrical appliances, telephone remote control and handheld remote control can be used for long-distance or
[Analog Electronics]
Design of Low Power RF/Infrared Controller Based on MSP430
MSP430 controls segment LCD
//****************************************************************************** //  MSP-FET430P430 Demo - LCD, Display "0123456" on SBLCDA4 LCD // //  Description: Displays "0123456" on SBLCDA4 LCD as used on 430 Day Watch //  board. //  ACLK = LFXT1 = 32768Hz, MCLK = SMCLK = default DCO = 32 x ACLK = 1048576Hz
[Microcontroller]
MSP430 Learning Notes (Part 2)
4. C12 analog-to-digital conversion module 1. Test voltage generator All ADC and DAC modules require a reference signal, which is what we often call Vref+, Vref-. The ADC12 module of MSP430 has an internal reference power supply. The internal reference power supply is started by controlling the REFON signal and
[Microcontroller]
Defining your own flags with bit segments in MSP430
   When writing programs, you often need to define flags (bits) yourself. If each flag occupies one byte, it will take up a lot of space. You can use bit segments to implement this, and concentrate several flags in one storage unit. 1. Definition of bit segment   I won't go into detail about the definition of bit se
[Microcontroller]
Thermistor temperature measurement based on MSP430 single chip microcomputer
Thermistors are generally used as sensors to measure temperature. The measurement methods include R-V conversion voltage measurement method and R-F conversion frequency measurement method. The circuits of these two methods are complex and costly, and many components in the circuit directly affect the measurement acc
[Microcontroller]
Thermistor temperature measurement based on MSP430 single chip microcomputer
msp430 watchdog settings
Watchdog Timer ( Watchdog Timer (WDT_A) is actually a special timer that can be used as a watchdog or a timer. The so-called watchdog function is to monitor whether the program runs away due to some interference or error. The principle is that when the time of the fault meets the specified timing, a non-masking inter
[Microcontroller]
Intelligent battery monitoring system based on MSP430F series microcontroller
1 Introduction In the maintenance of battery packs in power systems, in addition to the conventional floating charge management of batteries, it is also necessary to inspect the terminal voltage and single-cell voltage of the battery pack; regularly perform constant current discharge tests on the battery pack t
[Power Management]
Intelligent battery monitoring system based on MSP430F series microcontroller
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号