1 System Structure and Hardware Circuit Design
The system is based on the Cortex-M3 series ARM7 chip STM32F103 microcontroller, including nanoPAN5375 module, CC1101 RF module, ultrasonic module, voice module isd1700 and other circuits. The overall system scheme is shown in Figure 1.
1.1 nanoPAN5735 module
nanoPAN5375 is an RF module based on 2.4 CHz ISM band (2.400~2.4835 GHz) that integrates amplification, filtering and other components. It uses nanotron's broadband linear frequency spread spectrum (CSS) global patent technology, which can flexibly provide data transmission rates in the range of 31.25 kbps~2 Mbps, with excellent anti-interference and dynamic characteristics, and provides reliable data communication with excellent transmission range. By using a mature MAC controller, the requirements for microprocessors and software can be greatly reduced, and high-level system design can be easily completed. The nanoPAN 5375 module is shown in Figure 2.
2 Main software design
The system mainly includes three parts: host, fixed node and parking space information collection. The host measures the distance to the three fixed nodes through the nanoPAN5375 module, determines the position of the car through the three-sided centroid algorithm, and then filters it through the Kalman algorithm; receives the parking space information collected by the ultrasonic module through the CC1101 module, and controls the isd1700 module to broadcast the voice. The software mainly includes the ranging, three-sided centroid algorithm, Kalman filtering algorithm, CC1101 module information reception, voice broadcast and other functions of nanoPAN 5375. The nanoPAN5375 module of the fixed node part is in a waiting state. When receiving the ranging information, it feeds back to the host. Parking space information collection is to control the ultrasonic module to measure the distance, determine whether the parking space is an empty parking space, and send it to the host through the CC1101 module.
As shown in Figure 3, the three-sided centroid algorithm is mainly used to determine the position of the host. The system improves the accuracy of the host position estimation by measuring the distance from the host to the three fixed nodes and calculating the centroid of the common area of the intersecting circles [1.3, 5].
Assume the coordinates of the unknown node D are (x, y), and the coordinates of the three known points A, B, and C are (x1, y1), (x2, y2), and (x3, y3), respectively, and their distances to D are d1, d2, and d3, respectively.
Then we can get the following set of equations:
According to equations (1), (2), and (3), we can solve the intersection points of circle A and circle C (xac1, yac1), (xac2, yac2), the intersection points of circle B and circle C (xbc1, ybc1), (xbc2, ybc2), and the intersection points of circle A and circle B (xab1, yab1), (xab2, yab2).
By substituting the intersection points (xac1, yac1) and (xac2, yac2) of circle A and circle C into the formula (x-x2)2+(y-y2)2, the size can be determined to find the two points that are closer to the center of circle B, assuming (xac 1, yac1). Similarly, the point that is closer to circle A at the intersection of circle B and circle C can be found, set as (xbc1, ybc1), and the point that is closer to the center of circle C at the intersection of circle A and circle B is set as (xbc1, ybc1).
The coordinates of the unknown node are estimated based on the centroid idea
. After the position of the host is obtained according to the above algorithm, the estimated value of the Kalman filter is used to correct the test value of the host to improve the system accuracy.
Kalman filtering is a highly efficient recursive filter (autoregressive filter) that can estimate the state of a dynamic system from a series of incomplete and noisy measurements. The measured values of the target's position, velocity, and acceleration are often noisy at any time. Kalman filtering uses the dynamic information of the target to try to remove the influence of noise and obtain a good estimate of the target position. This estimate can be an estimate of the current target position, an estimate of the future position (prediction), or an estimate of the past position (interpolation or smoothing). [page]
3 System test and test results
The distribution diagram of the system test nodes and the host is shown in Figure 4. The three nodes are fixed on the three vertices of an equilateral triangle with a side length of 12 m. When the ultrasonic module detects an empty parking space, the host selects the nearest empty parking space for navigation. When there is an intersection 5 m ahead, it prompts the owner to "turn left" or "turn right" to accurately navigate the person to the target address. The position coordinates of the host are measured within the equilateral triangle with a side length of 6 m, and the data are recorded as shown in Table 1.
The experimental results show that when the distance between nodes increases, very accurate coordinate values are obtained through the three-side centroid algorithm and Kalman filter algorithm. The distances between the host and the three nodes measured in a larger range are shown in Table 2.
4 Conclusion The
local underground parking lot voice navigation system is based on the Cortex-M3 series ARM7 chip STM32F103 microcontroller, including nanoPAN5375 module, CC1101 module, voice module isd1700, ultrasonic module and other circuits. The software uses the three-side centroid algorithm and Kalman filter algorithm. The test shows that in an equilateral triangle with a side length of 6 m, the average error of the x coordinate is 0.42 m, the maximum error is 0.62 m, and the average error of the y coordinate is 0.42 m, and the maximum error is 0.74 m; in an equilateral triangle with a side length of 70 m, the error of the x coordinate is 0.33 m, and the error of the y coordinate is 0.36 m. Since the length of the car is greater than 4 m, the above errors do not affect the navigation of the car. After testing, the system can navigate people to the target location more accurately.
Previous article:Vehicle safety distance intelligent control and self-braking system
Next article:System design of two-wheeled self-balancing intelligent vehicle
- Learn ARM development(16)
- Learn ARM development(17)
- Learn ARM development(18)
- Embedded system debugging simulation tool
- A small question that has been bothering me recently has finally been solved~~
- Learn ARM development (1)
- Learn ARM development (2)
- Learn ARM development (4)
- Learn ARM development (6)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- From probes to power supplies, Tektronix is leading the way in comprehensive innovation in power electronics testing
- From probes to power supplies, Tektronix is leading the way in comprehensive innovation in power electronics testing
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- What are the functions of the Internet of Vehicles? What are the uses and benefits of the Internet of Vehicles?
- Power Inverter - A critical safety system for electric vehicles
- Analysis of the information security mechanism of AUTOSAR, the automotive embedded software framework
- How do I call the triangle wave function and sine wave function in CCS?
- Wouldn't it be great to apply for an oscilloscope for free? Various magical testing experiences are waiting for you! A 100-yuan Jingdong card is waiting for you!
- How to use logic analyzer to debug SPI anomalies
- TI C6000 CodecEngine integrated algorithm core calling principle
- Commonly used techniques in PCB design
- [Silicon Labs Development Kit Review] Using TensorFlow to Prototype Gesture Recognition Project
- When IAR STM8 uses registers as uart, an error occurs when writing the receive interrupt. Please solve it
- EEWORLD University Hall----Live Replay: ADI Reference Voltage Source Product Technology and Application Selection
- Revolutionizing radar design with electronically reconfigurable GaN power amplifiers
- About the debugging of ML75308 optical rainfall chip???