Patrick, 1. It would be nice to enumerate the joint names from the parameter > server so as to avoid hard coding them in several places. But at the > moment, all the joint controllers hang off the root namespace. I tried > placing them all under their own namespace (e.g. "/ax12_controllers") by > using the "ns" keyword in the launch file, but when I did that, the > controller_spawner.py node would just hang instead of firing up the > various controllers. Hope that makes sense! > I don't have a servo to test this or your launch file to look at, but here's what might be happening. I assume you pushed controller parameters (yaml config files) and controller_spawner node into /ax12_controllers namespace, but the controller_manager still starts up in global namespace. If that the case, then controller_spawner node hangs until start_controller service is advertised. Since controller_manager was started in global namespace that's where start_controller service lives (e.g. start_controller/ttyUSB0), but spawner is only looking for it in its parent namespace (e.g. /ax12_controllers/start_controller/ttyUSB0). So I would try starting everything (manager, spawner and controller params) under ns tag. I will put some log messages into spawner node, so it doesn't look like it just hangs while it's waiting for some services to become available. > 2. Suppose I want to start with a very simple inverse kinematics problem > without doing the full arm navigation stack. All I want to do is place > the tip of the hand of my robot at various places in space without > regard to the orientation of the hand. Is it possible to have the arm > kinematics solve just this 3-DOF IK problem rather than the full 6-DOF > IK problem? > I am not sure about arm_kinematics, but OpenRAVE can do position only IK with its ikfast module. I did something similar for SmartArm, look here: http://code.google.com/p/ua-ros-pkg/source/browse/#svn/trunk/arrg/ua_controllers/smart_arm_kinematics . Anton