The latest update on Sep 8 2017 brought back the local position topic in Cartesian frame (ENU) and addressed several issues reported on github. The dji_sdk/SetLocalPosRef
service and the dji_sdk/local_position
topic were added.
This repository contains the Onboard SDK ROS wrapper and demos. The ROS package requires Onboard SDK (djiosdk-core) to be installed to your system prior to running it. For detailed setup instructions, please follow the documentation here.
The ROS package is a full rewrite of DJI Onboard SDK ROS, with changes in APIs, reference frames, communication mechanisms etc. We encourage you to take a look at the documentation for full details.
ROS Wiki can be found here. Please be sure to read the release notes.
DJI Onboard SDK ROS 3.3 was developed to support N3/A3 FW 1.7.5 and above, and is backword compatible with M100 FW 1.3.1.
Aircraft/FC | Firmware Package Version | Flight Controller Version | OSDK-ROS Branch |
---|---|---|---|
A3/A3 Pro | 1.7.1.5 | 3.2.36.8 | OSDK-ROS 3.3 (Current) |
1.7.0.5 | 3.2.15.50 | OSDK-ROS 3.2 | |
1.7.0.0 | 3.2.15.37 | OSDK-ROS 3.2 | |
N3 | 1.7.1.5 | 3.2.36.8 | OSDK-ROS 3.3 (Current) |
1.7.0.0 | 3.2.15.37 | OSDK-ROS 3.2 | |
M600/M600 Pro | 1.0.1.60 | 3.2.41.5 | OSDK-ROS 3.3 (Current) |
1.0.1.20 | 3.2.15.62 | OSDK-ROS 3.2 | |
1.0.0.80 | 3.2.15.00 | OSDK-ROS 3.2 | |
M100 | 1.3.1.0 | 3.1.10.0 | OSDK-ROS 3.3 (Current), |
and OSDK-ROS 3.2 |
Onboard SDK ROS is backward compatible with M100. However, due to the limitations of the flight controller of M100, some new features such as hardware sync, MFIO, on demand telemetry data (subscription) are only supported by A3/N3, and some settings for M100 are different from those for A3/N3.
-
The DJI Assistant 2 for M100 and for A3/N3 are slighly different. Please download DJI Assistant 2 from the corresponding product webpage.
-
The DJI SDK ROS package requires different baud rate for M100 and A3/N3. For M100, set the baud rate to 230400 in DJI Assistant 2's "SDK" tab, and the sdk.launch file; while for A3/N3, use 921600.
-
For M100, on the right side of the "SDK setting" tab of DJI Assistant 2, set the Data Type of ACC and GYRO to "Raw Data", and ALTI to "Data Fusion". The reason is that the raw data of acc and gyro are part of the
/dji_sdk/imu
message. -
The
flight_status
enums for M100 and A3/N3 are different. Seedji_sdk.h
for details anddemo_flight_control
for examples. -
Some topics are only available on A3/N3:
display_mode
,angular_velocity_fused
,acceleration_ground_fused
,trigger_time
. -
The imu topic is published at 400Hz on A3/N3, and at 100Hz on M100.
-
Some services are only available on A3/N3:
mfio_config
,mfio_set_value
,set_hardsyc
You can get support from DJI and the community with the following methods:
- Report issue on github
- Email to [email protected]
- DJI Forum