Creating a ROS Driver to interface with an open source controlled robot arm
Hi
I have started the research process for getting ROS to send trajectory data to a control box for a 6DOF robot arm, built around 6 STM32 based servo drives. Between the drives / motion control board and the PC is a Mesa Electronics Ethernet Anything I/O card. At present there is a CNC program that talks to the i/O card over ethernet, and encodes its trajectory data, generated from gcode, via UDP packets.
However the UDP protocol the mesa cards uses is proprietary, called LBP16, for which I have a detailed breakdown that I am yet to understand. Wireshark cannot understand it out of the box, so I am guessing that most operating systems would also not be able to use it without a specific module or library. I do not want to use the CNC program, but rather to have ROS linked directly to the controllers.
As the I/O card is using a proprietary UDP protocol, is it going to be necessary to code this into the ROS driver? Or would I need some separate program that translates the trajectory data into the correct UDP protocol?
Apologies if this seems vague, I am at the stage of beginning to understand the problem, and also to get some sense of how big an undertaking it will be. Certainly industrial ROS drivers such as the one for motoman seem to be extremely weighty programs.
I am using kinetic on Ubuntu 16.04 but am not tied to that combination.