With the development and progress of science and technology, intelligent machines with special functions have emerged, such as the pet robot dog produced by Sony that can "feel", "learn" and "feed" with self-awareness, and the SAFFIR firefighting robot that is upgraded and modified based on the CHARLI-L1 robot developed by Virginia Tech. As a relatively new product, the development of robot fish intelligence is not deep, so the intelligence level of robot fish is not high, but with the deepening of robot fish research, it is believed that the intelligence of robot fish will be greatly improved and the functions will be more perfect. The current types of robot fish mainly include remote control robot fish and voice control robot fish, such as the remote control robot fish that was displayed at the Hannover Electronics Show in Germany, which was powered by the contraction of the robot fish body, and the first voice-controlled robot fish in China born at Southwest University for Nationalities.
According to the survey, there are not many research and developments involving intelligent robot fish with autonomous obstacle avoidance and autonomous vision functions in China. Due to many technical and other reasons, we chose to design a robot fish with autonomous obstacle avoidance. Since robot fish have advantages such as mobility, high efficiency and low noise, highly intelligent robot fish are suitable for completing tasks with certain difficulties and dangers such as detecting pollutants, drawing real-time stereograms of ports and detecting seabed resources. Since the development level of robot fish intelligence in China is not high, there is a large space for the research and development of highly intelligent robot fish.
1 Hardware System Design
1.1 Working Principle
The main hardware principle of the robot fish is shown in Figure 1. The autonomous obstacle avoidance function of the robot fish is realized by combining ARM chips, LINUX embedded systems, infrared sensors, etc. The robot fish uses cameras, infrared sensors, and LCDs to collect images, avoid obstacles autonomously, and display images in the water. After the camera collects the image, the image is cached in the SDRAM. The ARM chip transmits commands to the transmitter through the AD pin of the infrared sensor, so that the detector's transmitting module continuously sends infrared rays outward. When the receiver receives the returned infrared rays, it will immediately transmit a voltage corresponding to the light intensity of the infrared rays returned to the ARM chip through the AD pin. The voltage is converted into a ten-bit binary digital value through the A/D converter of the ARM chip, and the distance to the obstacle at this time is calculated through a certain formula. When the calculated distance is less than the preset value, the control software of the ARM chip executes a serial interrupt instruction to change the pulse width, that is, change the duty cycle of the PWM wave, thereby changing the swimming direction of the robot fish to avoid obstacles.
1.2 ARM chip module design
The ARM processor has a 16/32Bit core and 450MIPS computing power. The standard operating frequency of 400MHz can meet the requirements of high-speed applications. The ARM main chip has a built-in digital camera interface, and an optional 1.3 million pixel CMOS industry camera can be used for image acquisition. The ARM processor's periphery has expanded 64M SDRAM and FLASH, and the ARM main chip supports Linux, uCOS-II, WINCE and other operating systems. The ARM chip is highly integrated, and the main chip has resources such as CPU, Nand flash, Nor flash, and Ethernet controller. All available resources in the CPU can be brought out through 200pin pins. The interface core board can form a system alone without peripheral devices.
Embedded Linux refers to the standard Linux that has been miniaturized and cut to fit in a memory chip or microcontroller with a capacity of only a few KB or MB. It has the advantages of low cost, open source code and good portability. It has been widely used in engineering and is suitable for specific embedded applications.
1.3 Infrared module
Infrared is an electromagnetic wave between visible light and microwaves. It has the refraction, reflection, and rectilinear propagation of visible light, as well as the ability of microwaves to penetrate some opaque materials and have strong penetration. Infrared sensors include infrared transmitting modules and infrared receiving modules. Scientific experiments show that any object with a temperature above absolute zero can generate infrared radiation, so infrared sensors must have a stronger ability to emit infrared.
The main types of distance detectors are laser detectors, visual detectors, ultrasonic sensors, and infrared sensors. Since laser detectors and visual detectors are relatively expensive and have high requirements for controllers, they are not selected as obstacle avoiders for robot fish. The ultrasonic sensor's ranging range is generally 30 to 300 cm, which shows that short-distance ranging is the blind spot of ultrasonic sensors. Being able to "see" obstacles a few meters away is not very meaningful for robot fish, and the infrared sensor's ranging distance is generally within tens of centimeters, so we choose infrared sensors as obstacle avoiders for robot fish.
GP2YOA21YK0F is a distance measurement sensor from Sharp. It consists of three parts: PSD (position sensitive detector), IRFD (infrared emitting diode) and signal processing circuit. Because of the triangulation method, the temperature of the measured environment, the material of the object and the measurement time will not affect the accuracy of the sensor's measurement results. After receiving the reflected infrared light, the sensor outputs an analog voltage proportional to the returned light intensity. The output analog voltage is converted into a digital quantity through the ARM's A/D converter. After the digital quantity is transmitted to the MCU, a certain algorithm is used to calculate the distance between the robot fish and the obstacle. The detection result is compared with the preset value. If it is greater than the preset value, the robot fish will continue to move forward without executing the interrupt. Otherwise, the robot will execute the interrupt to avoid obstacles. The hardware principle of the infrared sensor is shown in Figure 2.
1.4 Camera Module
The camera equipped for the robot fish is a CMOS digital image sensor. It uses OV9650 from Ommvision. OV9650 has 1.3 million pixels, a 10-bit data interface and a standard SCCB interface. Its resolution reaches 1280x1024 and is packaged in CSP-28. The camera uses a Secb bus similar to the IIc bus to connect to the IIc interface of the ARM main chip for communication. In the ARM chip, the camera interface control module (CAMIF) consists of an image acquisition module, a video preview scale module, a mode mixing module, a special function register (SFR) module, a code stream scale module, a video preview DMA module, and a code stream DMA module. The ITU-656 format video code stream output by the COMS camera OV9650 is processed by CAMIF, and the collected video code stream is divided into two different formats for transmission. The two different format signals enter different frame storage units for storage, and then are transmitted through the video DMA channel according to the instructions of the ARM controller. The principle of the camera is shown in Figure 3.
1.5 LCD module
LCD is the abbreviation of Liquid Crystal Display. The structure of LCD is to place liquid crystals between two parallel pieces of glass. There are many vertical and horizontal fine wires between the two pieces of glass. The direction of the rod-shaped crystal molecules is controlled by whether they are powered on or not, and the light is refracted to produce a picture. There are two mainstream types of LCD: Super Twisted Nematic (STN) and Thin Film Transistor (TFT). Because TFT has the advantages of fast response speed, large viewing angle, rich colors, high resolution, contrast, and high brightness, we choose TFT LCD. The LCD hardware principle and LCD controller function are shown in Figure 4.
The work of LCD is completed under the control of its controller. Figure 5 is the functional diagram of LCD controller. The various parameters of LCD controller are set through the register group REGBANK of LCD controller. LCDCDMA is the DMA channel dedicated to LCD controller, which is responsible for taking video data from video memory (video memory is an area in SDRAM, which can be programmed using REGBANK) and sending it from VIDPRCS to LCD screen from VD[23:0]. At the same time, LPC3600 and TIMECEN are responsible for generating the control time required by LCD screen, and then sending it from VIDEOMUX to LCD screen. TIMEGEN contains programmable logic and can be set through program. TIMEGEN can generate the timing signals required by different LCD screen drive circuits.
Introduction to some LCD interfaces: VFRAME/VSYNC/STV interface: transmits frame synchronization signals between LCD controller and LCD driver.
VLINE/HSYNC/CPV interface: transmits the synchronization pulse signal between the LCD controller and the LCD driver.
VCLK/LCD_HCLK interface: transmits the pixel clock signal between the LCD controller and the LCD driver.
VM/VDEN/TP interface: transmits the AC signal used by the LCD driver.
VD [23:0] interface: LCD pixel data output end, that is, RGB signal line.
2 System Software Design
2.1 Main program flow
The ARM chip transmits commands to the infrared sensor's transmitter module through the AD pin. The transmitter module transmits infrared rays, and the receiver module receives infrared rays reflected by obstacles. It generates corresponding analog voltages according to the intensity of the returned light, which are converted into ten-bit binary data after passing through the A/D converter. The distance to the obstacle is calculated through a certain algorithm. The ARM chip determines the logical relationship between the calculated distance and the preset value, and determines whether to avoid obstacles based on the result. After the camera captures the picture, it caches the picture in the SDRAM, and the LCD reads the data and displays the image. The main program flow is shown in Figure 6.
Previous article:Introduction to the design of embedded programmable chip system using ARM
Next article:Design of Profibus-DP master communication platform
- Popular Resources
- Popular amplifiers
- 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
- Free Download | 2018 ADI Solution Selection Compilation
- Today's live broadcast: Rochester Electronics Semiconductor Full Lifecycle Solutions Help You Meet the Challenges of Supply Chain Disruptions and Component Discontinuations
- Sharing a carefully adjusted hysteresis comparator
- The simulation result of LC parallel resonance frequency is inconsistent with the calculation. Is it because the component model is not selected correctly?
- Using Bluetooth module for fast IoT circuit design
- Disassembling the x990
- Greenhouse automatic spraying system ---- H743 water lamp
- Design of wireless serial port hub using ARM microprocessor and ZigBee module
- [TI recommended course] #Live replay: TI mmWave millimeter wave radar application in automobiles#
- 1602 display dht11 temperature and humidity