This project designs a trolley chassis motion system with a McIlrod structure. After kinematic analysis of the chassis, the motion information of each McIlrod is calculated.
Then, the 8-way PWM controls the 4-way bridge circuit to drive the 4-wheel motor. Its chassis can achieve omnidirectional movement, that is, longitudinal and lateral movement of the plane and rotation movement in place.
Application Background
In the current development of mobile robots, in addition to robots with bionic structures, mobile robots with McDonnell Douglas structures and mobile robots with universal wheel structures are also used very frequently.
Especially for robots in the consumer field, such as sweeping robots, building disinfection robots and subway inspection robots, the chassis structures in these fields basically adopt the McLennan structure, which is more flexible, more reliable and easier to implement than bionic robots.
Implementing functions
8-way PWM output
Omnidirectional chassis movement
Overall framework
Hardware Framework
The RA development board generates 8 PWM signals, which are provided to the DRV8833 bridge circuit module, which drives each wheat wheel motor.
Software Framework
There are not many threads involved in the software. In addition to the main thread and the serial port interrupt thread used for debugging, there is also the motion mode switching thread.
Use of RT-Thread
In my project, I used RTT as the thread implementation of RTOS
RTT has a HAL layer that is adapted to the board level. In this project, PWM and serial port peripherals are used, both of which use the functions of the HAL layer provided by RTT, which enhances portability.
This project also uses the RTT automatic initialization mechanism, which means that the initialization function does not need to be called in reality, but only needs to be declared in the function definition through macro definition, and it will be executed during the system startup process. INIT_PREV_EXPORT() searches and initializes the pwm device.
INIT_APP_EXPORT() initializes the motion mode thread.
Previous article:Low-power design of autonomous driving chips
Next article:Introducing an efficient and lightweight model for drivable area and lane segmentation in autonomous vehicles
- Popular Resources
- Popular amplifiers
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- 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
- 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
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- 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
- High-speed interface bus issues
- Hangxin Data-F070 Development Board & Touch Board Introduction, LCD Board Schematic Diagram
- TI op amp stability analysis
- MSP430F5438 Evaluation Board
- Servo Motor Driver Problems
- [Mil MYD-YA15XC-T Review] + Using QT to read temperature and humidity sensor data
- Question about freewheeling diode
- [Recruitment] [Recruitment] Full-time and part-time are both available
- TM4C123GH6PZ MCU burning HEX file error
- Linux turns 30 today