With the emergence and development of ARM processors and the development of embedded systems, the real-time and rapid requirements of mobile robots can be well met. Now this technology has been effectively applied in many fields. This paper uses a low-power and high-performance 32-bit processor chip S3C44B0X based on the ARM7TDMI core of SAMSUNG as the control core, and uses the Lingyang 16-bit microcontroller SPCE061A as the auxiliary processor to process the obstacle information detected by the sensor, and uses the embedded real-time multi-task operating system µC/OS-II to manage the implementation of the mobile robot's navigation algorithm and the execution of multiple tasks. The experimental results show that the system can realize the obstacle avoidance and navigation functions and can reach the destination smoothly.
2. Hardware Design of Control System
The control system of the mobile robot mainly completes the detection of external obstacles and information transmission, the acquisition of the current position of the robot, path planning, and operation control. The system can be divided into the following five modules by functional modularization: environment detection module; global positioning module; program download module, motor drive module and power management module. The relationship between each module is shown in Figure 1.
Figure 1 Control system hardware diagram
2.1 Environmental Detection Module
During the obstacle avoidance and path planning process, the mobile robot must detect the information of surrounding obstacles in real time and measure the distance of obstacles. Currently, there are infrared, ultrasonic, laser and visual (CDD) sensors. Laser sensors are greatly affected by the environment and are relatively expensive. Visual sensors (CCD) require large chip storage capacity and fast processing speed, which makes them difficult to use. Based on this, this article installs a set of infrared sensors and ultrasonic sensors in front, left and right of the mobile robot to measure the distance of obstacles in three directions. The use of multiple sensors can avoid the blind spots of single sensor measurement.
The infrared sensor consists of a transmitter and a receiver. The 3-way transmitter port of this sensor is connected to the 3-way I/O port of the Lingyang MCU SPCE061A, and the 3-way receiver port is connected to the other 3 ports of the MCU. When the MCU I/O output is high, the transmitter port emits infrared light, and the light wave encounters an obstacle and is reflected by the receiver, generating a current with a relative light intensity that is input into the MCU through A/D conversion, and the distance of the obstacle is calculated based on the voltage. The working principle of the ultrasonic sensor is basically the same as that of the infrared sensor. The sound wave encounters an obstacle and is returned by the receiver, and the distance of the obstacle is calculated based on the time difference.
The detection module can measure obstacles within a distance of 0 to 2 meters with a small measurement error. It uses the 16-bit Lingyang microcontroller SPCE061A to quickly process obstacle information. Once an obstacle is detected, it communicates with the S3C44B0X through the bus interface and transmits data.
2.2 Global Positioning Module
The determination of the current position of the robot is crucial, providing essential information for the robot's path planning. Currently, the positioning sensors include the global positioning system (GPS), rotary potentiometer, photoelectric encoder, magnetic compass, electronic compass, accelerometer, etc. In view of the use environment, this module uses a combination of photoelectric encoders and electronic compasses produced by Changchun First Optical Co., Ltd. to determine the current coordinate point of the robot¹. The photoelectric encoder converts the angular displacement of the axis into an electrical pulse signal through photoelectric conversion, which is output to the counter T1 of S3C44B0X through the amplification circuit, and the pulses collected at a specific time are stored. The pulse signal is proportional to the number of turns of the wheel, so the actual distance of the robot can be calculated. The electronic compass uses Honeywell's low-cost HMR3100 planar electronic compass, which has an HMC1022 two-axis magnetic sensor inside. The angle measurement accuracy can reach 5 degrees. The electronic compass can determine the absolute direction of the robot relative to the North Pole, and can accurately measure the deviation between the robot's movement direction and the theoretical direction, thereby correcting the robot's movement trajectory.
2.3 Program download module and motor drive module
The program download module mainly completes the download of startup programs and application programs. This system provides two download methods, serial port download and parallel port download. Serial port download communicates with PC through RS232 serial port line connecting COM1 on the board, and parallel port download completes the communication between PC and S3C44B0 through parallel port line connecting JTAG debugging interface.
The accuracy of the motor drive module has a great impact on the accuracy of the entire system. Considering various factors, this module uses an integrated driver IR2110 based on dual-channel, high-voltage, high-speed gate drive mode. The IR2110 driver chip can convert the input logic signal into a low-impedance output drive signal with the same phase, and can drive two outputs on the same bridge arm. The characteristics of strong driving ability, fast response speed, high operating voltage, and low cost improve the accuracy and reliability of the system. The motor uses an ordinary high-power DC reduction motor and a high-power H-bridge drive circuit. The circuit principle is shown in Figure 3.
Figure 3 Circuit driving principle diagram
In the circuit, IR2110 is used as the pre-driver, and four IRFP250s form an H-bridge driver circuit. When a PWM signal is added to the IN1 terminal and a low level is added to the IN2 terminal, Q2 and Q5 are turned on, Q3 and Q4 are turned off, and the motor is driven to rotate forward; when a PWM signal is added to the IN2 terminal and a low level is added to the IN1 terminal, Q3 and Q4 are turned on, Q2 and Q5 are turned off, and the motor is driven to rotate reversely. The motor speed can be adjusted by adjusting the PWM pulse width. In order to make the motor run smoothly, the frequency of the PWM signal should not be less than 1KHZ.
3 System software implementation
The software part is implemented based on the real-time multitasking operating system µC/OS-II ported to S3C44B0X. It is a priority-based, preemptive real-time kernel with open source code, good portability, scalability, multitasking, etc. It can manage 64 tasks and the application can reach 56 tasks. It mainly completes the functions of task management, time management, semaphore management, memory management, etc.
The robot mainly completes obstacle avoidance detection and information transmission, position acquisition, path planning, and operation control functions. Therefore, the system creates a total of 4 tasks, Task 1: obstacle avoidance detection and information transmission, Task 2: position acquisition, Task 3: path planning, Task 4: motor drive control. The priority of the tasks decreases in turn, and information is transmitted between tasks through the fuel tank. After completing the initialization system, the mobile robot drives the motor to execute Task 4 and move toward the target point along the predetermined path. At the same time, the sensor controlled by the single-chip microcomputer SPCE061A works. When the sensor detects obstacles around, Task 1 enters the ready state. Since Task 1 has a high priority, it seizes the right to use the CPU and completes the processing and transmission of obstacle information. Through the transmission of semaphores, Task 2 enters the ready state and completes the calculation of the current position, providing a basis for path planning. Task 3 starts the navigation algorithm for path planning based on the obstacle information provided by Task 1 and the information position information provided by Task 2. After the new path planning is completed, Task 4 enters the running state, thereby completing the final specified task.
4 Experimental Results
The experiment was conducted indoors, with a site area of 12m×12m. A green blanket-like material was attached to the surface of the site to prevent slipping. The path planning used a grid-based navigation algorithm². The robot shape size was 0.8m×0.8m×0.6m, the grid scale was 0.8m×0.8m, the number of rows and columns of the grid was 15, and the total number of grids was 15×15=225. Building blocks and other robots were used as stationary obstacles. The running trajectory of the mobile robot is shown in Figure 4. The light gray box in the figure is an obstacle, and the dark gray box route is the robot's motion trajectory. The starting point and the target point are marked in Figure 4 below. The experimental results show that the robot can avoid obstacles and reach the target point. After multiple experiments, the position error is 0~0.4m, which is feasible.
Figure 4 Schematic diagram of robot movement
5 Conclusion
The innovation of this paper is to control the robot by combining the high-performance ARM chip S3C44B0X as the main controller and the single-chip microcomputer SPCE061A as the auxiliary controller, and introduce the embedded real-time operating system µC/OS-II to complete the implementation of the robot navigation algorithm and the reasonable planning and scheduling of multiple tasks of the robot, as well as to ensure the robot's rapid response to unknown environments and the accuracy of the entire system. Experiments have proved that this method is feasible.
The control system has rich hardware resources. The processing of information obtained by the sensor also uses the high-performance single-chip SPCE061A, which provides a hardware foundation for the use of future visual sensors (CCD). The robot also occupies less hardware of the main controller, which facilitates future system upgrades. More advanced navigation algorithms can also be used to make it more intelligent.
Previous article:Research on model reference adaptive control of CNC machine tool cutting process
Next article:Fuzzy Intelligent Implementation of Temperature Control System of Heating Furnace
- Popular Resources
- Popular amplifiers
- Molex leverages SAP solutions to drive smart supply chain collaboration
- Pickering Launches New Future-Proof PXIe Single-Slot Controller for High-Performance Test and Measurement Applications
- CGD and Qorvo to jointly revolutionize motor control solutions
- Advanced gameplay, Harting takes your PCB board connection to a new level!
- Nidec Intelligent Motion is the first to launch an electric clutch ECU for two-wheeled vehicles
- Bosch and Tsinghua University renew cooperation agreement on artificial intelligence research to jointly promote the development of artificial intelligence in the industrial field
- GigaDevice unveils new MCU products, deeply unlocking industrial application scenarios with diversified products and solutions
- Advantech: Investing in Edge AI Innovation to Drive an Intelligent Future
- CGD and QORVO will revolutionize motor control solutions
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Find an electronics engineer near Foshan
- Agitek Engineer - How to determine if an oscilloscope has a false wave
- My question is, does IoT need a server? Is Alibaba Cloud better or Tencent Cloud? Can anyone recommend one?
- [RVB2601 Creative Application Development] Network Weather Clock
- [HPM-DIY] Pseudo 3D game doom ported to HPM6750
- Invalid declaration when using IP4_ADDR(ipaddr, a,b,c,d)
- Pingtouge RVB2601 Open Source Application Innovation Collection Activity Award Ceremony, thank you for your companionship with the growth of the NationalChip ecosystem
- Computer USB 3.0 interface hardware circuit design
- DIY-Handmade Constant Temperature Heating Table
- How to write driver for HT16K33_16*8 dot matrix