[ros-users] using ROS with a new 7-DOF arm hardware

Patrick Beeson beeson.p at gmail.com
Tue Jun 14 16:47:15 UTC 2011

I now found out a bit more.  I now realize that by setting the 
commanded_effort_ of a JointState is the way commands are sent (not via  
messages or other).   I also see that  Gazebo is has a plugin to 
replicate the controller_manager, that uses the URDF description to set 
up a robot model and simulation joint motions.  So, at the VERY least, 
if I want to use Gazebo, I'll need to make sure that I load a 
pr2_mechansim_model of the Robot that is consistent with the model used 
by Gazebo.
Does this sound correct?

to have it's own ros_controller_manager that does the same for Gazebo.  
So, my intuition is that if I write

On 06/14/2011 10:53 AM, Patrick Beeson wrote:
> Great.  I look froward to trying this out once it's released.
> One or two quick questions that are not at all clear.   Will (in the 
> new tool chain) my custom JointTrajectoryAction controller also need 
> to be a pr2_controller in order to use my URDF model with Gazebo?  I 
> was going to make a joint_trajectory_action_node that communicated 
> directly with my hard in soft real-time to start.   This wasn't going 
> to be a pr2_controller at all.   But I will want to be able to use the 
> urdf model to control the arm in Gazebo.   My understanding is that 
> right now, somewhere, something allows controllers to run in 
> simulation instead of on the ethercat hardware.  I can't seem to find 
> a good example that shows where exactly the line in drawn between sim 
> and real, but it looks like the default Gazebo pr2 sim AND the pr2 arm 
> hardware  both use 
> robot_mechanism_controllers/src/joint_trajectory_action_controller.cpp.   
> Examining that controller, I find it VERY difficult to understand how 
> the low-level joint commands are being set (they seem to be copied 
> into a RealTimeBox that is never intialized, so I don't know where 
> they go from there).    So is the sim joint communication happening 
> below this?  Do I need to do something special to talk to simulated 
> joints in Gazebo versus on my hardware?  Another way of asking, if I 
> write a joint_trajectory_action_controller to talk to my specific 
> hardware, will I need to write another to talk to Gazebo?   And Do 
> these need to be pr2_controllers?

More information about the ros-users mailing list