Send correction data to the robot through RSI
-
Abel Wong -
November 18, 2021 at 7:06 AM -
Thread is Unresolved
-
-
absolute correction means offset is applied to current trajectory as is (without accumulation)
lets say you are moving from P1 to P2 and points are far but have same Z value (say 1000mm).
lets say correction from RSI is affecting(correcting) robot Z-value as it moves from P1 to P2.
without correction, Z would be the same:
Z(0ms) = 1000mm
Z(12ms) = 1000mm
Z(24ms) = 1000mm
Z(36ms) = 1000mm
Z(48ms) = 1000mm
etc.
but if RSI correction is a steady value of +5mm, then as robot moves from P1 to P2, Z value will be:
Z(0ms) = 1000mm
Z(12ms) = 1005mm
Z(24ms) = 1005mm
Z(36ms) = 1005mm
Z(48ms) = 1005mm
etc.
relative correction means offset is applied incrementally to current path (each RSI message keeps ADDING more and more of correction) so you would get:
Z(0ms) = 1000mm
Z(12ms) = 1005mm
Z(24ms) = 1010mm
Z(36ms) = 1015mm
Z(48ms) = 1020mm
etc.
so you 83.333 corrections every second (1000ms/12ms=83.3333...)
and Z value would keep increasing by 5mm*83.3 = 416.6mm every second while robot is moving from P1 to P2.
and if you change RSI from 12ms to 4ms, then in first case (absolute) robot would still move while keeping Z at 1005mm. but in second case (relative), it Z value would be changing 3x faster since 5mm is added every 4ms instead of every 12ms.
what you choose will depend on your application or where the correction value is from.
if sensor is stationary, absolute correction would be suitable. if sensor is robot guided, it would be relative.
-
My question is the data that needs to be sent to the robot, for example
The current position of the robot, Z, is 1000mm. Increase the target position of 5mm every 12ms, i.e. Z_ target(12ms)=1005
Z_ target(24ms)=1010
Z_ target(36ms)=1015
Z_ target(48ms)=1020
……
It has been tested and verified that the #RELATIVE mode is adopted, and the data sent is
Z_ correction(12ms)=5
Z_ correction(24ms)=5
Z_ correction(36ms)=5
Z_ correction(48ms)=5
Now, if sensor-guided motion based on absolute values is adopted for correction, the correction data will be sent
Z_ correction(12ms)=5
Z_ correction(24ms)=10
Z_ correction(36ms)=15
Z_ correction(48ms)=20
……
Or send data
Z_ correction(12ms)=1005
Z_ correction(24ms)=1010
Z_ correction(36ms)=1015
Z_ correction(48ms)=1020
According to the pictures in the software documentation, I understand that the difference between #ABSOLUTE and #RELATIVE is that the starting point of sending data calculation is different.