Rosanswers logo

I wonder why i can't setup my own frame which i named my own frame by name "my_frame" in my


command_rate: 0.5
tracking_rate: 10
base_controller_rate: 20
joint_controller_rate: 20
default_joint_speed: 2.0
max_drive_speed: 0.5
max_rotation_speed: 0.5
base_control_side: right

use_real_robot: False

# Use these values for a typical non-holonomic robot.
scale_drive_speed: 1.0
scale_rotation_speed: 1.0
reverse_rotation: False
holonomic: False

# Use the following scale factors for the Rovio.
#scale_drive_speed: 4.0
#scale_rotation_speed: 0.4
#reverse_rotation: True
#holonomic: True

#fixed_frame: openni_depth_frame
fixed_frame: my_frame

skel_to_joint_map: {
   head: head_pan_joint,
   neck: head_tilt_joint,
   torso: torso_joint,
   left_shoulder: left_shoulder_lift_joint,
   left_elbow: left_elbow_joint,
   left_hand: left_hand_joint,
   right_shoulder: right_shoulder_joint,
   right_elbow: right_elbow_joint,
   right_hand: right_hand_joint,
   left_hip: hip_left_yaw,
   left_knee: knee_left_pitch,
   left_foot: ankle_left_roll,
   right_hip: hip_right_yaw,
   right_knee: knee_right_pitch,
   right_foot: ankle_right_roll

the ros itself has recognize "my_frame" such in this image: parameter

but when i want to called it in rviz, it won't show anything like this: rviz

how to set my fixed frame to "my_frame" then?

Originally posted by adelleodel on ROS Answers with karma: 76 on 2015-11-15

Post score: 0


1 Answer 1


Rosanswers logo

You have to use the frame_id field in the ROS message header to add to the fixed frame list. Use TF to create transformations between the frames.

Originally posted by jeremya with karma: 275 on 2015-11-15

This answer was ACCEPTED on the original site

Post score: 0

Original comments

Comment by adelleodel on 2015-11-16:
Sorry, i don't really get what u mean.. i have message named Skeleton.msg that consist

Header header
Blablabla... such in tutorial

"Use TF to create transformations between the frames." What is this mean? Do i hv to add TF in rviz?

Comment by jeremya on 2015-11-18:
The Header in your message above has a member that is "frame_id". It's a text field. AFAIK, this should be matched to one of the frame ids (i.e. frame_id or childframe_id) in the tf transformation. Additionally, the frame_id's in the header are the ones that are displayed in rviz.

Comment by jeremya on 2015-11-18:
You might also try finding (via "rostopic echo /topicname |grep frame") a message with the frame_id completed. You could then go to the wiki or github page for that package and look at the source for that frame name. In that way you'd have a example of how to complete the header and the frame_id.

Comment by adelleodel on 2015-11-20:
When i writedown rostopic echo /topicname | grep frame the result is always

frame_locked:   False
   frame_id:   /my_frame
frame_locked:   False
   frame_id:   /my_frame

Comment by jeremya on 2015-11-30:
The frame_id is what should show up in rviz. I don't think you need the "/" because I'm not sure the namespace concept extends to frames.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.