Erle-brain, an open hardware Linux autopilot

Hi everyone,

Some of you might have heard about the work we did with BeaglePilot porting APM to Linux both in the hardware and software side. Work we presented at LibreCon 2014 last month. 

I am happy today to announce that after several months of improvements, flight tests and pre-series with manufacturers we are launching a commercial Linux hardware autopilot based on this work: Erle-brain.

Erle-brain is sold at 269 € and puts together a BeagleBone Black (rev. C) and the PixHawk Fire Cape in a single package that weights about 110 grams and includes 25+ sensors. The hardware designs are open to anyone that wishes to improve them.

The autopilot has a 4 GB eMMC flash memory that comes pre-flashed and provides:

  • Linux 3.8 kernel compiled with the PREEMPT option (best results we measured)
  • Debian Wheezy file system
  • ROS Hydromedusa
  • mavros ROS package
  • APM running natively in Linux (and linked with ROS through mavros)
  • preconfigured daemons for launching everything automatically, WiFi dongles support

Erle-brain has been successfully tested in copters, planes and rovers. Thanks to the contribution of many there're drivers for most of the sensor and we keep working hard to provide support for even more accessories. Here are some of the ones we've been playing with:


Expect more to come :).

Besides doing some hardware hacking we've also been putting time in documenting everything. The APM wiki is great and we love it but we wanted to do it our way so we've spent quite a bit of time creating GitBooks that should provide a walkthrough no matter which is your technical level:

 

We expect to come up with more material in the next months. Thanks everyone for your support and contributions. We will keep working hard to create amazing Linux autopilots.

Best regards,

Víctor.

Views: 13205

Comment by Víctor Mayoral on December 22, 2014 at 5:30am

@Adrien,

With Erle-brain It's not "needed" to Download sketches to the board. Since it's a whole featured computer you can directly ssh and modify or recompile APM directly. If what you wish is to use an IDE, you might like to check some examples we did with Codiad, a web-based IDE running directly in Erle-brain.

With Codiad installed, you only need to connect your computer and the autopilot to the same network (Ethernet-over-USB, WiFi, Ethernet, ...) and  type an address in the browser. Furthermore Codiad can be easily extended with plugins that offer capabilities such as Collaborative editing, git hooks, etc.

Comment by Víctor Mayoral on December 22, 2014 at 5:38am

@Graham thanks for your pointer. We see Erle-brain as the next step in the APM2.0/.5/.6/Pixhawk line of products wearing APM. It is (to the best of my knowledge) the first commercial product running APM in Linux thereby it's fair to say that it replaces previous autopilots.

Erle-brain is expected to be used as the autopilot for a different set of drones: copter, planes and rovers supported for now but we are looking into more vehicles.

Comment by Víctor Mayoral on December 22, 2014 at 5:40am

@uavfans Thanks for your comments. Having ROS onboard has indeed probed to be useful. Developing robot applications once you are familiar with the framework becomes a much simpler task.


Moderator
Comment by Roberto Navoni on December 22, 2014 at 6:36am

@uavfans we are already start the process two years ago with VR Neuron some internal prototype are under development , the main problem is to define the strategy my personal opinion is that could be good to have a ST32 processor for fly could be good the ST32F7 instead of ST32F4 and a good processor like quadcore cpu for advanced processing like computer vision , anti collision ecc ... Now are working to a technology preview that will be available at the begin of next year with a lot of exiting functionality ... I like to share with Victor my work ... we already speak about it this summer in one of my visit in silicon valley :) I think that the work doing on APM porting to Linux board is fantastic and My thanks to all the team involved on this task ... Best Roberto 

Comment by carlos heli Manosalva on December 22, 2014 at 6:51am

Felicitaciones Victor, genial que sea un desarrollo en linux y que de la posibilidad de que aficionados con algo de conocimiento podamos hacer nuevas funcionalidade. muy bien 

Comment by Exmaps on December 22, 2014 at 7:36am

Any onboard logs? Dont see any storage media capability. 

Comment by hamadivo on December 22, 2014 at 7:48am

Hi,

which spi/pwm drivers are used (samples or source code).

i'm creating one like Arduino... (in progress)

https://github.com/hamadivo/Drivers

thanks.

Comment by Víctor Mayoral on December 22, 2014 at 8:14am

@Roberto great hearing you guys have some prototypes in the pipeline. I am also excited about the chances of replacing the current STM32F4 by F7 (specially since they are pin-to-pin compatible) which will boost current autopilots based on the STMicroelectronics chips however the system will still be hardly accessible the to majority and only a few would be able to contribute or hack it (as it is right now).

I've worked with both options and in my opinion the overall experience while working with a Linux autopilot is better. We are really excited about opening this first batch.

As you mention, for computationally expensive tasks you definitely want to use a companion computer such as the ODroid or the iMXRex however this can be done either with VRBrain, PixHawk, Erle-brain or any other autopilot. I'd actually point out that interconnecting Erle-brain is just easier (Ethernet or USB).

@Carlos Muchas gracias por los ánimos. Es gratificante que la gente encuentre nuestro trabajo útil. Todo esto sin duda nos anima a seguir adelante y a continuar innovando.
Como bien dices todo aquel o aquella con experiencia Linux podrá desarrollar aplicaciones para drones con Erle-brain fácilmente. Estamos convencidos de que las aplicaciones más interesantes vendrán de hecho de la comunidad. Saludos!


@Weiliang, sure. All the flight logs are stored in the eMMC under "/var/APM/logs". Additionally the Linux port and Erle-brain allow to store parameters and logs in a EEPROM memory. Since having everything in the eMMC is so comfortable we generally don't use the later so eventually we might find another use-case for it.
There's also a microSD card slot and the USB Host port allows you to connect pretty much any storage media easily :).

@hamadivo, all the code is merged in master. You may want to take a look at the AP_HAL_Linux for specific drivers. The PWM output is generated in the PRUs of the BeagleBone Black. Refer to this publication for more details.

Comment by hamadivo on December 22, 2014 at 9:04am

thanks. it seems that you use PCA9685 PWM controller instead BBB intrenal one?

Comment by Víctor Mayoral on December 22, 2014 at 9:14am

@hamadivo, we actually use the BBB PRUs to generate PWM signals which gives us a lot of flexibility (many signal possibilities routed in different pins, fast changes and several and independent frequency characteristics). Just took a quick look at the PCA9685  and I'd say that there're some constraints that our PWM bitbanging outperform but a comparison would be quite interesting.

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

Groups

Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service