Closed tulku closed 5 years ago
Thanks for the PR @tulku :+1:.
I've left some questions and comments.
@tulku: would it be possible to address the requested changes?
@gavanderhoorn I need to take care of other things now, but I'd like to do them when I have time.
@gavanderhoorn I've updated this PR addressing some of your comments. I can rebase on kinetic-devel when its ready to merge.
@tulku: apologies for taking so long, but I've got a few commits I'd like to add to this PR.
Minor changes to the package manifest and .macro_xacro
only.
I don't believe you've checked "Allow edits from maintainers", so I can't push them directly.
Would you be willing to enable that? I believe you can still click the checkmark. It should be on the right side of the first post in this PR (see also Allowing changes to a pull request branch created from a fork).
If not I can open a PR against your PR.
@gavanderhoorn thanks for looking into this PR!
The "Allow edits from maintainers" was indeed marked. I unmarked and marked it again to see if that helps... If it does not work, I can quickly merge a PR against my branch.
Just tried again and I can't push to feature/abb_irb1200_5_90_gazebo
on your fork.
Do you have branch protection configured?
@gavanderhoorn No, I don't see any branch protection configured. I just invited you as collaborator to the fork, with that you should be able to push.
Thanks again for the PR @tulku :+1:
performance is indeed quite nice with these gains and dynamics properties.
Thanks for taking the time to contribute it.
Squash merging as all commits but the first one are fixups or review changes.
This is built upon the initial work of @stwirth (https://github.com/ros-industrial/abb_experimental/pull/98) and @jonbinney
Intertials
Meshlab was used to calculate the inertia tensor, the center of mass and the volume of each collision mesh. This is the method explained in this very well known tutorial. Meshes were scaled 10 times to get better results.
To calculate each link mass a constant density in the entire robot was assumed and then distributed the mass using the calculated volume of each link.
I used the obtained values for all joints except for
joint_6
where they made the robot "crash". Maybe it's because the values are too small?The new inertials look like this:
I tested the cylinder approximation for link 6 but those values failed in the same way, and were also very small.
Dynamics and control
Gazebo plotting tool was use to get and idea of the robot responses to motion commands. The original values made the robot oscillate significantly while moving, as can be seen on this plot:
The new values make the robot move smoothly and pretty quickly:
I'm pretty sure that we can find even better values if we keep tuning, for example to reduce even more the steady state errors, but I believe that the proposed values are already very adequate.
Testing
Start the simulation:
Test the controllers: