I have written a simple Python program to publish alternating goals to a robot_mechanism_controllers/JointPositionController. This should cycle the mechanism between the same two points. When the parameter pid:i_clamp: is set to zero, the mechanism cycles properly. When i_clamp is set to 40,000, both the joint position of the mechanism and reported joint position from ROS drift. After 100 cycles the mechanism is cycling between two points that are shifted about 500 encoder counts from the goal positions. The more cycles, the further from the goal positions.
I have written a simple Python program to publish alternating goals to a robot_mechanism_controllers/JointPositionController. This should cycle the mechanism between the same two points. When the parameter pid:i_clamp: is set to zero, the mechanism cycles properly. When i_clamp is set to 40,000, both the joint position of the mechanism and reported joint position from ROS drift. After 100 cycles the mechanism is cycling between two points that are shifted about 500 encoder counts from the goal positions. The more cycles, the further from the goal positions.
The file to run to replicate is cycle.py in the repository: http://kforge.ros.org/gripperdesign/svn/gripper_control
Matei is the owner of this repository.
trac data: