0

I am currently a university student working on an extracurricular project where we built a 3D printed SCARA robot that will be remotely controlled. On one end, you have the user that is moving their hand and gathering location based on x,y, and z coordinates. Those coordinates will then be sent to the SCARA robot which will move to those coordinates.

Currently we are attempting to figure out the best way to do this with as little latency as possible.

Our current idea is to create an API that sits between the two — with the users client making an update request to the API with the coordinates and pushing them to the SCARA robot.

Our greatest concern with this is latency and what happens when when there is a delay on one end.

The reason I am posting here is I'm looking to inquire into whether any of you have suggestions on where we should look for help with this or have any ideas that would be a better solution. We seem to be at a road block and just looking for some fresh eyes. We are all undergrad students.

So what would be the best way to accomplish this?

Thank you so much for your time and if there is anything I can add for clarity, please don't hesitate to ask.

Best

Doug
  • 3

1 Answers1

1

create an API that sits between the two — with the users client making an update request to the API with the coordinates and pushing them to the SCARA robot.

A classic HTTP API is most likely going to be too slow. But you need to start by defining the system and what you have available. What does the "client" look like? What does the networking environment look like? Are they in the same room being controlled visually, or is there a video link in the other direction (huge latency risk there).

The best case would be if the robot control PC and the client were on the same network, and using a continuous protocol for control. Websockets are probably adequate.

You might want to look at the networking techniques of games, since they focus heavily on latency management.

You will definitely need to consider safety: what happens if the link is lost, or latency spikes?

pjc50
  • 15,223