Intel Core i7 or equivalent PC with 32GB of RAM and a very fast GPU with at least 4GB of RAM. Large environments in Unreal require a lot of RAM and a beefy GPU card. The typical computer hardware we use for development purposes usually have 6 to 12 cores and graphics card such as NVidia TitanX or NVidia GTX 1080 with 32GB to 64GB RAM and a fast hard drive.
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.