Problems with some px4 ros topics

Hello, i have some topics from px4 i can’t echo ??!
They are present on tiopic list , but some can’t be read.
i have done a fresh install of ubuntu server 22.04 on a raspbery.
Installed humble from deb , microxrce agent via snap, and px4_msgs from git
All is sourced, I can start the agent and see the topics, but i can’t echo /fmu/out/vehicle_local_position or vehicle_air_data… and i can echo some topics like odometry…

here is the output from my controler node :

 python3 CTL.py 

>>> [rcutils|error_handling.c:108] rcutils_set_error_state()
This error state is being overwritten:

  'Fast CDR exception deserializing message of type px4_msgs::msg::dds_::VehicleLocalPosition_., at ./src/type_support_common.cpp:118'

with this new error message:

  'Fast CDR exception deserializing message of type px4_msgs::msg::dds_::VehicleAirData_., at ./src/type_support_common.cpp:118'

rcutils_reset_error() should be called after error handling to avoid this.
<<<

>>> [rcutils|error_handling.c:108] rcutils_set_error_state()
This error state is being overwritten:

  'Fast CDR exception deserializing message of type px4_msgs::msg::dds_::VehicleAirData_., at ./src/type_support_common.cpp:118'

with this new error message:

  'Fast CDR exception deserializing message of type px4_msgs::msg::dds_::VehicleLocalPosition_., at ./src/type_support_common.cpp:118'

rcutils_reset_error() should be called after error handling to avoid this.
<<<

>>> [rcutils|error_handling.c:108] rcutils_set_error_state()
This error state is being overwritten:

  'Fast CDR exception deserializing message of type px4_msgs::msg::dds_::VehicleLocalPosition_., at ./src/type_support_common.cpp:118'

with this new error message:

  'Fast CDR exception deserializing message of type px4_msgs::msg::dds_::VehicleAirData_., at ./src/type_support_common.cpp:118'

rcutils_reset_error() should be called after error handling to avoid this.
<<<

>>> [rcutils|error_handling.c:108] rcutils_set_error_state()
This error state is being overwritten:

  'Fast CDR exception deserializing message of type px4_msgs::msg::dds_::VehicleAirData_., at ./src/type_support_common.cpp:118'

with this new error message:

  'Fast CDR exception deserializing message of type px4_msgs::msg::dds_::SensorGps_., at ./src/type_support_common.cpp:118'

rcutils_reset_error() should be called after error handling to avoid this.
<<<

>>> [rcutils|error_handling.c:108] rcutils_set_error_state()
This error state is being overwritten:

  'Fast CDR exception deserializing message of type px4_msgs::msg::dds_::SensorGps_., at ./src/type_support_common.cpp:118'

with this new error message:

  'Fast CDR exception deserializing message of type px4_msgs::msg::dds_::VehicleLocalPosition_., at ./src/type_support_common.cpp:118'

rcutils_reset_error() should be called after error handling to avoid this.
<<<

>>> [rcutils|error_handling.c:108] rcutils_set_error_state()
This error state is being overwritten:

I can echo this topics from my others computers, and CTL.py work.
I think the problem come from px4_msgs on the fresh install ?

Why some topics works like /fmu/out/vehicle_odometry or /fmu/out/vehicle_attitude ?

Thanks for any help

please install the agent from source or make sure you are using the latest/edge snap version

Hello, the problem comes from px4_msg

the main branche off px4_msgs don’t work with the stable version off px4 , i have to install de dev branch of px4 to make it work…

I’m totally confused , all was working perfectly before , now i have some stranges thinks… :
For exemple my ros2 node publish command on the topic /fmu/in/vehicle_torque_setpoint , I change px4 mode to offboard with my rc tranmiter , and ros was able to control my vehicle , now it’s impossible ??! why ? i publish my command on /fmu/in/vehiclme_torque_setpoint , and i’m in offboard mode but nothing moove… How to do to make it work like before ? Thanks for your help

@Olivier_Olivier

the main branche off px4_msgs don’t work with the stable version off px4 , i have to install de dev branch of px4 to make it work…

px4_msgs main branch has to be used with PX4 main branch and nothing else.

For the PX4 stable releases you have to use the corresponding px4_msgs branches as expleined in the README

If you are using PX4 main branch, then check this [offboard control] allow for direct actuator control by beniaminopozzan · Pull Request #22222 · PX4/PX4-Autopilot · GitHub and the updated documentation in the docs

Hi @Olivier_Olivier did you solve this? If yes please let me know how, cause I am also getting the same error. I am using:
-Jetson orin nano dev kit
-Jetpack- 6.0
-ubuntu- 22.04
-ROS2 Humble and latest version of MicroXRCE-DDS-Agent and client i.e. v2.4.2
This is the error I am getting:

 >>> [rcutils|error_handling.c:108] rcutils_set_error_state()
This error state is being overwritten:

  'Fast CDR exception deserializing message of type px4_msgs::msg::dds_::VehicleLocalPosition_., at ./src/type_support_common.cpp:118'

with this new error message:

  'Fast CDR exception deserializing message of type px4_msgs::msg::dds_::VehicleStatus_., at ./src/type_support_common.cpp:118'

Blockquote

rcutils_reset_error() should be called after error handling to avoid this.
<<< 

It’s working fine on my laptop which has same things installed as mentioned above but the older version of agent and client i.e v2.4.1
Also please help me if you know how to downgrade the version from v2.4.2 to v2.4.1

Did you ever figure this one out?

@Nathan_Cannon It worked with the older px4_msgs package which was working in my laptop. here is the link. you can try with this px4_msgs, it just worked for me.