Frame transformation with Orb Slam2
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?
- UTM -> map I use navsat_transform(https://github.com/cra-ros-pkg/robot_...)
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")
,
- map -> base_link If i correctly understand this transformation does Orb Slam2(https://github.com/appliedAI-Initiati...).
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" /