as I mentioned in the title I would like to know how to access uORBs on a companion computer which is linked via mavros.
Long story short - I would like to see the current actuator Outputs while I’am flying for some custom physical/mathematical model. So I can calculate the current forces of each rotor. I know there is a promising uLOG/Topic about actuator_outputs but while I’m a flying I have nothing similar as a rostopic.
Thanks for everyone who can help me out.
Hi, the Firmware sends the actuator_outputs uorb message on mavlink message servo_output_raw. You can that listen to the mavros topic published by this plugin https://github.com/mavlink/mavros/blob/d42534c94207382fdc4db2377a631d1071b8950c/mavros/src/plugins/rc_io.cpp#L162 to get the information on the ros side.
yeah thanks I will have a look tomorrow
I had a look at the mavros/rc_io and I realized it is already a published Topic in my Basic configuration - and yeah thanks a lot for your advice. Overall the Logdata and the Rosdata are quite similar, but if I zoom in I see some differences. In the Picture below the datasets are evaluated in matlab and searched for the arming-rc-input which will result in the px4 arming and also starting the ulog on arming - so yeah let’s call it a pseudo sync along their timestamps …
But these values should be the same ?!
As far as I know the data link chain should be:
uLog= uOrb → mavlink servo_output_raw → mavros rc/out
so I wonder about the difference - do you know anything about it?
Maybe some kind of dataconversion on mavlink side?
Maybe noise while transmitting?
Maybe still some bad allignment on my side of rosbag-csv and ulog-csv in matlab…
One difference is the message rate: the uORB logging rate is 100Hz while the rate at which the mavlink message is sent from the Firmware is 10Hz
Mavros does a 1:1 copy of the values received from mavlink into a ros message.