Skip to content

Cleanup to get CH working on stairs, added safety measures, cleaned code, refactors stuff... #717

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

Merged
merged 31 commits into from
Mar 21, 2025

Conversation

PotatoPeeler3000
Copy link
Contributor

No description provided.

PotatoPeeler3000 and others added 26 commits March 11, 2025 16:38
…filter on global height map, remove hard-coded swing and transfer time
…a filter values after they change from the initial "empty data" value
… maps for normals and collision point calculation
…ak for the FilteredVerticalSurfacesExtractor
# Conflicts:
#	ihmc-footstep-planning/src/main/java/us/ihmc/footstepPlanning/swing/CollisionFreeSwingCalculator.java
#	ihmc-perception/src/main/java/us/ihmc/perception/tools/PerceptionMessageTools.java
@@ -17,6 +17,7 @@ public class ContinuousHikingAPI
private static final String ACTIVE_MODULE_NAME = "active_perception";

// Commands supported for the Continuous Hiking Process
public static final ROS2Topic<Empty> RESET_STATE_MACHINE = IHMC_ROOT.withModule(moduleName).withTypeName(Empty.class).withSuffix("reset_state_machine");
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Message to reset the state machine

@@ -2,7 +2,7 @@

public class LatticePoint
{
public static final double gridSizeXY = 0.05;
public static final double gridSizeXY = 0.02;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure about this

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Totally broken

@@ -159,11 +164,12 @@ public RDXContinuousHikingPanel(RDXBaseUI baseUI, ROS2Node ros2Node, DRCRobotMod
addChild(stancePoseSelectionPanel);

DefaultFootstepPlannerParametersBasics footstepPlannerParameters = robotModel.getFootstepPlannerParameters("ForContinuousWalking");
SwingPlannerParametersBasics swingPlannerParameters = robotModel.getSwingPlannerParameters();
SwingPlannerParametersBasics swingPlannerParameters = robotModel.getSwingPlannerParameters("ForContinuousWalking");
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made swing planning for CH

@@ -208,39 +211,21 @@ private void createParametersPanel(StoredPropertySetBasics storedPropertySetPara
* This allows the {@link ContinuousPlannerSchedulingTask} to be started for when things are running in simulation, during the operation on the robot this
* method should not be called as it will interfere with the remote process
*/
public void startContinuousPlannerSchedulingTask(boolean publishAndSubscribe)
public void startContinuousPlannerSchedulingTask(ActiveMappingParameterToolBox activeMappingParameterToolBox,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pass in a ActiveMappingParameterToolBox to get all the parameters

@@ -82,6 +84,13 @@ public RapidHeightMapManager(ROS2Node ros2Node,

public void update(Mat latestDepthImage, Instant imageAcquisitionTime, ReferenceFrame cameraFrame, ReferenceFrame cameraZUpFrame) throws Exception
{
RigidBodyTransform sensorToWorld = cameraFrame.getTransformToWorldFrame();
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Getting this RigidBodyTransform closer to when the frame was grabbed helps reduce the latency

@@ -17,7 +17,7 @@ public class RealSenseImageSensor extends ImageSensor
public static final int DEPTH_IMAGE_KEY = 1;
public static final int OUTPUT_IMAGE_COUNT = 2;

private static final double OUTPUT_FREQUENCY = 20.0;
private static final double OUTPUT_FREQUENCY = 30.0;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Up the publish rate to 30 hz

unsigned short *outputPointer = (unsigned short *)((char*) resultPointer + indexY * pitchResult) + indexX;

// We have an initial guess at all the height values and if the previous height value is that guess, don't apply the alpha, just accept the new value
if (dontUseAlphaYet)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't use the filter if the data is based off of a guess

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test for GPU memory leak

"Enable alpha filter" : true,
"Enable vertical filter" : true,
"Search window height" : {
"value" : 350,
"value" : 400,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Little bit bigger

Copy link
Contributor

@TomaszTB TomaszTB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few comments you don't have to do anything about, and few things that should be fixed. Looking great overall!

Copy link
Contributor

@TomaszTB TomaszTB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The stuff that I'm familiar with looks good. No idea about some of the math and parameters haha. Just gotta trust it's good

@PotatoPeeler3000 PotatoPeeler3000 merged commit 259cd3e into develop Mar 21, 2025
65 of 68 checks passed
@PotatoPeeler3000 PotatoPeeler3000 deleted the feature/ch-stairs branch March 21, 2025 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants