Design of autonomous obstacle-avoiding robot fish using ARM chip and LINUX embedded system

Publisher:iota19Latest update time:2020-08-18 Source: elecfans Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

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.

Design of autonomous obstacle-avoiding robot fish using ARM chip and LINUX embedded system

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.

Design of autonomous obstacle-avoiding robot fish using ARM chip and LINUX embedded system

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.

Design of autonomous obstacle-avoiding robot fish using ARM chip and LINUX embedded system

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.

Design of autonomous obstacle-avoiding robot fish using ARM chip and LINUX embedded system

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.

Design of autonomous obstacle-avoiding robot fish using ARM chip and LINUX embedded system

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.

[1] [2]
Reference address:Design of autonomous obstacle-avoiding robot fish using ARM chip and LINUX embedded system

Previous article:Introduction to the design of embedded programmable chip system using ARM
Next article:Design of Profibus-DP master communication platform

Latest Microcontroller Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号