I forgot to add to see the simulation run Static_gait_generator_9_plant then initializeRobotParameters_plant then Robot_position_8_plant.slx.
How can I reduce excessive bouncing in my small quadruped Simulink model using Spatial Contact Force settings while joints run in position mode?
조회 수: 8 (최근 30일)
이전 댓글 표시
Issue: Excessive Bouncing in Quadruped Robot Simulation
Problem Description
I am simulating a small quadruped robot using the Spatial Contact Force block in Simulink. The robot's feet interact with the ground, but the simulation exhibits excessive bouncing despite using position control for the joints instead of torque control. It is a mini version of the model in Quadruped Robot Locomotion using DDPG Agent, I am using a joint trajectory for each of the joints on the robot and I have the actuators set to motion provided by input and torque automatically computed. I believe this is were the projblem begins as during locomotion there is a bounce when the robot's foot contacts the ground, after this occurs several times the robot becomes instable and falls over. I tested this gait on a larger version of the robot and it worked however there was a bounce but the size allowed the robot to continue. After shrinking the model this bounce has become too pronounced and is currently detrimental. A video of the test.
% Body and leg geometry
L = 136.4/1000; % Distance b/w front and rear hip joints (m)
L_back = 181.08/1000; % Length of the torso (m)
l1 = 55/1000; % Link #1 length (m)
l2 = 59/1000; % Link #2 length (m)
The robot's leg lengths are in millimeters (L_back = 181 mm, L = 136 mm distance between front and rear hip joints, thigh = l1 = 55 mm, calf = l2 = 59 mm).
The foot height and foot-ground distance are set to 15 mm (0.015 m) this is the distance the gait moves each foot. the foot goes up then down 15 mm and the forward distance is set to 15 mm.
The simulation time has dramatically increased after scaling the model down.
The feet exhibit exaggerated interaction with the ground, as if the ground is too soft or springy.
Current Contact Force Block Settings
Normal Force:
Stiffness: 1000
Damping: 100
Transition Region Width: 0.00005
Frictional Force:
Static Friction: 0.9
Dynamic Friction: 0.88
Critical Velocity: 0.001
Questions:
Main: Since I cannot switch to torque control, how can I further reduce bouncing in position mode?
Is a foot height and foot-ground distance of 15 mm too large for a small-scale robot?
How should I adjust the stiffness, damping, or transition width to improve ground interaction?
Why is the simulation time increasing significantly after scaling down the model?
Any guidance on parameter tuning for a small quadruped robot would be appreciated!
채택된 답변
Yifeng Tang
2025년 3월 4일
I use the following guideline when parametrizing "hard-stop" in hydraulic components (like a cylinder). You may find this similar to the spatial contact.
(1) based on the overall stopping distance, estimate an transition region. for example, if you expect the foot to deform 1mm during contact, 1mm or 0.5mm is a reasonable order of magnitude for the transition region.
(2) the hardstop should fully stop the motion within 1 or a few times of the transition region. You can sense the force of the spatial contact block, understand how much (order of magnitude) force is needed to stop the motion, divide that by the transition region, and that can be a reasonable stiffness. You can also estimate the force based on the total mass of your robot I assume. It's not usually possible to estimate mass/inertia for hydraulic system though.
(3) Use this stiffness and estimated mass, target for a damping ratio around 1. This allows you to calculate the damping coefficient. You may need to make it a few times larger or smaller, since the above calculation contains quite some estimation, but the order of magnitude should be good.
During this process, sense the force and position from the spatial contact block, use the information to guide you.
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Brakes and Detents에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!