User Tools

Site Tools


workgroup:dronecodesdk:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
workgroup:dronecodesdk:start [2017/07/24 15:09]
Anitha Suresh
workgroup:dronecodesdk:start [2017/12/19 15:34]
Anitha Suresh
Line 12: Line 12:
  
  
-====Monthly WG Meetings====+=====Monthly WG Meetings ​Schedule=====
  
 Bi-weekly meeting: Tuesday 8 AM PST. Bi-weekly meeting: Tuesday 8 AM PST.
Line 21: Line 21:
  
  
-==== Comparative Analysis of existing SDKs ====+===== Comparative Analysis of existing SDKs =====
  
 __Note:__ Essentially Mobile SDK is same as onBoard SDK with an additional wrapper layer and remote connection support __Note:__ Essentially Mobile SDK is same as onBoard SDK with an additional wrapper layer and remote connection support
Line 54: Line 54:
 |             | Cloud API Support ​                                          | No   | No      | No      | No        | No            | |             | Cloud API Support ​                                          | No   | No      | No      | No        | No            |
  
-**SDK WG Meeting Minutes - July 18th**+** SDK WG Bi-Weekly ​Meeting Minutes ​** 
 +  * [[https://​docs.google.com/​document/​d/​1mB5oppWv0FhtbP1K-nmdEI_ppzdnrPPujSw0w2xv3dI/​edit|21 Nov, 2017]] 
 +  ​[[https://​docs.google.com/​document/​d/​1oyI8lIHmhKF7c5HzAbOsvbpJctG7FvaO_5yZ-1aefxQ/​edit|07 Nov, 2017]] 
 +  ​[[https://​docs.google.com/​document/​d/​1qmmbpal6k8QYL2jGSRdpB1owIw9LU56EREuezfQbzN4/​edit|24 Oct, 2017]] 
 +  * [[https://​docs.google.com/​document/​d/​1U9x3kXiVatU1mROoVJy9SqbaMYGc1Wac4KmfRRlfixw/​edit#​heading=h.qj4hb1qx76h8|10 Oct, 2017]] 
 +  * [[https://​docs.google.com/​document/​d/​1bLb713cIZmntQ7euiAizAwnqGYcb5x0yP6_vpYx6rIM/​edit|29 Aug, 2017]] 
 +  * [[https://​docs.google.com/​document/​d/​1DfUB-QJuXzB__5Uf5KwamKMyf_SYuZdWp53ldMTcZCA|18 Jul, 2017]]
  
-  * Considering the current options available for SDK, we have two options for dronecode SDK – AirLib, DroneLink 
-  * Licenses: AirLib – MIT; DroneLink – BSD 3 
-  * Presented the comparison for both AirLib and Dronelink from app developer’s perspective (included sample as well) – This included architectural discussion too 
-  * Unordered List ItemLorenz suggested for more use-case level discussion 
-o   ​Lorenz - to share the User stories (PX4 user's feedback) 
-o   ​Anitha – has requested UX team to share the user's feedback on SDK expectations perspective,​ which would be shared by July 26th 
-  * Unordered List ItemDroneserver - > Lorenz mentioned AirLib had some assumption to go with this architecture,​ which needs more discussion. Need to get some details about his view on this case. 
-  * Unordered List ItemDiscussed purpose of RPC in Airlib. As per Microsoft developer it is required to make application code independent of vehicle (Simulator or actual vehicle with any flight controller). 
-  * Above purpose can be achieved even without RPC by having abstract base class in SDK. 
-Lorenz mentioned about DJI SDK, Currently DJI is leading market. So try to recreate the same user experience that DJI is providing - all SDK variants (mobile, onboard). ​ 
--> DJI SDK has been considered as one our reference SDKs during comparative analysis. 
-  ​ 
-**Next steps:** 
-  
-  * Explore towards usage of Cloud SDK 
-  *  Current gaps in supporting Cloud APIs/​requirements in the SDKs we are considering 
-  *  Planning to run apps  on the real platforms, as we have only run on simulators for now 
  
-SDK WG - June 20th+**SDK WG - June 20th**
  
 -> Comparative analysis of existing SDKs (listed above) was discussed in brief -> Comparative analysis of existing SDKs (listed above) was discussed in brief
Line 92: Line 81:
   * Mavlink library is ported to CPP. With this object oriented approach - makes easy to have pack/unpack function for each MAVlink message   * Mavlink library is ported to CPP. With this object oriented approach - makes easy to have pack/unpack function for each MAVlink message
   * Allows apps to configure drone connection parameters; so apps can choose which drone it wanna talk to.   * Allows apps to configure drone connection parameters; so apps can choose which drone it wanna talk to.
-  * msr::​airlib::​takeoff(float limit) takes altitude param; so every takeoff can be tuned. 
  
 -> DroneLink - > CPP Library provided by PX4 (Julian) -> DroneLink - > CPP Library provided by PX4 (Julian)
Line 103: Line 91:
   * Auto detects the tool chain on the current platform   * Auto detects the tool chain on the current platform
   * Uses discovery model so that apps binds to a well-known port used by MAVROS (14540).(Author mentioned this as part of code that either this SDK or mavros can be used)   * Uses discovery model so that apps binds to a well-known port used by MAVROS (14540).(Author mentioned this as part of code that either this SDK or mavros can be used)
-  * DroneLink::​Action::​takeoff() doesn'​t take altitude as parameter, rather it uses altitude set by default. 
   ​   ​
  
Line 111: Line 98:
  
  
-Plan/Next Steps:+**Plan/Next Steps:**
  
   * Offline discussion with other relevant stakeholders who could not attend the call (on Slack maybe) and capture the inputs/​suggestions and update on WG Wiki   * Offline discussion with other relevant stakeholders who could not attend the call (on Slack maybe) and capture the inputs/​suggestions and update on WG Wiki
Line 143: Line 130:
 | Features ​                    | More Navigation APIs                                                                                                                                                          | Comparatively less                                       | Good                                                                                    | | Features ​                    | More Navigation APIs                                                                                                                                                          | Comparatively less                                       | Good                                                                                    |
 | Mission management ​          | No                                                                                                                                                                            | Yes                                                      | Yes                                                                                     | | Mission management ​          | No                                                                                                                                                                            | Yes                                                      | Yes                                                                                     |
- 
-**__Current Status:__** 
  
 === Building AirLib SDK for Android === === Building AirLib SDK for Android ===
Line 152: Line 137:
   - Posted [[https://​github.com/​Microsoft/​AirSim/​issues/​308|queries]] in GitHub::​Airsim on SDK architecture which happens to be in their TODO list.   - Posted [[https://​github.com/​Microsoft/​AirSim/​issues/​308|queries]] in GitHub::​Airsim on SDK architecture which happens to be in their TODO list.
   - Shared **HelloDrone** example source for both AirLib and DroneLink sdks in Slack #sdk group. Examples are tested on jMAVsim.   - Shared **HelloDrone** example source for both AirLib and DroneLink sdks in Slack #sdk group. Examples are tested on jMAVsim.
 +
 +===== Current Status: =====
 +
 +  * DroneLink is chosen as Dronecode SDK and is renamed as **DroneCore** with the necessary architectural changes to suit the purpose.
 +  * Brainstorming the Intuitive, On-demand and compelling applications for the user - Ongoing and WIP
 +
 +===== App features Categories =====
 +
 +  * Geo-fencing
 +  * Flight control
 +  * Mission planning
 +  * Networking
 +  * Photography / Video
 +  * VR/AR
 +  * Object Tracking
 +  * 2D/3D Mapping, etc.
 +  * Intuitive User interface ​
 +==== Drone application features (spread across above categories) available in iOS/​Android:​ ====
 +
 +  - Providing detailed wind and weather information to help user decide if it’s safe to fly. 
 +  - Feed the app with parameters of your drone and indicate whether or not today is the day to fly. App should make sure whether the weather favours flying. ​
 +  - Hourly forecast on a range of piloting info is provided, including wind speed and direction, wind chill and temperature,​ cloud cover, visibility and more are available for a week.
 +  - Provides mapping with visible no-fly zones. ​
 +  - Provides news feed from various drone websites.
 +  - Lets user notify nearby airports that he is flying a drone.
 +  - Should alert user on any unmanned aircraft flying nearby.
 +  - Lets user plan the flight and do the survey autonomously.
 +  - Lets user capture images at a specific time say sunrise or sunset or with different shades of light.
 +  - User can view augmented reality projections of the sun and moon paths, pinpoint the time the sun or moon will be at a particular location in the sky, predict and plan for the golden hour, blue hour and every sunrise, sunset, moonrise and moonset and prepare night photography shots.
 +  - Users get to know the drone Pilots nearby and socialize during fly.
 +  - Should help user find who is flying in neighbourhood by letting them know of any user-submitted (other user) flying spots nearby, and the profiles of the people who fly there.
 +  - Allows user to post a their profile and share any inspiring photos of popular spots with other fliers.
 +  - Enable user to keep the frame fixed on a tracking object.
 +  - Should keep an eye on local air traffic, warn user if any manned aircraft are flying nearby.
 +  - Should allow user to blur object out of the point of interest area thereby promoting the object in focus.
 +  - Should offer intuitive and powerful waypoint mission engine with seamless mission syncing across all personal devices of the user.
 +  - Provide features like VR, panorama, Orbit, Follow Me modes.
 +  - Provide fancy modes to user like mimic, intercept, etc. In mimic mode, when you tilt your device in any direction, the aircraft will mimic the tilting motion of the device to the directed pitch and roll. In Intercept mode, when you Point your device in any direction as if it were a laser pointer, the aircraft will intersect the imaginary laser created by your device.
 +  - Provide you with real-time information about thousands of aircraft around the world to avoid close encounters. It lets user know before falling close to a manned/ unmanned aircraft.
 +  - Provides advanced flight planning and autonomous control for your drone. Select a path of coordinates and watch your drone fly the route, have the app control camera exposure on the go.
 +  - Capture enough data while the drone is flying, which is useful if user has a technical problem and want to know where the problem lies.
 +  - Controlling the direction that the camera is pointing and controlling when video is recorded.
 +  - Provide option to save pre-planned flights and reload them at any time, which is useful if user wants to take seasonal or construction videos.
 +  - Provide 2D/3D mapping feature that automatically creates a flight path for your drone; then uploads the video and flight data to remote servers. User can then use these servers or your desktop PC to crunch through this data, turning the images and location of the drone into a 3D model of whatever user were flying over.
 +  - Allow a second user to view the wireless video from the camera that's attached to the drone. The second user should also be able to control the camera, panning and tilting it around as the pilot controls the drone itself. In effect, that person should be able to work as the camera operator while the pilot keeps the drone flying.
 +  - Reproducing the feel and experience of flying a drone. Should provide multiple viewpoints including the ground — plus a normal camera on the drone and a stabilized gimbal.
 +
 +
 +
 +
workgroup/dronecodesdk/start.txt · Last modified: 2017/12/19 15:34 by Anitha Suresh