Control BETRUN/LEBAOT (LBD) robot with/from ROS

asked 2021-04-11 20:07:24 -0500

lasercladding gravatar image

updated 2021-04-12 06:48:09 -0500

gvdhoorn gravatar image

Hello, I have a 6 DOF welding robot that is currently only controlled by a teach pendant. The robot is a Chinese brand of unspecified origin by the re-sellers that it was purchased from, however I think it is an LBD brand. It uses a BETRUN robot controller (which is the same as a LEBAOT robot controller) and a BETRUN teach pendant. The robot is less than 2 years old and works great without any issues. I would like to look into the possibilities of being able to use it with offline programming for the more complex jobs that a teach pendant is not suited to or would just take too long, as robot time is used up when using the teach pendant.

The only info I can get about the robot controller is that the software platform is by Linux, however this may or may not be correct.

The existing robot controller has 3 ports on it, a USB port, a DB 9 COMS port which is RS485 & RS232, and the teach pendant port which is DB 9, RS422. All this info comes from the robot user manual. The robot controller is then connected to the servo drivers.

When the robot is switched on the teach pendant starts up (takes about a minute), it then requires a login (username & password), then the teach pendant can be used as normal, for jogging, teaching points and saving / running saved programs, etc.

My question would be is it possible to connect a PC to the robot controller, have a program with some code that would allow the PC to communicate with the robot and “ask” the controller what language it uses so it could be configured to run by a PC? What sort of program would be suitable given that the robot controller OS is unknown and only assumed to be Linux based? Something like Python, C+, C++? So as not to reinvent the wheel would there be some existing code that could be used, edited or modified to do this. Is this something that ROS can accomplish?

Any suggestions would be greatly appreciated.

Thanks & regards


edit retag flag offensive close merge delete


a non-technical observation:

is it possible to connect a PC to the robot controller, have a program with some code that would allow the PC to communicate with the robot and “ask” the controller what language it uses

I don't believe this would be possible. It would be like asking a total stranger in Latin (or some language X he doesn't speak) which language he natively speaks. How would he be able to understand you and respond?

Connecting something to a robot controller and then sending it "random bytes" has a low chance of success ("random", as without any information on the actual protocol(s) the controller supports it's akin to sending random bytes).

Edit: seems you also posted on the RoboDK forum: Robodk for all robot brands.

gvdhoorn gravatar image gvdhoorn  ( 2021-04-12 03:02:34 -0500 )edit

As to your question: without any information about the controller itself, this is going to come down to luck and guessing I believe.

If you can figure out what sort of programming language this thing uses, you may be able to create a post-processor for it.

Does the controller allow you to store programs you've created with the teach pendant on a USB stick?

If so: try to save a simple program on a stick and see whether you can open it on a PC. If you can, and it's text based, you may be able to reverse engineer the format it uses for Joint/Cartesian poses, motion options, IO, etc.

But if you have (programming) documentation, or can ask the OEM for such documentation, that would of course be much more efficient.

Edit: if you could share a copy of the saved program somewhere, or a backup ...(more)

gvdhoorn gravatar image gvdhoorn  ( 2021-04-12 03:11:07 -0500 )edit

Thanks for your help gvdhoorn, according to the manual the USB port can be used to either update or backup the teach pendant and controller, so I will try a backup and see if I can get a copy of it.

lasercladding gravatar image lasercladding  ( 2021-04-12 18:54:09 -0500 )edit