Mobile-SDK-Android
Mobile-SDK-Android copied to clipboard
[Feature Request] Making SITL simulation available for improved testing and quality of life
Is it a possibility that developers could get a (SITL) software in the loop binary or container to use for initial development purposes?
Similar to other flight controller simulation strategies: http://ardupilot.org/dev/docs/sitl-simulator-software-in-the-loop.html#sitl-simulator-software-in-the-loop
It would be much friendly for testing if a developer can spin up a docker container and provide a port address to the SDK (similar to the Bridge app strategy, but without additional physical devices)
That would open the possibility for developers to test against device they may not be able to physically obtain - which is already pretty challenge since purchasing every device can be 1) cost prohibitive 2) hard due to launch availability.
It would allow us SDK developers to put more of their application under test by having a companion container that can be deployed in a CI instance.
Understandably there would be limited functional behavior due to empty sensor streams, but maybe a very small instrumentation API would allow testing of harder to produce situations such as connectivity issues and pushing product change events.
I'd imagine this would also have a large benefit for your team as well - having more high level ways to do regression testing against the SDK.
Also, playback speed would be huge - "testing" by watching the hardware simulator is an incredibly boring process.
I second that. Would love some kind of testing without actual hardware connection
Hi @jtuchek , @Nitaym , currently, we don't provide such SITL simulation for SDK development.
I third this! I have done a lot of development using the 3DR autopilots and they have quite a good SITL system. SITL is much easier to integrate into automated test frameworks. Also means you can test drone models that you don't physically own.
@JamesMastermanDev same - having a SITL simulator is a huge quality of life improvement while working with other MAVLink based flight controllers, and having HITL is an option too but by that time we have a team physically testing anyways.
Thanks for the response @oliverou - I know it's not currently provided in the SDK, although it is a really valuable tool.
Not asking for any type of commitment, but something like this roadmapped or would it become a priority if enough developers requested it?
(fully aware that this can be a fairly large undertaking if it's not already being done internally for engineers working at DJI - but I'd hope a system like this already exist internally)
+1 for SITL - others have already delineated the various advantages to using SITL.
+1
+1 SITL would be extremely useful for development.
+1
+1
+1 Great idea, exactly what we could use in our development worflow.
pls check out this: https://www.dji.com/cn/simulator it's a different thing, but I think it may serve some of your purpose
any improvement to have SITL for DJI SDK?
+1
+1, but I don't think it is happening because a SITL simulation could be in competition with the DJ Flight Simulator that DJI is selling. A bit sad because it doesn't makes sense to provide a industrial-grade drone with OSDK capabilites without the possibility for the customer company to run system testing easily.