-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate how to best make use of F/T data on HC platforms #184
Comments
I have been investigating this for a while:
they always return an error when I call them as follows:
and
@ted-miller is there an updated manual for MotoPlus API? I have checked all available manuals on motoman page and did not find any description of these functions. |
@iydv: thanks for looking into this.
Are you reading the registers referenced by the documentation I mentioned in the OP?
indeed. That's what "best make use of" in the issue title would investigate :) For HC robots specifically, joints are equipped with torque sensors. This allows for both torque readings per joint, as well as derivation/estimation of F/T values at the flange/TCP.
And the estimated F/T data could be published as a Reading M-registers does not need to go through ROS services, MotoROS2 can read those directly as we do in Lines 375 to 444 in 9f8d26e
We could perhaps use the M-registers with joint torque sensor data here: Lines 446 to 472 in 9f8d26e
or add an additional function that gets used on HC platforms. |
Note that |
yes, I have also found this information before, since we have required reading F/T values for our application. I have been using If it is fine to implement publisher in MotoROS2 by reading M-registers, I can do that. Do you want to publish F/T data to separate topic?
Maybe it is good to publish all that information on 2 different topics:
|
I'd suggest we try to stick to standard ROS messages and APIs as much as possible, at least for an initial implementation. So:
as a We'll have to investigate some conventions around topic(s) typically used for this sort of data (other robot drivers fi). Let's keep the effort low for now, and prototype something around the We can then take a look at the rest of the available information later and decide how to best make that available to ROS applications.
we can probably embed / integrate the needed parameter changes in either the ParameterLib or MotoROS2 itself, such that this configuration is done automatically. We could potentially make this conditional on some setting in the MotoROS2 config |
As to implementation, some initial thoughts:
we can update this list if/when needed. |
Just thought of something:
we could perhaps publish this on a separate topic (so not According to docs.ros.org/api/sensor_msgs/msg/JointState the
that seems like it should not be used to report "estimated external torque for each axis", at least not on the main Having that data available in a ROS application would still be valuable though, so we could see about making it available. |
ok, I will try to implement the first version and we can discuss the details once I finish it. |
@iydv, these functions are for a very specific function, called MotoFit. It only works with a special addon board and specific sensor. (I'm not sure why they're published in the public documentation.)
I don't see how PFL could be "certified safe" without the additional FT sensors in each joint. |
they're not AFAIK. They are listed in
could be, but I just don't like relying on indirect evidence. I'd rather have something which conclusively tells me "this platform has the necessary sensors installed" (ie: feature detection) than "this is model X, which you should trust has feature Y available". |
They are. I asked YEC about them a while back. Technically, that sensor could be used without MotoFit. So someone decided to put them in the public API. |
so would that mean we could detect whether a controller is configured with such a sensor and then publish that data on the same topic we're discussing above, even if the robot is not in the HC series? |
@iydv: just curious whether you've had any chance to look into what we discussed above. Really just a friendly ping. |
I have just finished testing the first version this week. Took me longer than I thought. See #188 |
I don't know if we could detect the presence of a sensor. But I don't think it's relevant. I've never seen one of these sensors be used outside of a MotoFit application. It seems that they have even removed these API from the latest documentation. |
hmm.
yes, that's what I meant with my #184 (comment). |
The HC series of robots have built-in torque sensors in all joints and come with various collaborative features built-in.
Some of the data used for those features is accessible to M+ applications: either via specific M+ APIs or fi via M-registers.
We should investigate if we can, and if so, how to, make use of that data. Either to improve existing interfaces or to make new ones available, specifically for users of HC robots.
An example improvement could be to use the values reported by the torque sensors in
JointState
messages instead of the commanded torque we currently use to populate them. We could also see whether it'd be possible to publish the estimated F/T on the TCP as ageometry_msgs/Wrench
.For information on M-registers used on HC platforms for this sort of data refer to 181437-1CD (HW1484764) Collaborative Operation Instructions, specifically the Register List on pages 174 and 175 (10-1 and 10-2).
The text was updated successfully, but these errors were encountered: