Closed mkatliar closed 3 years ago
So just to be clear: this repository is not where ABB maintains its EGM implementation.
This is an OSS library which implements an interface to EGM running on an ABB (robot) controller.
Issues with EGM itself -- as it seems yours is -- should be either reported to your local ABB branch office (which will then escalate them if/when appropriate) or posted on one of the official ABB fora.
From your description, I don't have the impression the issue you are reporting is specific to this library.
If you agree, please close the issue.
If you post on the RobotStudio forum fi, it would be appreciated if you could post a final comment here with a link to your post there, so we can keep things connected.
Having written that: I could imagine that RobotStudio uses a non-wallclock internally for the robot controller, and the timestamps you show are relative to when the virtual controller was started.
For 28397
specifically, that would be about 8 hours ago.
@gavanderhoorn I agree. I thought maybe the documentation needs to be changed. What is the source of information about what EgmClock
should contain? I could not find it in EGM documentaion.
Perhaps @jontje can clarify where EgmClock
comments come from.
They were added in #32, which copied the files distributed with RobotStudio.
I thought maybe the documentation needs to be changed
we try not to diverge from upstream here.
If the documentation should be updated, it should be done in the upstream files first. Then we can update here.
@gavanderhoorn what is the upstream?
The EGM developers @ ABB Robotics.
Perhaps @jontje can clarify where
EgmClock
comments come from.They were added in #32, which copied the files distributed with RobotStudio.
If I remember correctly, then EgmClock
was added to the EGM protocol in RobotWare 6.07
, but the release notes don’t mention it at all as far as I can see.
@mkatliar: would it be OK to close this issue?
Have you reached out to ABB on the RobotStudio fora?
We could potentially add a clarifying comment here, but if it's not necessary that would be great.
Closing.
@gavanderhoorn the issue is not present on the real robot, so it is probably a RobotStudio bug. I started a discussion on the ABB forum: https://forums.robotstudio.com/discussion/12743
This is the response that I got from ABB support:
according to our support EGM is not supported by RS this is why You notice different behavior of EGM clock.
"
I checked with RobotStudio R&D and they advised that RobotStudio doesn't do anything with EGM, so it is not a bug with RobotStudio, instead it is not designed to work with it.
"
That's a very interesting response, as both @jontje and me use RobotStudio to test and work with EGM.
@jontje ?
@gavanderhoorn I was also surprised. If it "doesn't do anything with EGM", why does it support EGM commands and even send EGM data.
Perhaps a lost in translation? Perhaps "doesn't do anything with EGM" actually means: "RobotStudio does not influence any of the internals of EGM".
As I wrote in https://github.com/ros-industrial/abb_libegm/issues/119#issuecomment-786703538:
I could imagine that RobotStudio uses a non-wallclock internally for the virtual robot controller, and the timestamps you show are relative to when the virtual controller was started.
For
28397
specifically, that would be about 8 hours ago.
perhaps that's what's meant by "RS doesn't do anything with EGM", as in: RS uses some internal clock, doesn't adjust anything in EGM so EGM just reports whatever clock RS happens to use.
But this is all (wild) speculation by me (and I don't work for ABB).
"EGM is not supported by RS" also sounds interesting.
Yes, I agree.
That's the first time I hear that stated about RS.
But then again, I'm just "a user".
This is the response that I got from ABB support:
according to our support EGM is not supported by RS this is why You notice different behavior of EGM clock. " I checked with RobotStudio R&D and they advised that RobotStudio doesn't do anything with EGM, so it is not a bug with RobotStudio, instead it is not designed to work with it. "
I think there has been some misunderstanding somewhere in the support chain, and that response is very vague.
When you simulate a robot "in" RobotStudio, is is technically a background process that emulates RobotWare. And it is the RobotWare process that, for example, interpret RAPID code and manages EGM clients and communication.
But this is not something users generally don't know about, so it is reasonable to send bug reports etc. via the RobotStudio channels.
So the question should have been passed along (by the support people) to the RobotWare R&D, and not RobotStudio R&D.
So the question should have been passed along (by the support people) to the RobotWare R&D, and not RobotStudio R&D
yeah, that's in summary what I was trying to say in https://github.com/ros-industrial/abb_libegm/issues/119#issuecomment-800401636.
@mkatliar: you could perhaps rephrase your question to ABB support and see whether it ends up at the right people?
@gavanderhoorn I will.
@gavanderhoorn this is what I got from ABB support:
Regarding EgmClock : I don’t know. But usually we don’t care on that. The time from the first sequence is the reference time “Time 0”, then time difference from next sequence is calculated.
Seems to confirm what I suspected in https://github.com/ros-industrial/abb_libegm/issues/119#issuecomment-786703538.
thanks for reporting back.
Was this in a thread on the RobotStudio forum, or a private email?
It was in a private email.
They agreed though that this is not consistent with the documentation:
Anyway I agree regarding documentation.
Was there any indication the documentation / comments will be updated?
Was there any indication the documentation / comments will be updated?
No
The issue seems to be fixed in RobotStudio 21.2.9526.0 -- the timestamps look like UNIX time now.
Nice, so even if they stated this wouldn't be fixed, it has now been fixed?
The definition of
EgmClock
in proto/egm.proto isBelow are headers of EGM messages sent from RobotStudio on my system:
The time data
sec: 28397
does not look like "time in seconds and microseconds since 1 Jan 1970".