diff --git a/docs/images/steering_wheel_instructions_1.png b/docs/images/steering_wheel_instructions_1.png new file mode 100644 index 00000000..8ebf560d Binary files /dev/null and b/docs/images/steering_wheel_instructions_1.png differ diff --git a/docs/images/steering_wheel_instructions_2.png b/docs/images/steering_wheel_instructions_2.png new file mode 100644 index 00000000..1aa868de Binary files /dev/null and b/docs/images/steering_wheel_instructions_2.png differ diff --git a/docs/steering_wheel_installation.md b/docs/steering_wheel_installation.md new file mode 100644 index 00000000..79b6c1b0 --- /dev/null +++ b/docs/steering_wheel_installation.md @@ -0,0 +1,42 @@ +# Logitech G920 Steering Wheel Installation + +To use Logitech G920 steering wheel with AirSim follow these steps: + +1. Connect the steering wheel to the computer and wait until drivers installation complete. + +2. Install Logitech Gaming Software from [here](http://support.logitech.com/en_us/software/lgs) + +3. Before debug, you’ll have to normalize the values in AirSim code. Perform this changes in CarPawn.cpp (according to the current update in the git): + In line 382, change “Val” to “1 – Val”. (the complementary value in the range [0.0,1.0]). + In line 388, change “Val” to “5Val - 2.5” (Change the range of the given input from [0.0,1.0] to [-1.0,1.0]). + In line 404, change “Val” to “4(1 – Val)”. (the complementary value in the range [0.0,1.0]). + +4. Debug AirSim project (while the steering wheel is connected – it’s important). + +5. On Unreal Editor, go to Edit->plugins->input devices and enable “Windows RawInput”. + +6. Go to Edit->Project Settings->Raw Input, and add new device configuration: + Vendor ID: 0x046d (In case of Logitech G920, otherwise you might need to check it). + Product ID: 0xc261 (In case of Logitech G920, otherwise you might need to check it). + Under “Axis Properties”, make sure that “GenericUSBController Axis 2”, “GenericUSBController Axis 4” and “GenericUSBController Axis 5” are all enabled with an offset of 1.0. + Explanation: axis 2 is responsible for steering movement, axis 4 is for brake and axis 5 is for gas. If you need to configure the clutch, it’s on axis 3. + + ![steering_wheel](images/steering_wheel_instructions_1.png) + +7. Go to Edit->Project Settings->Input, Under Bindings in “Axis Mappings”: + Remove existing mappings from the groups “MoveRight” and “MoveForward”. + Add new axis mapping to the group “MoveRight”, use GenericUSBController axis 2 with a scale of 1.0. + Add new axis mapping to the group “MoveForward”, use GenericUSBController axis 5 with a scale of 1.0. + Add a new group of axis mappings, name it “FootBrake” and add new axis mapping to this group, use GenericUSBController axis 4 with a scale of 1.0. + + ![steering_wheel](images/steering_wheel_instructions_2.png) + +8. Play and drive ! + +### Pay Attention + +Notice that in the first time we "play" after debug, we need to touch the wheel to “reset” the values. + +### Tip + +In the gaming software, you can configure buttons as keyboard shortcuts, we used it to configure a shortcut to record dataset or to play in full screen. diff --git a/docs/use_precompiled.md b/docs/use_precompiled.md index 72b17b59..d1e1cbc6 100644 --- a/docs/use_precompiled.md +++ b/docs/use_precompiled.md @@ -7,7 +7,7 @@ You can simply download precompiled binaries and run to get started immediately. **Linux**: Binaries for Ubuntu 16.04 LTS is coming soon. For now you will need to [build it on Linux](build_linux.md) yourself. ## Controlling Vehicles -Most of our users typically use [APIs](apis.md) to control the vehicles. However if you can also control vehicles manually. You can drive the car using keyboard, gamepad or steering wheel. To fly drone manually, you will need either XBox controller or a remote control (feel free to [contribute](contributing.md) keyboard support). Please see [remote control setup](remote_control.md) for more details. Alternatively you can use [APIs](apis.md) for programmatic control or use so-called [Computer Vision mode](image_apis.md) to move around in environment using the keyboard. +Most of our users typically use [APIs](apis.md) to control the vehicles. However if you can also control vehicles manually. You can drive the car using keyboard, gamepad or [steering wheel](steering_wheel_installation.md). To fly drone manually, you will need either XBox controller or a remote control (feel free to [contribute](contributing.md) keyboard support). Please see [remote control setup](remote_control.md) for more details. Alternatively you can use [APIs](apis.md) for programmatic control or use so-called [Computer Vision mode](image_apis.md) to move around in environment using the keyboard. ## Don't Have Good GPU? The AirSim binaries, like CityEnviron, requires a beefy GPU to run smoothly. You can run them in low resolution mode by editing the `run.bat` file on Windows like this: