clydemcqueen/orca4

Initial position estimate

Opened this issue · 2 comments

Hi Clyde,

Been using your codebase for a ROS2 educational workshop, thanks for making this public.

Is this part of this README still accurate? Not seeing where the vision position estimate or default pose is sent to ArduSub.

The [BaseController](src/base_controller.cpp) node sends `VISION_POSITION_ESTIMATE` messages to ArduSub at 5Hz.

Thanks in advance.

Been using your codebase for a ROS2 educational workshop, thanks for making this public.

Cool! I hope it is going well.

Not seeing where the vision position estimate or default pose is sent to ArduSub.

orca_base publishes the vision position estimate to the /mavros/vision_pose/pose topic. Mavros subscribes to this topic and publishes VISION_POSITION_ESTIMATE on MAVLink.

ext_nav_pub_ = create_publisher<geometry_msgs::msg::PoseStamped>(

ext_nav_pub_->publish(ext_nav_msg);

https://github.com/mavlink/mavros/blob/b0da849a06eb1a215b9205b92b8cf39c6d7cf88f/mavros_extras/src/plugins/vision_pose_estimate.cpp#L115

It took me a while to trace through the mavros code to see how ROS topics turn into MAVLink messages, and vice versa. It would be nice to document some of this in orca4, I suppose.

ArduPilot's DDS support is getting better, it might be possible to remove mavros entirely one day. :-)

@clydemcqueen thanks! That helps. My issue has been waiting for an EKF pose back from ArduSub so that go_auv() can arm. I thought maybe the EKF wasn't initializing without an initial pose but looks like that wouldn't be it.