0 Introduction
Sensor technology is one of the key technologies in the research of humanoid robots. The reason why humanoid robots can complete certain operating functions in known or unknown environments is that they can perceive external environmental information and their own status through sensors, obtain feedback information, and realize closed-loop control of the system. At present, there are many types of sensors used in humanoid robots, such as visual sensors, electronic compasses, accelerometers, and ultrasonic sensors, which are commonly used sensors in humanoid robots.
The DF-1 robot is a humanoid robot independently developed by our institute. This paper first introduces the overall system of the DF-1 robot, and then designs the sensor system of the DF-1 robot according to the functions that the DF-1 robot needs to realize, and then realizes the specific working circuit of the sensor system, uses ARM9 to realize the collection of sensor system information, and finally verifies the effect of the sensor system.
1 Introduction to DF-1 humanoid robot
The DF-1 robot imitates the human body and uses the servo structure to realize the functions of human joints, as shown in Figure 1. The DF-1 is 45 cm long and has 17 degrees of freedom, which are specifically distributed as follows: 2×2=4 degrees of freedom for the ankle joint, 2×1=2 degrees of freedom for the knee joint, 2×2=4 degrees of freedom for the hip joint, 2×2=4 degrees of freedom for the shoulder joint, 2×1=2 degrees of freedom for the elbow joint, and 1 degree of freedom for the head. The DF-1 robot uses an ARM9 microprocessor, which is mainly used to complete tasks such as information fusion, decision-making and planning. The functions that the DF-1 robot can already realize include walking, doing push-ups, climbing stairs, and practicing Tai Chi. The realization of these functions is based on the fact that the DF-1 robot has a good mechanical structure and is completed through manual debugging and setting specific programs. In order to improve the stability of the robot's movements and realize the intelligent control of the DF-1 robot, it is necessary to configure the robot with a sensor system so that the robot can perceive its own state and the external environment.
2 Sensor system design
Three ultrasonic sensors are installed on the chest of the DF-1 robot to measure obstacles in front of, to the left and to the right of the robot. In this sensor system, an ARM9 microprocessor is used as the information acquisition, data preprocessing and communication unit. Since ultrasonic sensors have multiple reflection problems, three infrared ranging sensors are installed at the corresponding positions of the ultrasonic waves to solve this problem. The information obtained by the sensor system is transmitted to the host computer through the RS 232 interface in a fixed-length byte format. The basic structure of the sensor system is shown in Figure 1. [page]
2.1 Accelerometer sensor
Sensors for determining the robot's posture include gyroscopes and accelerometers. Since the gyroscope is expensive and the DF-1 robot is slow in motion, this paper uses a low-cost accelerometer to sense the robot's posture. The accelerometer is an important component in the object motion test, and its output is proportional to the acceleration of the object. The specific model of the accelerometer used in the sensor system is the dual-axis accelerometer ADXL202 produced by AD. ADXL202 has two outputs, one is to output analog signals from the XFILT and YFILT pins; the other is to output modulated DCM signals directly from the XOUT and YOUT pins. In specific use, the DCM signal output of the accelerometer is selected, which can save the A/D conversion link required to use analog signals and simplify the difficulty of circuit design.
2.2 Ultrasonic sensor
The sensors used for distance measurement mainly include infrared sensors, ultrasonic sensors, laser rangefinders, etc. In order to determine the approximate shape of the object while measuring the distance, a multi-sensor distance measurement system should be designed. Considering the installation space and cost of the robot, ultrasonic sensors are mainly used for distance measurement.
Ultrasonic sensors are mainly used to measure the distance information from the robot to the surrounding obstacles. There are multiple reflection problems in the distance measurement process of ultrasonic waves, that is, when ultrasonic waves encounter obstacles, they do not return to the transmitting and receiving points along the original path, but return to the transmitting and receiving points after multiple reflections. In this way, the measured distance information is no longer true, and in serious cases, the target will be "lost". This article uses SFR05 produced by DEVANTECH. SFR05 is small in size and has stable signals, which is easy to install in the robot. In addition, the measurement distance of SFR05 is 1 cm to 4 m. At the minimum measurement distance, it can be considered that the sensor has no blind spots.
2.3 Infrared sensor
In order to compensate for the problem of multiple reflections of ultrasonic sensors in ranging, three infrared ranging sensors are installed at the corresponding positions of ultrasonic waves. When the distance measured by the ultrasonic sensor is much greater than the distance measured by the infrared sensor in the same direction, it can be inferred that the ultrasonic wave has been reflected multiple times, and the distance information measured by the infrared sensor is used to replace the information of the ultrasonic sensor. The infrared sensor used in this article is GP2D12 produced by SHARP, which can measure a distance of 10 to 80 cm. GP2D12 can work with power supply, and the output voltage is 0.3~2.8 V. When measuring distance, the GP2D12 sensor is less affected by the external light intensity, the reflectivity of the object surface and the color of the object.
3 Software Implementation
The sensor system data acquisition and processing unit uses an ARM9 microprocessor, which mainly completes the following functions: realizes the control of the accelerometer and the measurement of acceleration, and calculates the inclination angle of the robot according to the acceleration value; realizes the control of the ultrasonic sensor and completes the calculation of distance information; realizes the control of the infrared sensor and completes the acquisition of distance information; the obtained inclination angle, ultrasonic ranging and infrared ranging data are sent to the host computer according to the specified communication protocol. The main flow of the program is shown in Figure 3.
The program must be initialized first, mainly including the selection of system clock, pin allocation, interrupt priority, timer clock and working mode selection. The internal resources of ARM9 have PCA timer unit and A/D unit, which facilitate the data collection of this sensor system. To prevent crosstalk between ultrasonic sensors, ultrasonic sensors are measured in turns. Since the working cycle of ultrasonic sensors is 50 ms, when the working time is less than 50 ms, the ultrasonic sensor will mistakenly believe that the interference generated by the next measurement of ultrasonic waves is the echo of this time, causing distortion in distance measurement. The time for the infrared sensor to establish voltage only takes 5 ms, so in programming, timer 0 is used to generate a 50 ms delay, and data is collected from three pairs of ultrasonic sensors and infrared sensors in turn. Since the accelerometer and infrared and ultrasonic sensors are independent and there is only one, its collection process only depends on the moment captured by the PCA capture module, so the collection and preprocessing of accelerometer information can be carried out within 150 ms. After completing the information collection and preprocessing of the sensor system, the acquired data must be sent to the host computer to provide necessary data for the decision-making of the host computer. [page]
4 Experimental Verification
4.1 Experiment with adding a table
When the robot tilts, the acceleration of gravity will generate components on the two axes of acceleration. At this time, the acceleration values are Ax=gsin α and Ay=gsinβ. When the accelerometer is placed horizontally, Ax=gsin α. Due to the limitation of conditions, it is difficult to make the accelerometer reach an absolute level. Near α=0, the change amplitude of sin α is large, which will affect the calibration effect, while near a=π/2, the change amplitude of sin α is small. In order to obtain a better accelerometer calibration effect, the vertical calibration method is adopted, that is, the PCB circuit board is suspended with a thin wire, and the values at g and -g are obtained respectively. The value of acceleration at 0g can be obtained by calculation. Since the output of ADXL202 contains Gaussian white noise, the application of directly collected data will have a large error, so the collected data needs to be processed before application.
The influence of noise can be reduced by average filtering. Assume that Xi is the directly collected data, Yi is the data after average filtering, Yi=(∑xi)/n. From the knowledge of probability theory, we know that EYi=EXi, DYi=DXi/n. It can be seen that the effect of average filtering is related to the number of average points n. The larger n is, the better the filtering effect. Considering the movement of the robot, n=15 can be taken, that is, the variance of the noise becomes 1/15 of the original. Figure 4 shows the tilt angle value obtained by the DF-1 robot during movement. Among them, L1 represents the pitch angle of the robot, and L2 represents the roll angle of the robot.
Since the DF-1 humanoid robot is small and moves slowly, it can handle obstacles within 2 m to meet the application requirements. Planar obstacles are placed at different distances within 2 m, and these distance information are measured using ultrasonic and infrared sensors. The measured distances and actual distances are shown in Table 1.
It can be seen from the table that the error of ultrasonic distance measurement is within 2%, and the error of infrared sensor distance measurement is within 4%, which can meet the application requirements of DF-1 humanoid robot.
5 Conclusion
Aiming at the functions to be realized by the DF-1 robot, this paper designs a sensor system based on the ARM9 microprocessor. The experimental results show that this sensor system can basically meet the functional requirements of the robot and has certain application value. The DF-1 robot equipped with the sensor system has a certain perception ability of the external environment and its own state, which provides a reliable basis for the host computer to make action decisions and improves the intelligence of the robot.
Previous article:Implementation of 3DES encryption algorithm based on ARM
Next article:Realization of CAN bus communication based on ARM9 under Linux environment
Recommended ReadingLatest update time:2024-11-16 16:24
- Popular Resources
- Popular amplifiers
- Intelligent environmental perception technology for autonomous unmanned systems
- Real-time driver monitoring system via modal and viewpoint analysis
- A review of learning-based camera and lidar simulation methods for autonomous driving systems
- Semantic Segmentation for Autonomous Driving: Model Evaluation, Dataset Generation, Viewpoint Comparison, and Real-time Performance
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
- [SAMR21 new gameplay] 8. Serial communication-1
- Mobile station update development board, welcome to borrow it!!
- 3. "Wanli" Raspberry Pi car - Python learning (timing task)
- This is a camera development board, but where is the camera?
- Sharing the principle of the adapter solution for charging while listening to music
- Make announces its return
- The mysterious EMC, how did it come about?
- EEWORLD University - Zero-based circuit learning
- Appointment viewing double gift: How to ensure edge computing security? Learn about an important tool
- [Sipeed LicheeRV 86 Panel Review] 6-socket to achieve communication between different processes