mirror of https://github.com/ArduPilot/ardupilot
SITL: Added Readme for Airsim setup & usage
This commit is contained in:
parent
ffdf520a01
commit
864f99f247
|
@ -0,0 +1,91 @@
|
|||
## AirSim Setup
|
||||
|
||||
This is a temporary page describing the development setup of AirSim and how to use Ardupilot SITL with it (currently under development)
|
||||
|
||||
### Linux
|
||||
|
||||
This AirSim page describes how to build Unreal Engine, AirSim
|
||||
<https://microsoft.github.io/AirSim/docs/build_linux/>
|
||||
|
||||
Setting up the Blocks Environment - <https://microsoft.github.io/AirSim/docs/unreal_blocks/>
|
||||
|
||||
Development Workflow in AirSim -
|
||||
|
||||
- Updating the repo - Normal Git workflow
|
||||
- Make any changes required
|
||||
- Run the `build.sh` script in Airsim which will also copy the changes to the plugin directory
|
||||
- Launch UnrealEngine Editor, choose Blocks environment and when prompted about missing .so files, press Yes to build it again.
|
||||
|
||||
- Troubleshooting - <https://microsoft.github.io/AirSim/docs/build_linux/>
|
||||
|
||||
### Windows
|
||||
|
||||
Build AirSim on Windows - <https://microsoft.github.io/AirSim/docs/build_windows/>
|
||||
|
||||
Setup Blocks Environment - <https://microsoft.github.io/AirSim/docs/unreal_blocks/>
|
||||
|
||||
Development Workflow - <https://microsoft.github.io/AirSim/docs/dev_workflow/>
|
||||
|
||||
### Using ArduCopter vehicle
|
||||
|
||||
Use the following branch for ArduCopter vehicle - <https://github.com/rajat2004/AirSim/tree/pr-arducopter>
|
||||
|
||||
Note: Has been tested on a single Linux Machine running Ubuntu 16.04. The branch should compile with Windows as well but hasn't been tested yet.
|
||||
|
||||
Before launching for the first time, go to `Edit->Editor Preferences`, in the 'Search' box type `CPU` and ensure that the `Use Less CPU when in Background` is unchecked.
|
||||
|
||||
Press Play after Editor loads.
|
||||
|
||||
Initially, the editor will hang after pressing the Play button if the Ardupilot SITL hasn't been started. Run `sim_vehicle.py` and it should go back to normal
|
||||
|
||||
See <https://github.com/Microsoft/AirSim/blob/master/docs/settings.md> for info about settings
|
||||
|
||||
Current `settings.json` file for launching Arducopter
|
||||
|
||||
```
|
||||
{
|
||||
"SettingsVersion": 1.2,
|
||||
"LocalHostIp": "127.0.0.1",
|
||||
"LogMessagesVisible": true,
|
||||
"SimMode": "Multirotor",
|
||||
"OriginGeopoint": {
|
||||
"Latitude": -35.363261,
|
||||
"Longitude": 149.165230,
|
||||
"Altitude": 583
|
||||
},
|
||||
"Vehicles": {
|
||||
"Copter": {
|
||||
"VehicleType": "ArduCopter",
|
||||
"UseSerial": false,
|
||||
"AllowAPIAlways": false,
|
||||
"UdpIp": "127.0.0.1",
|
||||
"UdpPort": 9003,
|
||||
"SitlPort": 9002
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Note: Many of the fields have the default values as above only but just specifying them. If you want to select a specific local network adapter so you can reach certain remote machines (e.g. wifi versus ethernet), then you will want to change the `LocalHostIp` accordingly.
|
||||
|
||||
First launch AirSim, after that launch the ArduPilot SITL using
|
||||
|
||||
```
|
||||
sim_vehicle.py -v ArduCopter -f airsim-copter --add-param-file=libraries/SITL/examples/Airsim/quadX.parm --console --map
|
||||
```
|
||||
|
||||
For closing, first stop the AirSim simulation by pressing the Stop button, then close Ardupilot.
|
||||
If Ardupilot is closed first, then UE hangs and you'll need to force close it.
|
||||
You can restart by just pressing the Play button and then start the Ardupilot side, no need to close the Editor completely and then start it again
|
||||
|
||||
|
||||
#### Run on different machines
|
||||
Change `UdpIp` to the IP address of the machine running Ardupilot, use `--sim-address` to specify Airsim's IP address
|
||||
|
||||
|
||||
Using different ports -
|
||||
`UdpPort` denotes the port no. which Ardupilot receives the sensor data on (i.e. the port that Airsim sends the data to)
|
||||
`SitlPort` assigns the motor control port on which Airsim receives the rotor control message
|
||||
|
||||
- `--sim-port-in` should be equal to sensor port i.e. `UdpPort`
|
||||
- `--sim-port-out` should be equal to motor control port i.e. `SitlPort`
|
Loading…
Reference in New Issue