private SimpleFootstepSnapper createSimpleFootstepSnapper() { QuadTreeFootstepSnappingParameters snappingParameters = new GenericFootstepSnappingParameters(); BasicFootstepMask footstepMask = new BasicFootstepMask(snappingParameters.getCollisionPolygon(), 0.0); SimpleFootstepSnapper footstepSnapper = new SimpleFootstepSnapper(); boolean useMask = true; double kernelMaskSafetyBuffer = 0.15; double boundingBoxDimension = 0.15; footstepSnapper.setUseMask(useMask, kernelMaskSafetyBuffer, boundingBoxDimension); footstepSnapper.setMask(footstepMask); return footstepSnapper; }
public void updateParameters(FootstepSnappingParameters newParameters) { parameters.updateParameters(newParameters); footstepValueFunction.updateFunction(); this.footstepMask = new BasicFootstepMask(parameters.getCollisionPolygon(), maskBuffer); }
private ConvexHullFootstepSnapper createConvexHullFootstepSnapper() { QuadTreeFootstepSnappingParameters snappingParameters = new GenericFootstepSnappingParameters(); ConvexHullFootstepSnapper footstepSnapper = new ConvexHullFootstepSnapper(new SimpleFootstepValueFunction(snappingParameters), snappingParameters); return footstepSnapper; }
public void updateParameters(QuadTreeFootstepSnappingParameters newParameters) { parameters.updateParameters(newParameters); footstepValueFunction.updateFunction(); this.footstepMask = new BasicFootstepMask(parameters.getCollisionPolygon(), maskBuffer); }
public ConvexHullFootstepSnapper(FootstepValueFunction valueFunction, QuadTreeFootstepSnappingParameters parameters) { this.footstepValueFunction = valueFunction; this.parameters = parameters; this.useMask = true; this.footstepMask = new BasicFootstepMask(parameters.getCollisionPolygon(), maskBuffer); if (writer == null) writer = new PointWriter("DataFromConvexHullSnapper"); }
private AdjustingFootstepSnapper createAdjustingFootstepSnapper() { QuadTreeFootstepSnappingParameters snappingParameters = new GenericFootstepSnappingParameters(); AdjustingFootstepSnapper footstepSnapper = new AdjustingFootstepSnapper(new SimpleFootstepValueFunction(snappingParameters), snappingParameters); return footstepSnapper; }
public AdjustingFootstepSnapper(FootstepValueFunction valueFunction, QuadTreeFootstepSnappingParameters parameters) { convexHullFootstepSnapper = new ConvexHullFootstepSnapper(valueFunction, parameters); this.footstepSnappingParameters = parameters; this.distanceAdjustment = parameters.getDistanceAdjustment(); this.angleAdjustment = parameters.getAngleAdjustment(); }
public AdjustingFootstepSnapper(FootstepValueFunction valueFunction, FootstepSnappingParameters parameters) { convexHullFootstepSnapper = new ConvexHullFootstepSnapper(valueFunction, parameters); this.footstepSnappingParameters = parameters; this.distanceAdjustment = parameters.getDistanceAdjustment(); this.angleAdjustment = parameters.getAngleAdjustment(); }
public ConvexHullFootstepSnapper(FootstepValueFunction valueFunction, FootstepSnappingParameters parameters) { this.footstepValueFunction = valueFunction; this.parameters = parameters; this.useMask = true; this.footstepMask = new BasicFootstepMask(parameters.getCollisionPolygon(), maskBuffer); if (writer == null) writer = new PointWriter("DataFromConvexHullSnapper"); }
@Override public void setUseMask(boolean useMask, double maskSafetyBuffer, double boundingBoxDimension) { this.useMask = useMask; maskBuffer = maskSafetyBuffer; this.footstepMask = new BasicFootstepMask(parameters.getCollisionPolygon(), maskBuffer); }
@Override public Footstep generateFootstepUsingHeightMap(FramePose2d desiredSolePosition, RigidBody foot, ReferenceFrame soleFrame, RobotSide robotSide, HeightMapWithPoints heightMap) throws InsufficientDataException { Footstep toReturn = convexHullFootstepSnapper.generateFootstepUsingHeightMap(desiredSolePosition, foot, soleFrame, robotSide, heightMap); snapFootstep(toReturn, heightMap); return toReturn; }
@Override public void setUseMask(boolean useMask, double maskSafetyBuffer, double boundingBoxDimension) { this.useMask = useMask; maskBuffer = maskSafetyBuffer; this.footstepMask = new BasicFootstepMask(parameters.getCollisionPolygon(), maskBuffer); }
@Override public void setMask(List<Point2D> footShape) { footstepMask = new BasicFootstepMask(footShape, maskBuffer); }
@Override public void setUseMask(boolean useMask, double maskSafetyBuffer, double boundingBoxDimension) { this.useMask = useMask; maskBuffer = maskSafetyBuffer; if (footstepMask != null) { footstepMask.setSafetyBuffer(maskBuffer); } searchWidth = boundingBoxDimension; searchLength = boundingBoxDimension; }
@Override public void adjustFootstepWithoutHeightmap(Footstep footstep, double height, Vector3D planeNormal) { simpleSnapper.adjustFootstepWithoutHeightmap(footstep, height, planeNormal); }
@Override public Footstep generateFootstepWithoutHeightMap(FramePose2d footPose2d, RigidBody foot, ReferenceFrame soleFrame, RobotSide robotSide, double height, Vector3d planeNormal) { return simpleSnapper.generateFootstepWithoutHeightMap(footPose2d, foot, soleFrame, robotSide, height, planeNormal); }
@Override public void adjustFootstepWithoutHeightmap(Footstep footstep, double height, Vector3D planeNormal) { convexHullFootstepSnapper.adjustFootstepWithoutHeightmap(footstep, height, planeNormal); }
private SimpleFootstepSnapper createSimpleFootstepSnapper() { QuadTreeFootstepSnappingParameters snappingParameters = new GenericFootstepSnappingParameters(); BasicFootstepMask footstepMask = new BasicFootstepMask(snappingParameters.getCollisionPolygon(), 0.0); SimpleFootstepSnapper footstepSnapper = new SimpleFootstepSnapper(); boolean useMask = true; double kernelMaskSafetyBuffer = 0.15; double boundingBoxDimension = 0.15; footstepSnapper.setUseMask(useMask, kernelMaskSafetyBuffer, boundingBoxDimension); footstepSnapper.setMask(footstepMask); return footstepSnapper; }
@Override public Footstep generateFootstepUsingHeightMap(FramePose2D desiredSolePosition, RigidBodyBasics foot, ReferenceFrame soleFrame, RobotSide robotSide, HeightMapWithPoints heightMap) throws InsufficientDataException { Footstep toReturn = convexHullFootstepSnapper.generateFootstepUsingHeightMap(desiredSolePosition, foot, soleFrame, robotSide, heightMap); snapFootstep(toReturn, heightMap); return toReturn; }
@Override public void setUseMask(boolean useMask, double maskSafetyBuffer, double boundingBoxDimension) { this.useMask = useMask; maskBuffer = maskSafetyBuffer; if (footstepMask != null) { footstepMask.setSafetyBuffer(maskBuffer); } searchWidth = boundingBoxDimension; searchLength = boundingBoxDimension; }