Robotics StackExchange | Archived questions

Delay in camera data when using ROS over a Network

Dear community,

I am using a LAN to transfer cameras data (tested in simulation 'Gazebo' and real camera) to remotely control a robotic arm but it seems to me that the frames are not transferred in a way that allows me to properly remotely control the arm. I want to know what is the best software architecture to guarantee that the camera data (ROS images) is transferred over WiFi or even over internet as fastest as possible.

Thank you so much.

Asked by seif_seghiri on 2023-01-02 07:53:24 UTC

Comments

Your complaint is "frames are not transferred in a way that allows me to properly remotely control the arm" but your question is about "fastest". If you have not verified that the frames come in in a usable manner, you should start there. If the issue is "fast" I'll assume you're not sure if there is a bandwidth or latency issue. In either case you should get best performance with as much of the system on cables as possible. Avoid WiFi if you can, or you must use it, in as few links as possible. I've seen cases using ROS where a poor wifi signal not only created extreme latency (many seconds) but also had frames coming out-of-order. Like a frame would show up 15 seconds out-of-sequence. If your robot arm is stationary then connect your camera with a cable. We can see from your question your wifi is likely not up to the task. No SW can fix a poor connection, but you should write your code so that robot stops when video stops.

Asked by billy on 2023-01-02 22:13:14 UTC

I am really grateful for your assistance. I utilized the /image_raw topic. Consequently, when I tested the compressed and theora topics, I was able to receive the data in near-real-time.

Asked by seif_seghiri on 2023-01-04 07:39:35 UTC

Answers