Multiple robot synchronization without live control commands - only robot_state feedback

asked 2018-12-19 16:30:24 -0600

mikevillan26 gravatar image

My company is trying to use ROS to coordinate between multiple ABB robots, operating at different times, and with different operator-specific trajectories. Basically, the operators define and run their own robot paths at different times during the day, so they are required to standby to prevent collisions (note robot speeds are quite low). Recently we have decided to utilize live position feedback which we are currently able to send to a ros server. We want to use this feedback to coordinate between the robots so they can avoid collisions on their own. Unfortunately, we are not able to send real time remote movement commands to the robot because it is just not viable for the S4C+ controller models we are working with (No socket connection and serial is too slow) - if other suggestions, please share!.

How can we use the live position data we receive from all the robots to perhaps send stop signals (which is possible) when robots are about to collide based on the current trajectory and timing of their current positions?

Right now, we are able to visualize one robot in real time on RViz, so I am wondering if it is possible to visualize multiple robots in Rviz and dictate when they will collide, then possibly sending a signal to the robots to have them stop or run a canned home trajectory to have them sync up?

edit retag flag offensive close merge delete

Comments

Unfortunately, we are not able to send real time remote movement commands [..] serial is too slow

have you been able to fix the issues you described #q310735?

gvdhoorn gravatar imagegvdhoorn ( 2018-12-20 03:00:01 -0600 )edit

Unfortunately, no, but I have read an article regarding tests for serial communication stating that it is way too innacurate and slow for any real perception. Therefore, I decided to put it aside, at least for now. We are going to use the feedback for robot_state to merely control stop signal I/Os

mikevillan26 gravatar imagemikevillan26 ( 2018-12-20 10:52:54 -0600 )edit

I don't have any direct experience with serial ports and S4C controllers, but abb_driver takes an uploading approach to "controlling" the robot from ROS. In this case that means caching the entire trajectory before executing it. Slow transfer rates would not really matter then, it just means ..

gvdhoorn gravatar imagegvdhoorn ( 2018-12-20 10:58:17 -0600 )edit

.. uploading the trajectory takes a bit more time than over a TCP/IP connection.

Note: I'm not saying you should use abb_driver, just wanted to point out that real-time control (as you seem to imply) is not necessarily a requirement here.

gvdhoorn gravatar imagegvdhoorn ( 2018-12-20 10:59:19 -0600 )edit

We will mainly be relying on preplanning an optimized path and using the feedback we have to simply stop the robot and send new paths with FTP. I am curious however if it is possible to run automatic motion planning/path optimization in Moveit everytime it receives new targets?

mikevillan26 gravatar imagemikevillan26 ( 2018-12-20 11:02:24 -0600 )edit

yes, real-time control was the dream but not a necessity. we are interested however more in how to motion plan for multiple robots that are active at different times with different trajectories. How would we be able to sync them without live control to avoid collisions, etc.

mikevillan26 gravatar imagemikevillan26 ( 2018-12-20 11:05:42 -0600 )edit

Do the robots have a fieldbus available to them? You could approximate a "normal" network connection with a set of registers synced over a fieldbus with a remote PC and a simple "transfer state machine". Abstract that away sufficiently and you have a usable connection.

gvdhoorn gravatar imagegvdhoorn ( 2018-12-20 11:07:46 -0600 )edit

I have read an article regarding tests for serial communication stating that it is way too innacurate and slow for any real perception.

could you link to that article? Or provide the title and where to find it?

gvdhoorn gravatar imagegvdhoorn ( 2018-12-20 11:08:21 -0600 )edit