Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro jazzy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro lyrical showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro rolling showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

as2_platform_dji_psdk package from as2_platform_dji_psdk repo

as2_platform_dji_psdk

ROS Distro
humble

Package Summary

Version 1.1.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/as2_platform_dji_psdk.git
VCS Type git
VCS Version main
Last Updated 2026-11-05
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 DJI PSDK aerial platform

Maintainers

  • CVAR-UPM

Authors

  • Rafael Perez-Segui
  • Santiago Tapia-Fernandez

as2_platform_dji_psdk

build ROS 2 Humble License arXiv

Aerostack2 platform for DJI drones that use the DJI Payload SDK (PSDK), such as the Matrice 30, Matrice 300 RTK and Matrice 350 RTK.

The platform talks to the drone through psdk_ros2, so a running deployment has two nodes: the psdk_wrapper node, which owns the connection to the drone, and the Aerostack2 platform node, which translates Aerostack2 commands into psdk_wrapper topics and services.

[!NOTE] For older drones that only support the deprecated Onboard SDK, such as the Matrice 210 V2, use as2_platform_dji_osdk.

[!IMPORTANT] This package can’t be released to the ROS build farm or listed on the ROS Index yet, because its psdk_interfaces dependency isn’t released for any ROS 2 distribution newer than Humble. Building it from source, together with psdk_ros2, works.

Requirements

Build

From the root of your workspace:

rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_psdk
colcon build --packages-up-to as2_platform_dji_psdk

Usage

Set your DJI app credentials in config/psdk_authentication.yaml:

/**:
  ros__parameters:
    app_name: "YourPSDK"
    app_id: "YourID"
    app_key: "YourAppKey"
    app_license: "YourAppLicense"
    developer_account: "YourDeveloperAccount"
    baudrate: "921600"

Set the serial, USB bulk or network devices that connect to the drone in config/link_config.json.

Then launch the psdk_wrapper node and the platform:

ros2 launch as2_platform_dji_psdk psdk_wrapper.launch.py namespace:=drone0
ros2 launch as2_platform_dji_psdk as2_platform_dji_psdk.launch.py namespace:=drone0

psdk_wrapper.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
psdk_authentication_params_file config/psdk_authentication.yaml DJI app credentials
link_config_file_path config/link_config.json Connection to the drone
hms_return_codes_path config/hms_2023_08_22.json Known DJI HMS return codes
psdk_params_file config/psdk_params.yaml Wrapper modules, frames and data rates
tf_frame_prefix '' TF frame prefix

The wrapper’s GPS, IMU and main camera topics are remapped to the Aerostack2 sensor_measurements/ namespace.

as2_platform_dji_psdk.launch.py

Argument Default Description
namespace $AEROSTACK2_SIMULATION_DRONE_ID Drone namespace
log_level info Log severity level
control_modes_file config/control_modes.yaml Platform control modes
config_file config/platform_config_file.yaml Platform parameters

Platform parameters (command and info rates, camera, gimbal, TF timeout) are in config/platform_config_file.yaml, and each one can also be overridden as a launch argument.

Test

colcon test --packages-select as2_platform_dji_psdk
colcon test-result --verbose

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package as2_platform_dji_psdk

1.1.0 (2024-08-20)

  • [fix] psdk_wrapper.launch.py by removing tab in default config files
  • [feat] Update changes in launcher and params to psdk_ros2 v1.3.0
  • [feat] Update launcher with param utils
  • [test] flake8 passing
  • [ci] new ci added
  • [fix] velocity sub topic
  • [feat] Add tf_frame_prefix param
  • [feat] Improve gimbal using TF
  • [fix] Avoid sending duplicated gimbal command
  • [fix] platform take off
  • [feat] Add gimbal
  • [refactor] Code refractor without impl
  • [feat] Add HMS file
  • [feat] Add gimbal and camera intialization flags
  • [fix] speed state and yaw reference frames
  • [feat] obtain ctrl authority
  • [feat] change to SynchronousServiceClient
  • [test] enable test dir
  • [docs] add copyright
  • [style] add hints to platform virtual methods
  • [test] Use ament_lint_auto
  • [build] Add psdk_interfaces dependency
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, Santiago Tapia-Fernández, pariaspe

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_platform_dji_psdk at Robotics Stack Exchange