ROS-industrial seems very well developed and maintained but it is based on ROS-Kinetic which was already EOL in April'21. I found out that there's a fork for ROS-noetic: https://github.com/fmauch/universal_r...
There are probably not much relevant changed since Kinetic, so 'kinetic' branch might be active. Furthermore, usually ROS branches are named after the oldest compatible version. This means that the code on Kinetic branch is compatible with Melodic and Noetic. This was very frequently the case in ROS1. Especially, the core messages and libraries didn't change much since Kinetic. Everything became very stable.
However, if I didn't misunderstand, there are some useful features from moveit that are not ported to moveit2 yet, for example moveit setup assistant would be crucial for me since I want to merge urdf models to represent the real environment of the robot.
Actually MoveIt2 is further regarding features then MoveIt. To my knowledge only missing part MoveItSetupAssistant. But, TBH, working without it was also not soooo painful. It depends how complex are your models, but on the end you will have to manually update one or two files.
Also, ros2-galactic EOL is already November'22 and ros1-noetic is still supported until May'25 which I found confusing as well.
Why is this confusing? Galactic is not "Long-Time-Supported" (LTS) version, and Melodic is. Anyway, this year in May ROS2 Humble is coming out and it will be good place to start with ROS2 because some of the core library got much more stable in the last months. Galactic is also very good and stable. I still don't see many missing hot-new features compared to current Rolling release.
I also consider starting from ROS2
To conclude. If you are starting just now, start with ROS2 and save yourself some transition pain in the future. For what I can say, most of the UR-Driver, ros2_control and MoveIt2 developments are happening here and maintainers from those repositories are short on time to give much love to ROS1 version. Therefore, ROS1 versions of libraries will soon (is not already) become obsolete. Depending on what you want to do, some of the more complex scenarios are now much easier to do with ROS2 than it is with ROS1.
Originally posted by destogl with karma: 877 on 2022-02-24
This answer was ACCEPTED on the original site
Post score: 0
Original comments
Comment by fexner on 2022-02-25:
Just to add: For ROS1 the whole stack is runnable (and supported) for ROS noetic. See the ur_robot_driver for details on how to get started. ros_industrial/universal_robot has its default branch on kinetic devel, but the melodic_devel_staging
is pretty close to my fork, except the MoveIt! support. If you want to use MoveIt! I suggest starting with my fork as described in the driver's README would be the way to go for now.
If you are just getting started with ROS, I agree that starting with ROS2 might be a good option. We are very close to actually releasing a first binary package for the UR packages which will be available in galactic and probably also in humble asap.
Comment by rosberrypi on 2022-02-25:
Thank you for both answers. I think it is a little bit more clearer now. I am familiar with ROS so I am not starting from zero, however it still looks beneficial to start from ROS2 with respect to my future plans, to minimize the migration process at the end.
Actually MoveIt2 is further regarding features then MoveIt. To my knowledge only missing part MoveItSetupAssistant. But, TBH, working without it was also not soooo painful. It depends how complex are your models, but on the end you will have to manually update one or two files.
It looks like the real question I have is how to use UR robot with MoveIt! setup which is created via MSA in ROS noetic and for that I will create a separate question in the future.
Thanks again!
Comment by fexner on 2022-02-25:
For ROS2 MoveIt! setup (for a plain robot) is included.
Comment by rosberrypi on 2022-02-26:
Yes I saw that and that's great, but I meant creating a custom URDF for my own environment with table etc...