compas icon indicating copy to clipboard operation
compas copied to clipboard

Allow to set a robot's base (RCF)

Open gonzalocasas opened this issue 3 years ago • 5 comments

This adds a property RCF to the robot model (model.rcf) to allow changing the base frame of the robot. Since operation is potentially quite involved once the model is used in COMPAS FAB, I will need to add an event emitter or some way in which this model can be observed from an external class and hook into changes (like rcf change) so that those are propagated to backends. I'm still not sure how to do this best so, I'm opening this a draft for comments already now and I will update soon.

What type of change is this?

  • [ ] Bug fix in a backwards-compatible manner.
  • [x] New feature in a backwards-compatible manner.
  • [ ] Breaking change: bug fix or new feature that involve incompatible API changes.
  • [ ] Other (e.g. doc update, configuration, etc)

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

  • [x] I added a line to the CHANGELOG.md file in the Unreleased section under the most fitting heading (e.g. Added, Changed, Removed).
  • [x] I ran all tests on my computer and it's all green (i.e. invoke test).
  • [x] I ran lint on my computer and there are no errors (i.e. invoke lint).
  • [x] I added new functions/classes and made them available on a second-level import, e.g. compas.datastructures.Mesh.
  • [x] I have added tests that prove my fix is effective or that my feature works.
  • [x] I have added necessary documentation (if appropriate)

gonzalocasas avatar Feb 02 '21 10:02 gonzalocasas

I will need to add an event emitter or some way in which this model can be observed from an external class and hook into changes (like rcf change) so that those are propagated to backends.

It will also need to be propagated to the RobotModelArtist.

beverlylytle avatar Feb 03 '21 13:02 beverlylytle

I just noticed that compas_fab.robots.Robot has the methods set_RCF (throwing a NotImplementedError) and get_RCF. I suppose those should be updated in a further PR.

beverlylytle avatar Feb 15 '21 12:02 beverlylytle

@gonzalocasas should this PR move to compas_robots or be closed? Seems valuable work, but quite stalled

jf--- avatar Apr 08 '24 12:04 jf---

@gonzalocasas I guess we have decided to shelf this idea for the time being. How about we move it to compas_robots first and manage it from there?

yck011522 avatar Apr 27 '24 01:04 yck011522

I know we said that we will not work on this issue soon, but just to collect one more argument for developing this function, is that the ability to set the robot base (to be different from World frame), can easily fix the orientation of a UR base. https://github.com/ros-industrial/universal_robot/issues/676

yck011522 avatar Apr 27 '24 02:04 yck011522