Can I test my DJI SDK for Windows 10 application with a DJI Drone simulator without the risk of running a real DJI Drone? - dji-sdk

Can I test my DJI SDK for Windows 10 application with a DJI Drone simulator without the risk of running a real DJI Drone?
I am asking since it is cumbersome to have developers run a real drone in their office to test what they are building.

There are 2 ways to test applications but both require a physical drone.
1) Download and install the PC Simulator; this is a game-engine that connects the PC (USB) to a drone and displays the flight operations. It is available online under the developer downloads.
2) Using the API, you can enable simulator. This method is not as good because you cannot see in real-time what the aircraft is doing unless you receive and display flight details within your app.
Both act the same to the PC simulator can be easier to evaluate and observe the flight operation.

You can set your drone in a simulator mode using the APIs.
This will make your drone respond as if it was flying, but the motors won't turn on.
After that, you can use the DJI Assistant to visualize the aircraft moving in a simulated 3D environment.

Related

OSDK4.x: Can you use DJI Assistant 2 for Matrice with payload actions?

Is it possible with OSDK4.x to command payload and flight actions and use the DJI Assistant 2 for Matrice concurrently?
Previously, we have been using the M210V1 with OSDK3.9. Using the DJI Assistant 2 for Matrice to simulate the drone flight is key to our ability to develop our system.
However, the M210V2 and OSDK4.x require the USB port of the drone to be connected to the Linux device running the OSDK, otherwise any payload (GimbalManager, CameraManager) actions throw an error - such as GimbalManager::resetSync.
This is not ideal for development since we cannot use the simulator (on MacOS) and connect the USB to the Linux device (there is only one USB port on the drone). Has anyone solved this problem?
Yes and no.
For 210, There is only one USB2 port and it is either for connecting to PC side assitant2 or connecting to onboard PC to get osdk stream. You can think it as a bug in design phases.
Yes, you can run part of osdk and run the simulator without the payload camera-related function. If I recall correctly, I can still "rostopic echo" the Gimbal orientation topic from the drone. Its only image topic that is disabled. You can simulate the GPS based flight in simulator and try to set gimbal direction. I remember this was achievable.
There is no way for you to run both simulators and get payload functions such as images from OSDK. so to get both image running and drone running in simulator that's not achievable.
If you really wants both at same time. I suggest you move to M300 which they have dual USB C interface for both camera stream and for simulation.

Sleep mode or low power mode equivalent via DJI SDK?

I've combed through the SDK and haven't found anything promising. I'd like to keep a Mavic Air on a "standby" mode, if at all possible. I see that I can power off the motors, but I'm not sure how significantly that will drop the current consumption. Has anyone tried to sleep a DJI programatically with the SDK?
As far as I know, the drones from DJI do not have a "standby" mode.
I'm working with a Mavic Pro and after some tedious research on the internet I've come to the conclusion that the only way to keep a DJI drone powered an arbitrary amount of time is to use an autonomous charging platform.
From my experience with Mavic Pro, the battery of the drone lasts ~1.5-2h when not flying and the motors are kept off. The remote Controller discharged faster while being kept on (~1.5h).
The Mavic Pro Remote Controller has two USB outputs, which enables connecting to the smartphone and charging simultaneously.
A related question can be found here:
Programming a complete autonomous dji drone? take off - follow a flight path - land

DJI Mobile SDK and DJI Simulator

Is it possible with the Mobile SDK to write an application that receives way points from a web service and then starts the drone and monitors its operation?
The use case is as follows:
- Start drone
- Fly to a height of 2m
- Take picture/video and send/stream picture/video to the app
- Land again
Is it possible to simulate my code in the DJI Simulator and then when I know everything works use a Spark or Mavic for a real-life demonstration?
Yes absolutely, although it's not necessarily MobileSDK specific and here's a example:
1/ You create a desktop (native or web) app that does the mission planning. This app can save the mission in a known format - My advice is to create a framework/library to manage this format -
2/ A mobile app built on top of the MobileSDK reads the mission in the format - using the said framework that manages this format.
3/ The mobile app translates the mission requirements into missions system available on MobileSDK either through WaypointMissions, MissionControl or even VirtualStick commands.
As for simulation, once the drone is in simulator mode, the execution will work and show how it executes.
If you want to take things further, you can even stream back from the mobile app data to your destkop app to superpose actual path against planned path.
I can't drop a code source for this as it's extensive, but hopefully this helps.

How to acquire DJI Onboard SDK control permission without remote control (or turned off remote control)

I'm planning to make automatic landing and battery charging system based on DJI M100 and Onboard SDK. It should work for long period (months) autonomously.
The problem is I can't get Onboard SDK control permission without remote controller turned on and mode is switched to "F".
Is it possible to set up DJI M100 drone to get control from Onboard SDK after power on without remote controller connected?
I tested with N3 with firmware before July 2017. It does allow you to arm or disarms the drone directly through the OSDK (3.2 if i remember correctly). Whether it is a public firmware or DJI supplier only firmware, that I dont know. I didn`t touch on the hardware and gain. Just Implementing software navigation module
I accidentally run the software b4 turning on the lightbridge2. The result is I almost killed myself.

Does DJI mavic-pro supports Follow me on wifi mode

I am developing an Android app for Mavic-pro drone in which I need to use the follow me APIs. But in DJI Go app when we connected to the drone by wifi it doesn't shows the follow me feature. Can somebody please confirm whether the drone supports Follow me on wifi mode?
Nope, DJI Mavic Pro doesn't support Follow Me Mission on WiFi mode. You can check the SDK API Doc of DJIFollowMeMission on DJI Developer Website: http://developer.dji.com/api-reference/ios-api/Components/Missions/DJIFollowMeMission.html#djifollowmemission
Description:
The class represents a Follow Me mission. In a Follow Me mission, the aircraft is programmed to track and maintain a constant distant relative to some object, such as a person or a moving vehicle. You can use it to make the aircraft follow a GPS device, such as a remote controller with a GPS signal or a mobile device. It is not supported by Mavic Pro when using WiFi connection. It is not supported by Spark.

Resources