SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Designing Unmanned Aerial Vehicles with Python Dirk Gorissen  (@elazungu) - PyCon UK - 25 September 2011
Outline Who are we Project focus & scope UAV design system Other uses of Python Status / Open isues
Who are we?
What do we do?
DECODE Project team ,[object Object]
Jeroen van Schaik
Mario Ferraro
Marc Bolinches
Ben Schumann
Associated:
Alex Forrester
Ivan VouchkovProfessors: Jim Scanlan Andy Keane Kenji Takeda Post doc: Erika Quaranta Dirk Gorissen
The DECODE Project Looking at how complex aerospace systems are designed In particular, the decision making process related to the design How are decisions made? Who makes them? How final are the? How arbitrary are they? How important are they? Are they recorded? …
Design decisions Important to rationalize decisions Motivate them during design review meetings However, Design of something is never “finished” Time pressure leads to arbitrary detail decisions No immediate payoff for recording rationale
Making decisions Which ones matter? Heatmap?
Making decisions
DECODE System A computer system to help understand the impact of a decision “Is it worth it?”
Case Study: UAVs UAV: Unmanned Aerial Vehicles Mostly for military use but many civilian applications Mapping/surveying, atmospheric measurements, search and rescue, wildlife management, …
UAVs: Why? Complex enough to be taken seriously ‘Simple’ enough to  be tackled within a university research project We can go through the full lifecycle Design -> build -> fly -> crash! Necessary to appreciate the impact and constraints of decisions
UAVs: Why? Its cool  Great for students
UAVs
Wind tunnel
The ‘U’ in UAV Sky Circuits Autopilot
Autopilot telemetry
Auto-takeoff
The DECODE Project Looking at how complex aerospace systems are designed £800,000 government grant (your money)
Case study: Search and Rescue
Search and Resuce The RLNI has to come look for you Helicopter costs £21 million and £6000 per hour Lifeboat costs £150,000 and £8000 per hour
Search and Rescue: UAVs Design low cost UAVs for search and rescue UAV costs < £10,000, and< £100 per hour Deploy to RNLI stations Reduce load on helicopters and lifeboats
Designing a S&R UAV What does a Search and Resuce UAV look like? How big, how heavy, how fast, … Decisions guided by an operational simulation
DECODE System How many more lives can we save by reducing the wing span by 15% ? “Is it worth it?”
System building blocks Manufacturing
System Requirements Support wide range of analysis codes Aerodynamics, structures, weights, costing, opsim, … Very slow (CFD) -> very fast (costing) Flexibility to add new solvers/codes Provenance Multi-client Cluster/cloud capable Make different MDO models possible (sync & async)
System components Lightweight component for each building block Written in Python (using Kombu) Any client with a an AMQP implementation will work Minimal (shared) state Each component ‘talks’ protobuf over AMQP Input queue: shared with peers (failover) Direct queue: exclusive Respects reply-to header
Messaging Multiple control flows between components Farmer-worker, sync MDO, async MDO RabbitMQ as message broker Persistent messages/queues Acknowledgements Pubsub Virtual hosts Clustering
Registry ,[object Object],We also want transparent failover between components Also need a registry for the components themselves Which components are running/available Analysis components need to publish their inputs (& outputs)  Redis: open source, fault tolerant data structure server
Control Flow API Controller Balancer Analysis Manager API Message Broker Registry CFD Costing Value Opsim Balancing code
Message based system Strengths: De-coupled & asynchronous Flexible, easy to add new solver/components Fault tolerant Horizontally scalable Platform/language independent Weaknesses: Enforcing synchronous, sequential behaviour Detecting the fact that nobody replies vs “fire-and-forget” Recalling requests Shared state implies race conditions Broker model vs P2P model
Deployment Decode VM API Controller Balancer Analysis Manager API Message Broker Spitfire Jeroens PC Registry Marcs PC Costing FP Balancing Code CFD Opsim Value Iridis
Deployment Very easy to add/remove components at any time System should cope Side effect: difficult to force a job to run on your machine Proof of principle: PC joins the Decode system on screensaver start
Clients Client requirements: Able to send a protobuf message over AMQP Covers C++, Java, C#, Python, Ruby Clients API client (Python, Java, C#) Matlab client (uses Java API) Excel addin (uses C# API)
Matlab Client
Excel client
More Python: ANSYS Python also used in ANSYS workbench Automate geometry, meshing, CFD analysis
More Python: Sizing Balancing component implemented in Excel Well known, flexible, easy to work with Not a concept design tool, tied to Windows, a pain to distribute Use Python to compile a spreadsheet to standalone Python code

Weitere ähnliche Inhalte

Ähnlich wie Pyconuk2011

High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudThe UberCloud
 
High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudWolfgang Gentzsch
 
NAFEMS Smart Manufacturing - UberCloud
NAFEMS Smart Manufacturing - UberCloudNAFEMS Smart Manufacturing - UberCloud
NAFEMS Smart Manufacturing - UberCloudThomas Francis
 
Smart Manufacturing: CAE in the Cloud
Smart Manufacturing: CAE in the CloudSmart Manufacturing: CAE in the Cloud
Smart Manufacturing: CAE in the CloudThe UberCloud
 
Smart Manufacturing: CAE in the Cloud
Smart Manufacturing: CAE in the CloudSmart Manufacturing: CAE in the Cloud
Smart Manufacturing: CAE in the CloudWolfgang Gentzsch
 
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...Rafael Ferreira da Silva
 
The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...
The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...
The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...Wolfgang Gentzsch
 
UberCloud - From Project to Product
UberCloud - From Project to ProductUberCloud - From Project to Product
UberCloud - From Project to ProductThe UberCloud
 
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...Docker, Inc.
 
Performance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL ModelsPerformance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL ModelsSpace Codesign
 
DockerDay2015: Keynote
DockerDay2015: KeynoteDockerDay2015: Keynote
DockerDay2015: KeynoteDocker-Hanoi
 
Using Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure SystemsUsing Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure SystemsYoshitake Kobayashi
 
Sioux Hot-or-Not: The future of Linux (Alan Cox)
Sioux Hot-or-Not: The future of Linux (Alan Cox)Sioux Hot-or-Not: The future of Linux (Alan Cox)
Sioux Hot-or-Not: The future of Linux (Alan Cox)siouxhotornot
 
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...VMware Tanzu
 
ERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projectsERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projectsChristian Charreyre
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices Hendri Karisma
 
Evolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native WorldEvolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native WorldIain Hull
 

Ähnlich wie Pyconuk2011 (20)

High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the Cloud
 
High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the Cloud
 
NAFEMS Smart Manufacturing - UberCloud
NAFEMS Smart Manufacturing - UberCloudNAFEMS Smart Manufacturing - UberCloud
NAFEMS Smart Manufacturing - UberCloud
 
Smart Manufacturing: CAE in the Cloud
Smart Manufacturing: CAE in the CloudSmart Manufacturing: CAE in the Cloud
Smart Manufacturing: CAE in the Cloud
 
Smart Manufacturing: CAE in the Cloud
Smart Manufacturing: CAE in the CloudSmart Manufacturing: CAE in the Cloud
Smart Manufacturing: CAE in the Cloud
 
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...
 
The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...
The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...
The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...
 
UberCloud - From Project to Product
UberCloud - From Project to ProductUberCloud - From Project to Product
UberCloud - From Project to Product
 
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
 
Performance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL ModelsPerformance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL Models
 
DockerDay2015: Keynote
DockerDay2015: KeynoteDockerDay2015: Keynote
DockerDay2015: Keynote
 
Using Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure SystemsUsing Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure Systems
 
Sioux Hot-or-Not: The future of Linux (Alan Cox)
Sioux Hot-or-Not: The future of Linux (Alan Cox)Sioux Hot-or-Not: The future of Linux (Alan Cox)
Sioux Hot-or-Not: The future of Linux (Alan Cox)
 
CURRICULUM VITAE
CURRICULUM VITAE CURRICULUM VITAE
CURRICULUM VITAE
 
3DD 1e 31 Luglio Apertura
3DD 1e 31 Luglio Apertura3DD 1e 31 Luglio Apertura
3DD 1e 31 Luglio Apertura
 
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
 
Eclipse RT Day
Eclipse RT DayEclipse RT Day
Eclipse RT Day
 
ERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projectsERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projects
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
 
Evolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native WorldEvolving Services Into A Cloud Native World
Evolving Services Into A Cloud Native World
 

Mehr von Dirk Gorissen

Measuring and Predicting Departures from Routine in Human Mobility
Measuring and Predicting Departures from Routine in Human MobilityMeasuring and Predicting Departures from Routine in Human Mobility
Measuring and Predicting Departures from Routine in Human MobilityDirk Gorissen
 
UNNMANED AIRCRAFT SYSTEMS – CURRENT OPS, INTEGRATION AND CHALLENGES
UNNMANED AIRCRAFT SYSTEMS – CURRENT OPS, INTEGRATION AND CHALLENGES   UNNMANED AIRCRAFT SYSTEMS – CURRENT OPS, INTEGRATION AND CHALLENGES
UNNMANED AIRCRAFT SYSTEMS – CURRENT OPS, INTEGRATION AND CHALLENGES Dirk Gorissen
 
London Big-O Algorithms and Datastructures Meetup Welcome
London Big-O Algorithms and Datastructures Meetup WelcomeLondon Big-O Algorithms and Datastructures Meetup Welcome
London Big-O Algorithms and Datastructures Meetup WelcomeDirk Gorissen
 
Random Hacks of Kindness, Dec 2012
Random Hacks of Kindness, Dec 2012Random Hacks of Kindness, Dec 2012
Random Hacks of Kindness, Dec 2012Dirk Gorissen
 
"Click here" to build your UAV
"Click here" to build your UAV"Click here" to build your UAV
"Click here" to build your UAVDirk Gorissen
 

Mehr von Dirk Gorissen (9)

Data For Good ?
Data For Good ?Data For Good ?
Data For Good ?
 
Measuring and Predicting Departures from Routine in Human Mobility
Measuring and Predicting Departures from Routine in Human MobilityMeasuring and Predicting Departures from Routine in Human Mobility
Measuring and Predicting Departures from Routine in Human Mobility
 
UNNMANED AIRCRAFT SYSTEMS – CURRENT OPS, INTEGRATION AND CHALLENGES
UNNMANED AIRCRAFT SYSTEMS – CURRENT OPS, INTEGRATION AND CHALLENGES   UNNMANED AIRCRAFT SYSTEMS – CURRENT OPS, INTEGRATION AND CHALLENGES
UNNMANED AIRCRAFT SYSTEMS – CURRENT OPS, INTEGRATION AND CHALLENGES
 
Structronics
StructronicsStructronics
Structronics
 
London Big-O Algorithms and Datastructures Meetup Welcome
London Big-O Algorithms and Datastructures Meetup WelcomeLondon Big-O Algorithms and Datastructures Meetup Welcome
London Big-O Algorithms and Datastructures Meetup Welcome
 
ICT4D and me
ICT4D and meICT4D and me
ICT4D and me
 
Random Hacks of Kindness, Dec 2012
Random Hacks of Kindness, Dec 2012Random Hacks of Kindness, Dec 2012
Random Hacks of Kindness, Dec 2012
 
"Click here" to build your UAV
"Click here" to build your UAV"Click here" to build your UAV
"Click here" to build your UAV
 
Ngo Clarity
Ngo ClarityNgo Clarity
Ngo Clarity
 

Kürzlich hochgeladen

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Kürzlich hochgeladen (20)

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

Pyconuk2011

  • 1. Designing Unmanned Aerial Vehicles with Python Dirk Gorissen (@elazungu) - PyCon UK - 25 September 2011
  • 2. Outline Who are we Project focus & scope UAV design system Other uses of Python Status / Open isues
  • 5.
  • 12. Ivan VouchkovProfessors: Jim Scanlan Andy Keane Kenji Takeda Post doc: Erika Quaranta Dirk Gorissen
  • 13. The DECODE Project Looking at how complex aerospace systems are designed In particular, the decision making process related to the design How are decisions made? Who makes them? How final are the? How arbitrary are they? How important are they? Are they recorded? …
  • 14. Design decisions Important to rationalize decisions Motivate them during design review meetings However, Design of something is never “finished” Time pressure leads to arbitrary detail decisions No immediate payoff for recording rationale
  • 15. Making decisions Which ones matter? Heatmap?
  • 17. DECODE System A computer system to help understand the impact of a decision “Is it worth it?”
  • 18. Case Study: UAVs UAV: Unmanned Aerial Vehicles Mostly for military use but many civilian applications Mapping/surveying, atmospheric measurements, search and rescue, wildlife management, …
  • 19. UAVs: Why? Complex enough to be taken seriously ‘Simple’ enough to be tackled within a university research project We can go through the full lifecycle Design -> build -> fly -> crash! Necessary to appreciate the impact and constraints of decisions
  • 20. UAVs: Why? Its cool  Great for students
  • 21. UAVs
  • 23. The ‘U’ in UAV Sky Circuits Autopilot
  • 26. The DECODE Project Looking at how complex aerospace systems are designed £800,000 government grant (your money)
  • 27. Case study: Search and Rescue
  • 28. Search and Resuce The RLNI has to come look for you Helicopter costs £21 million and £6000 per hour Lifeboat costs £150,000 and £8000 per hour
  • 29. Search and Rescue: UAVs Design low cost UAVs for search and rescue UAV costs < £10,000, and< £100 per hour Deploy to RNLI stations Reduce load on helicopters and lifeboats
  • 30. Designing a S&R UAV What does a Search and Resuce UAV look like? How big, how heavy, how fast, … Decisions guided by an operational simulation
  • 31. DECODE System How many more lives can we save by reducing the wing span by 15% ? “Is it worth it?”
  • 32. System building blocks Manufacturing
  • 33. System Requirements Support wide range of analysis codes Aerodynamics, structures, weights, costing, opsim, … Very slow (CFD) -> very fast (costing) Flexibility to add new solvers/codes Provenance Multi-client Cluster/cloud capable Make different MDO models possible (sync & async)
  • 34. System components Lightweight component for each building block Written in Python (using Kombu) Any client with a an AMQP implementation will work Minimal (shared) state Each component ‘talks’ protobuf over AMQP Input queue: shared with peers (failover) Direct queue: exclusive Respects reply-to header
  • 35. Messaging Multiple control flows between components Farmer-worker, sync MDO, async MDO RabbitMQ as message broker Persistent messages/queues Acknowledgements Pubsub Virtual hosts Clustering
  • 36.
  • 37. Control Flow API Controller Balancer Analysis Manager API Message Broker Registry CFD Costing Value Opsim Balancing code
  • 38. Message based system Strengths: De-coupled & asynchronous Flexible, easy to add new solver/components Fault tolerant Horizontally scalable Platform/language independent Weaknesses: Enforcing synchronous, sequential behaviour Detecting the fact that nobody replies vs “fire-and-forget” Recalling requests Shared state implies race conditions Broker model vs P2P model
  • 39. Deployment Decode VM API Controller Balancer Analysis Manager API Message Broker Spitfire Jeroens PC Registry Marcs PC Costing FP Balancing Code CFD Opsim Value Iridis
  • 40. Deployment Very easy to add/remove components at any time System should cope Side effect: difficult to force a job to run on your machine Proof of principle: PC joins the Decode system on screensaver start
  • 41. Clients Client requirements: Able to send a protobuf message over AMQP Covers C++, Java, C#, Python, Ruby Clients API client (Python, Java, C#) Matlab client (uses Java API) Excel addin (uses C# API)
  • 44. More Python: ANSYS Python also used in ANSYS workbench Automate geometry, meshing, CFD analysis
  • 45. More Python: Sizing Balancing component implemented in Excel Well known, flexible, easy to work with Not a concept design tool, tied to Windows, a pain to distribute Use Python to compile a spreadsheet to standalone Python code
  • 46. More Python: Sizing Exploring the sizing equations with NetworkX, Gephi & Neo4J
  • 47. Open issues Deal with requests that never return & query cancelling Add web UI to components (Flask?) Deployment container? Analysis cache Explore possibilities of sizing graph Data management layer Archiving result data in digital repo (e.g., Fedora Commons) Link to manufacturing
  • 48. Building UAVs Focus on rapid manufacturing, 3D printing cheap, fast complexity comes for ‘free’ cool 
  • 49. SULSA Worlds first (?) 3D printed aircraft
  • 50. SULSA
  • 51. Project status Halfway through building the system & starting design on second DECODE UAV (20 kg) Special course on Unmanned Systems starting this year Students will use & extend the system Interest from the BBC, Police, Met Office, and US Navy