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

Cannot enable servo #48

Open
vaibhavwalia921 opened this issue Sep 10, 2024 · 4 comments
Open

Cannot enable servo #48

vaibhavwalia921 opened this issue Sep 10, 2024 · 4 comments

Comments

@vaibhavwalia921
Copy link

I did a fresh installation of ubuntu 20 and ros noetic. On that pc i cloned the package elfin_robot noetic_ethercat branch. It is built normally without any error. I launch the pipeline as the following:
Elfin_robot_bringup.launch
Elfin_ros_control.launch
Moveit_planning_execrution. Launch

But when i launch elfin_api.launch
I was getting the error no module found wx

So i installed this using
Pip install wxPython

And the API is running and i can see the GUI.

The problem is when i do servo enable. I hear brakes are disabled and then enabled again.

In the terminal i get this error:
Robot servo not enabled.

Note: previously everything was working. I started to get this problem on fresh installation of ubuntu.

@vaibhavwalia921
Copy link
Author

Hi after following this issue. I got the TxPDO before and after servo on.
Screenshot from 2024-09-11 17-21-59

The Voltage also seems fine to me.

Following are the TxPDO outputs:

before Servo on

$ rosservice call /elfin_ros_control/elfin/get_txpdo "data: true"
success: True
message: "slave1_txpdo:\n0x21:0x00:0xf0:0xff:0xb9:0x95:0x54:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x08:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x21:0x00:0xfc:0xff:0xfb:0xd1:0x1f:0x01:0x00:0x00:0x00:0x00:0x00:0x00:0x08:0x00:0x00:0x50:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:\n
slave2_txpdo:\n0x21:0x00:0xf4:0xff:0xb8:0x1c:0x77:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x08:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x21:0x00:0xdc:0xff:0x45:0xad:0xca:0xff:0x00:0x00:0x00:0x00:0x00:0x00:0x08:0x00:0x00:0x50:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:\n
slave3_txpdo:\n0x21:0x00:0xf4:0xff:0x6d:0x88:0x71:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x08:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x21:0x00:0x75:0xff:0xc8:0x68:0xfd:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x08:0x00:0x00:0x50:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:\n"

After Servo on

$ rosservice call /elfin_ros_control/elfin/get_txpdo "data: true"
success: True
message: "slave1_txpdo:\n0x21:0x00:0xec:0xff:0xb9:0x95:0x54:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x08:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x21:0x00:0xf0:0xff:0xfb:0xd1:0x1f:0x01:0x00:0x00:0x00:0x00:0x00:0x00:0x08:0x00:0x00:0x50:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:\n
slave2_txpdo:\n0x21:0x00:0xf4:0xff:0xb8:0x1c:0x77:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x08:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x21:0x00:0xe8:0xff:0x45:0xad:0xca:0xff:0x00:0x00:0x00:0x00:0x00:0x00:0x08:0x00:0x00:0x50:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:\n
slave3_txpdo:\n0x21:0x00:0x28:0x00:0x6d:0x88:0x71:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x08:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x21:0x00:0x46:0xff:0xc8:0x68:0xfd:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x08:0x00:0x00:0x50:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:0x00:\n"

Now I feel lost, not sure what is happening, Any help will be appreciated
Kind regards

@Neverforgetlove
Copy link
Contributor

According to the current information, except for the high voltage, everything seems normal from the PDO information. Could this robot be used normally before? If the voltage can be reduced to about 48V, and the enable still fails, read txpdo again, and use wireshark to capture the ethercat network port, click the 'servo on' button again, and send the recorded data.

@vaibhavwalia921
Copy link
Author

Thanks for the response.

Yes, the robot was working absolutely fine. I have attached a gripper to it and configured moveit_config package to use gripper and arm together. Everything was working normally. The problem came after the fresh a fresh installation of ubuntu 20.04. The voltage is high because the robot is connected through a battery And it’s just overcharged but it worked normally in these conditions as well.

My first assumption was it might be because of the PREEMPT_RT patch. So I tested it with both the generic and the patched kernel. Still the problem is the same. However, we were using it before without PREEMPT_RT patch and it used to work.

@Neverforgetlove
Copy link
Contributor

Is the gripper install at the end of the robot? I think the kernel does not affect the enable,the enabling process is determined by the control word and status word, when you read the txpdo, read the rxpdo information at the same time.

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