Frame transformation with Orb Slam2

asked 2022-12-07 08:03:26 -0500

Magda gravatar image

Hi, I work with floating drone which is equipped with Inertial Navigation System and GNSS RTK and monocular camera (GoPro). I try to transform pointcloud2 from Orb Slam2 to frame with real coordinates in lat/lon or UTM. I get a tf_tree like this UTM -> map -> base_link -> camera link but pointcloud is still in Orb Slam frame.

I am newbie to ROS transformation. What I am doing wrong?

broadcast_utm_transform: true

broadcast_utm_transform_as_parent_frame:true

publish_filtered_gps: true

I' ve also changed in robot_localization/src/navsat_transform.cpp world_frame_id_("odom"), to world_frame_id_("map"),

In file Node.cc:

node_handle_.param<std::string>(name_of_node_+ "/pointcloud_frame_id", map_frame_id_param_, "map");
node_handle_.param<std::string>(name_of_node_+ "/camera_frame_id", camera_frame_id_param_, "camera_link");
node_handle_.param<std::string>(name_of_node_+ "/target_frame_id", target_frame_id_param_, "base_link");

also in launch file from monocular camera:

< param name="pointcloud_frame_id" type="string" value="map" />

< param name="camera_frame_id" type="string" value="camera_link" />

  • base_link -> camera link I've made a static transform

node pkg="tf2_ros" type="static_transform_publisher" name="gopro_offset" args="0 0 0 0 0 0 base_link camera_link" /

edit retag flag offensive close merge delete