Obtain msg from Pixhawk

1 Ansicht (letzte 30 Tage)
Xiaowei Xing
Xiaowei Xing am 17 Nov. 2023
Kommentiert: Xiaowei Xing am 28 Nov. 2023
I want to read messages from Pixhawk and send commands to Pixhawk with Simulink or MATLAB.
Some information: Pixhawk 4, MATLAB r2023b, Holybro telemetry radio.
I attach a telemetry radio on a local computer and attach a telemetry radio on Pixhawk. Here are some screenshots of my simulink model. In this case, I want to read attitude measurements. However, it shows that the values of roll, pitch and yaw are always zero, even if I rotate Pixhawk.
I also tried to play with ports with MATLAB. But I have not figured out how to receive a complete frame of msg. Here are some screenshot of my script and results. I think the length of "data" in the workspace should be 280 at most according to https://mavlink.io/en/guide/serialization.html (maybe I did not understand that correctly).
Thanks in advance.

Akzeptierte Antwort

Ankur Bose
Ankur Bose am 27 Nov. 2023
In you MATLAB script, add the below two lines of code
dialect = mavlinkdialect("common.xml");
msg = deserializemsg(dialect,buffer);
This will decode the received data in the base workspace in the variable "msg".
You can do same thing in Simulink. Your model looks correct. Remove the header and terminator values from the Serial Receive block.
  1 Kommentar
Xiaowei Xing
Xiaowei Xing am 28 Nov. 2023
Thanks Mr. Bose. I tried with MALTAB script and it worked ; )

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by