Yaskawa-Global / motoros2

ROS 2 (rcl, rclc & micro-ROS) node for MotoPlus-compatible Yaskawa Motoman robot controllers
92 stars 15 forks source link

Make example MoveIt 2 configuration package(s) available #74

Open gavanderhoorn opened 1 year ago

gavanderhoorn commented 1 year ago

MoveIt 2 is non-trivial to configure.

Especially when not using ros2_control, as almost all available documentation and examples assume ros2_control is being used.

We give some hint(s) in the README (Usage - With MoveIt), but that's really rather minimal, and assumes an already working MoveIt 2 configuration package has been created, and just needs to be modified for use with MotoROS2.

Providing an example, known good configuration package would help users set up something for their own / other robots.

gavanderhoorn commented 1 year ago

Note: while the default would probably be Python launch files, XML based launch files are still supported, and might be easier to understand.

Python launch files can quickly become very complex, especially since they don't directly get executed, but model a declarative description of what launch_ros should start when invoked.

ted-miller commented 1 year ago

@aaron-levan, did you keep any of your previous work on this topic?

Aaron-Levan commented 1 year ago

@Aaron-Levan, did you keep any of your previous work on this topic?

No, I had everything in a VM that is, unfortunately, no longer with us...

gavanderhoorn commented 1 year ago

I keep putting this on my TODO, but it's too long already ..

I have working package(s) for my GP25 + TSL1000, but it's for / from a very old version of MoveIt and not really suited for distribution.

Skoven commented 10 months ago

Hi,

We have a GP25 in our lab that we have managed to get the MotoRos2 driver running on it. So far we don't have a working Moveit Config for it. Is there any news on this topic, or has anyone else to managed to put together their own Motoman Ros2 Moveit Configs?

Best Regards Jens Skov Damgaard

gavanderhoorn commented 10 months ago

Unfortunately I haven't had time to look into this yet.

It shouldn't be too much work to put something together, but as I have a basic setup working, it hasn't been a priority for me so far.

The main thing to keep in mind is ros2_control is not used at all, so the majority of the .yaml the MoveIt Setup Assistant generates relating to the driver interface will not be usable. I typically just remove it and replace it with what is needed, which is a single action server client configured with the correct joint names.

I'll see if I can dig that out and post it here later.

drolleigh commented 10 months ago

Hello, I have a simple moveit 2 config package for a Motoman gp25-12. I have motoROS2 successfully installed on the YRC1000 controller, and it is publishing the joint states that match the prepended group name. And it is broadcasting TFs with R1 as the namespace. The TFs appear to be accurate to the physical state of the robot.

How do I make the moveit 2 launch files talk to motoROS2 on the robot controller?

Any help is appreciated, -D

gavanderhoorn commented 10 months ago

We have some info in Usage - with MoveIt. Would that be enough?

Note that MoveIt will not care about TF. It ignores it completely for basic usage.

akashjinandra commented 9 months ago

We are more wondering, what moveit files need to be launched. With ROS 1 we had followed the example of planning execution launch that was provided by the ROS industrial group: http://wiki.ros.org/Industrial/Tutorials/Create_a_MoveIt_Pkg_for_an_Industrial_Robot?action=AttachFile&do=view&target=moveit_planning_execution.launch.txt. I'm wondering now if there is a similar setup for motoros2. The MSA(moveit setup assistant) generates many files, but we aren't sure which one to launch when running with real robots.

gavanderhoorn commented 9 months ago

I keep saying I'll try to make something available, but due to time constraints, I never get to it.

So I can't / don't want to promise anything, but I'll again try to look into it.

As I wrote above: the majority of the output of the MSA, at least when it comes to configuring the the driver interface can be ignored, as it's all ros_control focused.