Airsim: How can I add other Vehicle types and features to Airsim?

Created on 1 Apr 2019  路  3Comments  路  Source: microsoft/AirSim

First of all is it possible to add other vehicle types other than cars and drones (for example boats or submarines,...) by modifying the source code? I am assuming yes since I don't see why not. :)

I have tried reading the documentation and had a look at the source code but It is more time consuming than I expected because I couldn't find related documentation or pointers.

Current documentation is mainly focused on using the Library. For the architecture part I also read the whitepaper. From what I understand from the documentation I will have to:

  • Add a new Vehicle Model in Airsim
  • Add new Sensor models if not supported
  • Perhaps add a new type of controller
  • Adjust Physics engine if some fundamental function is not supported (not sure if needed).
  • Add wrappers to the necessary environments (Unreal or Unity)

I'd appreciate if I am wrong in any of those. Apart from those:

  • How is the flow diagram for an example simulation What calls what and what kind of information is communicated?
  • Where can I find the details on what I should Implement an what those are (I presume it should be similar to what we have in vehicles/car/api in airlib
  • Where Exactly is the mappings from controls to the applied forces mentioned in the white paper?
  • What wrappers are required for both Unreal and Unity environment?

Long story short I want to have a better picture of how the system works and I am not sure where to go on.

These are many questions at once but I'd be happy if information is provided. I may also contribute by adding the other vehicle type that I develop (If successful).

Thank you.

Most helpful comment

Author of the other repo here.

The linked repo is good for robots that can be described in terms of simple kinematics (arms, skid-steer bots, etc). It has some limitations that are relevant to point out: It does not handle floating bots such as boats - that requires a bit of custom setup in the unreal engine. It also does not have unity support.

All 3 comments

Hope this repo could be helpful.

Author of the other repo here.

The linked repo is good for robots that can be described in terms of simple kinematics (arms, skid-steer bots, etc). It has some limitations that are relevant to point out: It does not handle floating bots such as boats - that requires a bit of custom setup in the unreal engine. It also does not have unity support.

Possible? Sure.

What you want to do? Probably not.

Simulating a car is super complex. A lot of work has gone into UE to make simulation of the car accurate - even down to simulating the movement (slip) of the tires. In the car mode, AirSim uses that class library. UrdfSim does not - its goal is to model simpler robots. You have 2 options (aside from starting from scratch and rolling your own):

1) Dig into the code of AirSim and modify the car model / code to suit your needs.
2) Use UrdfSim and accept that the simuation isn't going to be very high quality.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

zywOwO picture zywOwO  路  3Comments

r2d2Proton picture r2d2Proton  路  3Comments

jingleFun picture jingleFun  路  3Comments

Kim-BongSu picture Kim-BongSu  路  4Comments

JenaEmz picture JenaEmz  路  3Comments