ICube-Robotics / ethercat_driver_ros2

Hardware Interface for EtherCAT module integration with ros2_control
https://icube-robotics.github.io/ethercat_driver_ros2/
Apache License 2.0
126 stars 32 forks source link

Ethercat faults and suggestions #34

Closed GiladRobee closed 1 year ago

GiladRobee commented 1 year ago

system: Ubuntu 22.04 drivers: Thecnosoft IPOS 4808

  1. there is a visible jitter in the motion of the motor that Phillipe thought was from the synchronization of the EtherCAT master with the drivers.
    solution: we have dedicated a specific CPU core for the EtherCAT master and the motion runs much smoother
  2. permission errors each time the machine is booted/EtherCAT master was restarted
    no solution was found at the moment besides $sudo chmod 664 /dev/EtherCAT0 each time
  3. there is a need for homing operation process to interact with the driver homing or with external limit switches
  4. there is a need to pass the product_id to the pluggin as a param since different Thecnosoft drivers have different product id
    solution: we can duplicate the pluggin for each product id but that does not seems to be the optimal solution
mcbed commented 1 year ago

Hi @GiladRobee, point 4 was just fixed in PR #33 together with adding analog inputs.

GiladRobee commented 1 year ago

when running on ARM64 ./bootstrap fails because of autoconf in order to fix this automake needs to be installed insead. after running the download we have encountered error 2 (the permission error) again

mcbed commented 1 year ago

@GiladRobee, you can try giving ethercat access to all users not only ecusers by running this line :

$ sudo bash -c "echo KERNEL==\"EtherCAT[0-9]*\", MODE=\"0664\" > /etc/udev/rules.d/99-EtherCAT.rules"
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger

Does it change something ?

GiladRobee commented 1 year ago

Unfortunately no, the same error still occurs.

On Tue, Feb 21, 2023 at 1:05 PM Maciej Bednarczyk @.***> wrote:

@GiladRobee https://github.com/GiladRobee, you can try giving ethercat access to all users not only ecusers by running this line :

$ sudo bash -c "echo KERNEL==\"EtherCAT[0-9]*\", MODE=\"0664\" > /etc/udev/rules.d/99-EtherCAT.rules" $ sudo udevadm control --reload-rules $ sudo udevadm trigger

Does it change something ?

— Reply to this email directly, view it on GitHub https://github.com/ICube-Robotics/ethercat_driver_ros2/issues/34#issuecomment-1438286799, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZ37BPXURSLMSYTCJKAA5ELWYSOPFANCNFSM6AAAAAAVA7POCA . You are receiving this because you were mentioned.Message ID: @.***>

Brethiltaras commented 1 year ago

Hi, about point 2, I found in the IGH document 9.5:

The device nodes will be created with mode 0660 and group root by default. If “normal” users shall have reading access, a udev rule file (for example /etc/udev/rules.d/99-EtherCAT.rules) has to be created with the following contents: KERNEL ==" EtherCAT [0 -9]*" , MODE ="0664"

It seems that the double quotes are missed in the default-generated one.

GiladRobee commented 1 year ago

Thank you for the input, I have changed the rules and reloaded them but the same issue still exists.

On Thu, Feb 23, 2023 at 2:34 PM Brethiltaras @.***> wrote:

Hi, about point 2, I found in the IGH document 9.5:

The device nodes will be created with mode 0660 and group root by default. If “normal” users shall have reading access, a udev rule file (for example /etc/udev/rules.d/99-EtherCAT.rules) has to be created with the following contents: KERNEL ==" EtherCAT [0 -9]*" , MODE ="0664"

It seems that the double quotes are missed in the default-generated one.

— Reply to this email directly, view it on GitHub https://github.com/ICube-Robotics/ethercat_driver_ros2/issues/34#issuecomment-1441695165, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZ37BPTN67WNN2UUWYZPP2DWY5KNTANCNFSM6AAAAAAVA7POCA . You are receiving this because you were mentioned.Message ID: @.***>

Brethiltaras commented 1 year ago

Thank you for the input, I have changed the rules and reloaded them but the same issue still exists. On Thu, Feb 23, 2023 at 2:34 PM Brethiltaras @.> wrote: Hi, about point 2, I found in the IGH document 9.5: The device nodes will be created with mode 0660 and group root by default. If “normal” users shall have reading access, a udev rule file (for example /etc/udev/rules.d/99-EtherCAT.rules) has to be created with the following contents: KERNEL ==" EtherCAT [0 -9]" , MODE ="0664" It seems that the double quotes are missed in the default-generated one. — Reply to this email directly, view it on GitHub <#34 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZ37BPTN67WNN2UUWYZPP2DWY5KNTANCNFSM6AAAAAAVA7POCA . You are receiving this because you were mentioned.Message ID: **@.***>

What about KERNEL=="EtherCAT[0-9]*", MODE="0664", GROUP="ecusers"

mcbed commented 1 year ago

finally it should be KERNEL=="EtherCAT [0 -9]*" , MODE="0666" in this case