joint_states messages different
Hello,
I have a custom 6DOF arm that I'm trying to interface with moveit. I have created the URDF and the model, and I have loaded it into rviz.
I have made a lot of progress with it I think. I'm using ros indigo on ubuntu 14.04
I subscribe to the joint_states topic on my arduino. Using the arduino code I am able to individually control each joint using the joint state sliders when I run the display.launch
I've completed the moveit configuration and it loads with no problems in rviz, and I can plan movements, etc.
however when my arduino subscribes to the joint_states topic at this point, I get errors in rosserial saying [ERROR] [WallTime: 1479872259.522084] Message from ROS network dropped: message larger than buffer.
What is different with these messages than the ones generated from display.launch?
I performed some investigation and found something interesting:
This is the message from when I use moveit demo.launch
header:
seq: 954
stamp:
secs: 1479873407
nsecs: 957350015
frame_id: ''
name: ['shoulder_base', 'upper_arm_shoulder', 'elbow_upper_arm', 'forearm_elbow', 'wrist_forearm', 'gripper_wrist', 'left_jaw_gripper', 'right_jaw_gripper']
position: [4.435017290525138e-05, 9.012486469545027e-05, 3.372531827300197e-05, 5.395870120266208e-05, 4.7403243313592324e-05, 0.8750411991072651, 0.0, 0.0]
velocity: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
effort: []
and this is the message when I use display.launch
header:
seq: 228
stamp:
secs: 1479873728
nsecs: 257888078
frame_id: ''
name: ['shoulder_base', 'upper_arm_shoulder', 'elbow_upper_arm', 'forearm_elbow', 'wrist_forearm', 'gripper_wrist', 'left_jaw_gripper', 'right_jaw_gripper']
position: [0.0, 0.0, 0.0, 0.0, 0.0, 1.2491756999999999, 0.0, 0.0]
velocity: []
effort: []
why the differences, and more importantly, can I make the position data the same data types/precision?
Not an answer, but:
JointState
msgs are really typically used for reporting joint states, not for controlling them. Look intoJointTrajectory
and the related action servers. Ideally: write ahardware_interface
for your controller and useros_control
. TheJointState
msgs .... that you are seeing are probably those published by one of the fake controllers in MoveIt, which are just there to make it possible to visualise things without needing real hardware.
Thanks for the info. Yes I've been reading about this. I was simply trying to get the thing to work as easily as possible. I was reading that the fake controller published joint states and i already had something that worked with them, or so i thought.
I've been having a few problems with getting started with the trajectory action server and catkin and netbeans. Not relevant here though. Even though I've made good progress with the setup I'm still fairly new at this.