Use the robot as encoder for 3d laser triangulation scanner

We have a 3d laser triangulation scanner. To scan an object, we need to move the scanner along with a straight line and provide it with the current position values via RS-485 interface with a frequency of some KHz. More information about the scanner is there https://support.lmi3d.com/kb_article.php?ref=1119-WSDF-4401

It is possible to use the UR robot for this purpose? Concretely:

  1. Can it provide RS-485 interface?
  2. Can we generate the positions value along a straight line with required frequency and nearly zero delay?

The e-Series robots have a RS-485 Tool Communiication Interface, that supports data rates up to 5 Mb/s.
The controller update frequency of e Series is 500 Hz, so you are able to get the actual robot position at that speed.

CB3 robots does not support RS-485 directly, and the update rate is 125 Hz.

The iAVS 3D scanners made by van Rooij E.D.S.E do not require any encoder support. Just a digital input that signals “start scan”. We use it for scanning with the scanner on the toolhead of an UR5. Excellent results. Scan results and programming of the camera is done via the TCP/IP interface.

If the refresh rate (500 Hz/125 Hz) is fast enough for your needs, you could consider a MODBUS Gateway (Automation Direct, Anybus, etc.) to act as a communications gateway between the UR’s MODBUS TCP and your RS-485 device. I’m not sure how fast that would be but you could research this route further if interested.

I have a smiliar situation but with a Keyence LJ-X8200. My idea was to controle both systems via an overlaying python structure and use a thread to update the TCP Position and set a high signal to as a trigger.

@jbm I couldn’t find any info on RS-485 in the E-series manual.
Could you please elaborate on how one could use it to create an “encoder” signal for a specific linear path of the arm?

Getting ready to integrate a Keyence LJ-X8300 on a UR5e. Did you come up with an encoder signal for your scanner from the robot?