Coder Social home page Coder Social logo

Comments (13)

yeu-geissdoerfer avatar yeu-geissdoerfer commented on September 17, 2024 1

You could. I need to see when I have time to implement it.

from motoros2.

gavanderhoorn avatar gavanderhoorn commented on September 17, 2024 1

This would also require that ROS access the tool data from the RC to generate the transformation from base/robot fram to tool frame for example.

TF could do this. MotoROS2 currently broadcasts it as tcp_N (docs).

For this to work generally we'd have to broadcast all defined tools, not just the active one.

In general that would make sense, but I would see that as a second step. How do you see it?

Perhaps we should then first focus on non-pose variables.

from motoros2.

gavanderhoorn avatar gavanderhoorn commented on September 17, 2024 1

We could consider using the approach described here.

from motoros2.

gavanderhoorn avatar gavanderhoorn commented on September 17, 2024

I would suggest to do this for the next-next-next release (so 0.2.1 or something): we planned 0.2.0 to be about updates to the underlying infrastructure (Iron, etc).

from motoros2.

gavanderhoorn avatar gavanderhoorn commented on September 17, 2024

We may have a potential contributor lined up for this.

I'd suggest we discuss potential implementation approaches here in this issue and continue from there.


Edit: starting point for interface definitions: Yaskawa-Global/motoros2_interfaces@main...gavanderhoorn:motoros2_interfaces:variable_rw.

from motoros2.

yeu-geissdoerfer avatar yeu-geissdoerfer commented on September 17, 2024

@gavanderhoorn I reviewed your "starting point for interface definition".

It makes sense to me. I would like to clearify two points.

  1. string message is the written form of the uint32 result_code, so that the user has an human readable error. Did I understood that correctly?
  2. Read and write positions only in ROS base frame. This would mean that it is not possible to set a position in a user/tool frame for an INFORM job and simply execute the INFORM job without using the trajectory interfaces. I just want to mention this, since we also talked about triggering INFORM jobs and user frames are used quite a lot in INFORM jobs.

from motoros2.

gavanderhoorn avatar gavanderhoorn commented on September 17, 2024
  1. string message is the written form of the uint32 result_code, so that the user has an human readable error. Did I understood that correctly?

The message field (of type string) is for humans indeed.

The result_code field (of type uint32) is to facilitate (semi) automated error handling.

  1. Read and write positions only in ROS base frame. This would mean that it is not possible to set a position in a user/tool frame for an INFORM job and simply execute the INFORM job without using the trajectory interfaces. I just want to mention this, since we also talked about triggering INFORM jobs and user frames are used quite a lot in INFORM jobs.

I'm not against using other frames/origins.

What we'd have to make sure of though is producers/consumers (ie: on the ROS application side) would be able to transform those poses to other frames in their TF tree(s). That would require the ROS application to have access to / knowledge of the frames which could be set in poses returned by the Yaskawa controller (and vice-versa of course).

As I wrote earlier, it's just a starting point. I'd be completely open to changing message definitions.

from motoros2.

gavanderhoorn avatar gavanderhoorn commented on September 17, 2024

Btw: could I assign this issue to you?

from motoros2.

gavanderhoorn avatar gavanderhoorn commented on September 17, 2024

@yeu-geissdoerfer: friendly ping. Have you had any chance to take a look?

from motoros2.

yeu-geissdoerfer avatar yeu-geissdoerfer commented on September 17, 2024

@gavanderhoorn I wouldn't havet time until early September at the earliest. I will comment as soon as I know for sure.

Regarding the transformation of poses to other frames. This would also require that ROS access the tool data from the RC to generate the transformation from base/robot fram to tool frame for example. In general that would make sense, but I would see that as a second step. How do you see it?

from motoros2.

yeu-geissdoerfer avatar yeu-geissdoerfer commented on September 17, 2024

@gavanderhoorn we would also need to think about how we handle "figure informations", since this is usually not used in ROS.
Either the user can define these figure informations or we define generally valid default values.

image

from motoros2.

yeu-geissdoerfer avatar yeu-geissdoerfer commented on September 17, 2024

Instead of the uint32 address in the service definitions I would prefer using uint32 var_number as the MotoPlus API also uses the term variable number instead of address for manipulating variables.

from motoros2.

gavanderhoorn avatar gavanderhoorn commented on September 17, 2024

Instead of the uint32 address in the service definitions I would prefer using uint32 var_number as the MotoPlus API also uses the term variable number instead of address for manipulating variables.

I would recommend to take my initial proposal from Yaskawa-Global/motoros2_interfaces@main...gavanderhoorn:motoros2_interfaces:variable_rw, push it to your fork of motoros2_interfaces and then open a draft PR against yaskawa-global/motoros2_interfaces. We can then discuss any changes you believe need to be made.

from motoros2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.