Rajat Singhal
6 years ago
committed by
Andrew Tridgell
1 changed files with 91 additions and 0 deletions
@ -0,0 +1,91 @@
@@ -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