Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Supporting packages for the 3-axis delta #104

Open
YazanRihan opened this issue Aug 10, 2023 · 3 comments
Open

Supporting packages for the 3-axis delta #104

YazanRihan opened this issue Aug 10, 2023 · 3 comments

Comments

@YazanRihan
Copy link

Hi,
I would like to ask about the 3-axis Delta with the Commonplace Robotics controllers. I am working on this model now and I have established a connection with it through Ethernet. I would like to ask which packages from this repo could be used for it? I am looking for any kind of ROS integration even if it just allows connectivity to the robot and basic TCP/IP packets exchange through a ROS node. And if one exists, how could it be used.

@cpr-fer
Copy link
Contributor

cpr-fer commented Aug 12, 2023

Hi @YazanRihan ,

For the interfacing with the hardware through ROS2 you can use the irc_ros_hardware package. It will provide you with means of interfacing through the ros2_control hardwareinterface. On top of that you will need to use some controllers, I am not certain what kind is best for a delta robot but I would guess some type of position controller would be used. Depending if you use CPRCANv2 or the CRI Ethernet Interface you might need to use a different controller type, as velocity control is the preferred (read: only) way of using the modules with ROS as of now.

For inspiration you can look into the irc_ros_bringup package. The launchfiles and config files should help you get an idea how the irc_ros_hardware interface is used. If something (or everything) is unclear please let me know and I'll try my best to explain and improve the documentation :)

Now for the general integration of delta robots in ROS, I can't really help you with that as I have no idea myself, if you have questions how to model the delta in urdf files your best bet is to find other projects that achieved that already

@YazanRihan
Copy link
Author

Hi @cpr-fer ,

Thank you so much for you help.

I will do the tips you gave me. I just would like to also ask about the position controllers. What would they achieve for me and what are the type of position controllers you would advise me to look for.

@cpr-fer
Copy link
Contributor

cpr-fer commented Aug 16, 2023

Hi @YazanRihan

So the controllers are set in the bringup package, e.g. like this (https://github.com/CommonplaceRobotics/iRC_ROS/blob/humble/irc_ros_bringup/config/controller_igus_rebel_6dof.yaml):

<namespace>/controller_manager:
  ros__parameters:
    update_rate: 100 # 100Hz for CAN and 10Hz for CRI

    joint_state_broadcaster:
      type: joint_state_broadcaster/JointStateBroadcaster

    joint_trajectory_controller:
      type: joint_trajectory_controller/JointTrajectoryController

The <namespace>/ part is required by the way the launch files work for supporting multiple robots. If you build your own launch files you may remove this part in the controller config and launch file.

More controller info can be found here: https://control.ros.org/master/doc/ros2_controllers/doc/controllers_index.html

Since the interaction between the different joints on a delta robot you might need to write your own one. I can look a bit into this next week as well, but I need to do some googling first

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants