ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Problem with parameters with arm_kinematics

asked 2011-02-28 21:04:48 -0500

Wouter van Teijlingen gravatar image

updated 2011-02-28 21:29:34 -0500

Dear List,

First some specs:

os: ubuntu 10.10 ros version: ros-cturtle-base 1.0.0-s1297419884~maverick arm_kinematics version: wu-ros-pkg - Revision 40: /stacks/urdf_tools/trunk/arm_kinematics

URDF file i used:

<?xml version="1.0"?>
<robot name="myfirst">
  <link name="base_link">
    <visual>
      <geometry>
        <cylinder length="0.6" radius="0.2"/>
      </geometry>
    </visual>
  </link>
</robot>

Parameters i configured:

$ rosparam set urdf_xml robot_description
$ rosparam set robot_description /home/wouter/ros_packages/urdf_tools/urdf_tutorials/01-myfirst.urdf
$ rosparam set root_name myfirst
$ rosparam set tip_name base_link
$ rosparam set maxIterations 1000

Start command used:

$ wouter@wouter-MXC061:~/ros_packages/urdf_tools/urdf_tutorial$ rosrun arm_kinematics arm_kinematics

Error after starting the service:

$ [FATAL] [1298977044.887195523]: GenericIK: No root name found on parameter server

So i looked in arm_kinematics.cpp and i found the following code (line: 101/363):

// Get Root and Tip From Parameter Service
if (!nh_private.getParam("root_name", root_name)) {
    ROS_FATAL("GenericIK: No root name found on parameter server");
    return false;
}

I don't see how this error could occur, because i defined the parameters. Anyone have any thoughts on this?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2011-02-28 21:41:40 -0500

Ugo gravatar image

It's getting the root_name from the node parameter server, try to load the parameter like this (replace arm_kinematics by the arm_kinematics node name):

rosparam set arm_kinematics/robot_description /home/wouter/ros_packages/urdf_tools/urdf_tutorials/01-myfirst.urdf

By the way, you should have at least to links and 1 joint in your model. The root_name should be a link (e.g. "base_link") and the tip_name another link.

Hope this help

edit flag offensive delete link more
1

answered 2011-02-28 23:43:07 -0500

Wouter van Teijlingen gravatar image

I fixed it, thanks for your pointers. This is the solution:

$ rosparam set urdf_xml robot_description
$ rosparam set robot_description /home/wouter/ros_packages/urdf_tools/urdf_tutorial/01-myfirst.urdf
$ rosparam set arm_kinematics/root_name base_link
$ rosparam set arm_kinematics/tip_name base_link
$ rosparam set maxIterations 1000

Before you start arm_kinematics run the following command, because it is necessary load the XML file in to robot_description.

roslaunch urdf_tutorial display.launch model:=01-myfirst.urdf

Thanks for the help.

edit flag offensive delete link more

Question Tools

Stats

Asked: 2011-02-28 21:04:48 -0500

Seen: 638 times

Last updated: Feb 28 '11