ROSI and Universal Robot for an industrial application
I have been looking at ROS and ROSI with the intention of using a Universal Robot (UR5) and ROS in a commercial application.
I have a fresh Ubuntu Xenial 16.04.05 install with ROS Kinetic.
I have been reading "ROS Programming : Building Powerful Robots master" and other publications as well as the other material and the online documentation.
My first target was to control a simulated UR5 using the MoveIt, Gazebo, RViz and my test application using the Moveit C++ API. I have had quite a painful ride but I understand the ROS framework now but drivers and compatibility seem to be giving me issues. My current implementation fails when I try to execute move(), a known problem.
I have 2 questions :
(1) UR5 and ROS The universal robot package ( http://wiki.ros.org/universal_robot ) is shown as experimental and use in production systems not recommended. This greatly concerns me as a non starter, we have this powerful framework available but experimental drivers? Is this assertion reasonable or is this driver package really not suitable for production? Am I missing something or are universal robots not considered for production systems? Before I put in more effort, I wanted to confirm the suitability of my configuration?
(2) Outdated drivers I believe the universal_robot ur_driver is the cause of my issues, and is no longer recommended. It seems ur_modern_driver is recommended ( https://answers.ros.org/question/2545... . The ur_modern_driver adds ros_control required for move() support when simulated. Why has the ur_modern_driver not replaced the ur_driver? Surely everyone will fall at the first hurdle and have to find the above thread?
================================================================================ UPDATE following response from @gvdhoorn
Thanks for your reply, I appreciate you taking the time.
I have several responses, in reply to your questions.
(1) Experimental status
Thanks for the detailed explanation, it is hard to understand how the ROS framework comes together without your comments. Understood that it depends on what functionality and hardware I chose to use, will determine what test coverage it has had. It essence I have to try it out myself but I am reassured there are production systems on the platform I am proposing and an active community willing to support.
(2) The ur_modern_driver adds ros_control required for move() support when simulated.
I have to put my hand up and say this was my interpretation, I thought the driver added the simulation functionality. I have since read, the Gazebo simulation with the ros control plugin with the function, instead of the driver.
(3) Documentation
Noted regarding the books going out of date (which was from the http://wiki.ros.org/Books list). The tutorials are already out of date and use the previous moveIt API, that are deprecated (or soon to be).
(4) ur_driver vs ur_modern_driver
It seems perverse to keep the ur_driver in the main repository when it is "urged" to use the ur_modern_driver ( https://answers.ros.org/question/2545... ). I can understand the ur_driver still has a use but as with the API ...