-
Notifications
You must be signed in to change notification settings - Fork 568
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
Real Arm is shaking, real time servoing tutorial #645
Comments
@AndyZe might have some suggestions for this. We've sometimes seen similar behavior but I don't remember exactly what we've done to make it smooth. |
It depends a lot on the low-level servo controllers of the arm. If the low-level controllers offer a velocity control mode, you should use that. If you're stuck using position control mode, you can (probably) reduce the jerkiness by using a larger There has been one type of robot so far (out of 5 or so) where we just couldn't get Servo to work because the low-level controllers just weren't capable. |
Thanks for the comments. They do offer velocity control, but when I try to use it the (real) arm doesn't move at all. With position control at least the command go trough. Increasing publish_period did smooth the motion a bit, but the arm keeps moving erratically rapidly (movements of few centimeters). This arm model has been teleoperated in the past (see here), so I guess the servos should be good enough. Not sure if they were using moveit servo though. |
There never really was an issue on the UR AFAIK. They work quite well. Video below. Are you using a direct network connection to the robot? I mean, ethernet cable straight from the PC to the robot, no switches or routers in-between? That should help minimize latency. That's about all that comes to mind, for now. It could be that the Xarm6's low-level controllers just aren't well-suited to this type of control. VID_20210927_132552973.mp4 |
It looks like a solution was suggested here: xArm-Developer/xarm_ros2#2 @lorepiere8 please feel free to re-open this issue if there's something we can do to help. |
Description
I've adapted the real time servoing tutorial to work with the Xarm6, using a PS3 joystick to control joints and cartesian movements. All good in simulation, but when working with the real arm, the arm starts shaking and it hardly moves.
What is causing the shaking? Do I have to tune any PID values? Or perhaps should I set a lower/higher frequency for the controllers?
Has the tutorial been used to control real arms, or perhaps it only works for simulated arms? If so, what's missing to make it work for a real arm?
I've also opened an issue here: xArm-Developer/xarm_ros2#2 . At the moment I'm not sure if this is an issue with the Xarm codebase or with Moveit Servo.
Your environment
Expected behaviour
The arm moves smoothly according to the joystick commands, as seen in simulation (Gazebo).
Actual behaviour
The arm is shaking a lot, apparently unable to be still after a command. It moves in the correct directions though, meaning that it is correctly receiving the inputs.
The text was updated successfully, but these errors were encountered: