us.ihmc.robotics.robotSide.RobotSide.getOppositeSide()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(9.0k)|赞(0)|评价(0)|浏览(74)

本文整理了Java中us.ihmc.robotics.robotSide.RobotSide.getOppositeSide方法的一些代码示例,展示了RobotSide.getOppositeSide的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RobotSide.getOppositeSide方法的具体详情如下:
包路径:us.ihmc.robotics.robotSide.RobotSide
类名称:RobotSide
方法名:getOppositeSide

RobotSide.getOppositeSide介绍

暂无

代码示例

代码示例来源:origin: us.ihmc/ihmc-humanoid-robotics

private void addFootstep(ArrayList<Footstep> ret, FramePoint2D currentPathPosition, double stepWidth, double yaw)
{
 Footstep footstep = getFootstepAtPosition(currentFootstepSide, currentPathPosition, stepWidth, yaw);
 ret.add(footstep);
 currentFootstepSide = currentFootstepSide.getOppositeSide();
}

代码示例来源:origin: us.ihmc/IHMCHumanoidRobotics

private void addFootstep(ArrayList<Footstep> ret, FramePoint2d currentPathPosition, double stepWidth, double yaw)
{
 Footstep footstep = getFootstepAtPosition(currentFootstepSide, currentPathPosition, stepWidth, yaw);
 ret.add(footstep);
 currentFootstepSide = currentFootstepSide.getOppositeSide();
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

@Override
  public boolean checkCondition()
  {
   return walkingMessageHandler.hasFootTrajectoryForFlamingoStance(transferToSide.getOppositeSide());
  }
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

public void setTransferFromSide(RobotSide robotSide)
{
 if (robotSide != null)
   transferToSide.set(robotSide.getOppositeSide());
}

代码示例来源:origin: us.ihmc/ihmc-simulation-toolkit-test

private ArrayList<Footstep> prependStanceToFootstepQueue(ArrayList<Footstep> footSteps, SideDependentList<Footstep> currentFootLocations)
{
 RobotSide firstStepSide = footSteps.get(0).getRobotSide();
 ArrayList<Footstep> footstepQueue = new ArrayList<Footstep>();
 footstepQueue.add(currentFootLocations.get(firstStepSide));
 footstepQueue.add(currentFootLocations.get(firstStepSide.getOppositeSide()));
 footstepQueue.addAll(footSteps);
 return footstepQueue;
}

代码示例来源:origin: us.ihmc/ihmc-humanoid-robotics

protected RobotSide getFarSideFootstep()
{
 if (priorStanceFeetSpecified)
   closestSideToEnd = determineClosestFootSideToEnd(priorStanceFeet);
 else
   closestSideToEnd = determineClosestBipedFootSideToEnd();
 stanceStartSidePreference = closestSideToEnd;
 return stanceStartSidePreference.getOppositeSide(); // currentFootstepSide could be overridden in footstep generator
}

代码示例来源:origin: us.ihmc/IHMCHumanoidRobotics

protected RobotSide getFarSideFootstep()
{
 if (priorStanceFeetSpecified)
   closestSideToEnd = determineClosestFootSideToEnd(priorStanceFeet);
 else
   closestSideToEnd = determineClosestBipedFootSideToEnd();
 stanceStartSidePreference = closestSideToEnd;
 return stanceStartSidePreference.getOppositeSide(); // currentFootstepSide could be overridden in footstep generator
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

public void updateCaptureRegion(double swingTimeRemaining, double omega0, RobotSide swingSide, FramePoint2d capturePoint2d)
{
 footPolygon.setIncludingFrameAndUpdate(bipedSupportPolygon.getFootPolygonInAnkleZUp(swingSide.getOppositeSide()));
 captureRegionCalculator.calculateCaptureRegion(swingSide, swingTimeRemaining, capturePoint2d, omega0, footPolygon);
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

@Override
  public boolean checkCondition()
  {
   if (!singleSupportState.isDone())
     return false;
   return walkingMessageHandler.isNextFootstepFor(transferState.getTransferToSide().getOppositeSide());
  }
}

代码示例来源:origin: us.ihmc/ihmc-footstep-planning

private void addGoalNodeIfReachable(FootstepNode node, HashSet<FootstepNode> expansion)
{
 RobotSide nextSide = node.getRobotSide().getOppositeSide();
 FootstepNode goalNode = goalNodes.get(nextSide);
 double distanceToGoal = node.euclideanDistance(goalNode);
 if(distanceToGoal < parameters.getMaximumStepReach())
 {
   expansion.add(goalNode);
 }
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

private void integrateAnkleAccelerationsOnSwingLeg(RobotSide swingSide)
{
 fullRobotModel.getLegJoint(swingSide, LegJointName.ANKLE_PITCH).setIntegrateDesiredAccelerations(true);
 fullRobotModel.getLegJoint(swingSide, LegJointName.ANKLE_ROLL).setIntegrateDesiredAccelerations(true);
 fullRobotModel.getLegJoint(swingSide.getOppositeSide(), LegJointName.ANKLE_PITCH).setIntegrateDesiredAccelerations(false);
 fullRobotModel.getLegJoint(swingSide.getOppositeSide(), LegJointName.ANKLE_ROLL).setIntegrateDesiredAccelerations(false);
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

private void setContactStateForSwing(RobotSide robotSide)
{
 FootControlModule footControlModule = footControlModules.get(robotSide);
 footControlModule.setContactState(ConstraintType.SWING);
 FootControlModule supportFootControlModule = footControlModules.get(robotSide.getOppositeSide());
 supportFootControlModule.setAllowFootholdAdjustments(false);
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

public SingleSupportState(RobotSide supportSide, WalkingStateEnum singleSupportStateEnum, WalkingMessageHandler walkingMessageHandler,
   HighLevelHumanoidControllerToolbox momentumBasedController, HighLevelControlManagerFactory managerFactory, YoVariableRegistry parentRegistry)
{
 super(singleSupportStateEnum, parentRegistry);
 this.supportSide = supportSide;
 swingSide = supportSide.getOppositeSide();
 minimumSwingFraction.set(0.5);
 this.walkingMessageHandler = walkingMessageHandler;
 footSwitches = momentumBasedController.getFootSwitches();
 fullRobotModel = momentumBasedController.getFullRobotModel();
 balanceManager = managerFactory.getOrCreateBalanceManager();
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

public void computeAndSubmitFootsteps()
{
 RobotSide supportLeg = nextSwingLeg.getEnumValue().getOppositeSide();
 FootstepDataListMessage footsteps = computeNextFootsteps(supportLeg);
 commandInputManager.submitMessage(footsteps);
 nextSwingLeg.set(supportLeg);
}

代码示例来源:origin: us.ihmc/ihmc-humanoid-robotics-test

private void checkStartStanceAndEndAlternateSides(String message, Footstep swingStart, Footstep stance, Footstep swingEnd, boolean assertValidity)
{
 RobotSide swingStartSide = swingStart.getRobotSide();
 RobotSide stanceSide = stance.getRobotSide();
 RobotSide swingEndSide = swingEnd.getRobotSide();
 valid &= swingStartSide == swingEndSide;
 assertValidIfTrue(message + " swing step start and end must be same side", assertValidity);
 valid &= stanceSide == swingEndSide.getOppositeSide();
 assertValidIfTrue(message + " start and stance must be different", assertValidity);
}

代码示例来源:origin: us.ihmc/IHMCHumanoidBehaviors

@Override
  protected void setBehaviorInput()
  {
   TextToSpeechPacket p1 = new TextToSpeechPacket("Taking some Footsteps");
   sendPacket(p1);
   FootstepDataListMessage footstepDataListMessageForPlan = planHumanoidFootstepsBehavior.getFootstepDataListMessageForPlan(maxNumberOfStepsToTake.getIntegerValue(), swingTime.getDoubleValue(), transferTime.getDoubleValue());
   takeSomeStepsBehavior.setFootstepsToTake(footstepDataListMessageForPlan);
   nextSideToSwing.set(footstepDataListMessageForPlan.footstepDataList.get(footstepDataListMessageForPlan.footstepDataList.size() - 1).getRobotSide().getOppositeSide());
  }
};

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

@Override
public void initializeDesiredFootstep(RobotSide supportLegSide, double stepDuration)
{
 RobotSide swingLegSide = supportLegSide.getOppositeSide();
 ReferenceFrame supportZUpFrame = soleZUpFrames.get(supportLegSide);
 supportZUpFrame.update();
 ReferenceFrame desiredHeadingFrame = desiredHeadingControlModule.getDesiredHeadingFrame();
 Matrix3d footToWorldRotation = computeDesiredFootRotation(desiredHeadingFrame);
 FramePoint footstepPosition = getDesiredFootstepPosition(supportZUpFrame, swingLegSide, footToWorldRotation, 0.0, stepDuration);
 setYoVariables(swingLegSide, footToWorldRotation, footstepPosition.getVectorCopy());
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

public TransferToAndNextFootstepsData createTransferToAndNextFootstepDataForSingleSupport(Footstep transferToFootstep, RobotSide swingSide)
{
 TransferToAndNextFootstepsData transferToAndNextFootstepsData = new TransferToAndNextFootstepsData();
 Footstep transferFromFootstep = getFootstepAtCurrentLocation(swingSide.getOppositeSide());
 transferToAndNextFootstepsData.setTransferFromFootstep(transferFromFootstep);
 transferToAndNextFootstepsData.setTransferToFootstep(transferToFootstep);
 transferToAndNextFootstepsData.setTransferToSide(swingSide);
 transferToAndNextFootstepsData.setNextFootstep(peek(0));
 return transferToAndNextFootstepsData;
}

代码示例来源:origin: us.ihmc/CommonWalkingControlModules

public void computeAndSubmitFootsteps()
{
 if (!walk.getBooleanValue())
   return;
 RobotSide supportLeg = nextSwingLeg.getEnumValue().getOppositeSide();
 FootstepDataListMessage footsteps = computeNextFootsteps(supportLeg);
 footsteps.setDefaultSwingTime(swingTime.getDoubleValue());
 footsteps.setDefaultTransferTime(transferTime.getDoubleValue());
 commandInputManager.submitMessage(footsteps);
 nextSwingLeg.set(supportLeg);
}

代码示例来源:origin: us.ihmc/ihmc-footstep-planning

private static FootstepNode constructNodeInPreviousNodeFrame(double stepLength, double stepWidth, double stepYaw, FootstepNode node)
{
 Vector2D footstep = new Vector2D(stepLength, stepWidth);
 AxisAngle rotation = new AxisAngle(node.getYaw(), 0.0, 0.0);
 rotation.transform(footstep);
 return new FootstepNode(node.getX() + footstep.getX(), node.getY() + footstep.getY(), stepYaw + node.getYaw(), node.getRobotSide().getOppositeSide());
}

相关文章