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

Turtlebot: arm.launch returns KeyError: ´arm_shoulder_pan_joint´

asked 2012-05-15 08:01:09 -0600

NTo gravatar image

updated 2012-05-21 08:54:37 -0600

Turtlebot: new, arrived with the arm assembled and with all required packages installed from factory. I installed turtlebot_viz for the dashboard as suggested here and updated all ros packages.
[EDIT] The exact same thing happened with a second turtlebot: literally took out of the box and typed: roslaunch turtlebot_arm_bringup arm.launch. Got the exact same error: Error message, log file and actions log
Turtlebot laptop: lenovo x130e AMD fusion processors E-450. Ubuntu: 10.04, kernel linux 2.6.32-40-generic. ros: electric
Machine: Intel Core i5-2500 CPU @ 3.30GHz x 4. 32-bit. Ubuntu: 11.10 (upgraded from 11.04). ros: electric

Problem description:
Following the kinect calibration tutorial part 4, both ssh from the machine specified above, and directly in the turtlebot laptop:
When trying to launch the arm: roslaunch turtlebot_arm_bringup arm.launch
I am getting: KeyError: ´arm_shoulder_pan_joint´
The full error message is here.

The arbotix_python controllerGUI displays and controls the base, but not the joints.
The only related thread I found was this, and my turtlebot already had the fixed file

Attempts so far:

  1. I tried to trace through the log file but couldn't find a problem. I also tried to debug using pydev (See details below).
  2. Both arbotix and the arm packages are updated to newest version.
  3. Using the arbotix_python terminal and command ls: it lists 5 servors as required.
  4. The arm.ymal file in the turtlebot_arm_bringup package contains all 5 joints each with the correct id (i.e. shoulder pan id 1...gripper id 5).

Debugging details:
The call which brings up the error according to the call stack indicated in the error message:

        return self.dynamixels[key]
        return self.hobbyservos[key]

has the correct key: arm_shoulder_pan_joint, but both dynamixels and hobbyservos are empty.
The call stack which tracks why they are empty is here. They apparently don´t exist in the parameter server. The printout of the parameter server from within is here.

If anyone has experience or ideas about the source of the problem/solutions, I'll be extremely glad to hear. Thanks!

edit retag flag offensive close merge delete


I would expect a more complete error message, with a full traceback, to be printed. Could you post the full error message here?

fergs gravatar image fergs  ( 2012-05-19 21:48:08 -0600 )edit

Hello fergs, the full error message is here: Cheers.

NTo gravatar image NTo  ( 2012-05-20 03:56:03 -0600 )edit

2 Answers

Sort by » oldest newest most voted

answered 2012-07-20 23:19:13 -0600

fergs gravatar image

This is a release issue -- I apparently updated the trunk of turtlebot_arm to be compatible with arbotix 0.7.0 release (Which I haven't got around to actually releasing yet) but then someone tagged a new release without noticing. I'll get a new arbotix release pushed out this weekened to clean this all up.

edit flag offensive delete link more

answered 2012-05-22 04:35:54 -0600

NTo gravatar image

I am able to operate the arm (using rosrun arbotix_python by making the following changes. I do not know if I am overriding something else and did not try any of the related demos yet. If anyone recognizes a problem, please let me know. I will also update if there are troubles later on.

1) In file: /opt/ros/electric/stacks/turtlebot_arm/turtlebot_arm_bringup/config/arm.yaml

joints: {


dynamixels: {

2) In file: /etc/ros/electric/turtlebot.launch

<arg name="urdf_file" value="$(find xacro)/ '$(find turtlebot_description)/robots/turtlebot.urdf.xacro'" />


<arg name="urdf_file" value="$(find xacro)/ '$(find turtlebot_arm_description)/urdf/arm.urdf.xacro'" />
edit flag offensive delete link more


This worked for me. thanks :). I have only modified the arm.yaml file.

learner gravatar image learner  ( 2013-04-25 20:24:16 -0600 )edit

Question Tools

1 follower


Asked: 2012-05-15 08:01:09 -0600

Seen: 668 times

Last updated: Jul 20 '12