-
Notifications
You must be signed in to change notification settings - Fork 55
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
Walking - the more classic approach #1474
Comments
If I understand it correctly here https://github.com/HULKs/hulk/blob/main/crates/control/src/orientation_filter.rs#L92, you calibrate the length of the gravity vector and assume, that the direction can be trusted. I investigated this assumption back in 2021 (https://b-human.de/downloads/publications/2022/WalkStepAdjustment.pdf, chapter 4 "Foot Support Rectangle Calibration"), by letting the robot fall itself over, to compared the expected support polygon with the measured one. The result is shown below for all our V6 robots back then. These errors occur, because we assumed the accelerometer values are atleast in their direction calibrated. This is not the case, but the angles from the imu are calibrated. This change was very helpful for the walk, because previously the heels would be 10 to 20 mm shorter and the tip of the toe 10 to 20 mm longer and made everything a nightmare to parameterize :D (As a side note, it also profited the camera calibration)
I recommend to look into logs to find out the reasons why the robots fell over (without posting the numbers directly, I counted the falls of the teams https://b-human.informatik.uni-bremen.de/public/Statistics/2024/ 👀 Also in color if used with libre calc).
Thin wooden plates (2-4 mm) from the hardware store (Baumarkt) or stacking field carpets on top of each other a good tests. Other helpful references: #411 and https://docs.b-human.de/master/motion/motion-walking/#list-of-design-decisions |
If interested, I could link the files that handle this part in our code. The short summary is, that we have three parts for it:
|
We could try to build a Backlash(PID) compensation like BHuman. Also one could train the joint angle predictions (maybe with data from the ITL). In addition to that one could try to compensate not high enough joint angles with other ones.
We should also try to test our walking on different terrains (soft, hard, angled, uneven...).
If we go to the ITL we could validate our IMU Filtering.
The text was updated successfully, but these errors were encountered: