# Setting up a pure GPS IMU flying camera system

I am trying to setup a camera system that will log its position. The system will be passive, and is attached to an airplane. The system has a GPS sensor as well as an IMU. I want to use transforms to interpolate the camera positions. The basics nodes work but i'm quite confused with regards to coordinate transforms.

The system contains: A IMU node that provides fused imu msgs with the help of imu_complementary_filter. A ublox_gps node is providing sensor_msgs/NavSatFix. This gets fed into a gps_common - utm_odometry_node.

So far so good now the trouble starts. I defined the following transforms:

  <node pkg="tf2_ros" type="static_transform_publisher" name="imu_link_broadcaster" args="0 0 0 0 0 0 1 base_link imu_link" />


The issue is that i don't know how to configure the utm_odometry_node

  <node pkg="gps_common" type="utm_odometry_node" name="utm_odometry_node" output="screen">
<remap from="fix" to="/gps/fix"/>
<param name="frame_id" value="** what to put in here?**"/>
<param name="child_frame_id" value="** and here? **"/>
</node>


Now i would like to fuse the gps odometry with the imu robot_localization - ukf_localization_node. (I would actually prefer to use a navsat_transform_node but this needs odometry and gps and i cannot really provide both) This requires me to configure a ton of things. The biggest issue is that i don't know how to setup the frames:

    map_frame: map             # Defaults to "map" if unspecified
odom_frame: odom            # Defaults to "odom" if unspecified
world_frame: odom           # Defaults to the value of odom_frame if unspecified


The main issue being that i don't have a map frame (i don't think i need one as well). All i want is that it provides an world frame to base_link transform. Also it asks me that some other transform should provide the tf odom -> base_link. What should this be?

The next question is do i have to publish the 0, 0 lat long world frame myself?

edit retag close merge delete