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

PID gains tweaking of Panda Research 3 #371

Open
samdjExceenis23 opened this issue Sep 29, 2023 · 0 comments
Open

PID gains tweaking of Panda Research 3 #371

samdjExceenis23 opened this issue Sep 29, 2023 · 0 comments

Comments

@samdjExceenis23
Copy link

Hello,

I'm using panda research 3 on V 0.10.0, with franka_ros and moveit.
I get a lot of oscillations when the robot when trying to go quicker.
I'm setting speed through moveit move_group with set_max_acceleration_scaling_factor, and set_max_velocity_scaling_factor.
When I'm going at a relatively low speed, everything works fine, but when I set a high acceleration value (>0.5), the robot starts to oscillate really badly.

It looks like a stability issue, so I'm wondering how to setup and tune the PID gains of the robot.
Could you point me to the right files/example for this ?

Additional informations:

  • The communications test works fine and returns:
#######################################################
Control command success rate of 10000 samples: 
Max: 1.00
Avg: 1.00
Min: 0.98
#######################################################
  • I modified the franka_control_node:
joint_names:
  - panda_joint1
  - panda_joint2
  - panda_joint3
  - panda_joint4
  - panda_joint5
  - panda_joint6
  - panda_joint7
arm_id: panda
# Configure the threshold angle for printing joint limit warnings.
joint_limit_warning_threshold: 1 # [rad]
# Activate rate limiter? [true|false]
rate_limiting: true
# Cutoff frequency of the low-pass filter. Set to >= 1000 to deactivate.
cutoff_frequency: 100
# Internal controller for motion generators [joint_impedance|cartesian_impedance]
internal_controller: joint_impedance
# Used to decide whether to enforce realtime mode [enforce|ignore]
realtime_config: enforce
# Configure the initial defaults for the collision behavior reflexes.
collision_config:
  lower_torque_thresholds_acceleration: [25.0, 25.0, 23.0, 23.0, 21.0, 19.0, 17.0]  # [Nm]
  upper_torque_thresholds_acceleration: [25.0, 25.0, 23.0, 23.0, 21.0, 19.0, 17.0]   # [Nm]
  lower_torque_thresholds_nominal: [25.0, 25.0, 23.0, 23.0, 21.0, 19.0, 17.0]    # [Nm]
  upper_torque_thresholds_nominal: [25.0, 25.0, 23.0, 23.0, 21.0, 19.0, 17.0]   # [Nm]
  lower_force_thresholds_acceleration: [25.0, 25.0, 25.0, 30.0, 30.0, 30.0]   # [N, N, N, Nm, Nm, Nm]
  upper_force_thresholds_acceleration: [25.0, 25.0, 25.0, 30.0, 30.0, 30.0]     # [N, N, N, Nm, Nm, Nm]
  lower_force_thresholds_nominal: [25.0, 25.0, 25.0, 30.0, 30.0, 30.0]      # [N, N, N, Nm, Nm, Nm]
  upper_force_thresholds_nominal: [25.0, 25.0, 25.0, 30.0, 30.0, 30.0]    # [N, N, N, Nm, Nm, Nm]
  • I tried disabling the rate limiter, but I get this error:
[ERROR] [1695989117.628113207]: libfranka: Move command aborted: motion aborted by reflex! ["joint_motion_generator_velocity_discontinuity", "joint_motion_generator_acceleration_discontinuity"]
control_command_success_rate: 1
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

1 participant