[Discourse.ros.org] [ROS-Industrial] RoboDK post processors

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[Discourse.ros.org] [ROS-Industrial] RoboDK post processors

Chris via ros-users


Hey there,

So we have these nice open source [RoboDK post-processors](https://github.com/ros-industrial/robodk_postprocessors) that were made available just for us.
I've been using my Fanuc post processor for a while and now I need a Motoman post-processor.

We already had a discussion on how we should implement these post-processors in ROS:
https://github.com/ros-industrial/robodk_postprocessors/issues/1

Here is my first working attempt:
https://gitlab.com/InstitutMaupertuis/ros_robodk_post_processors

# How it works
The RoboDK are python scripts that are included in the repository as a submodule (don't forget to initialize the submodules otherwise it won't work). I have added a ``__init__.py`` to make sure Python treats the directory as a package.

The RoboDK post processors have a common interface for every robot and also specialized functions/members.
I have described ROS services that exposes the common interface.

If the services are called with the right arguments and in the right order it is possible to generate programs for different robots. (at the moment only Motoman and Fanuc R30ia are in my test package)

# Caveats
There are many with this approach:
- How to add custom commands for each post processor? (eg: ``GO[1]=6`` on Fanuc, which may not have an equivalent on other robots)
- How to handle external axes? groups?
- How to add an option on a pose? (I use it a lot on Fanuc, not sure if it is useful for other robots)
- How to handle multi-program generation? (when generating a lot of poses, it is common to split the program into multiple programs)



How would you approach the problem?





---
[Visit Topic](https://discourse.ros.org/t/robodk-post-processors/5663/1) or reply to this email to respond.


If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates.
______________________________________________________________________________
ros-users mailing list
[hidden email]
http://lists.ros.org/mailman/listinfo/ros-users
Unsubscribe: <http://lists.ros.org/mailman//options/ros-users>
Reply | Threaded
Open this post in threaded view
|

[Discourse.ros.org] [ROS-Industrial] RoboDK post processors

Chris via ros-users


Some news:

I fail to run tests on the python scripts, help would be appreciated: https://gitlab.com/InstitutMaupertuis/ros_robodk_post_processors/merge_requests/5

I have found an easy way to add custom commands for each post processor, specific services are defined in the [corresponding srv sub directory](https://gitlab.com/InstitutMaupertuis/ros_robodk_post_processors/tree/melodic/srv/Motoman), then a separate python script defines the services servers [motoman.py](https://gitlab.com/InstitutMaupertuis/ros_robodk_post_processors/blob/melodic/scripts/motoman.py). This way the common services and specific services are nicely separated. Service returns with an error if the current post processor does not correspond to the service called (eg: using a Fanuc post processor and calling a motoman specific service).

This approach seems to be working fine but I have not yet looked at the other items in the bullet list of the first post.





---
[Visit Topic](https://discourse.ros.org/t/robodk-post-processors/5663/2) or reply to this email to respond.


If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates.
______________________________________________________________________________
ros-users mailing list
[hidden email]
http://lists.ros.org/mailman/listinfo/ros-users
Unsubscribe: <http://lists.ros.org/mailman//options/ros-users>
Reply | Threaded
Open this post in threaded view
|

[Discourse.ros.org] [ROS-Industrial] RoboDK post processors

Chris via ros-users


I don't have a gitlab account, so replying here: what sort of help are you looking for @VictorLamoine?





---
[Visit Topic](https://discourse.ros.org/t/robodk-post-processors/5663/3) or reply to this email to respond.


If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates.
______________________________________________________________________________
ros-users mailing list
[hidden email]
http://lists.ros.org/mailman/listinfo/ros-users
Unsubscribe: <http://lists.ros.org/mailman//options/ros-users>
Reply | Threaded
Open this post in threaded view
|

[Discourse.ros.org] [ROS-Industrial] RoboDK post processors

Chris via ros-users


Someone to look at the code and help me find out why the tests are not passing;
https://gitlab.com/InstitutMaupertuis/ros_robodk_post_processors/merge_requests/5

It could be a merge request or just a hint about what's wrong in my package!





---
[Visit Topic](https://discourse.ros.org/t/robodk-post-processors/5663/4) or reply to this email to respond.


If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates.
______________________________________________________________________________
ros-users mailing list
[hidden email]
http://lists.ros.org/mailman/listinfo/ros-users
Unsubscribe: <http://lists.ros.org/mailman//options/ros-users>