gpt4 book ai didi

us.ihmc.robotics.math.YoVariableLimitChecker类的使用及代码示例

转载 作者:知者 更新时间:2024-03-20 02:38:31 27 4
gpt4 key购买 nike

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

YoVariableLimitChecker介绍

暂无

代码示例

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

public void doControl()
{
 for (int i = 0; i < limitCheckers.length; i++)
 {
   variablesToTrack[i].set(oneDoFJoints[i].getQ());
   limitCheckers[i].update();
   closeToLimitCheckers[i].update();
 }
}

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

public ArrayList<String> getJointsAtLimits()
{
 ArrayList<String> jointsAtLimits = new ArrayList<String>();
 for (int i = 0; i < limitCheckers.length; i++)
 {
   String jointName = oneDoFJoints[i].getName();
   YoVariableLimitChecker.Status jointStatus = limitCheckers[i].getStatus();
   if (!jointStatus.equals(YoVariableLimitChecker.Status.IN_RANGE))
   {
    jointsAtLimits.add(jointName);
   }
 }
 return jointsAtLimits;
}

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

public RobotJointLimitWatcherForUI(OneDoFJoint[] oneDoFJoints)
{
 super(oneDoFJoints);
 int numberOfJoints = oneDoFJoints.length;
 closeToLimitCheckers = new YoVariableLimitChecker[numberOfJoints];
 for (int i = 0; i < numberOfJoints; i++)
 {
   OneDoFJoint oneDoFJoint = oneDoFJoints[i];
   double thresholdPercentage = 0.02;
   double range = oneDoFJoint.getJointLimitUpper() - oneDoFJoint.getJointLimitLower();
   double thresholdAmount = range * thresholdPercentage;
   double lowerLimit = oneDoFJoint.getJointLimitLower() + thresholdAmount + (range * 0.1);
   double upperLimit = oneDoFJoint.getJointLimitUpper() - thresholdAmount - (range * 0.1);
   closeToLimitCheckers[i] = new YoVariableLimitChecker(variablesToTrack[i], "approaching", lowerLimit, upperLimit, registry);
 }
}

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

public RobotJointLimitWatcher(OneDoFJoint[] oneDoFJoints, SensorRawOutputMapReadOnly sensorRawOutputMapReadOnly)
{
 this.oneDoFJoints = oneDoFJoints;
 this.sensorRawOutputMapReadOnly = sensorRawOutputMapReadOnly;
 
 int numberOfJoints = oneDoFJoints.length;
 variablesToTrack = new DoubleYoVariable[numberOfJoints];
 limitCheckers = new YoVariableLimitChecker[numberOfJoints];
 for (int i = 0; i < numberOfJoints; i++)
 {
   OneDoFJoint oneDoFJoint = oneDoFJoints[i];
   variablesToTrack[i] = new DoubleYoVariable(oneDoFJoint.getName(), doNotRegister);
   double thresholdPercentage = 0.02;
   double range = oneDoFJoint.getJointLimitUpper() - oneDoFJoint.getJointLimitLower();
   double thresholdAmount = range * thresholdPercentage;
   double lowerLimit = oneDoFJoint.getJointLimitLower() + thresholdAmount;
   double upperLimit = oneDoFJoint.getJointLimitUpper() - thresholdAmount;
   limitCheckers[i] = new YoVariableLimitChecker(variablesToTrack[i], "limit", lowerLimit, upperLimit, registry);
 }
}

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

public void doControl()
{
 for (int i = 0; i < limitCheckers.length; i++)
 {
   // If created with sensorRawOutputMapReadOnly use those rather than the oneDoFJoint values.
   // Otherwise, various filtering and elasticity compensation might get in the way
   // and you get a wrong output.
   if (sensorRawOutputMapReadOnly != null)
   {
    double jointPositionRawOutput = sensorRawOutputMapReadOnly.getJointPositionRawOutput(oneDoFJoints[i]);
    variablesToTrack[i].set(jointPositionRawOutput);
    limitCheckers[i].update();
   }
   else
   {
    variablesToTrack[i].set(oneDoFJoints[i].getQ());
    limitCheckers[i].update();
   }
 }
}

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

public ArrayList<String> getJointsApproachingLimits()
  {
   ArrayList<String> jointsApproachingLimits = new ArrayList<String>();

   for (int i = 0; i < closeToLimitCheckers.length; i++)
   {
     String jointName = oneDoFJoints[i].getName();
     YoVariableLimitChecker.Status jointStatus = closeToLimitCheckers[i].getStatus();
     if (!jointStatus.equals(YoVariableLimitChecker.Status.IN_RANGE))
     {
      jointsApproachingLimits.add(jointName);
     }
   }

   return jointsApproachingLimits;
  }
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com