Mobile-SDK-Android icon indicating copy to clipboard operation
Mobile-SDK-Android copied to clipboard

[Feature Request] Making SITL simulation available for improved testing and quality of life

Open justintuchek opened this issue 7 years ago • 15 comments

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.

justintuchek avatar Jun 30 '17 14:06 justintuchek

I second that. Would love some kind of testing without actual hardware connection

Nitaym avatar Jul 01 '17 09:07 Nitaym

Hi @jtuchek , @Nitaym , currently, we don't provide such SITL simulation for SDK development.

oliverou avatar Jul 03 '17 03:07 oliverou

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 avatar Jul 03 '17 06:07 JamesMastermanDev

@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.

justintuchek avatar Jul 03 '17 16:07 justintuchek

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)

justintuchek avatar Jul 03 '17 17:07 justintuchek

+1 for SITL - others have already delineated the various advantages to using SITL.

Djacob502 avatar Jul 06 '17 16:07 Djacob502

+1

louie2107 avatar Jul 06 '17 19:07 louie2107

+1 SITL would be extremely useful for development.

andrwp avatar Jul 06 '17 19:07 andrwp

+1

khanhvu161188 avatar Jul 07 '17 01:07 khanhvu161188

+1

EvanHammond avatar Jul 07 '17 16:07 EvanHammond

+1 Great idea, exactly what we could use in our development worflow.

zorandragan avatar Nov 03 '17 15:11 zorandragan

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

Michael-DJI avatar Dec 13 '18 04:12 Michael-DJI

any improvement to have SITL for DJI SDK?

davideCremona avatar Jan 20 '20 16:01 davideCremona

+1

IeiuniumLux avatar Mar 10 '20 06:03 IeiuniumLux

+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.

RBinsonB avatar May 18 '22 07:05 RBinsonB