Forge - DevCon 2016: Building a Drone Imagery Service

Autodesk
Autodesk Autodesk
Jia Huang
Software Engineer @ 3DRobotics
Building a Drone Imagery Service
@AutodeskForge
#ForgeDevCon
see the world from above
Site Scan
Site Scan
Survey Scan Inspect
Scan Results
5 minute flights
84 Photos
90 minute processing time
Survey Results
Site Scan Video
• https://www.youtube.com/watch?
v=6BTC1Zjo8Ic
Site Scan workflow
Site Scan workflow
• geotagging
• user controls
• prepare job
• user validation
• saves results
• render mesh
• take photos
Challenges for the 3DR Cloud
• each image is ~10MB
• up to 250 images per job
• soon <= 2000 images across multiple flights
in one job
• Mesh / ortho / point cloud results are ~100MB
to ~200MB
3DR Cloud Architecture
3DR Cloud API
▪ All written in Scala with the Akka libraries
▪ Why Akka?
▪ Lightweight
▪ Flexible
▪ Everything is a stream
▪ Why Couchbase?
▪ Blob data
▪ Add more boxes as needed
▪ NoSQL with SQL interface (n1ql)
User Service
▪ User Service keeps track of
▪ users
▪ groups
▪ permissioning
▪ Why Postgres?
▪ highly relational data
▪ use the right db for the job
Recap Service
▪ Actors encapsulate state and behavior
▪ Communicate exclusively through messages
▪ Uses Akka’s Actor system
▪ Supervisor & children
▪ Each child Recap actor keeps its own state
▪ Supervisor gets passed errors
Creating a Photoscene with Autodesk Recap
Actor Supervisor Pattern
▪ Children can crash without damaging the system
▪ Supervisors handle errors
import akka.actor.OneForOneStrategy

import akka.actor.SupervisorStrategy._

import scala.concurrent.duration._



override val supervisorStrategy =

OneForOneStrategy(maxNrOfRetries = 10,

withinTimeRange = 1 minute) {

case _: ArithmeticException => Resume 

case _: NullPointerException => Restart

case _: IllegalArgumentException => Stop

case _: Exception => Escalate

}
Actor Scheduling Pattern
▪ Actors can schedule themselves for future actions
class RecapActor(…) extends Actor with …{



implicit val system = context.system

private var scheduledTask: Option[Cancellable] = None
def receive = {
case PollScene(…) =>
scheduledTask = scheduledTask match {

case None => Some(
context.system.scheduler.schedule(10 minutes,
10 minutes, self,
PollScene(…) ))

case Some(cancellable) => scheduledTask

}
}

}
Interfacing with Autodesk Recap
▪ Handles authentication, sending & receiving to Recap
▪ Returns a Scala PhotoSceneEntity
▪ Formats, photolist, photoscene status,
processing time, and any errors
▪ Reuploads photos during error states
▪ Built on top of Akka-requests-lib
▪ https://github.com/3drobotics/cloud-akka-request
• Depends on the integration type
• State machine? Akka Finite State Machine
Mixin
• Relational? Another Postgres backed service
• Blob data?
• Keep things decoupled
Architecting future integrations
Questions?
jia.huang@3dr.com
@3drobotics
@AutodeskForge
#ForgeDevCon
Forge - DevCon 2016: Building a Drone Imagery Service
1 sur 22

Recommandé

Forge - DevCon 2016: From Desktop to the Cloud with Forge par
Forge - DevCon 2016: From Desktop to the Cloud with ForgeForge - DevCon 2016: From Desktop to the Cloud with Forge
Forge - DevCon 2016: From Desktop to the Cloud with ForgeAutodesk
882 vues40 diapositives
Forge - DevCon 2016: 10 Great Fusion 360 Sample Applications par
Forge - DevCon 2016: 10 Great Fusion 360 Sample ApplicationsForge - DevCon 2016: 10 Great Fusion 360 Sample Applications
Forge - DevCon 2016: 10 Great Fusion 360 Sample ApplicationsAutodesk
1.5K vues19 diapositives
Forge - DevCon 2016: Visual Reporting with Connected Design Data par
Forge - DevCon 2016: Visual Reporting with Connected Design DataForge - DevCon 2016: Visual Reporting with Connected Design Data
Forge - DevCon 2016: Visual Reporting with Connected Design DataAutodesk
896 vues43 diapositives
From desktop to the cloud with forge par
From desktop to the cloud with forgeFrom desktop to the cloud with forge
From desktop to the cloud with forgefpm2015
139 vues40 diapositives
Forge - DevCon 2016: Introduction to Forge 3D Print API Through Sample Applic... par
Forge - DevCon 2016: Introduction to Forge 3D Print API Through Sample Applic...Forge - DevCon 2016: Introduction to Forge 3D Print API Through Sample Applic...
Forge - DevCon 2016: Introduction to Forge 3D Print API Through Sample Applic...Autodesk
1.2K vues28 diapositives
Forge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIs par
Forge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIsForge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIs
Forge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIsAutodesk
1.1K vues34 diapositives

Contenu connexe

Tendances

Forge - DevCon 2016: Cloud PDM Demystified – The Future of File Management par
Forge - DevCon 2016: Cloud PDM Demystified – The Future of File ManagementForge - DevCon 2016: Cloud PDM Demystified – The Future of File Management
Forge - DevCon 2016: Cloud PDM Demystified – The Future of File ManagementAutodesk
758 vues26 diapositives
TechEvent 2019: Nachhaltige Client-Architekturen mit Angular Elements; Thomas... par
TechEvent 2019: Nachhaltige Client-Architekturen mit Angular Elements; Thomas...TechEvent 2019: Nachhaltige Client-Architekturen mit Angular Elements; Thomas...
TechEvent 2019: Nachhaltige Client-Architekturen mit Angular Elements; Thomas...Trivadis
217 vues43 diapositives
Forge - DevCon 2016: Free your design data par
Forge - DevCon 2016: Free your design dataForge - DevCon 2016: Free your design data
Forge - DevCon 2016: Free your design dataAutodesk
585 vues28 diapositives
Building API in the cloud using Azure Functions par
Building API in the cloud using Azure FunctionsBuilding API in the cloud using Azure Functions
Building API in the cloud using Azure FunctionsAleksandar Bozinovski
142 vues38 diapositives
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API... par
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...Autodesk
918 vues19 diapositives
Forge - DevCon 2017, Darmstadt Germany: Innovate with Forge par
Forge - DevCon 2017, Darmstadt Germany: Innovate with ForgeForge - DevCon 2017, Darmstadt Germany: Innovate with Forge
Forge - DevCon 2017, Darmstadt Germany: Innovate with ForgeAutodesk
532 vues63 diapositives

Tendances(20)

Forge - DevCon 2016: Cloud PDM Demystified – The Future of File Management par Autodesk
Forge - DevCon 2016: Cloud PDM Demystified – The Future of File ManagementForge - DevCon 2016: Cloud PDM Demystified – The Future of File Management
Forge - DevCon 2016: Cloud PDM Demystified – The Future of File Management
Autodesk 758 vues
TechEvent 2019: Nachhaltige Client-Architekturen mit Angular Elements; Thomas... par Trivadis
TechEvent 2019: Nachhaltige Client-Architekturen mit Angular Elements; Thomas...TechEvent 2019: Nachhaltige Client-Architekturen mit Angular Elements; Thomas...
TechEvent 2019: Nachhaltige Client-Architekturen mit Angular Elements; Thomas...
Trivadis217 vues
Forge - DevCon 2016: Free your design data par Autodesk
Forge - DevCon 2016: Free your design dataForge - DevCon 2016: Free your design data
Forge - DevCon 2016: Free your design data
Autodesk 585 vues
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API... par Autodesk
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...
Autodesk 918 vues
Forge - DevCon 2017, Darmstadt Germany: Innovate with Forge par Autodesk
Forge - DevCon 2017, Darmstadt Germany: Innovate with ForgeForge - DevCon 2017, Darmstadt Germany: Innovate with Forge
Forge - DevCon 2017, Darmstadt Germany: Innovate with Forge
Autodesk 532 vues
Developing Azure Functions as custom connectors for Flow and Nintex par DocFluix, LLC
Developing Azure Functions as custom connectors for Flow and NintexDeveloping Azure Functions as custom connectors for Flow and Nintex
Developing Azure Functions as custom connectors for Flow and Nintex
DocFluix, LLC396 vues
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S... par CodeOps Technologies LLP
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
Cloud Abstraction Libraries: Implementation and Comparison par Udit Agarwal
Cloud Abstraction Libraries: Implementation and ComparisonCloud Abstraction Libraries: Implementation and Comparison
Cloud Abstraction Libraries: Implementation and Comparison
Udit Agarwal169 vues
Using Google App Engine Python par Akshay Mathur
Using Google App Engine PythonUsing Google App Engine Python
Using Google App Engine Python
Akshay Mathur5.5K vues
Azure Functions Real World Examples par Yochay Kiriaty
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
Yochay Kiriaty9.4K vues
Deploying Web Apps with PaaS and Docker Tools par Eddie Lau
Deploying Web Apps with PaaS and Docker ToolsDeploying Web Apps with PaaS and Docker Tools
Deploying Web Apps with PaaS and Docker Tools
Eddie Lau1.5K vues
Azure Web Jobs par BizTalk360
Azure Web JobsAzure Web Jobs
Azure Web Jobs
BizTalk3601.1K vues
Building solutions with the SharePoint Framework - introduction par Waldek Mastykarz
Building solutions with the SharePoint Framework - introductionBuilding solutions with the SharePoint Framework - introduction
Building solutions with the SharePoint Framework - introduction

En vedette

Forge - DevCon 2016: Forecast for Design, Make, & Use is Cloudy par
Forge - DevCon 2016: Forecast for Design, Make, & Use is CloudyForge - DevCon 2016: Forecast for Design, Make, & Use is Cloudy
Forge - DevCon 2016: Forecast for Design, Make, & Use is CloudyAutodesk
639 vues41 diapositives
Forge - DevCon 2016: Introduction to building for HoloLens par
Forge - DevCon 2016: Introduction to building for HoloLensForge - DevCon 2016: Introduction to building for HoloLens
Forge - DevCon 2016: Introduction to building for HoloLensAutodesk
1.2K vues33 diapositives
Artificial drone intelligence technology par
Artificial drone intelligence technologyArtificial drone intelligence technology
Artificial drone intelligence technologyArman Khalid
169 vues7 diapositives
The Race for Same Day Delivery in Online Retail par
The Race for Same Day Delivery in Online RetailThe Race for Same Day Delivery in Online Retail
The Race for Same Day Delivery in Online RetailSteve Keifer
2.6K vues25 diapositives
Harvard HKUST 2015 - Final Presentation par
Harvard HKUST 2015 - Final PresentationHarvard HKUST 2015 - Final Presentation
Harvard HKUST 2015 - Final PresentationBillie Wei
508 vues66 diapositives
Master mitie drone plan par
Master mitie drone  planMaster mitie drone  plan
Master mitie drone planGareth Davies
352 vues15 diapositives

En vedette(14)

Forge - DevCon 2016: Forecast for Design, Make, & Use is Cloudy par Autodesk
Forge - DevCon 2016: Forecast for Design, Make, & Use is CloudyForge - DevCon 2016: Forecast for Design, Make, & Use is Cloudy
Forge - DevCon 2016: Forecast for Design, Make, & Use is Cloudy
Autodesk 639 vues
Forge - DevCon 2016: Introduction to building for HoloLens par Autodesk
Forge - DevCon 2016: Introduction to building for HoloLensForge - DevCon 2016: Introduction to building for HoloLens
Forge - DevCon 2016: Introduction to building for HoloLens
Autodesk 1.2K vues
Artificial drone intelligence technology par Arman Khalid
Artificial drone intelligence technologyArtificial drone intelligence technology
Artificial drone intelligence technology
Arman Khalid169 vues
The Race for Same Day Delivery in Online Retail par Steve Keifer
The Race for Same Day Delivery in Online RetailThe Race for Same Day Delivery in Online Retail
The Race for Same Day Delivery in Online Retail
Steve Keifer2.6K vues
Harvard HKUST 2015 - Final Presentation par Billie Wei
Harvard HKUST 2015 - Final PresentationHarvard HKUST 2015 - Final Presentation
Harvard HKUST 2015 - Final Presentation
Billie Wei508 vues
Mitie - Solving problems with drones par Will Credicott
Mitie - Solving problems with dronesMitie - Solving problems with drones
Mitie - Solving problems with drones
Will Credicott465 vues
Forge - DevCon 2016: Bringing BIM to Facility Management with Forge – Collabo... par Autodesk
Forge - DevCon 2016: Bringing BIM to Facility Management with Forge – Collabo...Forge - DevCon 2016: Bringing BIM to Facility Management with Forge – Collabo...
Forge - DevCon 2016: Bringing BIM to Facility Management with Forge – Collabo...
Autodesk 3.4K vues
Introduction to WebVR Autodesk Forge 2016 par Tony Parisi
Introduction to WebVR Autodesk Forge 2016Introduction to WebVR Autodesk Forge 2016
Introduction to WebVR Autodesk Forge 2016
Tony Parisi2.4K vues
Drones and their Increasing Number of Applications par Jeffrey Funk
Drones and their Increasing Number of ApplicationsDrones and their Increasing Number of Applications
Drones and their Increasing Number of Applications
Jeffrey Funk39K vues
Drone (Quadcopter) full project report by Er. ASHWANI DIXIT par Ashwani Dixit
Drone (Quadcopter) full project report by    Er. ASHWANI DIXITDrone (Quadcopter) full project report by    Er. ASHWANI DIXIT
Drone (Quadcopter) full project report by Er. ASHWANI DIXIT
Ashwani Dixit82.5K vues

Similaire à Forge - DevCon 2016: Building a Drone Imagery Service

Docker & ECS: Secure Nearline Execution par
Docker & ECS: Secure Nearline ExecutionDocker & ECS: Secure Nearline Execution
Docker & ECS: Secure Nearline ExecutionBrennan Saeta
444 vues90 diapositives
An Introduction to Celery par
An Introduction to CeleryAn Introduction to Celery
An Introduction to CeleryIdan Gazit
70.3K vues46 diapositives
Advanced android app development par
Advanced android app developmentAdvanced android app development
Advanced android app developmentRachmat Wahyu Pramono
220 vues70 diapositives
Node azure par
Node azureNode azure
Node azureEmanuele DelBono
1.6K vues66 diapositives
Batch Processing with Amazon EC2 Container Service par
Batch Processing with Amazon EC2 Container ServiceBatch Processing with Amazon EC2 Container Service
Batch Processing with Amazon EC2 Container ServiceAmazon Web Services
13.3K vues42 diapositives
Celery par
CeleryCelery
CeleryFatih Erikli
4.1K vues18 diapositives

Similaire à Forge - DevCon 2016: Building a Drone Imagery Service(20)

Docker & ECS: Secure Nearline Execution par Brennan Saeta
Docker & ECS: Secure Nearline ExecutionDocker & ECS: Secure Nearline Execution
Docker & ECS: Secure Nearline Execution
Brennan Saeta444 vues
An Introduction to Celery par Idan Gazit
An Introduction to CeleryAn Introduction to Celery
An Introduction to Celery
Idan Gazit70.3K vues
Batch Processing with Amazon EC2 Container Service par Amazon Web Services
Batch Processing with Amazon EC2 Container ServiceBatch Processing with Amazon EC2 Container Service
Batch Processing with Amazon EC2 Container Service
Amazon Web Services13.3K vues
Scala, ECS, Docker: Delayed Execution @Coursera par C4Media
Scala, ECS, Docker: Delayed Execution @CourseraScala, ECS, Docker: Delayed Execution @Coursera
Scala, ECS, Docker: Delayed Execution @Coursera
C4Media465 vues
Ansible benelux meetup - Amsterdam 27-5-2015 par Pavel Chunyayev
Ansible benelux meetup - Amsterdam 27-5-2015Ansible benelux meetup - Amsterdam 27-5-2015
Ansible benelux meetup - Amsterdam 27-5-2015
Pavel Chunyayev875 vues
[NDC 2019] Functions 2.0: Enterprise-Grade Serverless par KatyShimizu
[NDC 2019] Functions 2.0: Enterprise-Grade Serverless[NDC 2019] Functions 2.0: Enterprise-Grade Serverless
[NDC 2019] Functions 2.0: Enterprise-Grade Serverless
KatyShimizu845 vues
[NDC 2019] Enterprise-Grade Serverless par KatyShimizu
[NDC 2019] Enterprise-Grade Serverless[NDC 2019] Enterprise-Grade Serverless
[NDC 2019] Enterprise-Grade Serverless
KatyShimizu118 vues
Advanced iOS Build Mechanics, Sebastien Pouliot par Xamarin
Advanced iOS Build Mechanics, Sebastien PouliotAdvanced iOS Build Mechanics, Sebastien Pouliot
Advanced iOS Build Mechanics, Sebastien Pouliot
Xamarin1.9K vues
Performance measurement methodology — Maksym Pugach | Elixir Evening Club 3 par Elixir Club
Performance measurement methodology — Maksym Pugach | Elixir Evening Club 3Performance measurement methodology — Maksym Pugach | Elixir Evening Club 3
Performance measurement methodology — Maksym Pugach | Elixir Evening Club 3
Elixir Club489 vues
How and why we evolved a legacy Java web application to Scala... and we are s... par Katia Aresti
How and why we evolved a legacy Java web application to Scala... and we are s...How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...
Katia Aresti1.3K vues
Douglas Crockford: Serversideness par WebExpo
Douglas Crockford: ServersidenessDouglas Crockford: Serversideness
Douglas Crockford: Serversideness
WebExpo1.3K vues

Plus de Autodesk

Top 6 Reasons to work at Autodesk par
Top 6 Reasons to work at AutodeskTop 6 Reasons to work at Autodesk
Top 6 Reasons to work at AutodeskAutodesk
13.3K vues29 diapositives
Forge - DevCon 2017, Darmstadt Germany - Introduction and Roadmap par
Forge - DevCon 2017, Darmstadt Germany - Introduction and RoadmapForge - DevCon 2017, Darmstadt Germany - Introduction and Roadmap
Forge - DevCon 2017, Darmstadt Germany - Introduction and RoadmapAutodesk
1.7K vues46 diapositives
Forge - DevCon 2017, Darmstadt Germany: HFDM - What, why & how? par
Forge - DevCon 2017, Darmstadt Germany: HFDM - What, why & how?Forge - DevCon 2017, Darmstadt Germany: HFDM - What, why & how?
Forge - DevCon 2017, Darmstadt Germany: HFDM - What, why & how?Autodesk
1.3K vues110 diapositives
Forge - DevCon 2017, Darmstadt Germany: Forge AR-VR-MR experiments par
Forge - DevCon 2017, Darmstadt Germany: Forge AR-VR-MR experimentsForge - DevCon 2017, Darmstadt Germany: Forge AR-VR-MR experiments
Forge - DevCon 2017, Darmstadt Germany: Forge AR-VR-MR experimentsAutodesk
1.5K vues27 diapositives
Forge - DevCon 2017, Darmstadt Germany: Moving to Forge and the Cloud with yo... par
Forge - DevCon 2017, Darmstadt Germany: Moving to Forge and the Cloud with yo...Forge - DevCon 2017, Darmstadt Germany: Moving to Forge and the Cloud with yo...
Forge - DevCon 2017, Darmstadt Germany: Moving to Forge and the Cloud with yo...Autodesk
724 vues24 diapositives
Forge - DevCon 2017, Darmstadt Germany: Control & program a real robot by man... par
Forge - DevCon 2017, Darmstadt Germany: Control & program a real robot by man...Forge - DevCon 2017, Darmstadt Germany: Control & program a real robot by man...
Forge - DevCon 2017, Darmstadt Germany: Control & program a real robot by man...Autodesk
808 vues31 diapositives

Plus de Autodesk (17)

Top 6 Reasons to work at Autodesk par Autodesk
Top 6 Reasons to work at AutodeskTop 6 Reasons to work at Autodesk
Top 6 Reasons to work at Autodesk
Autodesk 13.3K vues
Forge - DevCon 2017, Darmstadt Germany - Introduction and Roadmap par Autodesk
Forge - DevCon 2017, Darmstadt Germany - Introduction and RoadmapForge - DevCon 2017, Darmstadt Germany - Introduction and Roadmap
Forge - DevCon 2017, Darmstadt Germany - Introduction and Roadmap
Autodesk 1.7K vues
Forge - DevCon 2017, Darmstadt Germany: HFDM - What, why & how? par Autodesk
Forge - DevCon 2017, Darmstadt Germany: HFDM - What, why & how?Forge - DevCon 2017, Darmstadt Germany: HFDM - What, why & how?
Forge - DevCon 2017, Darmstadt Germany: HFDM - What, why & how?
Autodesk 1.3K vues
Forge - DevCon 2017, Darmstadt Germany: Forge AR-VR-MR experiments par Autodesk
Forge - DevCon 2017, Darmstadt Germany: Forge AR-VR-MR experimentsForge - DevCon 2017, Darmstadt Germany: Forge AR-VR-MR experiments
Forge - DevCon 2017, Darmstadt Germany: Forge AR-VR-MR experiments
Autodesk 1.5K vues
Forge - DevCon 2017, Darmstadt Germany: Moving to Forge and the Cloud with yo... par Autodesk
Forge - DevCon 2017, Darmstadt Germany: Moving to Forge and the Cloud with yo...Forge - DevCon 2017, Darmstadt Germany: Moving to Forge and the Cloud with yo...
Forge - DevCon 2017, Darmstadt Germany: Moving to Forge and the Cloud with yo...
Autodesk 724 vues
Forge - DevCon 2017, Darmstadt Germany: Control & program a real robot by man... par Autodesk
Forge - DevCon 2017, Darmstadt Germany: Control & program a real robot by man...Forge - DevCon 2017, Darmstadt Germany: Control & program a real robot by man...
Forge - DevCon 2017, Darmstadt Germany: Control & program a real robot by man...
Autodesk 808 vues
Make your own Pokédex with the Pokéapi & Node/Express! par Autodesk
Make your own Pokédex with the Pokéapi & Node/Express! Make your own Pokédex with the Pokéapi & Node/Express!
Make your own Pokédex with the Pokéapi & Node/Express!
Autodesk 3.9K vues
Developing 3D Visualization Apps par Autodesk
Developing 3D Visualization AppsDeveloping 3D Visualization Apps
Developing 3D Visualization Apps
Autodesk 2.1K vues
Harnessing the Power of Customer Feedback par Autodesk
Harnessing the Power of Customer FeedbackHarnessing the Power of Customer Feedback
Harnessing the Power of Customer Feedback
Autodesk 675 vues
Forge - DevCon 2016: Hsbcad from Acad to Revit to Cloud par Autodesk
Forge - DevCon 2016: Hsbcad from Acad to Revit to Cloud Forge - DevCon 2016: Hsbcad from Acad to Revit to Cloud
Forge - DevCon 2016: Hsbcad from Acad to Revit to Cloud
Autodesk 3.8K vues
Forge - DevCon 2016: Drawings! Drawings! Everywhere! par Autodesk
Forge - DevCon 2016: Drawings! Drawings! Everywhere!Forge - DevCon 2016: Drawings! Drawings! Everywhere!
Forge - DevCon 2016: Drawings! Drawings! Everywhere!
Autodesk 1.4K vues
Forge - DevCon 2016: Dancing with Elephants, Leveraging Market Leaders to Gro... par Autodesk
Forge - DevCon 2016: Dancing with Elephants, Leveraging Market Leaders to Gro...Forge - DevCon 2016: Dancing with Elephants, Leveraging Market Leaders to Gro...
Forge - DevCon 2016: Dancing with Elephants, Leveraging Market Leaders to Gro...
Autodesk 766 vues
Forge - DevCon 2016: Collaborative VR using Google Cardboard & the View & Dat... par Autodesk
Forge - DevCon 2016: Collaborative VR using Google Cardboard & the View & Dat...Forge - DevCon 2016: Collaborative VR using Google Cardboard & the View & Dat...
Forge - DevCon 2016: Collaborative VR using Google Cardboard & the View & Dat...
Autodesk 1.2K vues
Forge - DevCon 2016: Creating your next VR Walkthrough with Cloud Rendered St... par Autodesk
Forge - DevCon 2016: Creating your next VR Walkthrough with Cloud Rendered St...Forge - DevCon 2016: Creating your next VR Walkthrough with Cloud Rendered St...
Forge - DevCon 2016: Creating your next VR Walkthrough with Cloud Rendered St...
Autodesk 1.8K vues
Forge - DevCon 2016: Developing & Deploying Secure, Scalable Applications on ... par Autodesk
Forge - DevCon 2016: Developing & Deploying Secure, Scalable Applications on ...Forge - DevCon 2016: Developing & Deploying Secure, Scalable Applications on ...
Forge - DevCon 2016: Developing & Deploying Secure, Scalable Applications on ...
Autodesk 825 vues
Forge - DevCon 2016: Extend BIM 360 Docs with the Issues Service API par Autodesk
Forge - DevCon 2016: Extend BIM 360 Docs with the Issues Service APIForge - DevCon 2016: Extend BIM 360 Docs with the Issues Service API
Forge - DevCon 2016: Extend BIM 360 Docs with the Issues Service API
Autodesk 967 vues
Forge - DevCon 2016: The Future of Making Buildings Forms Follow Formulae par Autodesk
Forge - DevCon 2016: The Future of Making Buildings Forms Follow FormulaeForge - DevCon 2016: The Future of Making Buildings Forms Follow Formulae
Forge - DevCon 2016: The Future of Making Buildings Forms Follow Formulae
Autodesk 598 vues

Dernier

handbook for web 3 adoption.pdf par
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdfLiveplex
22 vues16 diapositives
Evolving the Network Automation Journey from Python to Platforms par
Evolving the Network Automation Journey from Python to PlatformsEvolving the Network Automation Journey from Python to Platforms
Evolving the Network Automation Journey from Python to PlatformsNetwork Automation Forum
13 vues21 diapositives
virtual reality.pptx par
virtual reality.pptxvirtual reality.pptx
virtual reality.pptxG036GaikwadSnehal
11 vues15 diapositives
Five Things You SHOULD Know About Postman par
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About PostmanPostman
33 vues43 diapositives
Melek BEN MAHMOUD.pdf par
Melek BEN MAHMOUD.pdfMelek BEN MAHMOUD.pdf
Melek BEN MAHMOUD.pdfMelekBenMahmoud
14 vues1 diapositive
Serverless computing with Google Cloud (2023-24) par
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)wesley chun
11 vues33 diapositives

Dernier(20)

handbook for web 3 adoption.pdf par Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 vues
Five Things You SHOULD Know About Postman par Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman33 vues
Serverless computing with Google Cloud (2023-24) par wesley chun
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)
wesley chun11 vues
Voice Logger - Telephony Integration Solution at Aegis par Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma39 vues
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... par Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Business Analyst Series 2023 - Week 3 Session 5 par DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10248 vues
Transcript: The Details of Description Techniques tips and tangents on altern... par BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada136 vues
Data Integrity for Banking and Financial Services par Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely21 vues
Empathic Computing: Delivering the Potential of the Metaverse par Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
PharoJS - Zürich Smalltalk Group Meetup November 2023 par Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi127 vues
Case Study Copenhagen Energy and Business Central.pdf par Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana16 vues

Forge - DevCon 2016: Building a Drone Imagery Service

  • 1. Jia Huang Software Engineer @ 3DRobotics Building a Drone Imagery Service
  • 3. see the world from above
  • 6. Scan Results 5 minute flights 84 Photos 90 minute processing time
  • 8. Site Scan Video • https://www.youtube.com/watch? v=6BTC1Zjo8Ic
  • 10. Site Scan workflow • geotagging • user controls • prepare job • user validation • saves results • render mesh • take photos
  • 11. Challenges for the 3DR Cloud • each image is ~10MB • up to 250 images per job • soon <= 2000 images across multiple flights in one job • Mesh / ortho / point cloud results are ~100MB to ~200MB
  • 13. 3DR Cloud API ▪ All written in Scala with the Akka libraries ▪ Why Akka? ▪ Lightweight ▪ Flexible ▪ Everything is a stream ▪ Why Couchbase? ▪ Blob data ▪ Add more boxes as needed ▪ NoSQL with SQL interface (n1ql)
  • 14. User Service ▪ User Service keeps track of ▪ users ▪ groups ▪ permissioning ▪ Why Postgres? ▪ highly relational data ▪ use the right db for the job
  • 15. Recap Service ▪ Actors encapsulate state and behavior ▪ Communicate exclusively through messages ▪ Uses Akka’s Actor system ▪ Supervisor & children ▪ Each child Recap actor keeps its own state ▪ Supervisor gets passed errors
  • 16. Creating a Photoscene with Autodesk Recap
  • 17. Actor Supervisor Pattern ▪ Children can crash without damaging the system ▪ Supervisors handle errors import akka.actor.OneForOneStrategy
 import akka.actor.SupervisorStrategy._
 import scala.concurrent.duration._
 
 override val supervisorStrategy =
 OneForOneStrategy(maxNrOfRetries = 10,
 withinTimeRange = 1 minute) {
 case _: ArithmeticException => Resume 
 case _: NullPointerException => Restart
 case _: IllegalArgumentException => Stop
 case _: Exception => Escalate
 }
  • 18. Actor Scheduling Pattern ▪ Actors can schedule themselves for future actions class RecapActor(…) extends Actor with …{
 
 implicit val system = context.system
 private var scheduledTask: Option[Cancellable] = None def receive = { case PollScene(…) => scheduledTask = scheduledTask match {
 case None => Some( context.system.scheduler.schedule(10 minutes, 10 minutes, self, PollScene(…) ))
 case Some(cancellable) => scheduledTask
 } }
 }
  • 19. Interfacing with Autodesk Recap ▪ Handles authentication, sending & receiving to Recap ▪ Returns a Scala PhotoSceneEntity ▪ Formats, photolist, photoscene status, processing time, and any errors ▪ Reuploads photos during error states ▪ Built on top of Akka-requests-lib ▪ https://github.com/3drobotics/cloud-akka-request
  • 20. • Depends on the integration type • State machine? Akka Finite State Machine Mixin • Relational? Another Postgres backed service • Blob data? • Keep things decoupled Architecting future integrations