Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Craig Elder
@CraigElder
@DougFirErickson Pixhawk 2 is a redesign of the current Pixhawk but does not include an i.MX6
Adam Erickson
@adam-erickson
@CraigElder Meant Pix2 implementation in Solo, not Pix2 itself. Navio+ arrived today, excited to do some testing.
mhct
@mhct
Hi, is this thread still alive? I wonder what is the main issues with using Nuttx in the Pixhawk. I thought the real time properties and simplicity of Nuttx were the main factor for using it with Pixhawk. I have the impression that Linux on the other hand is quite "complex" for the usages needed for the autopilot. Any thoughts regarding that?
Randy Mackay
@rmackay9
@mhct, I think there's still some people listening here...
Personally I think Linux is the future because it's got a much larger set of tools available and people know it better.
NuttX is good on the real-time side but you know.. it doesn't have anything like the number of developers working on it that linux has so there are some issues. For example, it makes mistakes printing floating point numbers to the console.
Also Linux becomes especially compelling once you start adding a companion computer to the vehicle. At that point, you've already got linux on the vehicle so it might as well to the flight control as well as everything else the operator wants it to do.
Grant Morphett
@gmorph
Completely agree Randy
Craig Elder
@CraigElder
The PXFire discussion is taking place on the Erle Robotics site but there are people here too
and yes, our future is on Linux
mhct
@mhct

Thanks for the answers @rmackay9, @gmorph, and @CraigElder . I start to see the point. I strongly agree that having a large community behind the OS allows it to evolve quite fast. I simply thought that having a simpler OS was a preferred way to go with the drone autopilots, so to avoid the extra complexity that a linux kernel may bring... Are you also looking at isolation of the autopilot and the other possible high level applications that currently are being done on companion computers?

I ask this, because I am interested in the safety aspects of writing software for drones...

Grant Morphett
@gmorph
Linux auto pilots generally have more CPU available then embedded so we could do more complicated math resulting in better flight. Linux opens up a large number of devices with drivers already written. And yes, no need for a companion computer when everything can be done on the one device. That being said getting a Linux box the size of the Pixhawk2 would be tricky.
mhct
@mhct

The issue I see with running the autopilot with other application on the same computer is the possibility of bugs making rendering the autopilot unusable, for instance.

Perhaps process isolation, or visualization will be key here?!

Grant Morphett
@gmorph
Linux is already being used in hunderds of thousands of real time applications everywhere. Ours is no different really. All those problems have already been solved and ardupilot will simply be leveraging that work.
Sorry about using the marketing word leveraging - my bad ;-)
mhct
@mhct
@gmorph good point, indeed. :-)
I am still curious how the separation between autopilot and other software has been done, or better, how the separation (isolation) between critical applications (like the autopilot) and other applications (like a high level planner) has been done. Any pointers to that would be greatly appreciated :-)
Andrew Tridgell
@tridge
@mhct its a trade off. Specialised RT kernels have more bugs per line of code than linux kernel I think, because they have far less users (especially if you use esoteric features). Linux is indeed complex, but a huge effort goes into testing, validation etc, and it has much better debug tools
we isolate at the moment just by using RT thread priorities
the expectation is that ArduPilot will be the only RT task on the system, so will always get CPU when demanded
the real risk is in qualifying hw drivers, such as drivers for USB cameras that users may plug in
apart from doing lots of bench testing, we have no procedure for qualifying a driver
I think though that the trend to use Linux for autopilots in going to continue, and not just for ArduPilot
the Parrot line of drones is all Linux based, as is AirWare
mhct
@mhct
Thanks @tridge. I wasn't aware of the issues you mentioned in the specialized RT kernels.
Perhaps a good and cheap solution is to keep two separate computers on board of the drone. One for the autopilot with linux and another for adding peripherals and high level apps, such as for sensing, etc..
Víctor Mayoral Vilches
@vmayoral
@mhct we've been working on that and recently released Erle-Brain+ for alpha testers https://erlerobotics.com/blog/product/erle-brain-plus/
mhct
@mhct
@vmayoral that is great. I was talking to some colleagues during lunch, about doing something very similar... to facilitate the development of drone applications with multiple sensors etc. Tx for the link
wwhhtt
@wwhhtt
@CraigElder Meant Pix2 implementation in Solo, not Pix2 itself. Navio+ arrived today, excited to do some testing.
Make sure you don't use the screws provided to mount the NavIO+ board to the PI, or you will have very upset compass ;)\
Jason Kridner
@jadonk
vmayoral: why are you going away from a BeagleBone-based design on https://erlerobotics.com/blog/product/erle-brain-plus/ ? Doesn't the real-time control aspect of the PRUs stand out for you?
vmayoral: based on what tridge said at ELC, I was thinking you guys were very happy with BeagleBone.
vmayoral: I've finally been flying my quad.... https://vimeo.com/135122724 ... still have a lot to learn, but wanted to start by learning to fly it a bit. it is currently down with a broken motor.
Víctor Mayoral Vilches
@vmayoral
@jadonk good to see you around here! Love the video! thanks for sharing
@jadonk regarding Erle-Brain+, it does contains a BeagleBone Black and an additional Odroid-XU3 among several other components. Of course, we still make good use of the PRUs.
Jason Kridner
@jadonk
oh!
Víctor Mayoral Vilches
@vmayoral
@jadonk We initially planned on making use of BeagleBoard-X15 to release a "brain" with more processing capabilities but it did not became available as expected so we decided to build on top of something different to address some client needs
we're still eager to try it out though. Hopefully soon!
Roozbeh Chehrazi
@roozich
hi guys i have a few questions , the pxf project is based on beagle bone black and PRUs , and sensors are connected to spi bus as well , i know that the spi bus is much faster and simpler than i2c bus to use but i think that i2c bus is fast enough for sensors to sending or receiving data , According to the schematic the PRUs are used to generate PWM signals because of their low latency , well , i want to know is there any alternative project based on BBB or raspberry pi or any others that support i2c mode sensors and using a fixed and general method to produce PWM signals ? my goal is making a board that support multi different platform
Fredrik Hedberg
@fhedberg
@roozich Navio+ is using a PCA9685 on I2C for PWM output
Roozbeh Chehrazi
@roozich
@fhedberg awesome chip , thanks for your replay
Jason Kridner
@jadonk
vmayoral: I'm getting my beta X15s in a week or so. Can you build a copter right-away if I get you one?
Randy Mackay
@rmackay9
@jadonk, nice video! I've stuck it on the ErleBrain intro page in the Overview section. http://planner.ardupilot.com/wiki/other-project-and-common-topics/common-autopilots/common-erle-brain-linux-autopilot/
I guess the additional linux companion computer on the ErleBrain+ is because the BBB doesn't have the CPU power for serious vision apps. I can see why that's done but it does lead to quite a bulky package.
Víctor Mayoral Vilches
@vmayoral
@jadonk missed that last comment. Please do so! If you can send us one i can indeed set up a copter with it.
@rmackay9, that's right , Erle-Brain+ is 455 grams.
Víctor Mayoral Vilches
@vmayoral
@roozich, agreed with @fhedberg, the PCA provides quite good results. Regarding your intentions, we already have something similar that we created for a project: a daughter board that fits with BBB, RPi, RPi2 and Odroid-C1. I don't think we'll retail the board but if you are interested on the design, ping me.
Roozbeh Chehrazi
@roozich
This message was deleted
This message was deleted
Roozbeh Chehrazi
@roozich
pic-demo.jpg