Hi!! I'm trying to use the tf_remap node without making a launch file. The problem is that the mapping should be specified in the ~mappings parameter of the tf_remap node. I tried this but it does not work:
$ rosparam set /tf_remap/~mappings "[{/neck_2: /neck_1}, {/left_shoulder_2: /left_shoulder_1}, {/left_elbow_2: /left_elbow_1}]"
$ rosparam get /tf_remap/~mappings
- {/neck_2: /neck_1}
- {/left_shoulder_2: /left_shoulder_1}
- {/left_elbow_2: /left_elbow_1}
$ rosrun tf tf_remap __name:=tf_remap
Applying the following mappings to incoming tf frame ids {}
I've studied the ros name convention and everything seems fine from my point of view. Any Idea?
EDITED after the bhaskara suggestion:
I also tested the below example and it does not work:
$ rosparam get /tf_remap/mappings - {/neck_2: /neck_1} - {/left_shoulder_2: /left_shoulder_1} - {/left_elbow_2: /left_elbow_1} $ rosrun tf tf_remap __name:=tf_remap Applying the following mappings to incoming tf frame ids {}
EDITED: Third attempt:
$ rosbag play gesture_recording.bag tf:=tf_old & #brute force: $ rosparam set mappings "[{old: /neck_2,new: /neck_1}]" $ rosparam set /mappings "[{old: /neck_2,new: /neck_1}]" $ rosparam set tf_remap/mappings "[{old: /neck_2,new: /neck_1}]" $ rosparam set /tf_remap/mappings "[{old: /neck_2,new: /neck_1}]" $ rosrun tf tf_remap & Applying the following mappings to incoming tf frame ids {} $ rostopic echo /tf > [...] > -- transforms: > - > header: > seq: 0 > stamp: > secs: 1320600273 > nsecs: 859003197 > frame_id: /openni_depth_frame > child_frame_id: /neck_2 > transform: > translation: > x: 1.68099461393 > y: -0.25899046843 > z: 0.235416310719 > rotation: > x: 0.279471530986 > y: 0.53708064566 > z: 0.633364982269 > w: 0.481963528351 > --- transforms: > [...]
Also tested with the same results:
rosrun tf tf_remap _mappings:='{old: /neck_2, new: /neck_1}'
Originally posted by Pablo Iñigo Blasco on ROS Answers with karma: 2982 on 2011-11-09
Post score: 0