-
Notifications
You must be signed in to change notification settings - Fork 6
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
Method to send Robot to location and get read-back upon completion #12
Comments
Do you need this to monitor single commands or to generally monitor and track position during a longer process? If it's the latter, then that could be achieved already with a The thing thou, is that this method does not have correlation to other individual commands sent at the same time, say you activate this, start receiving updates of current pose, then send multiple |
@gonzalocasas What do you mean by longer 'process'? and I would like to monitor the location right after each motion command when ABB controller thinks its done with a motion command. I don't think it will be a modal command , so not like "activate this option". It is more like modifying |
I'm trying to understand the purpose of the request, because you say "monitor the deviation", but is that monitoring deviation of a single move command after the command has finished, or monitoring a whole path? The two are very different in that, if you want to monitor single commands, you can already do it with a |
Yea, I can do GetJoints after the MoveToJoints for 1 single move. But if I loop through them for a trajectory, it will be a start and stop jagged motion. The purpose for this is because the actual position of the robot is not the same as where I sent it to go using MoveToJoints. The difference comes from the size of the Zone and also because I use soft move function to allow deviation to occur. The robot controller decide for itself when a command is considered to be completed, when actual joints are 'close enough'. However this information is not knowable upstream. I need to know this information because I'm synchronizing other robots upstream. My 'other' robot need to follow the exact location of where the ABB robot is. And this need to happen during a 'long-ish' motion with 20 to 30 points. |
Maybe I bring an analogy from the CNC control community, it is common to have motion codes precomputed before running a CNC job. These are usually a list of G-Code read to be sent to the controller from some sort of steaming device (sometimes this is a computer, sometimes this is integrated into the controller directly). And all of these streaming UI allows direct monitor of the instantaneous location / speed / state of the machine. For example below is Universal G-Code sender UI, you can see the machine position displayed on the left. I'm developing similar UI for sending my rrc commands, and it would be really nice to be able to display my exact current position after each command. One use of this information is for debugging, especially because planned trajectories are pretty black box like. Another use of the function is to monitor deviation of a trajectory during assembly (especially during soft move), this is used for my sync operations upstream but also for scientific data collection to know what had actually happened. |
Summary
As a
user who send motion commands to ABB
, I wantto know the actual position/joint value of the robot after each motion command
so thatI can monitor the error/deviation
.Details
I would in essence like to have a combined version of
rrc.MoveToJoints
withrrc.GetJoints
. The use case for this is that I send motion commands that came fromJointTrajectory
, eachJointTrajectoryPoint
creates onerrc.MoveToJoints
. At each point, I use a Zone.Z5 so that motion is not jagged and at the same time I would like to monitor the deviation within this Zone. This deviation comes also from the fact that I'm using the soft move function in ABB.I have tried to weave
rrc.MoveToJoints
andrrc.GetJoints
. But this produces a start and stop jagged motion for every point in a trajectory. It is not practical. I believe the RAPID code / controller side motion planner do not tween motion commands when they are separated by the GetJoints command.The text was updated successfully, but these errors were encountered: