本文整理了Java中us.ihmc.robotics.robotSide.RobotSide.getOppositeSide
方法的一些代码示例,展示了RobotSide.getOppositeSide
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RobotSide.getOppositeSide
方法的具体详情如下:
包路径:us.ihmc.robotics.robotSide.RobotSide
类名称: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());
}
内容来源于网络,如有侵权,请联系作者删除!