From the autopilot's easiest, most newbie task: inserting the boot CD:
"On some laptops, you have to enter "knoppix nopcmcia", otherwise it hangs."
In Paparazzi land, that's actually the way they talk. You have been warned.
Chris, you've opened-up the can-o-worms with this one! No-one's ever going to agree on the Windows / Linux / Mac debate, so we might as well stop now.
As far as I'm concerned; the issue being raised is one of 'customer compatibility' - if the technologies being used are - or seem to be - too complicated for the customer, then the product has a reduced market. Paparazzi has reduced it's market (but they're probably happy with that, and they're free to choose).
Meanwhile, I'm happy to stick with Windows (because I don't have time to learn Linux, and I already know it's limitations) and I plan to use the Parallax Propeller, because it's one cool chip that's simple to programme :-)
One more thought in regard to the complexity of this issue ...
In general, there are two major components to these control systems.
1. One component is the onboard C-language-based firmware, which is generally built, uploaded, and tested using cross-platform open-source toolchains.
2. The other component is the console / control panel / flight control system. While the compiler toolchain can generally be operated in a "command line" mode, the flight control system is graphical in nature, and working with cross-platform graphical interfaces is a big challenge for developers, as there are issues of different GUI frameworks, different network or comm device libraries, different control device interfaces, integration of video capture, interface to navigation databases and imagery, etc. With our robot work, we have experimented with a variety of cross-platform graphics toolkits and language environments such as Python, and we settled on Java, but our approach is not without challenges. If you ditch the cross-platform requirement, Windows would probably be considered a friendlier development environment for navigation control panel software.
Thanks for the thoughtful note and reasonable position. One of the reasons we latched on to Arduino is very much that it's cross-platform--Linux, Windows and Mac--but still open source. They worked hard to make it easy to use on all three platforms, and although there is nothing new about the AVR chip at the core, that ease of use is why it's taken off so quickly.
That's the sort of bridge between the mainstream and the developers that I'd like to see us pursue with UAVs.
The point of this site is, initially, to do exactly what you say: "If you want make the work being done on Paparazzi or similar powerful open source projects more accessible, you might want to think about ways to help "amateurs" navigate the developers' world."
But the long term goal is the reverse: help developers navigate the amateur's world, which is to find ways to make aerial robotics so simple and cheap that anyone can do it. There's a reason why we started with Lego Mindstorms, and that continues to be a model of powerful simplicity.
If I was a VC, I'd fund a project to port Paparazzi to Windows in a simplified form, not because I wanted to sell software, but because I wanted to sell more hardware to a larger audience, beyond the hard-core geeks. That's what we're going to be doing with ArduPilot and BlimpDuino--focusing on the bottom end, both in terms of cost and technical skills, on the bet that there are a lot of people there, invisible because the barrier to entry is too high. Which was the point of my original post in this thread.
I understand your frustration, but the fundamental issue you're addressing is that the technologies which excite you are not, for the most part, emerging from the consumer/commercial desktop user world, but rather from developer world that builds with open source compiler toolchains and a wealth of freely available development tools in an environment where it is easy to "get under the hood", and where virtually all of the components are freely shared.
These folks can make stuff run on Windows or Mac if they must, but it can be as painful for them to move their code to Windows (and to a lesser degree, Mac) as it is for the Windows users to navigate the developers' world. And perhaps more significantly, developers who package software for Windows users generally expect to get paid for the effort, while the developers building on open source don't necessarily have those expectations. Also, because the code they are building starts as open source, by virtue of the GNU (or whatever) license agreement, derivative efforts have to be published for free as well.
This isn't black-and-white - some interesting hobby developer projects have roots in commercial products such as Lego Mindstorms and might be mainly based around Windows tools. That might be the case as well with FIRST robotics - I don't know enough about that niche to draw any analogies. However, in both cases, these were commercial ventures with funded development, and to my knowledge didn't derive originally from open source efforts.
Anyhow, if you want make the work being done on Paparazzi or similar powerful open source projects more accessible, you might want to think about ways to help "amateurs" navigate the developers' world.
I like to keep both options open.
I have been full time on linux for over 8 years now and I am a professional systems developer.
I run Windows when I have to.
I like the arduino development environment enormously under Linux but have not managed to make it work under Windows. (not that I tried hard ).
I was among the first customers to buy Labview under Linux many years ago.
In some ways Linux (ubuntu in particular) can be very easy to use.
My point is that linux can be fun to use once you get past the initial stages.
Let's all get some perspective. This isn't PhD Robotics.com, it's a site for amateurs. The whole point of what we're trying to do is to democratize aerial robotics so regular folks can do it.
You smart developer types may be able to handle Linux, but regular people don't want to. Whatever you may think of Windows or the Mac, they're what regular people use. Any project that insists on being Linux only is, by definition, not for for them.
That may be fine with the Paparazzi folks, but we have hopes of reaching a broader audience here.
I have to run Linux, Mac and Windows for my work, but do most of my code development on Linux and just about everything else on the Mac because it has a big screen. When I can, I recompile Linux code for the Mac (mine is PPC, so no Parallels or Fusion), but more often than not, there are issues. I might use Windows a couple of times per month to test code compatibility, but that's it. I have been looking pretty closely at those new Dell Inspiron Mini 9's. $350 for a SSD Linux box plus a few bucks to increase storage looks pretty good for a test console.
The killer for Linux is lack of power management on virually all laptops. It has other issues, like its tendancy to remap USB serial ports whenever it feels like it, the tendancy to suddenly tie up the disk running CRON jobs, and the lack of consistent behaviour across Linux derivatives.
The main advantage with Linux is it's efficient and much more customizable. You're basically running software on the silicon. For a ground based autopilot, the main fear with Windows is an advertisement popping up at the moment of truth. Oh yeah, they're not advertisements. They're "upgrade notices".
hi Chris,
Miraterre and other UAV companies supplying US military and other projects would tend to disagree with you Chris. in fact paparazzi craft were in the front of the swarm at MAV07 and others. And given the software needs of pararazzi I would NOT be looking at it in windows xp or vista anytime soon(you DONT want a system lockup while your UAV is in the air would you or the legal liability for same(hint look at the windows EULA)).
As for me I dont like ubuntu very much but as pararazzi runs on it I use it and simply adapt, you may want to consider the same .
kind regards
gwen
ps guess that makes me one of the lunatic fringe(already a propeller head)!!
Comments
As far as I'm concerned; the issue being raised is one of 'customer compatibility' - if the technologies being used are - or seem to be - too complicated for the customer, then the product has a reduced market. Paparazzi has reduced it's market (but they're probably happy with that, and they're free to choose).
Meanwhile, I'm happy to stick with Windows (because I don't have time to learn Linux, and I already know it's limitations) and I plan to use the Parallax Propeller, because it's one cool chip that's simple to programme :-)
In general, there are two major components to these control systems.
1. One component is the onboard C-language-based firmware, which is generally built, uploaded, and tested using cross-platform open-source toolchains.
2. The other component is the console / control panel / flight control system. While the compiler toolchain can generally be operated in a "command line" mode, the flight control system is graphical in nature, and working with cross-platform graphical interfaces is a big challenge for developers, as there are issues of different GUI frameworks, different network or comm device libraries, different control device interfaces, integration of video capture, interface to navigation databases and imagery, etc. With our robot work, we have experimented with a variety of cross-platform graphics toolkits and language environments such as Python, and we settled on Java, but our approach is not without challenges. If you ditch the cross-platform requirement, Windows would probably be considered a friendlier development environment for navigation control panel software.
That's the sort of bridge between the mainstream and the developers that I'd like to see us pursue with UAVs.
The point of this site is, initially, to do exactly what you say: "If you want make the work being done on Paparazzi or similar powerful open source projects more accessible, you might want to think about ways to help "amateurs" navigate the developers' world."
But the long term goal is the reverse: help developers navigate the amateur's world, which is to find ways to make aerial robotics so simple and cheap that anyone can do it. There's a reason why we started with Lego Mindstorms, and that continues to be a model of powerful simplicity.
If I was a VC, I'd fund a project to port Paparazzi to Windows in a simplified form, not because I wanted to sell software, but because I wanted to sell more hardware to a larger audience, beyond the hard-core geeks. That's what we're going to be doing with ArduPilot and BlimpDuino--focusing on the bottom end, both in terms of cost and technical skills, on the bet that there are a lot of people there, invisible because the barrier to entry is too high. Which was the point of my original post in this thread.
I understand your frustration, but the fundamental issue you're addressing is that the technologies which excite you are not, for the most part, emerging from the consumer/commercial desktop user world, but rather from developer world that builds with open source compiler toolchains and a wealth of freely available development tools in an environment where it is easy to "get under the hood", and where virtually all of the components are freely shared.
These folks can make stuff run on Windows or Mac if they must, but it can be as painful for them to move their code to Windows (and to a lesser degree, Mac) as it is for the Windows users to navigate the developers' world. And perhaps more significantly, developers who package software for Windows users generally expect to get paid for the effort, while the developers building on open source don't necessarily have those expectations. Also, because the code they are building starts as open source, by virtue of the GNU (or whatever) license agreement, derivative efforts have to be published for free as well.
This isn't black-and-white - some interesting hobby developer projects have roots in commercial products such as Lego Mindstorms and might be mainly based around Windows tools. That might be the case as well with FIRST robotics - I don't know enough about that niche to draw any analogies. However, in both cases, these were commercial ventures with funded development, and to my knowledge didn't derive originally from open source efforts.
Anyhow, if you want make the work being done on Paparazzi or similar powerful open source projects more accessible, you might want to think about ways to help "amateurs" navigate the developers' world.
I like to keep both options open.
I have been full time on linux for over 8 years now and I am a professional systems developer.
I run Windows when I have to.
I like the arduino development environment enormously under Linux but have not managed to make it work under Windows. (not that I tried hard ).
I was among the first customers to buy Labview under Linux many years ago.
In some ways Linux (ubuntu in particular) can be very easy to use.
My point is that linux can be fun to use once you get past the initial stages.
You smart developer types may be able to handle Linux, but regular people don't want to. Whatever you may think of Windows or the Mac, they're what regular people use. Any project that insists on being Linux only is, by definition, not for for them.
That may be fine with the Paparazzi folks, but we have hopes of reaching a broader audience here.
The main advantage with Linux is it's efficient and much more customizable. You're basically running software on the silicon. For a ground based autopilot, the main fear with Windows is an advertisement popping up at the moment of truth. Oh yeah, they're not advertisements. They're "upgrade notices".
Miraterre and other UAV companies supplying US military and other projects would tend to disagree with you Chris. in fact paparazzi craft were in the front of the swarm at MAV07 and others. And given the software needs of pararazzi I would NOT be looking at it in windows xp or vista anytime soon(you DONT want a system lockup while your UAV is in the air would you or the legal liability for same(hint look at the windows EULA)).
As for me I dont like ubuntu very much but as pararazzi runs on it I use it and simply adapt, you may want to consider the same .
kind regards
gwen
ps guess that makes me one of the lunatic fringe(already a propeller head)!!