Comments (13)
You could. I need to see when I have time to implement it.
from motoros2.
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.
We could consider using the approach described here.
from motoros2.
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.
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.
@gavanderhoorn I reviewed your "starting point for interface definition".
It makes sense to me. I would like to clearify two points.
string message
is the written form of theuint32 result_code
, so that the user has an human readable error. Did I understood that correctly?- 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.
string message
is the written form of theuint32 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.
- 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.
Btw: could I assign this issue to you?
from motoros2.
@yeu-geissdoerfer: friendly ping. Have you had any chance to take a look?
from motoros2.
@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.
@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.
from motoros2.
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.
Instead of the
uint32 address
in the service definitions I would prefer usinguint32 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)
- `Warning: Group 0 - Time difference between endTrajData (...) and startTrajData (...) is 0 or less.` HOT 2
- motoman Mh180: Error in executing trajectory using MoveGroupSequence action
- Config file in releases zip file outputs errors when processed through linter HOT 2
- Readme: Explanation of Agent IP and Port
- Persistent ALARM 8014 Invalid MotoROS2 job detected [1] HOT 3
- MicroROS ros_domain_id issue HOT 1
- Extend `motoRosAssert(..)` to output expected value HOT 4
- Tests_ActionServer_FJT.c causes compilation to fail if MOTOROS2_TESTING_ENABLE is defined HOT 5
- Question: interrupt with GPIO?
- Add support for INFORM job CRUD HOT 9
- MotoRos2 installation issue
- `YBS2.31` is not actually supported HOT 1
- Document potential firewall configuration issues
- MotoROS2: Fatal Error (subcode: 10) HOT 3
- Trouble communicating with YRC1000 through Ros2
- Document symptoms pointing to faulty / flaky networks
- main: incorrect usage of `UINT_MAX` in period calculation
- Need to clearly indicate failure when configuring speed FB HOT 4
- Final position was outside tolerance. Check robot safety limits that could be inhibiting motion (Same issue as #233)
- YRC1000u doesn't have two LAN ports HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from motoros2.