-
Notifications
You must be signed in to change notification settings - Fork 237
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
Joints trembling at startup, on video #51
Comments
@qiayuanliao @LoveThinkinghard any updade, please ?! |
hello @elpimous did you find any solution? same issue for us. |
Hey, could you share any video ? |
Looks like not enough torque? |
Hey,.... Not silly...
@evan-brooks tested with 10Nm, same result !! Any other idea ? where could I modify kp/kd ? |
@demirciomer , what robot do you use ? I suspect any task.info bad compatibility param ! |
@elpimous we have a custom robot like you, but its size is bigger. We increased the torque limit in urdf and operated the robot in standing mode. Tries to increase body height when we switch to the controller from position control. still no fix available. |
@demirciomer |
@elpimous We dont have foot sensors. We are just looking for the force in Z and above treshold we set foot contact as true. We are looking MPC observation topic for forces in Z direction. |
And you have same reaction as me ? |
We tried another thing. We stand up the robot with position control and implemented a controller switch which switches the controller from position to legged control. it tries to move up from standing position. foot contacts are all true no problem in foot contacts but body tries to go up. may be the state estimation problem or controller task.info parameter problem. |
just be sure about the torque limits in the urdf file for your case. increase them to 100nm etc. |
@demirciomer
modified <limit effort="33.5" > to <limit effort="100.00">
into const.xacro AND ylo2.urdf
and under task.info :
; Whole body control
torqueLimitsTask
{
(0,0) 100.0 ; HAA
(1,0) 100.0 ; HFE
(2,0) 100.0 ; KFE
}
frictionConeTask
{
frictionCoefficient 0.3
}
swingLegTask
{
kp 350
kd 80
}
Same problem !!
|
@elpimous also check the motor controllers default parameters if there is an integral coefficient, make it zero, that is also problem. We are still dealing with it 👍 |
@demirciomer. Could you confirm this :
Could you confirm that you use same params ? |
@elpimous yeah same parameters, we also tried to smooth the control signals with low pass filters, it keeps the position better but this is not a good practice. probably state estimation of both of us are problematic. It might be a noise issue. Keep try to solve it. |
@elpimous torque values should be signed? |
Hello on my controllers, maxtorque and kp kd are always positive or 0. |
Could we have state estimation errors, due to bad legs segment lenght, compared to body com/imu,? |
Hi, @elpimous. In literature, position control is used only when the feet are in the swing phase. During the stance phase, only torque control is applied. Therefore, you should provide only feedforward values (pos_des, vel_des, kp, and kd, all set to zero) while the robot is in the stance phase. In contrast, during the swing phase, all desired variables, including feedforward values, should be sent. Perhaps that's the issue you're encountering. By the way, @demirciomer and I are working together, and this fix seems to solve our issue. We're continuing to test it. |
Hi @yyagin @demirciomer |
I apologize for any confusion in my previous message regarding the position and torque controllers. Currently, our approach involves the following code: command_.send_moteus_TX_frame(ids, port, 0, 0, joint_fftorque + joint_kp*(desired_position - measured_position) + joint_kd * (desired_velocity - measured_velocity), 0, 0); in the : GitHub - legged_ylo2/legged_ylo2_hw/src/Ylo2HW.cpp#L143 After implementing this change, the trembling has lowered. You can try it and check if it is standing well. Additionally, I recommend reviewing the MIT Cheetah 3 paper for further insights about force and torque controllers. If you have the opportunity to try it, please update us as well :) Have a nice day too! |
Hi @yyagin , @demirciomer
trying your idea with command_.send_moteus_TX_frame(...) cross fingers ! |
@elpimous first you can try to send just ff_torque values to joints withouth any other parameters pos vel kp kd, make them zero and just send ff torques. This would prevent trembling behaviour. later add pos error times kp + vel error times kd to the ff torque to follow pos and velocity |
Hello @qiayuanliao
a kp kd problem ?
where could I correct those values ?
XiaoYing_Video_1696157204837_HD.mp4
The text was updated successfully, but these errors were encountered: