|
as2_platform_dji_osdk package from as2_platform_dji_osdk repoas2_platform_dji_osdk |
ROS Distro
|
Package Summary
| Version | 1.1.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/aerostack2/as2_platform_dji_osdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- CVAR-UPM
Authors
- Rafael Perez-Segui
as2_platform_dji_osdk
Aerostack2 platform for DJI drones that use the DJI Onboard SDK (OSDK), such as the Matrice 210 V2 and Matrice 300 RTK.
[!WARNING] This package supports ROS 2 Humble only. It won’t be migrated to Jazzy.
- OSDK is deprecated. DJI no longer develops it, and newer drones (Matrice 30, Matrice 350 RTK, Matrice 4) only support the Payload SDK. For those, use
as2_platform_dji_psdk.- OSDK needs FFmpeg 4. Its camera stream decoder (
osdk-core/advanced-sensing/camera_stream/src/dji_camera_stream_decoder.cpp) uses FFmpeg APIs that were removed in FFmpeg 5, such asavcodec_register_all,avcodec_decode_video2andAVPicture.- Jazzy ships a newer FFmpeg. Ubuntu 22.04 (Humble) ships FFmpeg 4.4, so the build works. Ubuntu 24.04 (Jazzy) ships FFmpeg 6.1, so the build fails. The same applies to pixi and RoboStack, where conda-forge ships FFmpeg 8 and later.
Requirements
- Ubuntu 22.04 with ROS 2 Humble
- Aerostack2
- A DJI developer app (
app_idandapp_key) from the DJI Developer Center
The OSDK itself is fetched at build time from
aerostack2/Onboard-SDK. Its system dependencies
(libusb-1.0-dev, ffmpeg, libopencv-dev) are declared in package.xml.
Build
From the root of your workspace:
rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_osdk
colcon build --packages-up-to as2_platform_dji_osdk
Usage
Set your app credentials and serial ports in config/user_config_file.txt:
app_id : 123456
app_key : 0123456789abcdefghijklmnopqrstuvwxyz
device : /dev/ttyUSBx
baudrate : 921600
acm_port : /dev/ttyACMx
Then launch the platform:
ros2 launch as2_platform_dji_osdk as2_platform_dji_osdk_launch.py namespace:=drone0
| Argument | Default | Description |
|---|---|---|
namespace |
$AEROSTACK2_SIMULATION_DRONE_ID |
Drone namespace |
user_config_file |
config/user_config_file.txt |
DJI app credentials and serial ports |
control_modes_file |
config/control_modes.yaml |
Platform control modes |
Platform parameters (command and info rates, advanced sensing, camera, MOP channel) are in
config/platform_config_file.yaml, and MOP channel parameters are in
config/mop_handler_config_file.yaml.
Test
colcon test --packages-select as2_platform_dji_osdk
colcon test-result --verbose
Citation
If you use Aerostack2 in your research, please cite:
M. Fernandez-Cortizas, M. Molina, P. Arias-Perez, R. Perez-Segui, D. Perez-Saura and P. Campoy, 2023, “Aerostack2: A software framework for developing multi-robot aerial systems”, arXiv 2303.18237.
License
Changelog for package as2_platform_dji_osdk
1.1.0 (2024-08-20)
- [test] Migrate to ament_lint_auto
- [feat] Update launcher with param utils
- [fix] publising gimbal attitude at any cb hit
- [refactor] repo extracted from main track
- Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, pariaspe
1.0.9 (2024-03-25)
1.0.8 (2024-02-12)
1.0.7 (2024-02-04)
- Added libusb-dev dependency
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.6 (2023-12-12)
1.0.5 (2023-11-08)
- Add camera change source topic
- Fixes gps time subscription
- Contributors: Javilinos, RPS98, Rafael Pérez, pariaspe
1.0.4 (2023-08-23)
- Merge pull request #318 from aerostack2/jenkins-build fixing jenkins build failures
- fixing jenkins build failures
- Contributors: pariaspe
1.0.3 (2023-08-22)
- Merge pull request #317 from aerostack2/316-tf2_geometry_msgs-dep Only use tf2_geometry_msgs library when needed
- only use library when needed
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.2 (2023-08-17)
- Merge pull request #315 from aerostack2/uplink_reliable [as2_platform_dji_osdk] Links qos subscritions changed to reliable
- subs qos changed to reliable
- Merge pull request #309 from aerostack2/mop_channel [as2_platform_dji_osdk] Mop channel communication
- Several commits
- Merge pull request #303 from aerostack2/dji_gimbal_test [as2_platform_dji_osdk] Add gimbal and camera trigger support
- Change camera mode
- [feat] take images
- dji gimbal topic
- Merge pull request #299 from aerostack2/298-as2_platform_dji_osdk-take-off-delay-to-wait-to-be-done [as2_platform_dji_osdk] Add take off sleep to wait until it has finished
- Add take off sleep
- Merge pull request #297 from aerostack2/252-as2_platform_dji_osdk-add-camera-support [as2_platform_dji_osdk] Add camera interface with ROS 2
- Add camera info params
- parameters for enabling camera
- image transport into the platform
- camera image obtained
- Merge pull request #237 from aerostack2/unify_platform_launchers Unify launchers
- Unify platform launchers
- Contributors: AGX Xavier 1, Javier Melero, Javilinos, Miguel, Miguel Fernandez-Cortizas, RPS98, Rafael Pérez, pariaspe
1.0.1 (2023-04-25)
- Merge pull request #223 from aerostack2/200-unify-maintainer-in-packagexmls Maintainer unified to CVAR-UPM
- Maintainer unified to CVAR-UPM
- Merge pull request #212 from aerostack2/211-nodes-should-use-aerostack2-node-create-timer-method-not-create-wall-timer Nodes use Aerostack2 Node Create Timer method, not create wall timer
- Change create wall timer to as2 create timer
- Contributors: Miguel Fernandez-Cortizas, RPS98, pariaspe
1.0.0 (2023-03-18)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| ament_index_cpp | |
| rclcpp | |
| std_msgs | |
| std_srvs | |
| sensor_msgs | |
| geometry_msgs | |
| nav_msgs | |
| as2_core | |
| as2_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged as2_platform_dji_osdk at Robotics Stack Exchange
|
as2_platform_dji_osdk package from as2_platform_dji_osdk repoas2_platform_dji_osdk |
ROS Distro
|
Package Summary
| Version | 1.1.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/aerostack2/as2_platform_dji_osdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- CVAR-UPM
Authors
- Rafael Perez-Segui
as2_platform_dji_osdk
Aerostack2 platform for DJI drones that use the DJI Onboard SDK (OSDK), such as the Matrice 210 V2 and Matrice 300 RTK.
[!WARNING] This package supports ROS 2 Humble only. It won’t be migrated to Jazzy.
- OSDK is deprecated. DJI no longer develops it, and newer drones (Matrice 30, Matrice 350 RTK, Matrice 4) only support the Payload SDK. For those, use
as2_platform_dji_psdk.- OSDK needs FFmpeg 4. Its camera stream decoder (
osdk-core/advanced-sensing/camera_stream/src/dji_camera_stream_decoder.cpp) uses FFmpeg APIs that were removed in FFmpeg 5, such asavcodec_register_all,avcodec_decode_video2andAVPicture.- Jazzy ships a newer FFmpeg. Ubuntu 22.04 (Humble) ships FFmpeg 4.4, so the build works. Ubuntu 24.04 (Jazzy) ships FFmpeg 6.1, so the build fails. The same applies to pixi and RoboStack, where conda-forge ships FFmpeg 8 and later.
Requirements
- Ubuntu 22.04 with ROS 2 Humble
- Aerostack2
- A DJI developer app (
app_idandapp_key) from the DJI Developer Center
The OSDK itself is fetched at build time from
aerostack2/Onboard-SDK. Its system dependencies
(libusb-1.0-dev, ffmpeg, libopencv-dev) are declared in package.xml.
Build
From the root of your workspace:
rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_osdk
colcon build --packages-up-to as2_platform_dji_osdk
Usage
Set your app credentials and serial ports in config/user_config_file.txt:
app_id : 123456
app_key : 0123456789abcdefghijklmnopqrstuvwxyz
device : /dev/ttyUSBx
baudrate : 921600
acm_port : /dev/ttyACMx
Then launch the platform:
ros2 launch as2_platform_dji_osdk as2_platform_dji_osdk_launch.py namespace:=drone0
| Argument | Default | Description |
|---|---|---|
namespace |
$AEROSTACK2_SIMULATION_DRONE_ID |
Drone namespace |
user_config_file |
config/user_config_file.txt |
DJI app credentials and serial ports |
control_modes_file |
config/control_modes.yaml |
Platform control modes |
Platform parameters (command and info rates, advanced sensing, camera, MOP channel) are in
config/platform_config_file.yaml, and MOP channel parameters are in
config/mop_handler_config_file.yaml.
Test
colcon test --packages-select as2_platform_dji_osdk
colcon test-result --verbose
Citation
If you use Aerostack2 in your research, please cite:
M. Fernandez-Cortizas, M. Molina, P. Arias-Perez, R. Perez-Segui, D. Perez-Saura and P. Campoy, 2023, “Aerostack2: A software framework for developing multi-robot aerial systems”, arXiv 2303.18237.
License
Changelog for package as2_platform_dji_osdk
1.1.0 (2024-08-20)
- [test] Migrate to ament_lint_auto
- [feat] Update launcher with param utils
- [fix] publising gimbal attitude at any cb hit
- [refactor] repo extracted from main track
- Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, pariaspe
1.0.9 (2024-03-25)
1.0.8 (2024-02-12)
1.0.7 (2024-02-04)
- Added libusb-dev dependency
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.6 (2023-12-12)
1.0.5 (2023-11-08)
- Add camera change source topic
- Fixes gps time subscription
- Contributors: Javilinos, RPS98, Rafael Pérez, pariaspe
1.0.4 (2023-08-23)
- Merge pull request #318 from aerostack2/jenkins-build fixing jenkins build failures
- fixing jenkins build failures
- Contributors: pariaspe
1.0.3 (2023-08-22)
- Merge pull request #317 from aerostack2/316-tf2_geometry_msgs-dep Only use tf2_geometry_msgs library when needed
- only use library when needed
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.2 (2023-08-17)
- Merge pull request #315 from aerostack2/uplink_reliable [as2_platform_dji_osdk] Links qos subscritions changed to reliable
- subs qos changed to reliable
- Merge pull request #309 from aerostack2/mop_channel [as2_platform_dji_osdk] Mop channel communication
- Several commits
- Merge pull request #303 from aerostack2/dji_gimbal_test [as2_platform_dji_osdk] Add gimbal and camera trigger support
- Change camera mode
- [feat] take images
- dji gimbal topic
- Merge pull request #299 from aerostack2/298-as2_platform_dji_osdk-take-off-delay-to-wait-to-be-done [as2_platform_dji_osdk] Add take off sleep to wait until it has finished
- Add take off sleep
- Merge pull request #297 from aerostack2/252-as2_platform_dji_osdk-add-camera-support [as2_platform_dji_osdk] Add camera interface with ROS 2
- Add camera info params
- parameters for enabling camera
- image transport into the platform
- camera image obtained
- Merge pull request #237 from aerostack2/unify_platform_launchers Unify launchers
- Unify platform launchers
- Contributors: AGX Xavier 1, Javier Melero, Javilinos, Miguel, Miguel Fernandez-Cortizas, RPS98, Rafael Pérez, pariaspe
1.0.1 (2023-04-25)
- Merge pull request #223 from aerostack2/200-unify-maintainer-in-packagexmls Maintainer unified to CVAR-UPM
- Maintainer unified to CVAR-UPM
- Merge pull request #212 from aerostack2/211-nodes-should-use-aerostack2-node-create-timer-method-not-create-wall-timer Nodes use Aerostack2 Node Create Timer method, not create wall timer
- Change create wall timer to as2 create timer
- Contributors: Miguel Fernandez-Cortizas, RPS98, pariaspe
1.0.0 (2023-03-18)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| ament_index_cpp | |
| rclcpp | |
| std_msgs | |
| std_srvs | |
| sensor_msgs | |
| geometry_msgs | |
| nav_msgs | |
| as2_core | |
| as2_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged as2_platform_dji_osdk at Robotics Stack Exchange
|
as2_platform_dji_osdk package from as2_platform_dji_osdk repoas2_platform_dji_osdk |
ROS Distro
|
Package Summary
| Version | 1.1.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/aerostack2/as2_platform_dji_osdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- CVAR-UPM
Authors
- Rafael Perez-Segui
as2_platform_dji_osdk
Aerostack2 platform for DJI drones that use the DJI Onboard SDK (OSDK), such as the Matrice 210 V2 and Matrice 300 RTK.
[!WARNING] This package supports ROS 2 Humble only. It won’t be migrated to Jazzy.
- OSDK is deprecated. DJI no longer develops it, and newer drones (Matrice 30, Matrice 350 RTK, Matrice 4) only support the Payload SDK. For those, use
as2_platform_dji_psdk.- OSDK needs FFmpeg 4. Its camera stream decoder (
osdk-core/advanced-sensing/camera_stream/src/dji_camera_stream_decoder.cpp) uses FFmpeg APIs that were removed in FFmpeg 5, such asavcodec_register_all,avcodec_decode_video2andAVPicture.- Jazzy ships a newer FFmpeg. Ubuntu 22.04 (Humble) ships FFmpeg 4.4, so the build works. Ubuntu 24.04 (Jazzy) ships FFmpeg 6.1, so the build fails. The same applies to pixi and RoboStack, where conda-forge ships FFmpeg 8 and later.
Requirements
- Ubuntu 22.04 with ROS 2 Humble
- Aerostack2
- A DJI developer app (
app_idandapp_key) from the DJI Developer Center
The OSDK itself is fetched at build time from
aerostack2/Onboard-SDK. Its system dependencies
(libusb-1.0-dev, ffmpeg, libopencv-dev) are declared in package.xml.
Build
From the root of your workspace:
rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_osdk
colcon build --packages-up-to as2_platform_dji_osdk
Usage
Set your app credentials and serial ports in config/user_config_file.txt:
app_id : 123456
app_key : 0123456789abcdefghijklmnopqrstuvwxyz
device : /dev/ttyUSBx
baudrate : 921600
acm_port : /dev/ttyACMx
Then launch the platform:
ros2 launch as2_platform_dji_osdk as2_platform_dji_osdk_launch.py namespace:=drone0
| Argument | Default | Description |
|---|---|---|
namespace |
$AEROSTACK2_SIMULATION_DRONE_ID |
Drone namespace |
user_config_file |
config/user_config_file.txt |
DJI app credentials and serial ports |
control_modes_file |
config/control_modes.yaml |
Platform control modes |
Platform parameters (command and info rates, advanced sensing, camera, MOP channel) are in
config/platform_config_file.yaml, and MOP channel parameters are in
config/mop_handler_config_file.yaml.
Test
colcon test --packages-select as2_platform_dji_osdk
colcon test-result --verbose
Citation
If you use Aerostack2 in your research, please cite:
M. Fernandez-Cortizas, M. Molina, P. Arias-Perez, R. Perez-Segui, D. Perez-Saura and P. Campoy, 2023, “Aerostack2: A software framework for developing multi-robot aerial systems”, arXiv 2303.18237.
License
Changelog for package as2_platform_dji_osdk
1.1.0 (2024-08-20)
- [test] Migrate to ament_lint_auto
- [feat] Update launcher with param utils
- [fix] publising gimbal attitude at any cb hit
- [refactor] repo extracted from main track
- Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, pariaspe
1.0.9 (2024-03-25)
1.0.8 (2024-02-12)
1.0.7 (2024-02-04)
- Added libusb-dev dependency
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.6 (2023-12-12)
1.0.5 (2023-11-08)
- Add camera change source topic
- Fixes gps time subscription
- Contributors: Javilinos, RPS98, Rafael Pérez, pariaspe
1.0.4 (2023-08-23)
- Merge pull request #318 from aerostack2/jenkins-build fixing jenkins build failures
- fixing jenkins build failures
- Contributors: pariaspe
1.0.3 (2023-08-22)
- Merge pull request #317 from aerostack2/316-tf2_geometry_msgs-dep Only use tf2_geometry_msgs library when needed
- only use library when needed
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.2 (2023-08-17)
- Merge pull request #315 from aerostack2/uplink_reliable [as2_platform_dji_osdk] Links qos subscritions changed to reliable
- subs qos changed to reliable
- Merge pull request #309 from aerostack2/mop_channel [as2_platform_dji_osdk] Mop channel communication
- Several commits
- Merge pull request #303 from aerostack2/dji_gimbal_test [as2_platform_dji_osdk] Add gimbal and camera trigger support
- Change camera mode
- [feat] take images
- dji gimbal topic
- Merge pull request #299 from aerostack2/298-as2_platform_dji_osdk-take-off-delay-to-wait-to-be-done [as2_platform_dji_osdk] Add take off sleep to wait until it has finished
- Add take off sleep
- Merge pull request #297 from aerostack2/252-as2_platform_dji_osdk-add-camera-support [as2_platform_dji_osdk] Add camera interface with ROS 2
- Add camera info params
- parameters for enabling camera
- image transport into the platform
- camera image obtained
- Merge pull request #237 from aerostack2/unify_platform_launchers Unify launchers
- Unify platform launchers
- Contributors: AGX Xavier 1, Javier Melero, Javilinos, Miguel, Miguel Fernandez-Cortizas, RPS98, Rafael Pérez, pariaspe
1.0.1 (2023-04-25)
- Merge pull request #223 from aerostack2/200-unify-maintainer-in-packagexmls Maintainer unified to CVAR-UPM
- Maintainer unified to CVAR-UPM
- Merge pull request #212 from aerostack2/211-nodes-should-use-aerostack2-node-create-timer-method-not-create-wall-timer Nodes use Aerostack2 Node Create Timer method, not create wall timer
- Change create wall timer to as2 create timer
- Contributors: Miguel Fernandez-Cortizas, RPS98, pariaspe
1.0.0 (2023-03-18)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| ament_index_cpp | |
| rclcpp | |
| std_msgs | |
| std_srvs | |
| sensor_msgs | |
| geometry_msgs | |
| nav_msgs | |
| as2_core | |
| as2_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged as2_platform_dji_osdk at Robotics Stack Exchange
|
as2_platform_dji_osdk package from as2_platform_dji_osdk repoas2_platform_dji_osdk |
ROS Distro
|
Package Summary
| Version | 1.1.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/aerostack2/as2_platform_dji_osdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- CVAR-UPM
Authors
- Rafael Perez-Segui
as2_platform_dji_osdk
Aerostack2 platform for DJI drones that use the DJI Onboard SDK (OSDK), such as the Matrice 210 V2 and Matrice 300 RTK.
[!WARNING] This package supports ROS 2 Humble only. It won’t be migrated to Jazzy.
- OSDK is deprecated. DJI no longer develops it, and newer drones (Matrice 30, Matrice 350 RTK, Matrice 4) only support the Payload SDK. For those, use
as2_platform_dji_psdk.- OSDK needs FFmpeg 4. Its camera stream decoder (
osdk-core/advanced-sensing/camera_stream/src/dji_camera_stream_decoder.cpp) uses FFmpeg APIs that were removed in FFmpeg 5, such asavcodec_register_all,avcodec_decode_video2andAVPicture.- Jazzy ships a newer FFmpeg. Ubuntu 22.04 (Humble) ships FFmpeg 4.4, so the build works. Ubuntu 24.04 (Jazzy) ships FFmpeg 6.1, so the build fails. The same applies to pixi and RoboStack, where conda-forge ships FFmpeg 8 and later.
Requirements
- Ubuntu 22.04 with ROS 2 Humble
- Aerostack2
- A DJI developer app (
app_idandapp_key) from the DJI Developer Center
The OSDK itself is fetched at build time from
aerostack2/Onboard-SDK. Its system dependencies
(libusb-1.0-dev, ffmpeg, libopencv-dev) are declared in package.xml.
Build
From the root of your workspace:
rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_osdk
colcon build --packages-up-to as2_platform_dji_osdk
Usage
Set your app credentials and serial ports in config/user_config_file.txt:
app_id : 123456
app_key : 0123456789abcdefghijklmnopqrstuvwxyz
device : /dev/ttyUSBx
baudrate : 921600
acm_port : /dev/ttyACMx
Then launch the platform:
ros2 launch as2_platform_dji_osdk as2_platform_dji_osdk_launch.py namespace:=drone0
| Argument | Default | Description |
|---|---|---|
namespace |
$AEROSTACK2_SIMULATION_DRONE_ID |
Drone namespace |
user_config_file |
config/user_config_file.txt |
DJI app credentials and serial ports |
control_modes_file |
config/control_modes.yaml |
Platform control modes |
Platform parameters (command and info rates, advanced sensing, camera, MOP channel) are in
config/platform_config_file.yaml, and MOP channel parameters are in
config/mop_handler_config_file.yaml.
Test
colcon test --packages-select as2_platform_dji_osdk
colcon test-result --verbose
Citation
If you use Aerostack2 in your research, please cite:
M. Fernandez-Cortizas, M. Molina, P. Arias-Perez, R. Perez-Segui, D. Perez-Saura and P. Campoy, 2023, “Aerostack2: A software framework for developing multi-robot aerial systems”, arXiv 2303.18237.
License
Changelog for package as2_platform_dji_osdk
1.1.0 (2024-08-20)
- [test] Migrate to ament_lint_auto
- [feat] Update launcher with param utils
- [fix] publising gimbal attitude at any cb hit
- [refactor] repo extracted from main track
- Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, pariaspe
1.0.9 (2024-03-25)
1.0.8 (2024-02-12)
1.0.7 (2024-02-04)
- Added libusb-dev dependency
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.6 (2023-12-12)
1.0.5 (2023-11-08)
- Add camera change source topic
- Fixes gps time subscription
- Contributors: Javilinos, RPS98, Rafael Pérez, pariaspe
1.0.4 (2023-08-23)
- Merge pull request #318 from aerostack2/jenkins-build fixing jenkins build failures
- fixing jenkins build failures
- Contributors: pariaspe
1.0.3 (2023-08-22)
- Merge pull request #317 from aerostack2/316-tf2_geometry_msgs-dep Only use tf2_geometry_msgs library when needed
- only use library when needed
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.2 (2023-08-17)
- Merge pull request #315 from aerostack2/uplink_reliable [as2_platform_dji_osdk] Links qos subscritions changed to reliable
- subs qos changed to reliable
- Merge pull request #309 from aerostack2/mop_channel [as2_platform_dji_osdk] Mop channel communication
- Several commits
- Merge pull request #303 from aerostack2/dji_gimbal_test [as2_platform_dji_osdk] Add gimbal and camera trigger support
- Change camera mode
- [feat] take images
- dji gimbal topic
- Merge pull request #299 from aerostack2/298-as2_platform_dji_osdk-take-off-delay-to-wait-to-be-done [as2_platform_dji_osdk] Add take off sleep to wait until it has finished
- Add take off sleep
- Merge pull request #297 from aerostack2/252-as2_platform_dji_osdk-add-camera-support [as2_platform_dji_osdk] Add camera interface with ROS 2
- Add camera info params
- parameters for enabling camera
- image transport into the platform
- camera image obtained
- Merge pull request #237 from aerostack2/unify_platform_launchers Unify launchers
- Unify platform launchers
- Contributors: AGX Xavier 1, Javier Melero, Javilinos, Miguel, Miguel Fernandez-Cortizas, RPS98, Rafael Pérez, pariaspe
1.0.1 (2023-04-25)
- Merge pull request #223 from aerostack2/200-unify-maintainer-in-packagexmls Maintainer unified to CVAR-UPM
- Maintainer unified to CVAR-UPM
- Merge pull request #212 from aerostack2/211-nodes-should-use-aerostack2-node-create-timer-method-not-create-wall-timer Nodes use Aerostack2 Node Create Timer method, not create wall timer
- Change create wall timer to as2 create timer
- Contributors: Miguel Fernandez-Cortizas, RPS98, pariaspe
1.0.0 (2023-03-18)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| ament_index_cpp | |
| rclcpp | |
| std_msgs | |
| std_srvs | |
| sensor_msgs | |
| geometry_msgs | |
| nav_msgs | |
| as2_core | |
| as2_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged as2_platform_dji_osdk at Robotics Stack Exchange
|
as2_platform_dji_osdk package from as2_platform_dji_osdk repoas2_platform_dji_osdk |
ROS Distro
|
Package Summary
| Version | 1.1.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/aerostack2/as2_platform_dji_osdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- CVAR-UPM
Authors
- Rafael Perez-Segui
as2_platform_dji_osdk
Aerostack2 platform for DJI drones that use the DJI Onboard SDK (OSDK), such as the Matrice 210 V2 and Matrice 300 RTK.
[!WARNING] This package supports ROS 2 Humble only. It won’t be migrated to Jazzy.
- OSDK is deprecated. DJI no longer develops it, and newer drones (Matrice 30, Matrice 350 RTK, Matrice 4) only support the Payload SDK. For those, use
as2_platform_dji_psdk.- OSDK needs FFmpeg 4. Its camera stream decoder (
osdk-core/advanced-sensing/camera_stream/src/dji_camera_stream_decoder.cpp) uses FFmpeg APIs that were removed in FFmpeg 5, such asavcodec_register_all,avcodec_decode_video2andAVPicture.- Jazzy ships a newer FFmpeg. Ubuntu 22.04 (Humble) ships FFmpeg 4.4, so the build works. Ubuntu 24.04 (Jazzy) ships FFmpeg 6.1, so the build fails. The same applies to pixi and RoboStack, where conda-forge ships FFmpeg 8 and later.
Requirements
- Ubuntu 22.04 with ROS 2 Humble
- Aerostack2
- A DJI developer app (
app_idandapp_key) from the DJI Developer Center
The OSDK itself is fetched at build time from
aerostack2/Onboard-SDK. Its system dependencies
(libusb-1.0-dev, ffmpeg, libopencv-dev) are declared in package.xml.
Build
From the root of your workspace:
rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_osdk
colcon build --packages-up-to as2_platform_dji_osdk
Usage
Set your app credentials and serial ports in config/user_config_file.txt:
app_id : 123456
app_key : 0123456789abcdefghijklmnopqrstuvwxyz
device : /dev/ttyUSBx
baudrate : 921600
acm_port : /dev/ttyACMx
Then launch the platform:
ros2 launch as2_platform_dji_osdk as2_platform_dji_osdk_launch.py namespace:=drone0
| Argument | Default | Description |
|---|---|---|
namespace |
$AEROSTACK2_SIMULATION_DRONE_ID |
Drone namespace |
user_config_file |
config/user_config_file.txt |
DJI app credentials and serial ports |
control_modes_file |
config/control_modes.yaml |
Platform control modes |
Platform parameters (command and info rates, advanced sensing, camera, MOP channel) are in
config/platform_config_file.yaml, and MOP channel parameters are in
config/mop_handler_config_file.yaml.
Test
colcon test --packages-select as2_platform_dji_osdk
colcon test-result --verbose
Citation
If you use Aerostack2 in your research, please cite:
M. Fernandez-Cortizas, M. Molina, P. Arias-Perez, R. Perez-Segui, D. Perez-Saura and P. Campoy, 2023, “Aerostack2: A software framework for developing multi-robot aerial systems”, arXiv 2303.18237.
License
Changelog for package as2_platform_dji_osdk
1.1.0 (2024-08-20)
- [test] Migrate to ament_lint_auto
- [feat] Update launcher with param utils
- [fix] publising gimbal attitude at any cb hit
- [refactor] repo extracted from main track
- Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, pariaspe
1.0.9 (2024-03-25)
1.0.8 (2024-02-12)
1.0.7 (2024-02-04)
- Added libusb-dev dependency
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.6 (2023-12-12)
1.0.5 (2023-11-08)
- Add camera change source topic
- Fixes gps time subscription
- Contributors: Javilinos, RPS98, Rafael Pérez, pariaspe
1.0.4 (2023-08-23)
- Merge pull request #318 from aerostack2/jenkins-build fixing jenkins build failures
- fixing jenkins build failures
- Contributors: pariaspe
1.0.3 (2023-08-22)
- Merge pull request #317 from aerostack2/316-tf2_geometry_msgs-dep Only use tf2_geometry_msgs library when needed
- only use library when needed
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.2 (2023-08-17)
- Merge pull request #315 from aerostack2/uplink_reliable [as2_platform_dji_osdk] Links qos subscritions changed to reliable
- subs qos changed to reliable
- Merge pull request #309 from aerostack2/mop_channel [as2_platform_dji_osdk] Mop channel communication
- Several commits
- Merge pull request #303 from aerostack2/dji_gimbal_test [as2_platform_dji_osdk] Add gimbal and camera trigger support
- Change camera mode
- [feat] take images
- dji gimbal topic
- Merge pull request #299 from aerostack2/298-as2_platform_dji_osdk-take-off-delay-to-wait-to-be-done [as2_platform_dji_osdk] Add take off sleep to wait until it has finished
- Add take off sleep
- Merge pull request #297 from aerostack2/252-as2_platform_dji_osdk-add-camera-support [as2_platform_dji_osdk] Add camera interface with ROS 2
- Add camera info params
- parameters for enabling camera
- image transport into the platform
- camera image obtained
- Merge pull request #237 from aerostack2/unify_platform_launchers Unify launchers
- Unify platform launchers
- Contributors: AGX Xavier 1, Javier Melero, Javilinos, Miguel, Miguel Fernandez-Cortizas, RPS98, Rafael Pérez, pariaspe
1.0.1 (2023-04-25)
- Merge pull request #223 from aerostack2/200-unify-maintainer-in-packagexmls Maintainer unified to CVAR-UPM
- Maintainer unified to CVAR-UPM
- Merge pull request #212 from aerostack2/211-nodes-should-use-aerostack2-node-create-timer-method-not-create-wall-timer Nodes use Aerostack2 Node Create Timer method, not create wall timer
- Change create wall timer to as2 create timer
- Contributors: Miguel Fernandez-Cortizas, RPS98, pariaspe
1.0.0 (2023-03-18)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| ament_index_cpp | |
| rclcpp | |
| std_msgs | |
| std_srvs | |
| sensor_msgs | |
| geometry_msgs | |
| nav_msgs | |
| as2_core | |
| as2_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged as2_platform_dji_osdk at Robotics Stack Exchange
|
as2_platform_dji_osdk package from as2_platform_dji_osdk repoas2_platform_dji_osdk |
ROS Distro
|
Package Summary
| Version | 1.1.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/aerostack2/as2_platform_dji_osdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- CVAR-UPM
Authors
- Rafael Perez-Segui
as2_platform_dji_osdk
Aerostack2 platform for DJI drones that use the DJI Onboard SDK (OSDK), such as the Matrice 210 V2 and Matrice 300 RTK.
[!WARNING] This package supports ROS 2 Humble only. It won’t be migrated to Jazzy.
- OSDK is deprecated. DJI no longer develops it, and newer drones (Matrice 30, Matrice 350 RTK, Matrice 4) only support the Payload SDK. For those, use
as2_platform_dji_psdk.- OSDK needs FFmpeg 4. Its camera stream decoder (
osdk-core/advanced-sensing/camera_stream/src/dji_camera_stream_decoder.cpp) uses FFmpeg APIs that were removed in FFmpeg 5, such asavcodec_register_all,avcodec_decode_video2andAVPicture.- Jazzy ships a newer FFmpeg. Ubuntu 22.04 (Humble) ships FFmpeg 4.4, so the build works. Ubuntu 24.04 (Jazzy) ships FFmpeg 6.1, so the build fails. The same applies to pixi and RoboStack, where conda-forge ships FFmpeg 8 and later.
Requirements
- Ubuntu 22.04 with ROS 2 Humble
- Aerostack2
- A DJI developer app (
app_idandapp_key) from the DJI Developer Center
The OSDK itself is fetched at build time from
aerostack2/Onboard-SDK. Its system dependencies
(libusb-1.0-dev, ffmpeg, libopencv-dev) are declared in package.xml.
Build
From the root of your workspace:
rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_osdk
colcon build --packages-up-to as2_platform_dji_osdk
Usage
Set your app credentials and serial ports in config/user_config_file.txt:
app_id : 123456
app_key : 0123456789abcdefghijklmnopqrstuvwxyz
device : /dev/ttyUSBx
baudrate : 921600
acm_port : /dev/ttyACMx
Then launch the platform:
ros2 launch as2_platform_dji_osdk as2_platform_dji_osdk_launch.py namespace:=drone0
| Argument | Default | Description |
|---|---|---|
namespace |
$AEROSTACK2_SIMULATION_DRONE_ID |
Drone namespace |
user_config_file |
config/user_config_file.txt |
DJI app credentials and serial ports |
control_modes_file |
config/control_modes.yaml |
Platform control modes |
Platform parameters (command and info rates, advanced sensing, camera, MOP channel) are in
config/platform_config_file.yaml, and MOP channel parameters are in
config/mop_handler_config_file.yaml.
Test
colcon test --packages-select as2_platform_dji_osdk
colcon test-result --verbose
Citation
If you use Aerostack2 in your research, please cite:
M. Fernandez-Cortizas, M. Molina, P. Arias-Perez, R. Perez-Segui, D. Perez-Saura and P. Campoy, 2023, “Aerostack2: A software framework for developing multi-robot aerial systems”, arXiv 2303.18237.
License
Changelog for package as2_platform_dji_osdk
1.1.0 (2024-08-20)
- [test] Migrate to ament_lint_auto
- [feat] Update launcher with param utils
- [fix] publising gimbal attitude at any cb hit
- [refactor] repo extracted from main track
- Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, pariaspe
1.0.9 (2024-03-25)
1.0.8 (2024-02-12)
1.0.7 (2024-02-04)
- Added libusb-dev dependency
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.6 (2023-12-12)
1.0.5 (2023-11-08)
- Add camera change source topic
- Fixes gps time subscription
- Contributors: Javilinos, RPS98, Rafael Pérez, pariaspe
1.0.4 (2023-08-23)
- Merge pull request #318 from aerostack2/jenkins-build fixing jenkins build failures
- fixing jenkins build failures
- Contributors: pariaspe
1.0.3 (2023-08-22)
- Merge pull request #317 from aerostack2/316-tf2_geometry_msgs-dep Only use tf2_geometry_msgs library when needed
- only use library when needed
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.2 (2023-08-17)
- Merge pull request #315 from aerostack2/uplink_reliable [as2_platform_dji_osdk] Links qos subscritions changed to reliable
- subs qos changed to reliable
- Merge pull request #309 from aerostack2/mop_channel [as2_platform_dji_osdk] Mop channel communication
- Several commits
- Merge pull request #303 from aerostack2/dji_gimbal_test [as2_platform_dji_osdk] Add gimbal and camera trigger support
- Change camera mode
- [feat] take images
- dji gimbal topic
- Merge pull request #299 from aerostack2/298-as2_platform_dji_osdk-take-off-delay-to-wait-to-be-done [as2_platform_dji_osdk] Add take off sleep to wait until it has finished
- Add take off sleep
- Merge pull request #297 from aerostack2/252-as2_platform_dji_osdk-add-camera-support [as2_platform_dji_osdk] Add camera interface with ROS 2
- Add camera info params
- parameters for enabling camera
- image transport into the platform
- camera image obtained
- Merge pull request #237 from aerostack2/unify_platform_launchers Unify launchers
- Unify platform launchers
- Contributors: AGX Xavier 1, Javier Melero, Javilinos, Miguel, Miguel Fernandez-Cortizas, RPS98, Rafael Pérez, pariaspe
1.0.1 (2023-04-25)
- Merge pull request #223 from aerostack2/200-unify-maintainer-in-packagexmls Maintainer unified to CVAR-UPM
- Maintainer unified to CVAR-UPM
- Merge pull request #212 from aerostack2/211-nodes-should-use-aerostack2-node-create-timer-method-not-create-wall-timer Nodes use Aerostack2 Node Create Timer method, not create wall timer
- Change create wall timer to as2 create timer
- Contributors: Miguel Fernandez-Cortizas, RPS98, pariaspe
1.0.0 (2023-03-18)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| ament_index_cpp | |
| rclcpp | |
| std_msgs | |
| std_srvs | |
| sensor_msgs | |
| geometry_msgs | |
| nav_msgs | |
| as2_core | |
| as2_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged as2_platform_dji_osdk at Robotics Stack Exchange
|
as2_platform_dji_osdk package from as2_platform_dji_osdk repoas2_platform_dji_osdk |
ROS Distro
|
Package Summary
| Version | 1.1.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/aerostack2/as2_platform_dji_osdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- CVAR-UPM
Authors
- Rafael Perez-Segui
as2_platform_dji_osdk
Aerostack2 platform for DJI drones that use the DJI Onboard SDK (OSDK), such as the Matrice 210 V2 and Matrice 300 RTK.
[!WARNING] This package supports ROS 2 Humble only. It won’t be migrated to Jazzy.
- OSDK is deprecated. DJI no longer develops it, and newer drones (Matrice 30, Matrice 350 RTK, Matrice 4) only support the Payload SDK. For those, use
as2_platform_dji_psdk.- OSDK needs FFmpeg 4. Its camera stream decoder (
osdk-core/advanced-sensing/camera_stream/src/dji_camera_stream_decoder.cpp) uses FFmpeg APIs that were removed in FFmpeg 5, such asavcodec_register_all,avcodec_decode_video2andAVPicture.- Jazzy ships a newer FFmpeg. Ubuntu 22.04 (Humble) ships FFmpeg 4.4, so the build works. Ubuntu 24.04 (Jazzy) ships FFmpeg 6.1, so the build fails. The same applies to pixi and RoboStack, where conda-forge ships FFmpeg 8 and later.
Requirements
- Ubuntu 22.04 with ROS 2 Humble
- Aerostack2
- A DJI developer app (
app_idandapp_key) from the DJI Developer Center
The OSDK itself is fetched at build time from
aerostack2/Onboard-SDK. Its system dependencies
(libusb-1.0-dev, ffmpeg, libopencv-dev) are declared in package.xml.
Build
From the root of your workspace:
rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_osdk
colcon build --packages-up-to as2_platform_dji_osdk
Usage
Set your app credentials and serial ports in config/user_config_file.txt:
app_id : 123456
app_key : 0123456789abcdefghijklmnopqrstuvwxyz
device : /dev/ttyUSBx
baudrate : 921600
acm_port : /dev/ttyACMx
Then launch the platform:
ros2 launch as2_platform_dji_osdk as2_platform_dji_osdk_launch.py namespace:=drone0
| Argument | Default | Description |
|---|---|---|
namespace |
$AEROSTACK2_SIMULATION_DRONE_ID |
Drone namespace |
user_config_file |
config/user_config_file.txt |
DJI app credentials and serial ports |
control_modes_file |
config/control_modes.yaml |
Platform control modes |
Platform parameters (command and info rates, advanced sensing, camera, MOP channel) are in
config/platform_config_file.yaml, and MOP channel parameters are in
config/mop_handler_config_file.yaml.
Test
colcon test --packages-select as2_platform_dji_osdk
colcon test-result --verbose
Citation
If you use Aerostack2 in your research, please cite:
M. Fernandez-Cortizas, M. Molina, P. Arias-Perez, R. Perez-Segui, D. Perez-Saura and P. Campoy, 2023, “Aerostack2: A software framework for developing multi-robot aerial systems”, arXiv 2303.18237.
License
Changelog for package as2_platform_dji_osdk
1.1.0 (2024-08-20)
- [test] Migrate to ament_lint_auto
- [feat] Update launcher with param utils
- [fix] publising gimbal attitude at any cb hit
- [refactor] repo extracted from main track
- Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, pariaspe
1.0.9 (2024-03-25)
1.0.8 (2024-02-12)
1.0.7 (2024-02-04)
- Added libusb-dev dependency
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.6 (2023-12-12)
1.0.5 (2023-11-08)
- Add camera change source topic
- Fixes gps time subscription
- Contributors: Javilinos, RPS98, Rafael Pérez, pariaspe
1.0.4 (2023-08-23)
- Merge pull request #318 from aerostack2/jenkins-build fixing jenkins build failures
- fixing jenkins build failures
- Contributors: pariaspe
1.0.3 (2023-08-22)
- Merge pull request #317 from aerostack2/316-tf2_geometry_msgs-dep Only use tf2_geometry_msgs library when needed
- only use library when needed
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.2 (2023-08-17)
- Merge pull request #315 from aerostack2/uplink_reliable [as2_platform_dji_osdk] Links qos subscritions changed to reliable
- subs qos changed to reliable
- Merge pull request #309 from aerostack2/mop_channel [as2_platform_dji_osdk] Mop channel communication
- Several commits
- Merge pull request #303 from aerostack2/dji_gimbal_test [as2_platform_dji_osdk] Add gimbal and camera trigger support
- Change camera mode
- [feat] take images
- dji gimbal topic
- Merge pull request #299 from aerostack2/298-as2_platform_dji_osdk-take-off-delay-to-wait-to-be-done [as2_platform_dji_osdk] Add take off sleep to wait until it has finished
- Add take off sleep
- Merge pull request #297 from aerostack2/252-as2_platform_dji_osdk-add-camera-support [as2_platform_dji_osdk] Add camera interface with ROS 2
- Add camera info params
- parameters for enabling camera
- image transport into the platform
- camera image obtained
- Merge pull request #237 from aerostack2/unify_platform_launchers Unify launchers
- Unify platform launchers
- Contributors: AGX Xavier 1, Javier Melero, Javilinos, Miguel, Miguel Fernandez-Cortizas, RPS98, Rafael Pérez, pariaspe
1.0.1 (2023-04-25)
- Merge pull request #223 from aerostack2/200-unify-maintainer-in-packagexmls Maintainer unified to CVAR-UPM
- Maintainer unified to CVAR-UPM
- Merge pull request #212 from aerostack2/211-nodes-should-use-aerostack2-node-create-timer-method-not-create-wall-timer Nodes use Aerostack2 Node Create Timer method, not create wall timer
- Change create wall timer to as2 create timer
- Contributors: Miguel Fernandez-Cortizas, RPS98, pariaspe
1.0.0 (2023-03-18)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| ament_index_cpp | |
| rclcpp | |
| std_msgs | |
| std_srvs | |
| sensor_msgs | |
| geometry_msgs | |
| nav_msgs | |
| as2_core | |
| as2_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged as2_platform_dji_osdk at Robotics Stack Exchange
|
as2_platform_dji_osdk package from as2_platform_dji_osdk repoas2_platform_dji_osdk |
ROS Distro
|
Package Summary
| Version | 1.1.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/aerostack2/as2_platform_dji_osdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- CVAR-UPM
Authors
- Rafael Perez-Segui
as2_platform_dji_osdk
Aerostack2 platform for DJI drones that use the DJI Onboard SDK (OSDK), such as the Matrice 210 V2 and Matrice 300 RTK.
[!WARNING] This package supports ROS 2 Humble only. It won’t be migrated to Jazzy.
- OSDK is deprecated. DJI no longer develops it, and newer drones (Matrice 30, Matrice 350 RTK, Matrice 4) only support the Payload SDK. For those, use
as2_platform_dji_psdk.- OSDK needs FFmpeg 4. Its camera stream decoder (
osdk-core/advanced-sensing/camera_stream/src/dji_camera_stream_decoder.cpp) uses FFmpeg APIs that were removed in FFmpeg 5, such asavcodec_register_all,avcodec_decode_video2andAVPicture.- Jazzy ships a newer FFmpeg. Ubuntu 22.04 (Humble) ships FFmpeg 4.4, so the build works. Ubuntu 24.04 (Jazzy) ships FFmpeg 6.1, so the build fails. The same applies to pixi and RoboStack, where conda-forge ships FFmpeg 8 and later.
Requirements
- Ubuntu 22.04 with ROS 2 Humble
- Aerostack2
- A DJI developer app (
app_idandapp_key) from the DJI Developer Center
The OSDK itself is fetched at build time from
aerostack2/Onboard-SDK. Its system dependencies
(libusb-1.0-dev, ffmpeg, libopencv-dev) are declared in package.xml.
Build
From the root of your workspace:
rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_osdk
colcon build --packages-up-to as2_platform_dji_osdk
Usage
Set your app credentials and serial ports in config/user_config_file.txt:
app_id : 123456
app_key : 0123456789abcdefghijklmnopqrstuvwxyz
device : /dev/ttyUSBx
baudrate : 921600
acm_port : /dev/ttyACMx
Then launch the platform:
ros2 launch as2_platform_dji_osdk as2_platform_dji_osdk_launch.py namespace:=drone0
| Argument | Default | Description |
|---|---|---|
namespace |
$AEROSTACK2_SIMULATION_DRONE_ID |
Drone namespace |
user_config_file |
config/user_config_file.txt |
DJI app credentials and serial ports |
control_modes_file |
config/control_modes.yaml |
Platform control modes |
Platform parameters (command and info rates, advanced sensing, camera, MOP channel) are in
config/platform_config_file.yaml, and MOP channel parameters are in
config/mop_handler_config_file.yaml.
Test
colcon test --packages-select as2_platform_dji_osdk
colcon test-result --verbose
Citation
If you use Aerostack2 in your research, please cite:
M. Fernandez-Cortizas, M. Molina, P. Arias-Perez, R. Perez-Segui, D. Perez-Saura and P. Campoy, 2023, “Aerostack2: A software framework for developing multi-robot aerial systems”, arXiv 2303.18237.
License
Changelog for package as2_platform_dji_osdk
1.1.0 (2024-08-20)
- [test] Migrate to ament_lint_auto
- [feat] Update launcher with param utils
- [fix] publising gimbal attitude at any cb hit
- [refactor] repo extracted from main track
- Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, pariaspe
1.0.9 (2024-03-25)
1.0.8 (2024-02-12)
1.0.7 (2024-02-04)
- Added libusb-dev dependency
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.6 (2023-12-12)
1.0.5 (2023-11-08)
- Add camera change source topic
- Fixes gps time subscription
- Contributors: Javilinos, RPS98, Rafael Pérez, pariaspe
1.0.4 (2023-08-23)
- Merge pull request #318 from aerostack2/jenkins-build fixing jenkins build failures
- fixing jenkins build failures
- Contributors: pariaspe
1.0.3 (2023-08-22)
- Merge pull request #317 from aerostack2/316-tf2_geometry_msgs-dep Only use tf2_geometry_msgs library when needed
- only use library when needed
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.2 (2023-08-17)
- Merge pull request #315 from aerostack2/uplink_reliable [as2_platform_dji_osdk] Links qos subscritions changed to reliable
- subs qos changed to reliable
- Merge pull request #309 from aerostack2/mop_channel [as2_platform_dji_osdk] Mop channel communication
- Several commits
- Merge pull request #303 from aerostack2/dji_gimbal_test [as2_platform_dji_osdk] Add gimbal and camera trigger support
- Change camera mode
- [feat] take images
- dji gimbal topic
- Merge pull request #299 from aerostack2/298-as2_platform_dji_osdk-take-off-delay-to-wait-to-be-done [as2_platform_dji_osdk] Add take off sleep to wait until it has finished
- Add take off sleep
- Merge pull request #297 from aerostack2/252-as2_platform_dji_osdk-add-camera-support [as2_platform_dji_osdk] Add camera interface with ROS 2
- Add camera info params
- parameters for enabling camera
- image transport into the platform
- camera image obtained
- Merge pull request #237 from aerostack2/unify_platform_launchers Unify launchers
- Unify platform launchers
- Contributors: AGX Xavier 1, Javier Melero, Javilinos, Miguel, Miguel Fernandez-Cortizas, RPS98, Rafael Pérez, pariaspe
1.0.1 (2023-04-25)
- Merge pull request #223 from aerostack2/200-unify-maintainer-in-packagexmls Maintainer unified to CVAR-UPM
- Maintainer unified to CVAR-UPM
- Merge pull request #212 from aerostack2/211-nodes-should-use-aerostack2-node-create-timer-method-not-create-wall-timer Nodes use Aerostack2 Node Create Timer method, not create wall timer
- Change create wall timer to as2 create timer
- Contributors: Miguel Fernandez-Cortizas, RPS98, pariaspe
1.0.0 (2023-03-18)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| ament_index_cpp | |
| rclcpp | |
| std_msgs | |
| std_srvs | |
| sensor_msgs | |
| geometry_msgs | |
| nav_msgs | |
| as2_core | |
| as2_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged as2_platform_dji_osdk at Robotics Stack Exchange
|
as2_platform_dji_osdk package from as2_platform_dji_osdk repoas2_platform_dji_osdk |
ROS Distro
|
Package Summary
| Version | 1.1.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/aerostack2/as2_platform_dji_osdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- CVAR-UPM
Authors
- Rafael Perez-Segui
as2_platform_dji_osdk
Aerostack2 platform for DJI drones that use the DJI Onboard SDK (OSDK), such as the Matrice 210 V2 and Matrice 300 RTK.
[!WARNING] This package supports ROS 2 Humble only. It won’t be migrated to Jazzy.
- OSDK is deprecated. DJI no longer develops it, and newer drones (Matrice 30, Matrice 350 RTK, Matrice 4) only support the Payload SDK. For those, use
as2_platform_dji_psdk.- OSDK needs FFmpeg 4. Its camera stream decoder (
osdk-core/advanced-sensing/camera_stream/src/dji_camera_stream_decoder.cpp) uses FFmpeg APIs that were removed in FFmpeg 5, such asavcodec_register_all,avcodec_decode_video2andAVPicture.- Jazzy ships a newer FFmpeg. Ubuntu 22.04 (Humble) ships FFmpeg 4.4, so the build works. Ubuntu 24.04 (Jazzy) ships FFmpeg 6.1, so the build fails. The same applies to pixi and RoboStack, where conda-forge ships FFmpeg 8 and later.
Requirements
- Ubuntu 22.04 with ROS 2 Humble
- Aerostack2
- A DJI developer app (
app_idandapp_key) from the DJI Developer Center
The OSDK itself is fetched at build time from
aerostack2/Onboard-SDK. Its system dependencies
(libusb-1.0-dev, ffmpeg, libopencv-dev) are declared in package.xml.
Build
From the root of your workspace:
rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_osdk
colcon build --packages-up-to as2_platform_dji_osdk
Usage
Set your app credentials and serial ports in config/user_config_file.txt:
app_id : 123456
app_key : 0123456789abcdefghijklmnopqrstuvwxyz
device : /dev/ttyUSBx
baudrate : 921600
acm_port : /dev/ttyACMx
Then launch the platform:
ros2 launch as2_platform_dji_osdk as2_platform_dji_osdk_launch.py namespace:=drone0
| Argument | Default | Description |
|---|---|---|
namespace |
$AEROSTACK2_SIMULATION_DRONE_ID |
Drone namespace |
user_config_file |
config/user_config_file.txt |
DJI app credentials and serial ports |
control_modes_file |
config/control_modes.yaml |
Platform control modes |
Platform parameters (command and info rates, advanced sensing, camera, MOP channel) are in
config/platform_config_file.yaml, and MOP channel parameters are in
config/mop_handler_config_file.yaml.
Test
colcon test --packages-select as2_platform_dji_osdk
colcon test-result --verbose
Citation
If you use Aerostack2 in your research, please cite:
M. Fernandez-Cortizas, M. Molina, P. Arias-Perez, R. Perez-Segui, D. Perez-Saura and P. Campoy, 2023, “Aerostack2: A software framework for developing multi-robot aerial systems”, arXiv 2303.18237.
License
Changelog for package as2_platform_dji_osdk
1.1.0 (2024-08-20)
- [test] Migrate to ament_lint_auto
- [feat] Update launcher with param utils
- [fix] publising gimbal attitude at any cb hit
- [refactor] repo extracted from main track
- Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, pariaspe
1.0.9 (2024-03-25)
1.0.8 (2024-02-12)
1.0.7 (2024-02-04)
- Added libusb-dev dependency
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.6 (2023-12-12)
1.0.5 (2023-11-08)
- Add camera change source topic
- Fixes gps time subscription
- Contributors: Javilinos, RPS98, Rafael Pérez, pariaspe
1.0.4 (2023-08-23)
- Merge pull request #318 from aerostack2/jenkins-build fixing jenkins build failures
- fixing jenkins build failures
- Contributors: pariaspe
1.0.3 (2023-08-22)
- Merge pull request #317 from aerostack2/316-tf2_geometry_msgs-dep Only use tf2_geometry_msgs library when needed
- only use library when needed
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.2 (2023-08-17)
- Merge pull request #315 from aerostack2/uplink_reliable [as2_platform_dji_osdk] Links qos subscritions changed to reliable
- subs qos changed to reliable
- Merge pull request #309 from aerostack2/mop_channel [as2_platform_dji_osdk] Mop channel communication
- Several commits
- Merge pull request #303 from aerostack2/dji_gimbal_test [as2_platform_dji_osdk] Add gimbal and camera trigger support
- Change camera mode
- [feat] take images
- dji gimbal topic
- Merge pull request #299 from aerostack2/298-as2_platform_dji_osdk-take-off-delay-to-wait-to-be-done [as2_platform_dji_osdk] Add take off sleep to wait until it has finished
- Add take off sleep
- Merge pull request #297 from aerostack2/252-as2_platform_dji_osdk-add-camera-support [as2_platform_dji_osdk] Add camera interface with ROS 2
- Add camera info params
- parameters for enabling camera
- image transport into the platform
- camera image obtained
- Merge pull request #237 from aerostack2/unify_platform_launchers Unify launchers
- Unify platform launchers
- Contributors: AGX Xavier 1, Javier Melero, Javilinos, Miguel, Miguel Fernandez-Cortizas, RPS98, Rafael Pérez, pariaspe
1.0.1 (2023-04-25)
- Merge pull request #223 from aerostack2/200-unify-maintainer-in-packagexmls Maintainer unified to CVAR-UPM
- Maintainer unified to CVAR-UPM
- Merge pull request #212 from aerostack2/211-nodes-should-use-aerostack2-node-create-timer-method-not-create-wall-timer Nodes use Aerostack2 Node Create Timer method, not create wall timer
- Change create wall timer to as2 create timer
- Contributors: Miguel Fernandez-Cortizas, RPS98, pariaspe
1.0.0 (2023-03-18)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| ament_index_cpp | |
| rclcpp | |
| std_msgs | |
| std_srvs | |
| sensor_msgs | |
| geometry_msgs | |
| nav_msgs | |
| as2_core | |
| as2_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged as2_platform_dji_osdk at Robotics Stack Exchange
|
as2_platform_dji_osdk package from as2_platform_dji_osdk repoas2_platform_dji_osdk |
ROS Distro
|
Package Summary
| Version | 1.1.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/aerostack2/as2_platform_dji_osdk.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-11-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- CVAR-UPM
Authors
- Rafael Perez-Segui
as2_platform_dji_osdk
Aerostack2 platform for DJI drones that use the DJI Onboard SDK (OSDK), such as the Matrice 210 V2 and Matrice 300 RTK.
[!WARNING] This package supports ROS 2 Humble only. It won’t be migrated to Jazzy.
- OSDK is deprecated. DJI no longer develops it, and newer drones (Matrice 30, Matrice 350 RTK, Matrice 4) only support the Payload SDK. For those, use
as2_platform_dji_psdk.- OSDK needs FFmpeg 4. Its camera stream decoder (
osdk-core/advanced-sensing/camera_stream/src/dji_camera_stream_decoder.cpp) uses FFmpeg APIs that were removed in FFmpeg 5, such asavcodec_register_all,avcodec_decode_video2andAVPicture.- Jazzy ships a newer FFmpeg. Ubuntu 22.04 (Humble) ships FFmpeg 4.4, so the build works. Ubuntu 24.04 (Jazzy) ships FFmpeg 6.1, so the build fails. The same applies to pixi and RoboStack, where conda-forge ships FFmpeg 8 and later.
Requirements
- Ubuntu 22.04 with ROS 2 Humble
- Aerostack2
- A DJI developer app (
app_idandapp_key) from the DJI Developer Center
The OSDK itself is fetched at build time from
aerostack2/Onboard-SDK. Its system dependencies
(libusb-1.0-dev, ffmpeg, libopencv-dev) are declared in package.xml.
Build
From the root of your workspace:
rosdep install -y -r --ignore-src --from-paths src --packages-up-to as2_platform_dji_osdk
colcon build --packages-up-to as2_platform_dji_osdk
Usage
Set your app credentials and serial ports in config/user_config_file.txt:
app_id : 123456
app_key : 0123456789abcdefghijklmnopqrstuvwxyz
device : /dev/ttyUSBx
baudrate : 921600
acm_port : /dev/ttyACMx
Then launch the platform:
ros2 launch as2_platform_dji_osdk as2_platform_dji_osdk_launch.py namespace:=drone0
| Argument | Default | Description |
|---|---|---|
namespace |
$AEROSTACK2_SIMULATION_DRONE_ID |
Drone namespace |
user_config_file |
config/user_config_file.txt |
DJI app credentials and serial ports |
control_modes_file |
config/control_modes.yaml |
Platform control modes |
Platform parameters (command and info rates, advanced sensing, camera, MOP channel) are in
config/platform_config_file.yaml, and MOP channel parameters are in
config/mop_handler_config_file.yaml.
Test
colcon test --packages-select as2_platform_dji_osdk
colcon test-result --verbose
Citation
If you use Aerostack2 in your research, please cite:
M. Fernandez-Cortizas, M. Molina, P. Arias-Perez, R. Perez-Segui, D. Perez-Saura and P. Campoy, 2023, “Aerostack2: A software framework for developing multi-robot aerial systems”, arXiv 2303.18237.
License
Changelog for package as2_platform_dji_osdk
1.1.0 (2024-08-20)
- [test] Migrate to ament_lint_auto
- [feat] Update launcher with param utils
- [fix] publising gimbal attitude at any cb hit
- [refactor] repo extracted from main track
- Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, pariaspe
1.0.9 (2024-03-25)
1.0.8 (2024-02-12)
1.0.7 (2024-02-04)
- Added libusb-dev dependency
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.6 (2023-12-12)
1.0.5 (2023-11-08)
- Add camera change source topic
- Fixes gps time subscription
- Contributors: Javilinos, RPS98, Rafael Pérez, pariaspe
1.0.4 (2023-08-23)
- Merge pull request #318 from aerostack2/jenkins-build fixing jenkins build failures
- fixing jenkins build failures
- Contributors: pariaspe
1.0.3 (2023-08-22)
- Merge pull request #317 from aerostack2/316-tf2_geometry_msgs-dep Only use tf2_geometry_msgs library when needed
- only use library when needed
- Contributors: Miguel Fernandez-Cortizas, pariaspe
1.0.2 (2023-08-17)
- Merge pull request #315 from aerostack2/uplink_reliable [as2_platform_dji_osdk] Links qos subscritions changed to reliable
- subs qos changed to reliable
- Merge pull request #309 from aerostack2/mop_channel [as2_platform_dji_osdk] Mop channel communication
- Several commits
- Merge pull request #303 from aerostack2/dji_gimbal_test [as2_platform_dji_osdk] Add gimbal and camera trigger support
- Change camera mode
- [feat] take images
- dji gimbal topic
- Merge pull request #299 from aerostack2/298-as2_platform_dji_osdk-take-off-delay-to-wait-to-be-done [as2_platform_dji_osdk] Add take off sleep to wait until it has finished
- Add take off sleep
- Merge pull request #297 from aerostack2/252-as2_platform_dji_osdk-add-camera-support [as2_platform_dji_osdk] Add camera interface with ROS 2
- Add camera info params
- parameters for enabling camera
- image transport into the platform
- camera image obtained
- Merge pull request #237 from aerostack2/unify_platform_launchers Unify launchers
- Unify platform launchers
- Contributors: AGX Xavier 1, Javier Melero, Javilinos, Miguel, Miguel Fernandez-Cortizas, RPS98, Rafael Pérez, pariaspe
1.0.1 (2023-04-25)
- Merge pull request #223 from aerostack2/200-unify-maintainer-in-packagexmls Maintainer unified to CVAR-UPM
- Maintainer unified to CVAR-UPM
- Merge pull request #212 from aerostack2/211-nodes-should-use-aerostack2-node-create-timer-method-not-create-wall-timer Nodes use Aerostack2 Node Create Timer method, not create wall timer
- Change create wall timer to as2 create timer
- Contributors: Miguel Fernandez-Cortizas, RPS98, pariaspe
1.0.0 (2023-03-18)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| ament_cmake_gtest | |
| ament_index_cpp | |
| rclcpp | |
| std_msgs | |
| std_srvs | |
| sensor_msgs | |
| geometry_msgs | |
| nav_msgs | |
| as2_core | |
| as2_msgs |