PID gains tweaking of Panda Research 3
Opened this issue · 0 comments
samdjExceenis23 commented
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