Ardupilot Cloud EcoSystem Logo

Contents:

  • Drone Engage
    • What is Drone Engage
    • Getting Started
      • Select Your Hardware
      • Create Account and Get Access Code
      • Software Installation
    • Drone-Engage Web Client
    • Drone-Engage Telemetry
      • Drone-Engage Web Plugin
    • Drone-Engage Advanced Features
      • GEO-Fencing
      • GamePad Navigation
      • RC Blocking
    • Using Drone-Engage with SITL
    • Use Cases
      • All In One Board
    • Installation
    • FAQ
    • Glossary
  • Andruav
    • What is Andruav
    • Getting Started
    • Andruav FPV
    • Andruav GCS App
    • Andruav Web Client
    • Andruav Telemetry
      • Andruav GCS Telemetry
    • Andruav Advanced Features
      • Andruav RC Blocking
      • Andruav TX Freeze
      • Andruav GEO-Fencing
      • Andruav GamePad Navigation
      • Andruav GPS Injection
    • Using Andruav with SITL
    • FAQ
    • Glossary
  • WebClient
    • What is Web-Client
    • Web Plugin (obsolete)
    • UDP-Telemetry
    • Gamepad Navigation
    • FAQ
    • Glossary
  • Server
    • Authentication Server
    • Communication Server
    • How to Install
      • Air-Gap Tiny Server Installation
      • Full Server Installation

Web-Client Site Account Management Binaries Download
Ardupilot Cloud EcoSystem
  • »
  • Drone Engage Project Website »
  • Drone-Engage Advanced »
  • Navigation Using GamePad
  • View page source

Navigation Using GamePad


WebClient allows you to connect XBOX-360 gamepad directly to your webbrowser. You do not need to run GCS applications such as Mission Planner to connect your joystick anymore.


Features

  1. Gamepad can control one vehicle at a time. And you can switch control between multiple vehicles.

  2. Channel Settings:

On Drone Engage

Channel reverse and scale is set by editing config.module.json file. This is a very important feature, as if you are going to use GamePad for different drones and vehicle you will need to reverse some channels and change rate of some channels based one the vehicle your control. This is handled automatically by storing RX settings in each Ardupilot-Module configuration file.

"ignore_loading_parameters": false,

"rc_channels":
{
   "rc_channel_enabled": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
   "rc_channel_reverse": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
   "rc_channel_limits_max": [1850,2000,1750,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000],
   "rc_channel_limits_min": [1150,1000,1300,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000]
}

Note

Although xml does not allow adding comments in c-style using “//” but config.module.json accepts this syntax.

On Andruav

Channel reverse and scale is set from Andruav-Drone settings. This is a very important feature, as if you are going to use GamePad for different drones and vehicle you will need to reverse some channels and change rate of some channels based one the vehicle your control. This is handled automatically by storing RX settings in each Andruav Drone App mobile through RC Settings screen.

How to enter to RC Settings and Adjust Channels

  1. You can change flight modes from GamePad buttons by long pressing “red - yellow - blue - green” buttons.

VEHICLE

COLOR

MODE

Copter

blue

Guided

Copter

green

Land

Copter

red

Break

Copter

yellow

RTL

Adjust Channels

  1. You need to use a wired XBOX Gamepad not the wireless one. Other Gamepads can work, however you need to make sure channels are mapped correctly.

XBox Wired Gamepad

5. Smart RCMAP can be enabled on What is Drone-Engage ? only. This feature allows using Gamepad without maping channels. The system will automatically map it using RCMap infrom from ardupilot. However you can set maximum and minimum ranges from config.module.json

The above video shows actual controlling of a Rover via Drone-Engage. There is a delay and this is because data is transmitted from WebClient to Server, and then to Drone-Engage communicator module, then to Drone-Engage Mavlink module and finally to Ardupilot. There is lot of transmission and re-transmission here. But in open area this should be acceptable.

Note

Connecting joystick to Mission Planner and control your drone via webclient-webplugin is possible but not recommended as this method is more efficient.


Running in Linux

For Windows you can just plug you xbox-360 gamepad directly and it will be detected by Windows with no extra settings. In linux you need to run a simple script before the browser is able to detect gamepad.

You need to create .sh file and run it.

#!/bin/bash
sudo killall xboxdrv
sudo xboxdrv --detach-kernel-driver

Taking & Releasing Control

To activate control to GamePad press RX button for the vehicle you want to control. RX button should be RX-ON.

Take Remote

To release control press the same button RX or press TX-Rel button. RX button should be RX-Off.

Release Remote

DJI-Style Remote

DJI is known of its ease of flying among many other features. What is targetted here is that changing throttle stick function so that pushing stick up will lead to climbing while pusshing it down will lead to decreasing altitude. Andruav make use on Ardupilot remote control features to achieve similar capabilities.

This mode is activated automatically from WebClient when switching to Guided Mode in copter vehicle.


Tip

You can use Andruav Simulation using SITL for safely testing this feature.

Previous Next

© Copyright 2023, Ardupilot.org (Powered by Andruav.com).