It depends on how big your Unreal Envionment is. The Blocks environment that comes with AirSim is very basic and works on typical laptops. The Modular Neighborhood Pack that we use ourselves for research requires GPUs with at least 4GB of RAM. The Open World environment needs GPU with 8GB RAM. Our typical development machines have 32GB of RAM and NVidia TitanX and a fast hard drive.
Yes, now its possible to use AirSim without PX4. Please see the instructions here for how to use so-called "Computer Vision" mode. If you don't need vehicle physics, we highly recommand to use this mode because setting up PX4 had been unreliable (and you can skip rest of the instructions on this page!). Due to bugs such as this things haven't been working after PX4 release 1.5.5. With that release, you may still see wobbly drone sometimes. We are in process to integrate ROSFlight to replace PX4 as our default flight controller. We are also making more head ways to develop our own simple_flight which would be useful for folks working on re-inforcement learning.
This is the remote control that you usually use for real RC vehicles such as quadrotors. Our favorite is FrSky Taranis X9D Plus because it has built-in USB ports. We have also tested a Futaba 14SG, so if you have one of those already you should be fine. You can also fly without a remote control. See flying SITL mode software in the loop flight controller. See also more information about remote control options
Choose from several supported PX4 flight controllers. Our code is tested with the PX4 firmware.
We have not tested Arducopter or other mavlink implementations. Some of the flight API's do use the
PX4 custom modes in the MAV_CMD_DO_SET_MODE messages (like PX4_CUSTOM_MAIN_MODE_AUTO)
You can also fly without flight controller hardware. See alternative to RC.
- Make sure your RC receiver is bound with its RC transmitter. Connect the RC trasmitter to the flight controller's RC port.
- Download QGroundControl, launch it and connect your flight controller to the USB port.
- Install the PX4 firmware v1.5.5 from github. You likely have v2 device and if so use file
nuttx-px4fmu-v2-default.px4
. To check if you really have v2 device you can use Nirsoft USBDeview utility. Chris Lovett also has created initial firmware setup video that show how to install new firmware. Note that later releases of PX4 at least up to 1.6.3 has issue where vehicle doesn't takeoff after arming. - In QGroundControl, configure your Pixhawk for HIL simulation by selecting the HIL Quadrocopter X airframe. After PX4 reboots, check that "HIL Quadrocopter X" is indeed selected. You might also want to use QGroundControl to calibrate your RC and set up Flight Mode switch among other things (see below) so everything is green.
See Walkthrough Demo Video and Unreal AirSim Setup Video that shows you all the setup steps in this document.
When using hardware-in-loop mode, you can use remote controls such as Fly Sky, Spektrum, Futaba etc.
- Connect the receiver for your remote control to the Pixhawk board. Make sure your remote control is bound to that receiver.
- In QGroundControl, go to Radio tab and calibrate (make sure, remote control is on and the receiver is showing the indicator for the binding).
- Go to the Flight Mode tab and chose one of the remote control switches as "Mode Channel". Then set (for example) Stabilized and Attitude flight modes for two positions of the switch.
- Go to the Tuning section of QGroundControl and set appropriate values. For example, for Fly Sky's FS-TH9X remote control, following settings gives more realistic feel: Hover Throttle = mid+1 mark, Roll and pitch sensitivity = mid-3 mark, Altitude and position control sensitivity = mid-2 mark.
- You can usually arm the vehicle by lowering and bringing two sticks of RC together (you don't need QGroundControl after the initial setup). Now you can use RC to fly in the simulator. Typically the Altitude mode gives better experience for beginners because this mode lets the autopilot automatically maintain an altitude when the throttle stick is approximately in the middle.