Woolfrey / software_robot_library

Custom classes for robot control.
GNU General Public License v3.0
2 stars 1 forks source link

Merge `template` branch in to `master` #91

Closed Woolfrey closed 7 months ago

Woolfrey commented 1 year ago

I've completed the fundamental forward kinematics and inverse dynamics for branching structures.

I would like to merge it in to the master branch, delete the kinematic_tree and template branches, and continue working from devel as standard.

@ssutjipto, when you have time can you approve that the calculations / code is correct?

ssutjipto commented 7 months ago

I noticed that there were some errors with the dynamics calcluations.

The numbers were way off e.g. the torques due to gravity when q = VectorXf::Zero(numJoints) were:

I narrowed this down to the link's global centre of value mass being incorrect. I realised that the value wasn't being updated in the Link::update_state function.

I modified the function to update the global centre of mass there. See commit 8131efb.

After changing this, the dynamics calculations align with the old values that were calculated. So, I'm happy for this to be merged.

@Woolfrey I'm not sure if this is the modification you would have made so if you want to change it differently feel free to, but If you're happy with the change then please merge! :smile:

Woolfrey commented 7 months ago

Hey @ssutjipto, thanks!

You should have posted results earlier and I could have solved it sooner!

We should make a check list / flow chart for assessing the inverse dynamics in future. Maybe even an automated script that pinpoints the problem would be useful.

Woolfrey commented 7 months ago

Merged to master branch (renamed from main for consistency).

Deleted old branches:

Created new branch devel_control for working on control classes.

Going forward it might be a good idea to create specific branches for working on specific modules (e.g. devel_control, devel_model etc.)

ssutjipto commented 7 months ago

Thanks for merging!

I should have, but I didn't get a chance to really look at the problem till that day!!

I've always wanted to add tests to this so that it wasn't manual but I haven't had the time yet :cry: