Hi,
I cannot start launch file on my computer (I don't have the pixhawk), so it is a little difficult to see what TF/msgs are published. Looking at the
px4_config.yaml file and the related code (
global_position.cpp and
local_position.cpp), TF and odometry messages are set. Not sure what global_position means, local_position would be the odometry message. Using local_position, the frame_id would be /odom and child_frame_id would be /base_link. At first you may want to look what the TF tree looks like:
$ roslaunch mavros px4.launch
$ rosrun tf view_frames
# evince frames.pdf
to see what is the base link used for the pixhawk. If global_position publishes /map -> /odom, it should be disabled because rtabmap will publish it too.
cheers