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

Revision history [back]

click to hide/show revision 1
initial version

Okay first you have to fix how you publish that encoder data...

The ROS standard is that your robot driver code should publish the encoder data to the /joint_states topic.
At a minimum you need to have the position data in radians.
Look at some other robot (simulation) models to see how they work.
This joint states topic is a vector joints, with names matching the joints in your URDF file.
Publishing this topic correctly is the first thing you should test with a real robot.

It sounds like your data is currently in a different format/topic.
If you can't, or don't want to modify the driver code to publish the joint states correctly, you could create a node that reads the drrobot_motor_* topics and re-publishes that data onto /joint_states.
You can look in the code for other robots, or google "ros joint state publisher" to find the code you need.

Next, you need to get Rviz loading and display your encoder data.
If you are publishing a joint states topic with joint names matching your URDF, then Rviz will display the current state of your real robot!

Then, you can look at the Warehouse...
Download the motoman stack from ROS industrial. The SIA20D_Mesh_arm_navigation directories contain 2 launch files which show you the parameters that need to be changed for simulation VS. real robot.
Or, Google this forum for your same question, because it's been posted on here too!

*### Lastly, there is a useful node called The Joint State Publisher, which is a GUI for publishing fake joint angles. You can use this to read in your robot's URDF, and publish a fake /joint_states topic so you can test the Warehouse with "real robot data" before you fix your driver.
Use the top 4 lines from this launch file:
http://kaist-ros-pkg.googlecode.com/svn/trunk/arm_kinematics_tools/launch/fake_jointstate_pub_kinematics_solver.launch