LogoLogo
  • Welcome
  • Vehicle Operation
    • Getting started
    • Auterion Suite
      • Dashboard
      • Fleet Management
        • Vehicles
          • Cloud Features
          • Groups
        • Flights
        • Compliance
      • Manufacturer
        • Service Bulletins
      • Administration
      • User Management
      • Simulations
    • Auterion Mission Control
      • Installation
      • First steps
      • UI Breakdown
        • Navigating between the views
        • Fly View
          • Fly View UI Overview
          • Vehicle status indicator
          • Flight mode selector
          • Quick actions sidebar
          • Connection manager
          • Vehicle Dashboard
          • Flight Map
          • Camera View
          • Monitoring the Flight
          • Flying Manually (RC/Joystick)
          • Flying a Mission
        • Plan View
          • Plan UI Overview
          • Plan tools
            • Mission Menu
            • Waypoint Missions
            • Survey Patterns
              • Area Survey
              • Corridor Scan
          • Mission Summary
          • Mission Editor Tab
            • Start Section
            • Mission Section
            • End Section
            • Extras
          • Terrain visualization
          • GeoFence
          • Rally Points
        • Quick Vehicle Menu
          • Pre-Flight Checklist
          • Connectivity
        • Photo Gallery
        • Settings
        • Pilot Login
      • Useful resources
        • Mission Planning
          • Mission Cloud Sync
          • Terrain Following
          • Import Geo-Awareness data or KML overlays
        • Maps and Custom Overlays
          • Using Offline Maps
          • Importing GeoPDF overlays
        • Track GCS as Smart Asset in Suite
        • Live PX4 Log Streaming
        • Monitor Local Flights with ADS-B
        • GPS Denied Workflow
        • Windows Crash Logs Analysis
        • Screen Recordings
    • Remote Controllers
      • Skynav Remote Controller
        • Installing Mission Control
        • Joystick and Button Mapping
        • Using LTE for Online Maps in the Field
        • Advanced Radio Settings
        • Drop Guards and Chest Strap
        • Unit Serial Number
    • Settings & Maintenance
      • Vehicle Setup
      • WiFi Setup
      • Compass Calibration
      • Safety Setup
      • Joystick Setup
      • Vehicle Web UI
      • Software Update
      • Remote ID
        • How Remote ID works
        • Remote ID indicators in AMC
        • Frequently Asked Questions
    • Precise Flight
  • App development
    • Getting Started
      • Development environment Setup
      • Connecting to a device
      • Application Development
    • App Framework
      • Building your First App
      • Apps API
      • Sensor Data
      • Video Streams
      • Photos
      • Hardware Peripherals
      • Persistent Storage
      • MAVLink
      • Native Docker Compose
      • App Parameters
      • Log App Data to Auterion Suite
        • How to log Time Series Data
        • How to log basic Text Output
      • How to store an App's Binary Data on Skynode
      • User Web Interfaces
      • Build Arguments
      • Debugging apps with SSH
      • Debugging Apps with gdb
      • PX4 Messages in ROS 2
      • DDS / ROS2 Configuration
      • Structuring Applications with Multiple Services
    • Auterion SDK
      • Installation
      • Write Your First App
      • SDK API
      • Flight Mode API
        • Flight Mode API
        • Dynamics in Body Frame
        • Dynamics in Local Frame
        • Go-To in Local Frame
      • System State API
      • Peripheral Actuator Control API
      • Camera API
      • Navigation Input API
        • Global Navigation
        • Local Navigation
      • Visual Tracking API
    • Simulation
      • Virtual Skynode
        • Simulation-Gazebo Reference
        • Simulation-AirSim Reference
        • Connecting from other Computers
        • Resetting Virtual Skynode
        • Multiple Virtual Skynodes on single machine
      • Physical Skynode
    • Resources
      • Cross Compilation - Faster Builds
      • Auterion CLI Reference
      • Troubleshooting
      • App Tutorial
      • Skynode Vision Kit S
        • Set up the Vision Kit
        • Install and test a simple vision app
    • Legacy app workflow
      • App Development
      • MAVLink
      • Using the App Template
      • Example Applications
        • Autopilot Telemetry (C++)
        • Autopilot Telemetry (Python)
        • Photo Gallery
  • Hardware Integration
    • Getting started
      • Required Sensors
      • Wiring Skynode to the Vehicle
      • Actuators Setup
      • Sensors Setup
        • Set Orientations
        • Compass Calibration
        • Gyroscope calibration
        • Accelerometer calibration
        • Level horizon calibration
        • Airspeed calibration
      • Bench Test
      • Tuning
      • Creating Airframe Configurations for APX4
    • Skynode
      • Skynode X
      • Skynode ENT/GOV
      • Skynode X Integration and Development Kit
        • Get Skynode ready
        • Power Skynode
        • Register Skynode
        • Connect Skynode to AMC
        • Sensors and Peripherals
        • Next steps
      • Payloads
        • Generic USB Webcams (UVC)
        • Workswell Wiris Pro
        • Trillium HD40-LV
        • NextVision Gimbals (with TRIP2)
        • Sony Alpha a7R IV
        • Phase One iXM-100
        • Gremsy Gimbals
      • Connectivity
        • USB-C Network Connection
        • WiFi
        • LTE Setup
        • SIYI MK15
        • Microhard Data Link
        • Data Link Wiring
        • Silvus Data Link
        • Doodle Labs Data Link
        • Custom Data Link
        • Ethernet Interface Configuration
      • Skynode LED Meanings
      • Troubleshooting
      • Legacy DSM/DSMX Support
      • Peripherals
        • Power Module
        • 12S Power Module
        • Pixhawk Adapter Board
        • Pixhawk Payload Bus
        • Data Link Module
        • PX4 F9P GPS
        • Freefly RTK GPS
        • Airspeed Sensor
        • LIDAR
        • USB camera
        • See3CAM_24CUG
    • Skynode S
      • Datasheet
      • Interfaces
      • Basic Vehicle Integration
      • Add LTE to Skynode S
      • Skynode S LED status indicator
      • Skynode S flight logs
    • AI Node
      • Datasheet
      • Evaluation Kit
        • Power AI Node
        • Wiring AI Node to Skynode
        • Internet sharing with Skynode
        • Activate AI Node on Suite
      • Dimensions and CAD model
      • Interfaces
      • Connectivity
        • USB Network Connection
        • Serial Debug Connection
        • AI Node as Network Bridge
        • Standalone Internet Access
      • Updating AuterionOS
    • Advanced Airframe Integration
      • Custom power setup
      • Wiring without Breakout Boards
      • Gripper Integration
        • Setting up Payload Delivery with Gripper
      • ESC Calibration
      • Camera Calibration
        • Camera Calibration on a Computer
        • Camera Calibration on Skynode
      • Serial Port Configuration
    • Flight controller customization
      • AMC's Advanced Mode
      • Flight Controller Shell
      • Micro XRCE-DDS
    • AuterionOS Customization
      • OEM Tools Installation
      • Adding SSH keys
      • Changing the Root Password
      • Modifying Environment Variables
      • Pre-install Applications
      • Suite Manufacturer Tools
    • AuterionOS System Guide
      • Introduction
      • Flashing PX4 Binary and Vehicle Config
      • Building and Flashing PX4 Firmware
      • SSH Access
      • Filesystem and partitions
      • Environment Variables Reference
      • Types of AuterionOS Images
      • Mavlink Routing and Endpoints
      • Packaging AuterionOS Image
    • Additional Resources
      • Remote ID
        • How Remote ID works
        • Vehicle Serial Number
        • Communication Diagram
        • Remote ID configuration
        • How Auterion tested
      • Auto-Tuning
  • Release Notes
    • APX4
      • APX4 3.2
        • APX4 3.2.1
      • APX4 3.1
        • APX4 3.1.1
        • APX4 3.1.0
      • APX4 3.0
        • APX4 3.0.8
        • APX4 3.0.5
      • APX4 2.7
        • APX4 2.7.37
        • APX4 2.7.25
        • APX4 2.7.20
        • APX4 2.7.12
        • APX4 2.7.7
        • APX4 2.7.6
      • APX4 2.6
        • APX4 2.6.1
      • APX4 2.5
        • APX4 2.5.14
        • APX4 2.5.13
        • APX4 2.5.8
        • APX4 2.5.7
        • APX4 2.5.5
        • APX4 2.5.4
        • APX4 2.5.0
      • APX4 2.4
        • APX4 2.4.2
        • APX4 2.4.1
      • APX4 2.3
        • APX4 2.3.0
      • APX4 2.2
        • APX4 2.2.2
        • APX4 2.2.0
      • APX4 2.1
        • APX4 2.1.1
        • APX4 2.1.0
      • APX4 2.0
        • APX4 2.0.2
        • APX4 2.0.0
    • AuterionOS
      • AOS for AI Node
        • AI Node AOS 1.1.0
        • AI Node AOS 1.0.2
        • AI Node AOS 1.0.0
        • AI Node AOS 0.7.0
        • AI Node AOS 0.6.1
        • AI Node AOS 0.6.0
        • AI Node AOS 0.5.0
        • AI Node AOS 0.4.0
      • AOS for Skynode
        • AOS 3.7
          • AOS 3.7.14
          • AOS 3.7.9
        • AOS 3.6
          • AOS 3.6.14
        • AOS 3.5
          • AOS 3.5.13
        • AOS 3.3
          • AOS 3.3.9
        • AOS 3.2
          • AOS 3.2.9
        • AOS 2.19
          • AOS 2.19.14
        • AOS 2.15
          • AOS 2.15.10
          • AOS 2.15.7
        • AOS 2.12
          • AOS 2.12.8
        • AOS 2.10
          • AOS 2.10.2
        • AOS 2.8
          • AOS 2.8.1
        • AOS 2.7
          • AOS 2.7.15
        • AOS 2.6
          • AOS 2.6.1
        • AOS 2.5
          • AOS 2.5.14
          • AOS 2.5.13
          • AOS 2.5.8
          • AOS 2.5.7
          • AOS 2.5.5
          • AOS 2.5.4
          • AOS 2.5.0
        • AOS 2.4
          • AOS 2.4.1
        • AOS 2.3
          • AOS 2.3.0
        • AOS 2.2
          • AOS 2.2.2
          • AOS 2.2.0
        • AOS 2.1
          • AOS 2.1.1
          • AOS 2.1.0
        • AOS 2.0
          • AOS 2.0.2
          • AOS 2.0.0
    • Auterion Mission Control
      • AMC 1.34
        • AMC 1.34.19
        • AMC 1.34.14
      • AMC 1.33
        • AMC 1.33.13
      • AMC 1.32
        • AMC 1.32.7
      • AMC 1.30
        • AMC 1.30.17
      • AMC 1.29
        • AMC 1.29.7
      • AMC 1.26
        • AMC 1.26.8
      • AMC 1.22
        • AMC 1.22.3
      • AMC 1.19
        • AMC 1.19.5
      • AMC 1.18
        • AMC 1.18.3-1
        • AMC 1.18.3
      • AMC 1.17
        • AMC 1.17.10
        • AMC 1.17.9
      • AMC 1.15
        • AMC 1.15.0
      • AMC 1.14
        • AMC 1.14.6
        • AMC 1.14.0
      • AMC 1.13
      • AMC 1.12
      • AMC 1.11
      • AMC 1.10
        • AMC 1.10.1
        • AMC 1.10.0
      • AMC 1.9
        • AMC 1.9.1
        • AMC 1.9.0
      • AMC 1.8
    • Hardware
      • Skynode Rev 11 (Jan 2022)
Powered by GitBook
On this page
  • Payload Delivery Architecture Diagram
  • Configuring the Airframe file
  • Enabling Payload Delivery Gripper
  • Enabling Pre-arm mode
  • Profiling the Gripper
  • Mission timeout
  • Sanity Check
  • Gripper Action check
  1. Hardware Integration
  2. Advanced Airframe Integration
  3. Gripper Integration

Setting up Payload Delivery with Gripper

PreviousGripper IntegrationNextESC Calibration

Last updated 1 year ago

The following configuration must be implemented by the drone manufacturer.

Payload Delivery Architecture Diagram

Payload delivery works by having a specified Mission item (e.g. Gripper) that sends out the Release mechanism vehicle command (e.g. Gripper Deploy), and having either internal/external entity sending back the acknowledgement (Vehicle Command Ack), which then allows a mission to progress to the next item.

Understanding of the detailed mechanism is not necessary for following the instructions below, but having a brief overview of the architecture by viewing the diagram above can be helpful for further insights.

Configuring the Airframe file

If you aren't familiar with this concept, check out the Creating Airframe Configurations for APX4 documentation, which provides also instructions on how to load the airframe configuration to the Auterion Skynode using the Auterion Developer Tools. From this point, we will be setting up an imaginary airframe 1300000_my_custom_airframe for the payload delivery feature.

Enabling Payload Delivery Gripper

Payload Delivery feature isn't enabled by default. To enable, insert the following lines into the airframe file.

1300000_my_custom_airframe
# Enable payload delivery feature (Gripper)
param set-default PD_GRIPPER_EN 1

This would allow the Auterion PX4's startup script to detect that the payload delivery gripper mechanism is enabled, and would run the appropriate module to enable this feature.

Enabling Pre-arm mode

By default, the Servos connected to the vehicle will be in a disarmed position when the vehicle is disarmed. However, since operator needs to open / close the gripper for mounting the payload while the vehicle is disarmed, we need to set a parameter to allow pre-arming, which allows Servos to move freely when disarmed, but not the motors.

1300000_my_custom_airframe
# Always enable Prearm mode to allow Gripper to actuate when vehicle is disarmed
# This allows the operator to open / close the mechanism even when vehicle is disarmed
param set-default COM_PREARM_MODE 2

Profiling the Gripper

Some mechanism specific settings need to be modified to make sure the system is aware of the mechanism's physical properties. Since every gripper works differently (speed / range of motion / behavior), you should not skip this step!

Gripper Mechanism Type

You need to select the type of the gripper. Currently only the Servo type is available, but in the future other types of gripper mechanisms might be supported.

This is the table of parameter value to set according to the gripper type.

Gripper Type
PD_GRIPPER_TYPE value

Undefined

-1

Servo

0

Paste the code below into the airframe file to set the gripper type to "servo":

1300000_my_custom_airframe
# Set the griper type (uncomment one of the lines below to select)
param set-default PD_GRIPPER_TYPE 0 # Servo mechanism
# param set-default PD_GRIPPER_TYPE 1 # (NOT SUPPORTED YET) Winch mechanism

Gripper Actuation Time

You need to specify an actuation time, which is the time it takes to open or close. As most grippers don't have a sensor to detect successful actuation (close/opening), the payload delivery feature will rely on this value to estimate gripper's position.

AMC > MAVLink Shell
payload_deliverer gripper_test

Then observe how long it takes for the gripper to go from open position to closed position, and vise versa for opening. Note down the actuation time for both cases and choose the maximum measurement for the actuation time.

As an alternative test method, you can utilize the Joystick capability of AMC to trigger gripper open and close actions as well.

If you get an error message like "[payload_deliverer] not running", make sure that you have gone through the setup procedures above and rebooted the vehicle. Or alternatively, you could run payload_deliverer start command in the nuttx shell to bypass reboot.

After measuring the opening and closing actuation times, add the maximum value to the airframe file as shown below. The default value for PD_GRIPPER_TO is 3 seconds.

1300000_my_custom_airframe
# Set Gripper timeout in seconds (opening / closing time)
# This must be set as the time gripper takes to open/close
# If opening/closing time differs, choose the longer time as timeout!
param set-default PD_GRIPPER_TO <timeout-in-seconds>

Mission timeout

To use Auterion's payload delivery feature as part of a mission, it is important to make sure that a potential actuation failure does not cause the mission to be halted or interrupted.

For missions Auterion has therefore added an additional safeguard in form of a timeout, after which a mission is continued even if the gripper's successful actuation acknowledgement (which is published by the payload_deliverer module in charge of the Payload Delivery feature) is not received.

Possible causes could be actuator failures (currently not the case since Gripper state feedback sensor is not supported), but also internal communication errors (Auterion PX4's internal messaging system can in rare-cases drop the acknowledgement message).

Currently, for PWM Grippers we rely on the Gripper Actuation Time alone to determine whether the actuation was successful or not.

Note that this timeout must be long enough to allow the delivery mechanism to actuate under all nominal conditions. Therefore chose a timeout that is larger than the Gripper Actuation Time.

Once an appropriate timeout value is known, add it with the following line to the airframe configuration file. The default value for MIS_PD_TO is 5 seconds.

1300000_my_custom_airframe
# Set Mission's Payload Delivery safeguard timeout in seconds
# NOTE: This must be bigger than the actuation timeout setting of the mechanism (e.g. PD_GRIPPER_TO)
param set-default MIS_PD_TO <timeout-in-seconds>

Sanity Check

Gripper Action check

You must make sure that Payload deliverer module's Gripper close/open command actually closes/opens the gripper. If not set up correctly, gripper may grab the package instead of releasing it during the release phase.

Open action test

Execute the following command in the AMC's MAVLink Shell:

AMC > MAVLink Shell
payload_deliverer gripper_open

Check if the gripper moves to an 'open' position, releasing the pacakge.

Close action test

Execute the following command in AMC's MAVLink Shell:

AMC > MAVLink Shell
payload_deliverer gripper_close

Check if the gripper moves to the 'close' position, grabbing the package.

How to fix the gripper action mis-configuration

Note, if the gripper doesn't move at all, make sure you followed the full procedure in the Gripper Integration documentation and Configuring the Airframe file section above.

As the only case of failure can be mixing up the release/grab, for this you would simply need to apply the reversed gripper mixer (indicated by the -10000 in the line starting with O: ... below.

gripper_reversed.aux.mix
# AUX1 pin is used for Payload deploy (Gripper / Winch)
# It uses 'Control Group 6 (Payload), channel 0' to avoid conflict with other flight controls
# More about control group 6: https://docs.px4.io/v1.13/en/concept/mixing.html#control-group-6-first-payload
# Read more about Summing mixer here: https://docs.px4.io/v1.13/en/concept/mixing.html#summing-mixer
M: 1
O:      -10000  -10000      0 -10000  10000
S: 1 4  10000  10000      0 -10000  10000

To measure gripper actuation time, go to the and execute the following code while the drone is on a bench and the propellers are removed:

If you noticed that the open/close tests above results in a different action of the actual gripper, you must re-configure the .

Then follow the rest of the process of to load the custom mixer in the airframe & apply it to your vehicle.

MAVLink Shell in AMC
Custom Mixer for Gripping Mechanism
Architecture of Payload delivery mechanism
Gripper mixer