Ming, In addition to setting the "robot_base_frame" and "global_frame" on the global._costmap, you'll also need to set it on the local_costmap which is used for obstacle avoidance and often operates in a different frame from the local map. The local_costmap is probably the one giving the error message you're describing. Please see the following page for an explanation of configuring the two costmaps used by the navigation stack: http://www.ros.org/wiki/navigation/Tutorials/RobotSetup#Costmap_Configuration_.28local_costmap.29_.26_.28global_costmap.29 . Hope all is well, Eitan On Fri, May 14, 2010 at 2:36 AM, 刘明 wrote: > Hi everyone, > > Thanks for you kind and prompt replies. > > But the move_base is still asking for a frame with frame_id /base_link > (output in rxconsole): > >> Waiting on transform from base_link to /map to become available before >> running costmap, tf error: Frame id /base_link does not exist! >> > when I launch the launch-file as below, where of course I have corrected > the naive spelling mistake @-| , as: > > >> >> > value="/robot_base"/> >> >> > respawn="true"> >> >> >> >> > > We had a transformation .yaml before, which I forgot to mention. > The result of > >> $ rosrun tf view_frames >> $ evince frames.pdf >> >> showed that the frames are correctly linked. > > The result of > >> $rosrun tf tf_echo /robot_base /world > > returns correct transformation when I move the robot around. > > I also output the parameters got by "move_base" node, by adding: > >> ROS_INFO("FrameIDs: %s %s", robot_base_frame_.c_str(), >> global_frame_.c_str()); >> > to move_base.cpp:66. The output from the rxconsole is FrameIDs: > /robot_base /world which is correct. > > It sounds like the parameters are not correctly passed to the costmap or > else nodes. Any other hints? > > Best regards, > Ming > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > >