Timeline Mission Basic Concepts
3262 11 2020-5-29
Uploading and Loding Picture ...(0/1)
o(^-^)o
DJI_Lisa
lvl.4
United States
Offline

When looking at Mission Classes in DJI’s documentation, it can be challenging at first to see how all these classes fit together and interrelate - see the below snapshot of the index page from our docs:
So here’s a simple breakdown of the above list:

Mother Ship:

  • Mission Control - in charge of running operations for all the missions.  No matter what mission is run, Mission Control will be involved

Types of Missions:

  • Timeline*
  • Waypoint
  • Waypoint 2.0
  • Follow Me
  • Panorama
  • Hotpoint
  • Tapfly
  • ActiveTrack

*Timeline mission is different from the others - see below for more details on why
*For details on the other Mission types see DJI's Mission Guide here: https://developer.dji.com/mobile-sdk/documentation/introduction/component-guide-missions.html

Timeline Mission owns:

  • Mission Action*
  • Trigger

*Timeline MissionAction should not be confused with Waypoint WaypointAction - they are independent of each other

More about Timelines:


Understanding Timeline Missions can be confusing at first, but it’s actually quite simple - it’s a container that can hold together other types of mission elements. Each element can be something vastly different, like an entire Waypoint/Hotpoint/etc mission or just a simple “Trigger” to initiate a small task.

Here are a few reasons why someone would want to use a timeline:

  • Work-a-round a drone’s firmware 99 waypoint limitation by stringing together multiple waypoint missions. For example - 384 waypoints would need 4 individual waypoint missions serially added to the Timeline Mission.

  • Add triggers to execute a task (aka-MissionAction) that another mission’s actions do not allow and that run parallel with the other mission’s duties.  These triggers listen to events (e.g. - battery running low, waypoint reached, etc..) and initiate the designated task (e.g. - gimbal yaw or send sms).  

  • Pause a Hotpoint Mission to drop below the mission's height limitation


An important thing to note: Waypoint Missions are uploaded directly to a drone but Timeline Missions are not.  Timeline Missions run from the mobile device connected to the RC of the drone.  This is why there is no SDK limit on the amount of elements a timeline mission can run, but of course, a phone’s memory capacity may need to be considered. The trade-off is, there can be issues with dropped or misfired timeline triggers if the drone intermittently drops connection with the RC due to distance or interference

Please ask more questions about Timeline Missions in this thread - beginner questions are very welcome, since they will likely help a lot of other developers

-Lisa, DJI Developer Support





2020-5-29
Use props
djiuser_OR8EW5uz3gSA
lvl.4

Canada
Offline

Another reason I've come across of when to use a timeline mission is when using an older drone like the Inspire 1 or Phantom 3 since they don't support the shootPhotoInterval or shootTimeInterval properties of the DJIWaypoint class due to older flight controller firmware. These properties allow capturing photos between waypoints.

I wanted to create a mapping waypoint mission for the mentioned drones, however with a waypoint mission, I would have to create a waypoint for every single photo I wanted to take. Which is problematic given the 99 waypoint limit. Instead I used a Timeline mission to run a DJIShootPhotoAction - initWithPhotoCount:timeInterval:waitUntilFinish - with wait set to NO and then scheduled a DJIGoToAction which results in the drone flying to a coordinate while taking photos at a time interval.
2020-5-29
Use props
DJI_Lisa
lvl.4
Hong Kong
Offline

djiuser_OR8EW5uz3gSA Posted at 5-29 14:57
Another reason I've come across of when to use a timeline mission is when using an older drone like the Inspire 1 or Phantom 3 since they don't support the shootPhotoInterval or shootTimeInterval properties of the DJIWaypoint class due to older flight controller firmware. These properties allow capturing photos between waypoints.

I wanted to create a mapping waypoint mission for the mentioned drones, however with a waypoint mission, I would have to create a waypoint for every single photo I wanted to take. Which is problematic given the 99 waypoint limit. Instead I used a Timeline mission to run a DJIShootPhotoAction - initWithPhotoCount:timeInterval:waitUntilFinish - with wait set to NO and then scheduled a DJIGoToAction which results in the drone flying to a coordinate while taking photos at a time interval.

Creative solution!
2020-5-29
Use props
djiuser_OR8EW5uz3gSA
lvl.4

Canada
Offline

Just wondering for DJIShootPhotoAction initWithPhotoCount:int count timeInterval: double interval waitUntilFinish:BOOL wait;

Is there a maximum number count can be set to?
2020-6-3
Use props
DJI_Lisa
lvl.4
China
Offline

djiuser_OR8EW5uz3gSA Posted at 6-3 17:36
Just wondering for DJIShootPhotoAction initWithPhotoCount:int count timeInterval: double interval waitUntilFinish:BOOL wait;

Is there a maximum number count can be set to?

I need to double check this but I believe it's really high:
2020-6-4
Use props
djiuser_OR8EW5uz3gSA
lvl.4

Canada
Offline

Thanks Lisa!

I've also found that while Timeline Missions are awesome for flexibility and quite convenient to code, there seems to be quite a delay between the various scheduled actions in a mission.

For example in one mission I have 4 DJIGoToActions scheduled with different coordinates with no other actions scheduled. When the drone reaches the coordinate passed to the DJIGoToAction it hovers in place for about 5 seconds before starting the next DJIGoToAction. I can see in the timeline listener callback function while the drone has reached the intended coordinate its DJIMissionControlTimelineEvent is set as DJIMissionControlTimelineEventProgressed for a few seconds before it hits DJIMissionControlTimelineEventFinished and moves on to the next scheduled timeline element.

Not a big deal for small missions but if the mission is quite large the cumulative delay starts to be an issue. Is this something that is resolvable or just the nature of a timeline mission to have delays between each action?
2020-6-11
Use props
DJI_Lisa
lvl.4
Hong Kong
Offline

djiuser_OR8EW5uz3gSA Posted at 6-11 13:04
Thanks Lisa!

I've also found that while Timeline Missions are awesome for flexibility and quite convenient to code, there seems to be quite a delay between the various scheduled actions in a mission.

Do you notice this more with one type of drone more than others?  It may depend on the type of airlink of the hardware and any local interference.  But yes, in general delays are to be expected with Timelines because the commands live in the mobile device - I believe this, amongst many other reasons, is why the SDK engineers have introduced Waypoint 2.0
2020-6-11
Use props
djiuser_OR8EW5uz3gSA
lvl.4

Canada
Offline

DJI_Lisa Posted at 6-11 15:13
Do you notice this more with one type of drone more than others?  It may depend on the type of airlink of the hardware and any local interference.  But yes, in general delays are to be expected with Timelines because the commands live in the mobile device - I believe this, amongst many other reasons, is why the SDK engineers have introduced Waypoint 2.0

It seems to be similar for each drone. I've tried a Mavic Pro, Mavic 2 Pro, P4 Pro and P3 Pro.

Ah that makes a lot of sense RE: commands living on the mobile device and hardware.

I'm eager to try Waypoint v2. Is there a list of drones that are compatible with Waypoint 2.0?
2020-6-12
Use props
DJI_Lisa
lvl.4
Hong Kong
Offline

djiuser_OR8EW5uz3gSA Posted at 6-12 16:24
It seems to be similar for each drone. I've tried a Mavic Pro, Mavic 2 Pro, P4 Pro and P3 Pro.

Ah that makes a lot of sense RE: commands living on the mobile device and hardware.

Currently it's only available on the new M300s but there are plans to extend support in future drones
2020-6-19
Use props
fans888bab41
lvl.2

Israel
Offline

The main reasons why we replaced WaypointMission with Timeline:
1. WaypointMission must have at least 2 waypoints
2. There must be at least 2 meters distance between each waypoint

The Timeline is much more straightforward to implement but currently have 2 limitations:
1. The delay reported about of al least 5 second as a preparation to GoToAction. We encounter it with the Mavic 2 Enterprise.
2. Not clear if there is an option to extend the MissionAction and to create custom timeline actions like for example communicate with the server
2021-2-12
Use props
djiuser_jwEED1H9tUqt
lvl.2
United Kingdom
Offline

Hi Lisa, your breakdown ends at timeline missions do could you give a breakdown of a waypoint mission?
2021-3-15
Use props
Apiyo
lvl.2
Flight distance : 266 ft
Kenya
Offline

djiuser_OR8EW5uz3gSA Posted at 2020-5-29 14:57
Another reason I've come across of when to use a timeline mission is when using an older drone like the Inspire 1 or Phantom 3 since they don't support the shootPhotoInterval or shootTimeInterval properties of the DJIWaypoint class due to older flight controller firmware. These properties allow capturing photos between waypoints.

I wanted to create a mapping waypoint mission for the mentioned drones, however with a waypoint mission, I would have to create a waypoint for every single photo I wanted to take. Which is problematic given the 99 waypoint limit. Instead I used a Timeline mission to run a DJIShootPhotoAction - initWithPhotoCount:timeInterval:waitUntilFinish - with wait set to NO and then scheduled a DJIGoToAction which results in the drone flying to a coordinate while taking photos at a time interval.

How do I use this to capture images during execution of the hotpoint mission
2021-8-2
Use props
Advanced
You need to log in before you can reply Login | Register now

Credit Rules