Open nabatta opened 3 years ago
Hi @nabatta I think the problem is that you might be using a MAVROS version in which the odom plugin doesn't send the proper estimator_type and PX4 discards that message. This was solved here #1524. If you can try to test the current master branch of MAVROS.
@antonio-sc66 I have MAVROS 1.5.1. Would this issue apply to that version? It seems like the problem described in #1524 is definitely what I am experiencing. However, when I looked for the odom.cpp file, it does not exist for some reason.
@nabatta yes, that problem applies to 1.5.1. It has not been released and tagged yet, you have to download this repository and compile it yourself if you want to use it for the moment. The odom.cpp file should be in this path (mavros/mavros_extras/src/plugins/odom.cpp). Another option if you need to get it working now is to downgrade PX4 to the latest 1.10 version. This problem started in PX4 1.11 as it now checks the estimator_type and before 1.11 it didn't.
@antonio-sc66 I am currently using PX4 1.9.2. Do you know if this version also had the issue?
@nabatta I don't know. I've been using the odom plugin and the vision_pose_estimate plugin and they both worked with PX4 1.10.1 and 1.11.3, but I haven't used them with Auterion VIO, I was sending the data from other algorithms. Make sure you have MAV_ODOM_LP=1 so you can see the messages in QGroundControl and recheck the EKF2_AID_MASK
Here's a fix for PX4. https://github.com/PX4/PX4-Autopilot/pull/16774
@antonio-sc66 Just downloaded the newest version of mavros from source but am still having the same issue. I doublechecked and the 2 lines in odom.cpp are definitely there. When I echo the topic /mavros/odometry/out, I can see the values change as I move the camera. However, the frame_id is "camera_odom_frame". I think something may be wrong with a frame_id?
@antonio-sc66 Just got it working! I simply updated to PX4 1.11.3 and that fixed the issue. The older firmware was still causing some issues even with the new fix to the mavros code. Thank you for the help!
Issue details
Hello! I am attempting to use the Auterion VIO node on my Odroid H2+. The VIO package seems to be working fine as I can echo /mavros/odometry/out and I can see the pose change as I move the camera around.
However, when I boot up QGC and go to the Mavlink Inspector, I am not getting any messages from the Odroid. I can see an ODOMETRY message but it is only being generated by the IMU's on the Pixhawk. However, if I run "rosrun mavros mavsafety arm" from the terminal, QGC responds to the command. So some messages must be getting through. I can also echo the heartbeat topic (/mavros/state) from the terminal and get a response. But there is no heartbeat message showing up in QGC from the Odroid (only from the Pixhawk).
I am also getting a message saying "HP: requesting home position" so I am not sure if this is causing the issue but I do not think so. I am relatively new to all this so hopefully this is a simple question. Thank you for the help!
MAVROS version and platform
Mavros: ?0.18.4? ROS: ?Melodic? Ubuntu: ?18.04?
Autopilot type and version
[ ] ArduPilot [ x ] PX4
Version: ?3.7.1?
Node logs
Diagnostics
Check ID