Designing a Robotic Device for Studying Flying Insects Using LabVIEW

Publisher:SparklingSoulLatest update time:2012-02-14 Source: eefocusKeywords:labVIEW Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

Using NI's LabVIEW software and CompactRIO hardware, we built a fast, modular, and easy-to-use biomimetic robotics platform that involves various industrial protocols and real-time closed-loop stimulus signal generation.
"With the help of CompactRIO controllers and LabVIEW, we studied how flying insects achieve excellent flight control."

The maneuverability of flies, which can chase at high speeds and land precisely on the edge of a plate, is of great interest. Flies can be used as model systems to study neural information processing, aerodynamics, and genetics, and they can use their biosensors, controllers, and actuators quickly and precisely. Such capabilities are of great interest but difficult to study. Measurement and stimulation devices must have high bandwidth, low latency, and flexible interfaces. Ease of use and modularity are also key to interdisciplinary and collaborative research.

We used CompactRIO controllers and LabVIEW graphical system design software to study how flying insects achieve their remarkable flight control. We used digital I/O modules to interface with an LED-based visual stimulus field, which has precise temporal and spatial resolution, allowing us to effectively stimulate the fly's visual system. Recording the insect's response requires a fast and flexible acquisition system. LabVIEW provides the speed and modularity required to record these signals and generate stimulation signals as real-time feedback. This allows us to use the fly as a living sensor and embed it into a scientific system.

We developed an experiment. In the experiment, we tethered a fruit fly and used the fly's movements to control the e-puck robot. The e-puck is a small mobile robot that was developed as a university research project and is designed to navigate an environment full of obstacles. Feedback from cameras and proximity sensors attached to the robot is used to determine the visual stimuli presented to the fly and flight parameters such as wingbeat frequency and amplitude to control the robot's movements (Figure 1). The transfer function between the fly and the robot changes, allowing for a range of experimental patterns.

Schematic diagram of information flow in the fly control robot experiment


High-speed movies of flies: accelerated LED visual fields

The visual stimulus field consists of eight green LED panels connected to a custom controller via I2C protocol. In previous designs, all flies were controlled by a single bus. To achieve higher frame rates and adjust the visual stimulus based on the fly's feedback, we had to use multiple parallel buses. Ultimately, we chose to replace the original controller with the NI cRIO-9014 real-time controller and the all-in-one NI cRIO-9104 reconfigurable embedded chassis.

Fly Control Robot: From Flies to Robots

In the experimental setup (Figure 2), a fruit fly is tethered to the center of a circular array of LED panels. Although the insect cannot move, it can still flap its wings and fly in the same manner as in free flight. A digital wingbeat analyzer obtains the current frequency, amplitude, position mean, and phase of the fly's wingbeats. These behavioral state vectors are transmitted via user datagram protocol (UDP) packets to a host computer running LabVIEW. A custom transfer function can be applied on the host computer to calculate the updated wheel speed of the e-puck robot. These values ​​are then sent to the robot via Bluetooth.

From robot to fly

When we use insect behavior to manipulate the robot, feedback from the robotic device modifies the visual display facing the insect. Feedback is provided by three linear cameras and eight proximity sensors mounted on the top of the robot. The cameras acquire at 10Hz, with 102 pixels per frame. The proximity sensors output calibrated data at 20Hz. The host receives these signals via Bluetooth and applies a second custom transfer function to generate the next frame of the image displayed on the LED visual field. The

host application sends the new image pattern to the real-time controller via Ethernet. This image pattern is then divided into 8×8 pixel blocks, each corresponding to an LED panel, and converted into I2C commands. For maximum throughput, this data is passed to the FPGA (field programmable gate array) via a FIFO (first-in, first-out) queue of DMA (direct memory access). Interrupt vectors ensure synchronization between the real-time controller command generation and the FPGA underlying hardware communication. The FPGA backplane then uses the I2C protocol to control 12 buses, each of which controls five panels. Thus, the environment seen by the robot determines the visual stimulus for the fly, and the fly's response to the visual stimulus changes the robot's path.

The frame rate of the visual stimulus is between 30Hz and 400Hz, depending on the depth of the pattern and whether it is vertically symmetrical. The cumulative delay in the control loop is less than 50 milliseconds and this is mainly caused by the transmission of sensor information from the robot to the host via Bluetooth.

Effective design: flexible interface and modular structure

With LabVIEW and CompactRIO, we can connect to a range of research tools through a variety of protocols. The great flexibility and many example programs provided by the NI and LabVIEW online user community make applications designed based on LabVIEW an effective alternative to custom controllers in experimental biology.

We designed a friendly GUI (graphical user interface) that provides the experimenter with the necessary control means and information, thereby simplifying the complexity of running code on multiple hardware platforms (Figure 3). This feature is very effective in some interdisciplinary applications, which can enhance the close cooperation between biologists, mathematicians, physicists, and engineers. In addition, the modularity and portability of LabVIEW code also make it possible to share and reuse between laboratories. For example, in a customized version of this solution, the operation mode can be pre-generated and saved in a USB flash drive, then downloaded to the RAM of the real-time controller and then transferred to the LED panel to obtain a higher refresh rate.

A hybrid adaptive controller

Because some of the fly's neural circuits are highly plastic, it can be considered an adaptive controller. By using the new biomimetic robotic platform, we were able to evaluate the controller's performance under various external transfer functions that mimic almost all of the fly's natural flight environments, such as determining the up and down movement of a grid in the visual field based on the position of the obstacle closest to the robot. But surprisingly, the transfer function that is closest to intuition does not necessarily give the best results.

LabVIEW and CompactRIO provide an ideal solution for constructing this control loop that includes live insects and allows us to perform a variety of experiments. CompactRIO is responsible for acquiring and generating a variety of signals that apply different industrial standards and expands custom research tools. In addition, because our applications on the computer, real-time controller, and FPGA are completed in the same programming environment and development language, it greatly saves our learning time and improves efficiency. In addition, a large number of accessories and external interfaces also provide great potential for future expansion and adaptability.

Keywords:labVIEW Reference address:Designing a Robotic Device for Studying Flying Insects Using LabVIEW

Previous article:Research on Lonworks Network Virtual Monitoring System
Next article:Intelligent vehicle simulation system based on virtual instrument technology

Recommended ReadingLatest update time:2024-11-16 21:47

Design of multi-sensor air flow test based on LabVIEW platform
  1 System Hardware Design   This system lays the foundation for further research on the use of LabVIEW measurement and control systems and multi-sensor information fusion. After a period of practical application, it was found that the system performance was good, eliminating some tedious work in the process of mult
[Test Measurement]
Design of multi-sensor air flow test based on LabVIEW platform
Interface Design of Handheld Digital Waveform Table Based on LabVIEW8.6 and S3C2440
The virtual instrument program designed by LabVIEW is transplanted to a portable handheld device running Windows CE. This can greatly improve the efficiency of embedded system software development. Specifically, an interface design that effectively solves the problem of alternating display of data waveforms is propo
[Microcontroller]
Interface Design of Handheld Digital Waveform Table Based on LabVIEW8.6 and S3C2440
Design of solenoid valve dynamic characteristics testing system based on Labview development platform
introduction High-speed solenoid valves can be used for switching control of water, air, neutral gases, and other gases and liquids suitable for the solenoid valve material. They have been widely used in aviation, aerospace, automobiles and other fields. As a link between electricity and gas, their dynamic Performance
[Test Measurement]
Design of solenoid valve dynamic characteristics testing system based on Labview development platform
Developing an Integrated Avionics Test System Based on NI LabWindows/CVI, LabVIEW, and PXI
The production of military avionics equipment requires some special steps, such as product acceptance, project certification and unit testing of the delivered products. These require the design and production of some very complex test systems to simulate the technical environment and test the devices under test. In alm
[Test Measurement]
Developing an Integrated Avionics Test System Based on NI LabWindows/CVI, LabVIEW, and PXI
LabVIEW Runtime
 The "Create Text" Express VI also has a string combination function that can easily connect strings and string variables to form a new string.   Example: Combine the character strings "X coordinate" and "Y coordinate" with the coordinate values ​​"8.72" and "3.64" using the "Create Text" ExpressVI, as shown in Figure
[Test Measurement]
LabVIEW Runtime
Labview data types
Today, when I was looking at the program, I kept getting it wrong according to the examples in the book. Finally, I found that it was a problem with the data type. After learning from the pain, I made all the data types into a table, which is more convenient to view.
[Test Measurement]
Using Shift Registers in LabVIEW
Objective: Create a VI that displays a running average on a graph. Front Panel 1.  Open a new front panel and create the objects as shown below. 2.  Change the coordinate range of the waveform graph to 0.0 to 2.0. 3.  After adding the switch, right-click it and select Mechanical      Action»Latch  When  Pressed fro
[Test Measurement]
Using Shift Registers in LabVIEW
Labview in-depth exploration ------ type conversion, array string and memory management
Like any other high-level language, LabVIEW supports a variety of basic data types and complex data types. Basic data types include U8, U16, U32, I8, I16, I32, SGL, DBL, EXT, etc. Complex data types include arrays, clusters, strings, paths, etc. Like other high-level languages, it also has basic program structures, s
[Test Measurement]
Labview in-depth exploration ------ type conversion, array string and memory management
Latest Test Measurement 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号