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