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? > >