问题
I`m facing issue that with OSDK-ROS 3.7 and 3.8, I could not run demo_flight_control sample correctly
After api auto taking off in the simulator, the drone just stuck there. And there is command being published to the flight_control ENU topic.
The GPS based demo_mission has no issue. It can auto fly to the coordinate.
The hardware and firmware version I`m using is
STATUS/1 @ parseDroneVersionInfo, L729: Hardware = A3
STATUS/1 @ parseDroneVersionInfo, L730: Firmware = 3.3.8.47
The minimal sample for reproducing the issue is from here
https://github.com/dji-sdk/Onboard-SDK-ROS/tree/3.8/dji_sdk_demo/src
The flight_control issue is the same for OSDK (option b) and OSDK-ROS (default)
For Previous 3.3 3.5 3.6 I never encounter this before. I`ve send report to dev@dji.com. No response yet
回答1:
I solve the problem by myself
On https://github.com/dji-sdk/Onboard-SDK-ROS/tree/3.7 and 3.8 reqires at least 1.7.6
But I can't find it 1.7.6 in the DJI assistant 2 firmware only 1.7.7 and 1.7.5. So I decided to use 1.7.7
But 1.7.7 does only work for GPS waypoint mission and does not support setpoint_generic based control
So the solution is to use 1.7.5 to get both GPS based mission and ros topic based velocity control working.
Below this version, the version control in the DJI system is hell with randomly labeled version. So you have to keep trial and error to get things up
Below is DJI Email response. Pretty useless but will provide some cue for others to debug the similar issue
Bruce Cheung (DJI)
Dear Shenghai,
Thank you for contacting DJI.
We cannot reproduce the problem you mentioned by using A3 with OSDK3.7 and 3.8
Can you try to take control authority directly? using /dji_sdk/sdk_control_authority
Also try publishing the /dji_sdk/flight_control_setpoint_ENUposition_yaw control command, do not use the sample.
Thank you for your understanding and support, hope you a delighted life.
Best Regards, DJI SDK Support Team
Hi Bruce
I tried what you mentioned., use
FIrst launch sdk.launch
Then, rosservical call /dji_sdk/sdk_control_authority 1
And write a simple empty C++ script to publish to /dji_sdk/flight_control_setpoint_generic.
The result is the same. the drone is not moving in the DJI assistant2 simulator.
My theory is the A3 firmware version might be too high on GitHub https://github.com/dji-sdk/Onboard-SDK-ROS/tree/3.7
it says 3.7 and 3.8 support
A3/A3 Pro 1.7.6.0 But I can't find it 1.7.6 in the DJI assistant 2 firmware only 1.7.7 and 1.7.5. So I decided to use 1.7.7
Will this be the issue?
Its 11 pm in Singapore, I ll take two videos of sample and custom method tmr morning. I`ll upload the video to youtube. you can see from there.
Regards
Shenghai Yuan
来源:https://stackoverflow.com/questions/56696909/dji-osdk-and-osdk-ros-3-7-and-3-8-bug-demo-flight-control-take-off-and-halt