Issue with ROS2 set-up, Deserialization of UORB Topics
-
I have a Sentinel running VOXL SDK v1.1.2. I installed ros2 foxy a while ago when the documentation linked to a bash script here to install it
https://github.com/jetsonhacks/installROS2
I'm running the mircodds agent and trying to listen to one of the PX4 topics (specifically vehicle_local_position) but I'm getting the same deserialization issue that was brought up here
I thought I must have pulled the px4_msg repo from the main branch instead of the release/1.14 branch as mentioned in that thread, but I've deleted and reinstalled everything according to the documentation and still can't get it to work. I purged and reinstalled voxl-microdds and voxl-ros2-foxy from the offline suite. I even built voxl-mpa-to-ros2 from source and explicitly pulled the correct branches. Is this a known issue or am I doing something wrong?
-
I think I found the issue but not sure how to solve it.
Every branch of voxl-mpa-to-ros2 that I've seen in the voxlSDK gitlab repo is pulling from the branch of px4_msgs @ a692ca42
which has one more variable in the message definition of VehicleLocalPosition.msg at line 42 than the message definitions included in all recent branches of the px4-firmware:
float32 unaided_heading # Same as heading but generated by integrating corrected gyro data only
Here's the message definition for the master branch of voxl-px4: https://github.com/modalai/px4-firmware/blob/b5c45bb232afc6a936b8349f4fa0be1efeb17707/msg/VehicleLocalPosition.msg
Here's the message definition every branch of voxl-mpa-to-ros2 is linking to: https://github.com/PX4/px4_msgs/blob/a692ca426e35d8f5085979febc9065fe60907cb7/msg/VehicleLocalPosition.msgNot sure how many other messages this affects. Is this an easy fix on the dev side?
-
Hi @jmltt - will try and recreate the same issue you are seeing and the solution you proposed as a fix!
If this is the case I will merge in a PR and it will be on the most recent dev branch for voxl-mpa-to-ros, anyways - will test out the solution soon.
Zach
-
@Zachary-Lowell-0 Sounds good, thank you!
-
@jmltt said in Issue with ROS2 set-up, Deserialization of UORB Topics:
Not sure how many other messages this affects. Is this an easy fix on the dev side?
Reply
So @jmltt it looks like this isnt necessarily an issue with the branch itself as mainline px4_msgs also has the unaided_heading in part of the VehicleLocalPosition:
https://github.com/PX4/px4_msgs/blob/f90685f29174d4debfe31e22b4cf1412c3c16448/msg/VehicleLocalPosition.msg#L42C9-L42C24Trying to figure out a way to remove it without recreating a new submodule - will hopefully have a fix soon.
Zach
-
Ok @jmltt I fixed it - there was a giant conflict with versioning on px4_msgs and px4_ros_coms which was fun to deal with
- anyways I have a branch waiting for approval to be merged into the most recent nightly and you can then pull the dev from the apt repository when it gets merged in - until then feel free to rebuild voxl-mpa-to-ros2 deb and install on your voxl2 from the branch zach/submodule update: https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-to-ros2/-/tree/zach/submodule_update
Cheers!
Zach -
@Zachary-Lowell-0 The updated Debian package can be found here: http://voxl-packages.modalai.com/dists/qrb5165/dev/binary-arm64/voxl-mpa-to-ros2_0.0.3-202406240850_arm64.deb
-
@Zachary-Lowell-0 Awesome, thanks for fixing this I really appreciate it!