MoveIt Robotarm not staying in position
Hi,
I've got an abb IRB120 robotarm from the ABB experimental package in gazebo too which I attached a schunk gripper which I made myself. I recreated the MoveIt package changing the endeffector to the gripper. Using this gripper I am picking up an object with a mass of 1 kilograms.
My problem:
When I pickup the item and move the robotarm it moves just fine, however when I move it to a place it does not stay in that place but it slowly moves down. I suspect that the effort performed on the joints of the robotarm are based on the mass of the robot without the mass of the object. I can ofcourse keep sending the robot to the same position to compensate, I however prefer it to be fixed by applying enough effort on the joints to keep the endeffector in the same place.
At this point I am lost where I have to start to compensate for the extra weight of the object which is picked up.
Edit:
Note that:
- The robotarm does stay in place with neither the gripper nor object attached.
- The robotarm does stay in place with only the gripper attached.
- Since I made the gripper myself: The gripper "head" has a total weight of 250 grams
You don't mention it anywhere in your question text, but seeing as you have tagged this with
gazebo
, I guess you are not talking about a real robot, but about an IRB 120 in Gazebo. Correct?@gvdhoorn this is indeed correct we are talking about an IRB 120 in gazebo. I actually mentioned it before but somehow while restructuring the question I accidentally removed it.
Have you changed anything? Because the
abb_irb120_gazebo
package usesPositionJointInterface
for thehardwareInterface
s. There are no forces there, not even inside Gazebo (or at least, not at a level where it matters).PositionJointInterface
overrides the state of the joint in Gazebo with the position setpoint almost directly.I could come up with two possible explanations:
EffortJointInterface
s and the PIDs are not tuned properlyPositionJointInterface
s, and this is a know bug where that doesn't work any longer with newer Gazebo versions. See ros-simulation/gazebo_ros_pkgs#612 and Mobile arm simulation behaves strangely when adding ros_control plugin on Gazebo Answers for a description@gvdhoorn As far as I know I haven't changed anything. Joint 1 till 6 are stil using the
PositionJointInterface
like they are in the original repository. The only place I use anEffortJointInterface
is for the fingers of the gripper which shouldn't have an effect on the IRB 120.-
I furthermore just found a temporary "solution", when increasing the weight of the gripper to an absurd value, let's say 10000+ kilograms the movement changes from 1-2 centimeters to tenths of milimeters per second. As time passes the movements becomes larger and larger but is stable enough the first minute .
-
My prediction is that due to the fact that the object is now such a small part of the "total weight" the effect becomes smaller.
This sounds like a Gazebo/modelling issue. I'd recommend asking this on
answers.gazebosim.org
.