 So my name is Jeff Gibany. This is Peter Esdind Tempsky, Pernay Sinha, and Chris Ferret. So we're going to be giving a talk on the paparazzi platform, which is an open-source UAV, so unmanned aerial vehicle, unmanned aerial system, which has both software and hardware. So just in the interest of full disclosure, we actually last year started a company called Transition Robotics, which we to design and sell open-source hardware paparazzi compatible electronics, as well as aircraft, some of which we have here on the podium, and we believe in the, you know, selling the atoms, giving away the bits, so working with the open-source community, and we ourselves are active developers in the paparazzi community. So some of you may have seen Chris Anderson's talk on Friday on titled Drones, and I think he really captured, so we in the UAV community need to kind of recapture the, or reclaim the word drone, because in the public perception, a drone is something like this, so a militarized huge vehicle, a reaper, a predator. It's scary. It's, you know, it's aimed at, it's aimed at me. It's looking at me. I don't know who's on the other end of that camera or of that weapon. But to hackers and to nerds and makers, we think drones should really be more like this. They're interesting, they're fun, they're useful, they're great to do all sorts of research with. You can, you may think of multi-copters or fixed wing airplanes. We ourselves met at a company called Joby Energy, which was working on an area called airborne wind generation. So the basic premise was, instead of having a big tower with a wind turbine on it, you have an kite, a rigid kite attached at the other end of the tether, which flies in circles. And on this rigid wing you have electric motors, which you can either feed power into to fly the kite up into the air, or pull, and then once the wind has taken it, you can pull power out and generate electricity that way. So that, we had a need for unusual aircraft. So vertical takeoff and landing, they needed to be able to transition to forward flight, both fly free and on the end of a string, and a lot of unusual aircraft plan forms. So when we were getting started, we considered a lot of different UAV platforms. We needed something that was basically commercial grade, but in full featured, but we had to have full access to the hardware and the software. So most, since most commercial systems are basically black boxes, that didn't work for us. And so we looked in the open-source arena, but we also had to have something that was already working, already flying, and that had support for a broad range of different hardware and sensors. And making the problem worse was our boss' favorite phrase was, is it ready to fly? Is it ready to fly? So we needed something that was conducive to very rapid R&D cycles that let us bring up new aircraft quickly. So just an example of one of the aircrafts that Joby Energy created. Here's an eight-rotor vehicle. So it has eight rotors for elevons, a bunch of sensors. It's doing a 12-state Kalman estimation to figure out where it is, and it's capable of both hovering flight and forward flight. And obviously very acrobatic modes, which is what you would need in order to generate power from the wind on the end of a string. You have to basically sit there and do loops all the time. So the system that we ended up using is called paparazzi, and we found that it really met our needs, and so that's the subject of our talk today. So I'll hand it over to Peter, who can go through some of the history of paparazzi. Yeah, so hi everyone from E2. So I will talk a little bit about the history of paparazzi, how it came about, and when it started, and who did that, because I think it's an interesting path that it took. It got started quite early. It was started in 2003 by two researchers from École nationale de la version civile, ENAC, in Toulouse in France. These two guys wanted to compete in a competition that was held in Toulouse in their spare time, and they started developing a platform that could compete and solve the mission. So these guys took this stuff, won the competition, came next year, won the competition again, and said like, okay, so we seem to have something really cool, and what do we do with it? So the straightforward thing as researchers was, let's release it and be the first open source UAV platform. And this is how it all started. And over the years, the community grew, the researchers that were using that platform for competing in competitions also grew. So two years after they competed in the first competition, they had five teams running on their system and competing in the competitions. So by now, the community is about 60 active developers committing patches into the system. And they are all spread all over the world. That's not a very central community, like some projects maybe like more Europe, some more US. This is over 18 countries and we are just counting new ones that are coming in. The code base by now is about 160,000 lines of code, of which 75% is ANSI C. Besides, of course, hobby is started using that platform, too, besides researchers. But the interesting part is like, because the researchers are working on the project a lot, they are infusing and giving back a lot of like really nice algorithms and solutions for because they have to solve their missions and because they have like challenges that they are competing at the very forefront of civil UAV systems, there is quite a list of different universities involved, Adelaide, Stanford, TU Delft and so on and so forth. Of course, again, an additional thing that is also happening because the system is not started quite a while ago and had time to be quite stable. It is also used in commercial applications, like for example, there is a company called Delta Drone that is using the system and several others that are selling commercial grade UAV system based on paparazzi. The community, because it's quite big and it's all open source and everyone shares, we have really good wiki with a lot of documentation. There are thousands of wiki pages describing different aspects of the system, describing the controllers, describing like really in depth stuff as well as introduction how to get started with the system. So I will hand off to Prené to talk a little bit about the software in paparazzi. Thanks. As we said, thank you. So we have both the software and hardware which is open source within paparazzi. So a quick overview of the software. The software supports both fixed wing and vertical takeoff and landing system. So multi rotors, helicopters, you know, there's traditional quads, octos, any number of propellers and actuators really and transitioning vehicles. So you can take off and land vertically, tilt your engines or tilt your wing and go forward into, you know, high speed, high efficiency on wing flight. The platform is very well supported on Linux and Mac OS X. We have partial windows support coming in, but you know, we'll see how that goes. Also, one of the things that we're really excited about is a software in the loop simulator. So basically any new flight code that gets committed, you can run within a simulator on an airframe. And so you know, you can predict how that will work in the real world. And the reason we did that was, well, this little flight test that we had back at New York. What the fuck? Fuck. Fuck. So essentially what that was. So essentially what that was was a signer. The what you saw there was the aircraft being flown under an old control mode and being switched into the new control mode after which the person who wrote the program actually freaked out because the vehicle went into positive feedback on pitch, rotated about a hundred or sorry, a thousand degrees a second and actually tore itself to bits because of G loading. So you know, after that, we said, well, better implement a simulator to prevent these high cost losses during testing, which is really nice if you're using a software of this nature to work on really different new types of vehicles rather than the traditional quads or a traditional plane. So you know, what is this software made up of? The software itself is an agent based system. So every little piece is an agent in itself. For example, there's an aircraft agent or an aircraft module, which is where all the flight software actually runs on hardware in the system. But you can also replace that with the simulator module in case you want to test it out first. And then there's a wireless link, which can be of several different types. You can use Wi-Fi, XB, you can use a direct RC link depending on what exactly it is that you're trying to do. And then the wireless links all connect to this IV bus layer on the ground, which allows you to use a multiple, you know, use multiple ground station laptops or computers, and it allows you to control multiple aircraft in the air at the same time, get telemetry from them, monitor health status. And we also have a server, you can actually plug in a server so you can log all your telemetry from the aircraft, from multiple aircraft for future use. And one of the interesting things about this kind of distributed network is that you can control UAVs from anywhere. Back in 26C3, a couple of the main, a couple of the core developers for Paparazzi Antoine and Martin Mueller, they were in Berlin attending the camp and they actually controlled a vehicle simultaneously in France and another one in Germany over basically a VPN link. So they were just sitting there, you know, punching commands into their computers and remotely these aircraft were just flying just based on commands transmitted to them via a Wi-Fi link from ground stations and everything was being commanded over the internet. So that really makes it really powerful in case you want to do research or fly vehicles in a swarm or do it in a partnership or cover more ground. So basically, that's the overview. So this is the ground station for the Paparazzi system. It can pull map data from Google Maps, for example, or OpenStreetMaps or Bing, so you have, based on your GPS track, an accurate view of the ground so which the aircraft is flying. You can put in waypoints and blocks for complex flight parts. So you can do zigzags, you can do loiters, you can do spirals, you can do climbs and descents, all of which you can program beforehand and then change on the fly. So suppose you have 10 different waypoints, you can move them around and tell the aircraft to go to one or the other and behave in a certain way once it gets to that point. So just loiter or do a zigzag or, you know, do an increasing spiral to cover more ground, take video footage, anything you want. So it's very, very flexible. And the way it's all set up is that we have these top-level XML files where you can change small, you know, just single lines and reconfigure the ground station, for example, to look differently. Also, if you notice that little green corner in the bottom, all that that has all the information that's coming down from the aircraft, so attitude, altitude, battery monitoring, anything that you need. So one quick glance will tell you exactly what the aircraft is up to and what the status is. So let's talk about the airborne segment a little bit. That is also very, very modular. So for example, you'll have control system blocks, so you can plug in different kinds of controllers. You have different estimator modules. You can even do simple things like blink LEDs in a certain manner. Chris, could you just turn on that vehicle? So, you know, even simple things like that, which are fun to do, it's easy to drop in because it's all modular and all connects over a very standard interface. Then also we support a very large multitude of sensors and actuators. I think at last count, there were well over 70 sensors and actuators that the paparazzi platform supports. So you can just plug in GPSs, IMUs. We're going to talk about that a little bit more later. And like I said, we have this XML top-level file system which basically allows you to focus on the larger changes you want to make to the UAV. For example, if you want to add a motor or you want to add an extra set of aerodynamic surfaces with servos, you don't have to go deep into the control code and make the changes that are necessary. All you need to do is add the extractuator to this top-level XML file and the code is actually auto-generated at the compile time to work on the vehicle itself. So you don't have to... This makes it really easy to develop new vehicles. And then again, to put it simply, what do you really need in an unmanned aerial system flight code? Well, the vehicle needs to know where it is, what is oriented as, it needs something to run the actuators and basically, you know, it needs a control system which tells the drivers that run the actuators what to do. So basically, Paparazzi has both fixed and floating point algorithms for pretty much everything that we fly. And this is so that if your hardware is able to support the floating point systems, you can run those. Or if you need a more clean lightweight code, then you can run the fixed point systems. Our fixed wing controller code is formally proven, which means it's mathematically deterministic. So it's very, very reliable when we're flying fixed wing missions. And we'll give you some examples of the kind of missions that Paparazzi fixed wing vehicles have done. And then for the estimators to know which way you're pointed really, we have complementary Kalman and extended Kalman filters already implemented. Others coming on line as we speak, because again, open source, lots of community input. And we can represent our attitude in oil angles, quaternions, direction cosine matrices, anything that's appropriate for your mission. It's very easy to pick and choose. As far as control loops go, we use standard PID. We use PID with feed forward systems. And we have adaptive controllers coming online which are actually really, really interesting. Because if something happens to your vehicle in flight, they are able to compensate. And this is actually an example of that. What you're about to see is that this aircraft will drop half of its wing in just about a little bit. And what you see on the right hand side is the ground station track. That's the wing on. And as you see, there's a little bit of deviation from the flight paths. The green is the required flight path. The yellow is the correct one. And now we also simulate an engine out scenario. So we've turned off one of the motors. And as you can see, the controller still manages to do it. And as a test, we try to fly this aircraft twin star Martin Mueller, try to fly it by hand. And it's actually unflyable by hand. It's unflyable if you don't use an adaptive controller because it's a very different vehicle once you've lost half a wing and an engine when it's meant to fly with two engines and two wings. So these are the things that make the system really, really powerful. So again, you know, it's a huge advantage to have a system that can do things like this. And then the software licensing, GPL3, free as in freedom, because again, why would you not? You get so much more input and so much more fun when you get to work with so many people across the world. And now I think we'll talk about the hardware side of things and I'll switch back to Peter for that. All right. So it is, as Prené already told you guys, it's paparazzi in the software arena is very flexible. But this is similar with the hardware side of things. This system started out to run like in very beginning on an AVR at mega. This got basically the new hardware wasn't made after a very short period because the requirements for the algorithms that people wanted to run on it were a little bit higher. So basically LPC came on, LPC ARM 7 TDMI and because we had the more powerful platform basically we decided in 2010 that we can drop the support for the AVR. The next generation of hardware, we added ARM Cortex M3 platforms that are a little bit faster, have a little bit more IO and this are the two stable platforms at the moment. And we are also working on the next step that is really like weeks away more or less or maybe a month to add the Cortex M4 with floating point support, even faster CPU, more storage and DSP commands to be able to do even more sophisticated controls and more sophisticated software and to even cooler things than adaptive controllers that there is still way to go. So because of the support we have a lot of autopilots that were developed in the community for different missions and this is just a small excerpt of the different autopilots that are supported by paparazzi and on top you see autopilots that are dedicated for fixed wings, then we have the boost in the left lower corner that is a dedicated rotorcraft controller and and then we have the Lisa L and Lisa M these are generic platforms that are meant to run fixed wings as well as rotorcraft and Lisa L is a bigger version that has differential pressure sensor and mates with Cortex A8, Gamstix, O'Varrell computer on a module that allows you to interface with the IO processor that is at Cortex M3 and run for example vision recognition and communicate and give commands to the low level processor for the track that it has to fly to fulfill the mission. You can also write different controllers and run them on the O'Varrell if you wish that speeds up the development process quite a lot. Lisa M is like the generic plug-and-play you drop it in and you get your UAV running, has eight connectors for servos or PPM motor controllers, it has can interface it has I2C for a little bit older rotorcraft motor controllers and stuff like that. It also has AMU mounted on it, I will show you that in the next slide. These are some sensors and AMUs are very nice for in systems that are moving fast like for example quadrocopters but for in fixed wing AMUs are nice if you are flying in bad weather for example but the IR sensors are still a little bit older solution but incredibly robust so a lot of missions are still being flown with the IR sensors to measure the temperature difference between ground and air and then you have a definitive response where where the horizon is and this is how you calculate your attitude it is very good for airplanes a little bit too slow for a rotorcraft so that's why AMUs and so we have this AMUs that were developed in the in the community a postage stamp aspirin AMU for example tandem AMU 3 gyros 3 accelerometers magnetometer and a pressure sensor on a 2x 1.5 centimeter small postage stamp this mounts on the Lisa M on the back just just to have a really nice type package. We also support a lot of other AMUs from third parties and we also support GPS's we have some developed in the community and here a shameless plug to our friends from SwiftNav they are developing a really awesome GPS that is a diversity RTK GPS completely open source that will go into a vehicles and we can't wait to fly them because we will get a centimeter precision data to fly our UAVs much more accurately than it was ever possible before at a reasonable cost so all the hardware is either GPL3 or Creative Commons by by attribution and so it is open hardware as well as open software the whole project so I will hand off to Chris to show you guys a few example airframes thank you thank you very much so here we have a few examples of some unique fixed-wing aircraft on the left is the Dragon Slayer it's a very small high-speed relatively high endurance aircraft developed by military flight systems the in the middle is the UM the UMARS developed in Switzerland it's a inter-european research platform for meteorology study and on the far right is the perching platform developed by Stanford it flies like a normal aircraft and then lands on a wall all using the paparazzi system here's a few rotary wing aircraft the UAV 2.0 is a recognized civilian UAV quadcopter in the center is a quadcopter with four variable pitch propellers just like helicopters quite unique and on the far right is Antoine's V-hex it's very good for top photography because it gives a clear view between the propellers you mount the camera centerline and you don't see any propeller wash here we have some more unique aircraft two transitioning vehicles the first one is what we have here on the table the quad I developed by us it not only can fly like a helicopter but transition out of the wing and fly like an airplane and then on the right is ammo fits derivative of the quad shot developed by to delft competed in UAV forage challenge and placed third pretty over that a little more later but here is a an example this is actually what the quad shot uses it's a Lisa M with four motors and four motor controllers with two servos and differential receivers with a possibility of use of a GPS it also uses an XB for telemetry for live data feedback down to a ground station so here we'll go back to Prené to go over some specific missions so like I told you earlier some missions that paparazzi has been used for the fixed wing code like I said is very very robust that's what paparazzi was originally designed to do and one of the things that they used a fixed wing paparazzi vehicle for was a flight in Antarctica to measure atmospheric temperatures at various altitudes and this was to our knowledge the first civilian research UAV that was actually that actually flew in Antarctica and basically it climbed to several hundred feet got excellent data from various atmospheric levels and this was actually vehicle designed by one of the community members Martin Mueller so that's an interesting thing very very robust no hardware or software failures despite the extreme weather so that's pretty good also if you attended Chris Anderson stock he was talking about the use of UAVs for agriculture you know to monitor the land to see where basically to see where the resources are what kind of soil is present what where irrigation is required multitude of things it's probably really useful well one of the missions that paparazzi also done is this agricultural survey in Madagascar and it was a multi-university project and they wanted to study the ecosystem for agricultural uses later on or the feasibility of preserving certain ecosystems and or replacing it with agricultural fields depending and you know very extremely well economically backward region of the world so they didn't really have the resources to do a manned survey so it had to be something cheap reliable and something you know small like a UAV well this paparazzi airplane essentially surveyed over four thousand hectares of farm and grassland took you know over 8500 photographs in multi-spectrums so near infrared as well as visible and it was probably one of the biggest missions biggest scientific missions flown with paparazzi and probably one of the biggest civilian scientific missions that have been flown with essentially you know an amateur built UAV flying this software and hardware combination also some competitions like Peter said earlier the JDM03 in Toulouse in France that's Genesis that's why that's where paparazzi began that's why it was written up DARPA UAV forge this just this year earlier paparazzi vehicle the Atmos which is a quadrature derivative by TU Delft they placed third there and IMF 2012 and ENAC Rotocraft they won the outdoor challenge so plenty of success even in competitions for paparazzi vehicles so what we'll do next is shut up talking and actually fly one of these vehicles since because well why wouldn't you and you know empty seats over there so people in front rows I I don't know might need helmets or not we'll see how it goes like you're surprised oops thank you Chris awesome piloting job as usual and I think that's all we have for you today thanks very much and I might do Q&A in the other room as well and if you want to check out the vehicles or the autopilots by all means come up take a look and thanks again for listening hope you had a great Defcon