-
Notifications
You must be signed in to change notification settings - Fork 101
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
Conversation
…filter on global height map, remove hard-coded swing and transfer time
…certain amount of swing time has passed
…or the HumanoidPerceptionModule
…a filter values after they change from the initial "empty data" value
… maps for normals and collision point calculation
…ay visualization was handled
…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"); |
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.
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; |
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.
Not sure about this
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.
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"); |
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.
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, |
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.
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(); |
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.
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; |
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.
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) |
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.
Don't use the filter if the data is based off of a guess
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.
Test for GPU memory leak
"Enable alpha filter" : true, | ||
"Enable vertical filter" : true, | ||
"Search window height" : { | ||
"value" : 350, | ||
"value" : 400, |
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.
Little bit bigger
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.
Few comments you don't have to do anything about, and few things that should be fixed. Looking great overall!
...high-level-behaviors/src/libgdx/java/us/ihmc/rdx/ui/footstepPlanner/RDXFootstepPlanning.java
Outdated
Show resolved
Hide resolved
...h-level-behaviors/src/main/java/us/ihmc/behaviors/activeMapping/ContinuousHikingProcess.java
Show resolved
Hide resolved
...rc/main/java/us/ihmc/behaviors/activeMapping/ContinuousHikingStateMachine/JustWaitState.java
Show resolved
Hide resolved
...main/java/us/ihmc/behaviors/activeMapping/ContinuousHikingStateMachine/ReadyToPlanState.java
Outdated
Show resolved
Hide resolved
...main/java/us/ihmc/behaviors/activeMapping/ContinuousHikingStateMachine/ReadyToPlanState.java
Show resolved
Hide resolved
...ception/src/main/java/us/ihmc/perception/gpuHeightMap/FilteredVerticalSurfacesExtractor.java
Outdated
Show resolved
Hide resolved
...ception/src/main/java/us/ihmc/perception/gpuHeightMap/FilteredVerticalSurfacesExtractor.java
Outdated
Show resolved
Hide resolved
ihmc-perception/src/main/java/us/ihmc/perception/gpuHeightMap/RapidHeightMapExtractor.java
Outdated
Show resolved
Hide resolved
...ption/src/test/java/us/ihmc/perception/gpuHeightMap/FilteredRapidHeightMapExtractorTest.java
Outdated
Show resolved
Hide resolved
...ion/src/test/java/us/ihmc/perception/gpuHeightMap/FilteredVerticalSurfacesExtractorTest.java
Outdated
Show resolved
Hide resolved
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.
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
No description provided.