Static Transforms - Where is the problem in my setup?
Hey guys,
I am trying to set up a test scenario for calibrating cameras with markes. Therefore, I have 2 cameras and 2 markers. Each camera can see both markers. But when I try to simulate this scenario with static-transform-publisher, I get the strange effect, that I either have 2 trees like this:
marker_1 <=> camera 1
marker_2 <=> camera 2
or 1 tree like this:
marker_2 <=> camera 1
marker_2 <=> camera 2
(Which marker is paired with which camera changes constantly, the numbers are only examples)
Here is my launch
-file:
0 <launch>
1
2 # Create static transforms for our fake cameras and markers
3 <node pkg="tf" type="static_transform_publisher" name="marker_1_camera_front_tf_publisher" args="1.0 0 0 0 0 0 /ar_marker_1 /camera_front 10" />
4 <node pkg="tf" type="static_transform_publisher" name="marker_2_camera_front_tf_publisher" args="1.0 1.0 0 0 0 0 /ar_marker_2 /camera_front 10" />
5 <node pkg="tf" type="static_transform_publisher" name="marker_1_camera_top_tf_publisher" args="0 0 1.0 0 0 0 /ar_marker_1 /camera_top 10" />
6 <node pkg="tf" type="static_transform_publisher" name="marker_2_camera_top_tf_publisher" args="0 1.0 1.0 0 0 0 /ar_marker_2 /camera_top 10" />
7
8 # Launch the calibrator
9 <include file="$(find camera_calibrator)/launch/calibrate_2_kinects.launch" />
10
11 </launch>
Am I doing anythign wrong, or is my basic understanding of transforms wrong?
I monitor the transforms either via rqt
or in python with tf_listener.lookupTransform(marker, camera, rospy.time(0))
Thanks in advance,
Rabe