Hello everyone, I am developing a KRL program that allows robots to be controlled via a remote computer using Ethernet.
At present, based on the official example (XmlTransmit.src) has achieved the effect, but in the process of controlling the robot movement, the Ethernet data can not be read in real time for control, resulting in control lag, is there any way to receive the Ethernet data in the movement? And the motion trajectory is not smooth, I think it should be related to the motion command (PTP) I use. thank you.
Problems with controlling robots using EKI
-
mr.Sakura -
August 12, 2024 at 1:57 PM -
Thread is Unresolved
-
-
SkyeFire
August 12, 2024 at 2:15 PM Approved the thread. -
If you want motions to be blended/approximated, you need to get familiar with how advance run pointer works...
Advance run pointer need to read at least one next point before current motion is complete. This means you need to buffer received data. If you run out of position data while program is running, there will be stop(s).
-
1. EKI is not a realtime control system. You want RSI for that
2. If you just want to send a list of points and execute them normally, EKI can do that, but you have to study the Advance Run Pointer and Continous type motions (C_DIS, C_PTP, etc), as Panic said. You will need to buffer several points ahead on the robot (based on $ADVANCE) in order for the motion planner to be able to calculate blended/approximated motions.
3. EKI is a blocking function. That is, calling an EKI function will usually break the ARP, causing the robot to stop at each point (similarly, WAIT commands, setting Outputs, etc). There are ways around that (calling EKI from a TRIGGER, running EKI loop in the SPS, etc) -- which one you use will depend on the details of your process.
-
1. EKI is not a realtime control system. You want RSI for that
2. If you just want to send a list of points and execute them normally, EKI can do that, but you have to study the Advance Run Pointer and Continous type motions (C_DIS, C_PTP, etc), as Panic said. You will need to buffer several points ahead on the robot (based on $ADVANCE) in order for the motion planner to be able to calculate blended/approximated motions.
3. EKI is a blocking function. That is, calling an EKI function will usually break the ARP, causing the robot to stop at each point (similarly, WAIT commands, setting Outputs, etc). There are ways around that (calling EKI from a TRIGGER, running EKI loop in the SPS, etc) -- which one you use will depend on the details of your process.
Thanks to Panic and Skye, I still plan to try using EKI first, but I do not find C_PTP and other instructions in the official documentation and how to use it. Is there any documentation or reference material for this? Thank you very much.
-
Lookup system integrators manual for C_PTP.
Fubini
-
C_DIS, C_PTP, C_ORI, etc, are modifiers on motion commands (LIN, PTP, etc), that activate and control approximated/blended motion. The manuals describe this in detail.
PTP XP1 ; robot comes to a complete stop momentarily at XP1
PTP XP1 C_PTP ; robot "cuts the corner" past XP1 based on multiple factors, including the distance between XP1 and the previous/next motions, the settings of $APO.
The C_xxx tags also interact strongly with the Advance Run Pointer, so you'll need to study that too.