print

Arm Cortex-M4 Powers Precise Autonomous System

Using an open-source software stack and low-cost hardware to quickly build a reliable, inexpensive, and precise autonomous system.

The Case for More Accurate and Robust Navigation
Suppose you are designing an inspection drone for an offshore oil platform, where human inspection is dangerous and precision flight is key. In your developmental testing, you realize that the flight control is becoming unstable as the drone flies near and under the steel structure. You determine this loss of control is due to GPS outages and magnetic interference from the bridge, both of which negatively impact the drone’s attitude control system.

Drones must navigate harsh environments accurately.

You realize that you need to upgrade the navigation of your drone to be more robust and accurate. After investigation, you find two not very attractive alternatives:

Bad Option 1: Invest in a much higher-performance navigation solution such as a fiber-optic gyro based Inertial Measurement Unit (IMU). This option adds more than $20K per vehicle, and the weight of the larger IMU system will require you to fly a much larger drone to handle the added weight.

Bad Option 2: Adjust the navigation solution to reduce trust in the magnetic sensor when near the bridge, and use a constrained dead-reckoning algorithm while directly under the bridge. However, your current navigation solution is a black-box, and you can’t modify its operation sufficiently to do this. You will need to design a solution from scratch. This will take a large hardware and software development effort.

Avoiding a Custom Project and a Costly Buy
Many real-world navigation and control problems start like this. System developers are quickly confronted with either a large custom project or purchasing a very high-accuracy “overkill” solution. However, developers confronting navigation challenges similar to that described above can now consider a solution that requires neither digging into a from-scratch endeavour nor blowing up the budget with a major purchase. OpenIMU is a low-cost hardware and open-source software stack from ACEINNA for  simplifying and modernizing navigation system development (Figure 1).

Figure 1: The OpenIMU Full Stack Solution uses a robust, professional-grade, customizable open-source software stack and easy-to-integrate hardware and includes thorough documentation and simulation.

In the case of the  inspection drone discussed earlier, a systems developer using OpenIMU would be able to get started immediately—even without purchasing hardware. First, the developer would run simulation. Second, he would modify pre-existing, well-tested algorithms in the OpenIMU distribution. In addition to having runnable source code and a simulation environment, full documentation— including all the math of the algorithms—is available online.

On the embedded development side, the OpenIMU tool chain is an easily installed extension to the popular open-source code editor Visual Studio Code. Simply install VS Code and search for and install the ACEINNA extension. Once installed the OpenIMU home page will appear and you can start up a new navigation project. The easiest way to get started is to import a Custom IMU Example. These examples are ready-to-deploy OpenIMU applications that demonstrate different levels of navigation algorithm complexity.

What About Hardware?
Of course, just simulation and coding are not going to get the drone flying, so time to introduce some hardware. Applications built with the OpenIMU stack run directly on low-cost OpenIMU hardware— the first of which is the OpenIMU300. A proven nine-axis IMU module, the  OpenIMU300 is fully calibrated in ACEINNA’s factory for errors over temperature. To reduce errors like non-linearity and misalignment by up to a factor of 10x over other low-cost IMUs, the OpenIMU300 is calibrated on a three-axis rate-table .

The OpenIMU300 also features multiple serial ports for integrating external GPS and other types of sensors, a SPI port, and a powerful 168MHz Arm Cortex-M4 floating point CPU. The baseline OpenIMU300 typically delivers better than 5 deg/Hr of drift, and ACEINNA is working on higher-performance modules. A developer kit comes with a JTAG pod, evaluation board, and a precision text fixture to help developers go from code to test in minutes.

Now that we have our navigation application ready to go and running on hardware, we are ready to collect some data and see if it all works. The OpenIMU solution has data real-world collection and logging needs covered as well. A combination of Python scripts and a developers’ website,  ACEINNA Navigation Studio, make collecting and analyzing data a breeze (Figure 2). No need to write a custom driver for your new algorithm. A configurable JSON file allows these data logging and graphing tools to work even when your OpenIMU application has customized the data packets/messages to your own unique requirements.

Figure 2: Live custom IMU data  is captured and logged with ACEINNA Navigation Studio.

Summary
The OpenIMU open-source development chain is a big step forward — revolutionizing the development process of navigation in autonomous vehicles. Convenient, free, and modern software tools combined with low-cost navigation hardware is a powerful combination in many upcoming applications. ACEINNA is committed to continuing development of this family with both lower-cost and higher-performance modules on the horizon. More videos, blogs, and a community forum are also forthcoming resources that aim to democratize advanced navigation algorithms.

Resources:

OpenIMU – The Open-Source GPS/INS Platform[i]
ACEINNA Visual Studio Marketplace[ii]
[i] https://www.aceinna.com/openimu
[ii] https://marketplace.visualstudio.com/items?itemName=platformio.aceinna-ide


Mike Horton is the CTO of ACEINNA where he is responsible for corporate technology strategy and inertial-navigation related technology development. Prior to ACEINNA, Mike Horton founded Crossbow Technology, a leader in MEMS-based inertial navigation systems and wireless sensor networks, with his advisor the late Dr. Richard Newton while at UC Berkeley. Crossbow Technology grew to $23M in revenue prior to being sold in two transactions (Moog, Inc and MEMSIC) totaling $50M. In addition to his role at ACEINNA, Mike is active as an angel investor with two Silicon Valley based angel groups—Band of Angels and Sand Hill Angels. He also actively mentors young entrepreneurs in the UC Berkeley research community. Horton holds over 15 patents and earned a BSEE and MSEE from UC Berkeley.

 

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • TwitThis
Extension Media websites place cookies on your device to give you the best user experience. By using our websites, you agree to placement of these cookies and to our Privacy Policy. Please click here to accept.