dji-sdk / Onboard-SDK-ROS

Official ROS packages for DJI onboard SDK.
437 stars 308 forks source link

Drone version not obtained! #391

Open sbdjyl opened 3 years ago

sbdjyl commented 3 years ago

os:ubuntu16.04 osdk:3.8 osdk-ros:3.8 A3 with 1.7.7 version datalink 3 with v1.2.0

I have 2 problems, 1.In the web of osdk3.8.1,it says [a3 Firmware Package Version 1.7.7.0 Flight Controller Version 3.3.8.47] is supported ,what [Flight Controller Version] means? And how to know my version?

2.When I run “roslaunch djiros djiros.launch” in ubuntu terminal, an error has occurred:

ERRORLOG/1 @ getDroneVersion, L1377: Drone version not obtained! Please do not proceed.

It provides some possible reasons,and I have check all of them ,but the error always occurred. How to fix that?

The complete logsis here:

~$ roslaunch djiros djiros.launch ... logging to /home/uav2/.ros/log/687d36de-f267-11ea-8605-34e12d8d0fd1/roslaunch-uav2-NUC-4820.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://uav2-NUC:39049/

SUMMARY

PARAMETERS

NODES / djiros (djiros/djiros_node)

auto-starting new master process[master]: started with pid [4830] ROS_MASTER_URI=http://localhost:11311

setting /run_id to 687d36de-f267-11ea-8605-34e12d8d0fd1 process[rosout-1]: started with pid [4843] started core service [/rosout] process[djiros-2]: started with pid [4846]

STATUS/1 @ init, L55: Attempting to open device /dev/ttyUSB0 with baudrate 921600...

STATUS/1 @ init, L65: ...Serial started successfully.

ERRORLOG/1 @ getDroneVersion, L1377: Drone version not obtained! Please do not proceed. Possible reasons: Serial port connection:

[ERROR] [1599633660.378416991]: drone activation error [ERROR] [1599633660.378554775]: Vehicle initialization failed terminate called after throwing an instance of 'std::runtime_error' what(): initVehicle failed ERRORLOG/1 @ activate, L1266: Unable to initialize some vehicle components![djiros-2] process has died [pid 4846, exit code -6, cmd /home/uav2/catkin_ws/devel/lib/djiros/djiros_node name:=djiros log:=/home/uav2/.ros/log/687d36de-f267-11ea-8605-34e12d8d0fd1/djiros-2.log]. log file: /home/uav2/.ros/log/687d36de-f267-11ea-8605-34e12d8d0fd1/djiros-2*.log

dji-dev commented 3 years ago

Agent comment from kyle.cai in Zendesk ticket #39042:

Dear developer ,

Thank you for contacting DJI.

1.In the web of osdk3.8.1,it says [a3 Firmware Package Version 1.7.7.0 Flight Controller Version 3.3.8.47] is supported ,what [Flight Controller Version] means? And how to know my version? -->The Flight Controller Version corresponds to the Firmware Package Version, and you can just focus on the Firmware Package Version, which can be viewed through DJI Assistant2.

  1. The log shows that the serial communication exception, you can check it follow the promts:
    • SDK is not enabled, please check DJI Assistant2 -> SDK -> [v] Enable API Control.
    • Baudrate is not correct, please double-check from DJI Assistant2 -> SDK -> baudrate.
    • TX and RX pins are inverted.
    • Serial port is occupied by another program.
    • Permission required. Please do 'sudo usermod -a -G dialout $USER' (you do not need to replace $USER with your username).

if it is still promts error , suggest you reduce the baud rate to test(The OSDK should set the same baudrate with drone )

Thank you for your understanding and support, hope you have a nice day.

Best Regards, DJI SDK Support Team

sbdjyl commented 3 years ago

i have try all the baud rate in DJI Assistant2(when i change the baurd rate, i also change the baurd rate in OSDK),but it can not work. what more can i do?

dji-dev commented 3 years ago

Agent comment from kyle.cai in Zendesk ticket #39042:

Dear developer ,

Thank you for contacting DJI.

Suggest you check the device connections again ,or if it's convenient, you can provide the connection picture. In addition, recommended test steps: 1、change the baurd rate to 230400 by DJI Assistant2 and then restart the drone 2、using OSDK origin Linux demo with baurd rate: 230400 3、using PC Ubuntu1604 excute origin Linux demo with baurd rate: 230400 4、exchange TX and RX pins 5、test again

Thank you for your understanding and support, hope you have a nice day.

Best Regards, DJI SDK Support Team

sbdjyl commented 3 years ago

I do what you say: test OSDK demo with baurd rate 230400. but i get the same error. I compare the logs with the normal result in the picture2 on the web . the errer cames form the first step which to get drone version. and i try to exchange TX and RX pins, it will make another error: serial start fail. I have also make sure the baurd rate in UserConfig.txt is 230400 , and my app id,app key is right.

Is there any other reason for this problem??

the logs is here:

./djiosdk-flightcontrol-sample UserConfig.txt UserConfig.txt Read App ID User Configuration read successfully.

STATUS/1 @ init, L55: Attempting to open device /dev/ttyUSB0 with baudrate 230400...

STATUS/1 @ init, L65: ...Serial started successfully.

ERRORLOG/1 @ getDroneVersion, L1418: Drone version not obtained! Please do not proceed. Possible reasons: Serial port connection:

ERRORLOG/1 @ activate, L1302: Unable to initialize some vehicle components! STATUS/1 @ getErrorCodeMessage, L656: initVehicle STATUS/1 @ getCommonErrorCodeMessage, L722: ACK_NO_RESPONSE_ERROR

dji-dev commented 3 years ago

Agent comment from kyle.cai in Zendesk ticket #39042:

Dear developer ,

Thank you for contacting DJI.

Suggest you provide hardware connection photos (both A3 side and Onboard computer side).

Thank you for your understanding and support, hope you have a nice day.

Best Regards, DJI SDK Support Team

sbdjyl commented 3 years ago

hardware connection photos : A3 side A3

Onboard computer side COMPUTER

thank you!

dji-dev commented 3 years ago

Agent comment from kyle.cai in Zendesk ticket #39042:

Dear developer ,

Thank you for contacting DJI.

The hardware connection looks correct, Is it convenient for you to change to another serial port module for testing? And suggest check the permissions:

Thank you for your understanding and support, hope you have a nice day.

Best Regards, DJI SDK Support Team
inline99189093.png

sbdjyl commented 3 years ago

i have done that before i ask you for help, and i do that again:

photo

i have four serial port modules ,but they are all the same.
We test the serial port modules with a FPGA, and it can work well. Is it possible that there is something wrong with A3?I don't have another A3 to test.

dji-dev commented 3 years ago

Agent comment from kyle.cai in Zendesk ticket #39042:

Dear developer ,

Thank you for contacting DJI.

If so, may need to troubleshoot this problem. Do you have any other DJI drone(other than A3) ? and It is recommended that you click on the links on the right side and fill in the relevant demand information, https://formcrafts.com/a/dji-developer-feedback-en In order to better match your requirements, try to include the following information when filling in:

  1. Company/organization profile
  2. Personal background or brief introduction. 3.Is it convenient to send A3 back to DJI for testing?

Thank you for your understanding and support, hope you have a nice day.

Best Regards, DJI SDK Support Team

lanyusea commented 3 years ago

@sbdjyl could you check if there is any data output by command cat /dev/ttyUSB0

sbdjyl commented 3 years ago

@sbdjyl could you check if there is any data output by command cat /dev/ttyUSB0

@lanyusea i do that,and there is no data output

Devoe-97 commented 3 years ago

I got the same problem with A3. But I got a lot of data in the serial usb.