-
Notifications
You must be signed in to change notification settings - Fork 106
added the special case for the stairs #1109
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
Open
rjgriffin42
wants to merge
12
commits into
develop
Choose a base branch
from
feature/fix_height
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
e667743
Bugfix/fix pelvis rotation on delays (#1106)
rjgriffin42 8b3379f
added some changes to prefer previous reachable regions to yield more…
rjgriffin42 be4f008
remove yaw component from angular velocity filtering of the foot (#1107)
rjgriffin42 eb91608
add a filter for big downward forces on the second threshold (#1108)
rjgriffin42 1d05473
[Feature] CSG Heartbeat (#1104)
TomaszTB 0f8c94f
added the special case for the stairs
rjgriffin42 55b0690
Add null check to ImageSensor
PotatoPeeler3000 0eb9c5e
Bugfix/fix capture region and rate limit (#1110)
rjgriffin42 1a4053c
Merge branch 'demo/alex-nov-2025' into feature/fix_height
PotatoPeeler3000 f50a2ed
Merge branch 'develop' into feature/fix_height
PotatoPeeler3000 e3531b1
Create variables for hard coded values so its easier to understand
PotatoPeeler3000 e0da9b9
Merge branch 'develop' into feature/fix_height
PotatoPeeler3000 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -12,6 +12,7 @@ | |
| import us.ihmc.commonWalkingControlModules.messageHandlers.WalkingMessageHandler; | ||
| import us.ihmc.commonWalkingControlModules.momentumBasedController.HighLevelHumanoidControllerToolbox; | ||
| import us.ihmc.communication.controllerAPI.CommandInputManager; | ||
| import us.ihmc.humanoidRobotics.footstep.Footstep; | ||
| import us.ihmc.mecano.multiBodySystem.interfaces.RigidBodyBasics; | ||
| import us.ihmc.robotModels.FullHumanoidRobotModel; | ||
| import us.ihmc.robotics.robotSide.RobotSide; | ||
|
|
@@ -34,6 +35,8 @@ public class StandingState extends WalkingState | |
| private final SideDependentList<RigidBodyControlManager> handManagers = new SideDependentList<>(); | ||
| private final FeetManager feetManager; | ||
|
|
||
| private RobotSide supportingSide; | ||
|
|
||
| public StandingState(CommandInputManager commandInputManager, | ||
| WalkingMessageHandler walkingMessageHandler, | ||
| TouchdownErrorCompensator touchdownErrorCompensator, | ||
|
|
@@ -74,7 +77,7 @@ public StandingState(CommandInputManager commandInputManager, | |
| public void doAction(double timeInState) | ||
| { | ||
| if (!holdDesiredHeightConstantWhenStanding) | ||
| comHeightManager.setSupportLeg(RobotSide.LEFT); | ||
| comHeightManager.setSupportLeg(supportingSide); | ||
| balanceManager.computeICPPlan(); | ||
| controllerToolbox.getWalkingTrajectoryPath().updateTrajectory(feetManager.getCurrentConstraintType(RobotSide.LEFT), | ||
| feetManager.getCurrentConstraintType(RobotSide.RIGHT), | ||
|
|
@@ -99,10 +102,17 @@ public void onEntry() | |
| if (holdDesiredHeightConstantWhenStanding) | ||
| { | ||
| comHeightManager.initializeToNominalDesiredHeight(); | ||
| supportingSide = RobotSide.LEFT; | ||
| } | ||
| else | ||
| { | ||
| TransferToAndNextFootstepsData transferToAndNextFootstepsDataForDoubleSupport = walkingMessageHandler.createTransferToAndNextFootstepDataForDoubleSupport(RobotSide.RIGHT); | ||
| Footstep footstepLeft = walkingMessageHandler.getFootstepAtCurrentLocation(RobotSide.LEFT); | ||
| Footstep footstepRight = walkingMessageHandler.getFootstepAtCurrentLocation(RobotSide.RIGHT); | ||
|
|
||
| supportingSide = getSideCarryingMostWeight(footstepLeft, footstepRight); | ||
| supportingSide = supportingSide == null ? RobotSide.LEFT : supportingSide; | ||
|
|
||
| TransferToAndNextFootstepsData transferToAndNextFootstepsDataForDoubleSupport = walkingMessageHandler.createTransferToAndNextFootstepDataForDoubleSupport(supportingSide.getOppositeSide()); | ||
| comHeightManager.initialize(transferToAndNextFootstepsDataForDoubleSupport, 0.0); | ||
| } | ||
|
|
||
|
|
@@ -151,4 +161,23 @@ public boolean isDone(double timeInState) | |
| { | ||
| return true; | ||
| } | ||
|
|
||
| private RobotSide getSideCarryingMostWeight(Footstep leftFootstep, Footstep rightFootstep) | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is copied from transfer to standing. |
||
| { | ||
| WalkingStateEnum previousWalkingState = getPreviousWalkingStateEnum(); | ||
| if (previousWalkingState == null) | ||
| return null; | ||
|
|
||
| RobotSide mostSupportingSide = null; | ||
| boolean leftStepLower = leftFootstep.getZ() <= rightFootstep.getZ(); | ||
| boolean rightStepLower = leftFootstep.getZ() > rightFootstep.getZ(); | ||
| if (leftStepLower) | ||
| mostSupportingSide = RobotSide.LEFT; | ||
| else if (rightStepLower) | ||
| mostSupportingSide = RobotSide.RIGHT; | ||
| else if (previousWalkingState.getTransferToSide() != null) | ||
| mostSupportingSide = previousWalkingState.getTransferToSide().getOppositeSide(); | ||
|
|
||
| return mostSupportingSide; | ||
| } | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -11,6 +11,7 @@ | |
| import us.ihmc.commonWalkingControlModules.momentumBasedController.HighLevelHumanoidControllerToolbox; | ||
| import us.ihmc.commonWalkingControlModules.referenceFrames.WalkingTrajectoryPath; | ||
| import us.ihmc.euclid.referenceFrame.FramePoint2D; | ||
| import us.ihmc.euclid.referenceFrame.ReferenceFrame; | ||
| import us.ihmc.euclid.referenceFrame.interfaces.FramePoint3DReadOnly; | ||
| import us.ihmc.euclid.tuple3D.Point3D; | ||
| import us.ihmc.humanoidRobotics.footstep.Footstep; | ||
|
|
@@ -33,6 +34,7 @@ public class TransferToStandingState extends WalkingState | |
| private final FeetManager feetManager; | ||
|
|
||
| private final Point3D midFootPosition = new Point3D(); | ||
| private RobotSide supportingSide; | ||
|
|
||
| public TransferToStandingState(WalkingMessageHandler walkingMessageHandler, | ||
| TouchdownErrorCompensator touchdownErrorCompensator, | ||
|
|
@@ -65,7 +67,7 @@ public void doAction(double timeInState) | |
| switchToPointToeOffIfAlreadyInLine(); | ||
|
|
||
| // Always do this so that when a foot slips or is loaded in the air, the height gets adjusted. | ||
| comHeightManager.setSupportLeg(RobotSide.LEFT); | ||
| comHeightManager.setSupportLeg(supportingSide); | ||
| } | ||
|
|
||
| private final FramePoint2D desiredCoP = new FramePoint2D(); | ||
|
|
@@ -171,14 +173,14 @@ else if (previousStateEnum.getTransferToSide() != null) | |
|
|
||
| Footstep footstepLeft = walkingMessageHandler.getFootstepAtCurrentLocation(RobotSide.LEFT); | ||
| Footstep footstepRight = walkingMessageHandler.getFootstepAtCurrentLocation(RobotSide.RIGHT); | ||
| RobotSide supportingSide = getSideCarryingMostWeight(footstepLeft, footstepRight); | ||
| supportingSide = getSideCarryingMostWeight(footstepLeft, footstepRight); | ||
| supportingSide = supportingSide == null ? RobotSide.RIGHT : supportingSide; | ||
|
|
||
| double extraToeOffHeight = 0.0; | ||
| if (feetManager.getCurrentConstraintType(supportingSide.getOppositeSide()) == FootControlModule.ConstraintType.TOES) | ||
| extraToeOffHeight = feetManager.getExtraCoMMaxHeightWithToes(); | ||
|
|
||
| TransferToAndNextFootstepsData transferToAndNextFootstepsDataForDoubleSupport = walkingMessageHandler.createTransferToAndNextFootstepDataForDoubleSupport(supportingSide); | ||
| TransferToAndNextFootstepsData transferToAndNextFootstepsDataForDoubleSupport = walkingMessageHandler.createTransferToAndNextFootstepDataForDoubleSupport(supportingSide.getOppositeSide()); | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Switched size, based on what I saw in the test. |
||
| comHeightManager.setSupportLeg(supportingSide); | ||
| comHeightManager.initialize(transferToAndNextFootstepsDataForDoubleSupport, extraToeOffHeight); | ||
|
|
||
|
|
||
68 changes: 0 additions & 68 deletions
68
...xander/src/test/java/us/ihmc/openAlexander/controllerAPI/AlexanderEndToEndStairsTest.java
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as it was, the hard coding didn't work well when the left foot led.