Re: [ros-users] Getting /smart_arm_controller/state from the…

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: User discussions
Subject: Re: [ros-users] Getting /smart_arm_controller/state from the UA Smart Arm Controller
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