When the yaw angle exceeds 90° the robot cannot maintain balance states in Simscape

I used simscape to simulate,modeling and control of a wheeled biped robot. I used LQR to calculate the torque for the robot to maintain balance states. I used a lot of balls to simulate the contact between the tire and the ground. Everything is ok when the yaw angle of the robot is less than 90 degree.
  • here is yaw 0 dgree
yaw 0 degree
  • here is yaw 60 dgree
60 degree
when the yaw angle is greater than 90 degree, can't maintain balance.
  • here is yaw 90 dgree
90 degree
  • here is yaw 180 dgree
180 degree
when I change the positive and negative sign of the both hub torque at 180 degree yaw angle , everything return to normal as the same as the 0 degree.
  • here is yaw 180 dgree but change the positive and negative sign of the both hub torque
What's happaning? Is it because of the spatial contact force?

4 comentarios

it might be there is a transformation error in your control logic. If you manually change the torque signs at 180 degree, everything works, indicating there might be a missing yaw rate transformation in your logic.
no,I don't think so. The robot is symmetry,the states of the robot at 0 and 180 degree should be same.
Aquatris deduced what happened based on your description, and cannot rule out that instability issue is caused by human error in the coding of rotation matrix or transformation between Euler angle and quaternion in the LQR based computed torque.
One aspect that intrigues me is why the two-wheeled robot tumbled violently when there was no external torque acting on it other than the balancing torques from the wheels. One possible explanation is that an incorrect rotation sequence was used, causing the robot to experience a singularity at a yaw angle of 90° and a large torque output.
Note: Admin may regard your username of choice as a potentially disrespectful remark.

Iniciar sesión para comentar.

Respuestas (1)

@Sam Chak @Aquatris Hi, thanks for your response. Yes, all of it is caused by singlarity at a yaw angle of 90°. I just use a stupid way to fix it,
if(yaw<-90 | yaw>90)
T = -T % T is the hub torque
end
Although there may be some instability and oscillation when yaw angle passing through 90 °, balance can be maintained.

Categorías

Productos

Versión

R2024a

Preguntada:

el 21 de Ag. de 2024

Respondida:

el 22 de Ag. de 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by