热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

us.ihmc.robotics.geometry.RigidBodyTransform.get()方法的使用及代码示例

本文整理了Java中us.ihmc.robotics.geometry.RigidBodyTransform.get方法的一些代码示例,展示了RigidBo

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

RigidBodyTransform.get介绍

[英]Pack rotation part into Matrix3d and translation part into Tuple3d
[中]将旋转部分打包到Matrix3d中,将平移部分打包到Tuple3d中

代码示例

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

private boolean isTransformationInPlane(RigidBodyTransform transform)
{
// arguably not a sufficient condition. Reference frames could just happen to be aligned (not likely though). ReferenceFrame2d needed!
double[] transformArray = new double[16];
transform.get(transformArray);
if (((transformArray[2] == 0.0) && (transformArray[6] == 0.0) && (transformArray[8] == 0.0) && (transformArray[9] == 0.0) && (transformArray[10] == 1.0)))
{
return true;
}
else
{
return false;
}
}

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

public static double getMaxLInfiniteDistance(RigidBodyTransform t1, RigidBodyTransform t2)
{
double[] t1Matrix = new double[16];
t1.get(t1Matrix);
double[] t2Matrix = new double[16];
t2.get(t2Matrix);
double maxDifference = 0.0;
for (int i = 0; i <16; i++)
{
double difference = t1Matrix[i] - t2Matrix[i];
if (Math.abs(difference) > maxDifference)
maxDifference = Math.abs(difference);
}
return maxDifference;
}

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

public void setAndUpdate(RigidBodyTransform transform)
{
transform.get(rotation, translation);
setAndUpdate(rotation, translation);
}

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

public void setLidarPose(RigidBodyTransform lidarTransformToWorld)
{
Point3d position = new Point3d();
Quat4d orientation = new Quat4d();
lidarTransformToWorld.get(orientation, position);
lidarPosePacketToSend.set(new LidarPosePacket(position, orientation));
}

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

public static void setGeoregressionTransformFromVecmath(RigidBodyTransform vecmathTransform, Se3_F64 georegressionTransform)
{
double[] m1 = new double[16];
vecmathTransform.get(m1);
double[][] rot = new double[][]
{
{m1[0], m1[1], m1[2]}, {m1[4], m1[5], m1[6]}, {m1[8], m1[9], m1[10]}
};
DenseMatrix64F denseMatrix64F = new DenseMatrix64F(rot);
georegressionTransform.setRotation(denseMatrix64F);
georegressionTransform.setTranslation(m1[3], m1[7], m1[11]);
}

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

/**
* Computes the interpolation between the two transforms using the alpha parameter to control the blend.
* Note that the transforms must have a proper rotation matrix, meaning it satisfies: R'R = I and det(R) = 1
* @param transform1
* @param transform2
* @param alpha Ranges from [0, 1], where return = (1- alpha) * tansform1 + (alpha) * transform2
* @return return = (1- alpha) * tansform1 + alpha * transform2
*/
public void computeInterpolation(RigidBodyTransform transform1, RigidBodyTransform transform2, RigidBodyTransform result, double alpha)
{
alpha = MathTools.clipToMinMax(alpha, 0.0, 1.0);

transform1.get(transform1Quaternion, transform1Translation);
transform2.get(transform2Quaternion, transform2Translation);

interpolatedTranslation.interpolate(transform1Translation, transform2Translation, alpha);
interpolatedQuaternion.interpolate(transform1Quaternion, transform2Quaternion, alpha);

result.setRotationAndZeroTranslation(interpolatedQuaternion);
result.setTranslation(interpolatedTranslation);
}

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

public void transform(RigidBodyTransform transform)
{
Matrix3d rotation = new Matrix3d();
Vector3d translation = new Vector3d();
transform.get(rotation, translation);
translate(translation);
rotate(rotation);
}

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

public void transform(RigidBodyTransform transform)
{
Matrix3d rotation = new Matrix3d();
Vector3d translation = new Vector3d();
transform.get(rotation, translation);
translate(translation);
rotate(rotation);
}

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

public void updateCamera()
{
if (cameraController != null)
{
cameraController.computeTransform(cameraTransform);
cameraTransform.get(cameraRotation, cameraPosition);
setLocationInZUpCoordinates(cameraPosition);
setRotationInZUpcoordinates(cameraRotation);
setHorizontalFoVInRadians((float) cameraController.getHorizontalFieldOfViewInRadians());
setClipDistanceNear((float) cameraController.getClipNear());
setClipDistanceFar((float) cameraController.getClipFar());
}
updateFrustrum();
}

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

@Override
public void adjustFootstepWithoutHeightmap(Footstep footstep, double height, Vector3d planeNormal)
{
Vector3d position = new Vector3d();
Quat4d orientation = new Quat4d();
RigidBodyTransform solePose = new RigidBodyTransform();
footstep.getSolePose(solePose);
solePose.get(orientation, position);
double yaw = RotationTools.computeYaw(orientation);
RotationTools.computeQuaternionFromYawAndZNormal(yaw, planeNormal, orientation);
position.setZ(height);
footstep.setSolePose(new FramePose(ReferenceFrame.getWorldFrame(), new Point3d(position), orientation));
}

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

@Override
public Footstep.FootstepType snapFootstep(Footstep footstep, HeightMapWithPoints heightMap){
FootstepDataMessage originalFootstep = new FootstepDataMessage(footstep);
//set to the sole pose
Vector3d position = new Vector3d();
Quat4d orientation = new Quat4d();
RigidBodyTransform solePose = new RigidBodyTransform();
footstep.getSolePose(solePose);
solePose.get(orientation, position);
originalFootstep.setLocation(new Point3d(position));
originalFootstep.setOrientation(orientation);
//get the footstep
Footstep.FootstepType type = snapFootstep(originalFootstep, heightMap);
if (type == Footstep.FootstepType.FULL_FOOTSTEP && originalFootstep.getPredictedContactPoints() != null){
throw new RuntimeException(this.getClass().getSimpleName() + "Full Footstep should have null contact points");
}
footstep.setPredictedContactPointsFromPoint2ds(originalFootstep.getPredictedContactPoints());
footstep.setFootstepType(type);
FramePose solePoseInWorld = new FramePose(ReferenceFrame.getWorldFrame(), originalFootstep.getLocation(), originalFootstep.getOrientation());
footstep.setSolePose(solePoseInWorld);
footstep.setSwingHeight(originalFootstep.getSwingHeight());
footstep.setTrajectoryType(originalFootstep.getTrajectoryType());
return type;
}

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

private static Transform j3dTransform3DToJMETransform(RigidBodyTransform transform3D)
{
javax.vecmath.Quat4f quat = new javax.vecmath.Quat4f();
javax.vecmath.Vector3f vector = new javax.vecmath.Vector3f();
transform3D.get(quat, vector);
Vector3f jmeVector = new Vector3f(vector.getX(), vector.getY(), vector.getZ());
Quaternion jmeQuat = new Quaternion(quat.getX(), quat.getY(), quat.getZ(), quat.getW());
Transform ret = new Transform(jmeVector, jmeQuat, new Vector3f(1.0f, 1.0f, 1.0f));
return ret;
}

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

@Override
public void update(float tpf)
{
synchronized (lidarTransform)
{
lidarTransform.get(j3dOrientation, j3dPosition);
lidarDistortionProcessor.setTransform(lidarTransform, time);
}
JMEDataTypeUtils.packVecMathTuple3dInJMEVector3f(j3dPosition, jmePosition);
JMEDataTypeUtils.packVectMathQuat4dInJMEQuaternion(j3dOrientation, jmeOrientation);
JMEGeometryUtils.transformFromZupToJMECoordinates(jmePosition);
jmeOrientation.multLocal(scsToJMECameraRotation);
JMEGeometryUtils.transformFromZupToJMECoordinates(jmeOrientation);
for (int i = 0; i {
lidarSceneViewPort[i].setLocation(jmePosition);
if (cameraRotations[i] == null)
{
lidarSceneViewPort[i].setRotation(jmeOrientation);
}
else
{
jmeOrientation.mult(cameraRotations[i], jmeCameraOrientation);
lidarSceneViewPort[i].setRotation(jmeCameraOrientation);
}
}
}

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

public static Transform j3dTransform3DToJMETransform(RigidBodyTransform transform3D)
{
Quat4f quat = new Quat4f();
javax.vecmath.Vector3f vector = new javax.vecmath.Vector3f();
transform3D.get(quat, vector);
Vector3f jmeVector = new Vector3f(vector.getX(), vector.getY(), vector.getZ());
Quaternion jmeQuat = new Quaternion(quat.getX(), quat.getY(), quat.getZ(), quat.getW());
Transform ret = new Transform(jmeVector, jmeQuat, new Vector3f(1.0f, 1.0f, 1.0f));
return ret;
}

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

/**
* Precomputes Ad^{T} * I since it is used twice in Adot*v and once in computing A.
*/
private void precomputeAdjointTimesInertia()
{
tempAdjoint.zero();
for(int i = 0; i {
rigidBodies[i].getInertia().getExpressedInFrame().getTransformToDesiredFrame(tempTransform, centerOfMassFrame);
tempTransform.get(tempMatrix3d,tempVector);
set3By3MatrixBlock(tempAdjoint, 0, 0, tempMatrix3d);
set3By3MatrixBlock(tempAdjoint, 3, 3, tempMatrix3d);
MatrixTools.toTildeForm(tempPTilde, tempVector);
tempPTilde.mul(tempMatrix3d);
set3By3MatrixBlock(tempAdjoint, 0, 3, tempPTilde);
rigidBodies[i].getInertia().getMatrix(tempInertiaMatrix);
CommonOps.mult(tempAdjoint, tempInertiaMatrix, denseAdjTimesI[i]);
}
}

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

public void update(long timestamp)
{
fullRobot.updateFrames();

if(rootJoint != null)
{
RigidBodyTransform rootTransform = rootJoint.getJointTransform3D();
rootTransform.get(tempOrientation, tempPosition);
robot.setOrientation(tempOrientation);
robot.setPositionInWorld(tempPosition);
}

for (ImmutablePair jointPair : revoluteJoints)
{
OneDegreeOfFreedomJoint pinJoint = jointPair.getLeft();
OneDoFJoint revoluteJoint = jointPair.getRight();
pinJoint.setQ(revoluteJoint.getQ());
pinJoint.setQd(revoluteJoint.getQd());
pinJoint.setTau(revoluteJoint.getTau());
}
robot.setTime(robot.getTime() + updateDT);
if (scs != null)
{
scs.tickAndUpdate();
}
}

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

@Override
public Footstep.FootstepType snapFootstep(Footstep footstep, HeightMapWithPoints heightMap){
FootstepDataMessage originalFootstep = new FootstepDataMessage(footstep);
//set to the sole pose
Vector3d position = new Vector3d();
Quat4d orientation = new Quat4d();
RigidBodyTransform solePose = new RigidBodyTransform();
footstep.getSolePose(solePose);
solePose.get(orientation, position);
originalFootstep.setLocation(new Point3d(position));
originalFootstep.setOrientation(orientation);
//get the footstep
Footstep.FootstepType type = snapFootstep(originalFootstep, heightMap);
footstep.setPredictedContactPointsFromPoint2ds(originalFootstep.getPredictedContactPoints());
footstep.setFootstepType(type);
FramePose solePoseInWorld = new FramePose(ReferenceFrame.getWorldFrame(), originalFootstep.getLocation(), originalFootstep.getOrientation());
footstep.setSolePose(solePoseInWorld);
footstep.setSwingHeight(originalFootstep.getSwingHeight());
footstep.setTrajectoryType(originalFootstep.getTrajectoryType());
return type;
}

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

private Transform getRosTransform(RigidBodyTransform transform3d)
{
Transform transform = topicMessageFactory.newFromType(Transform._TYPE);
Quaternion rot = topicMessageFactory.newFromType(Quaternion._TYPE);
Vector3 trans = topicMessageFactory.newFromType(Vector3._TYPE);

Quat4d quat4d = new Quat4d();
Vector3d vector3d = new Vector3d();
transform3d.get(quat4d, vector3d);

rot.setW(quat4d.getW());
rot.setX(quat4d.getX());
rot.setY(quat4d.getY());
rot.setZ(quat4d.getZ());

transform.setRotation(rot);

trans.setX(vector3d.getX());
trans.setY(vector3d.getY());
trans.setZ(vector3d.getZ());

transform.setTranslation(trans);

return transform;
}

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

private Transform getRosTransform(RigidBodyTransform transform3d)
{
Transform transform = topicMessageFactory.newFromType(Transform._TYPE);
Quaternion rot = topicMessageFactory.newFromType(Quaternion._TYPE);
Vector3 trans = topicMessageFactory.newFromType(Vector3._TYPE);

Quat4d quat4d = new Quat4d();
Vector3d vector3d = new Vector3d();
transform3d.get(quat4d, vector3d);

rot.setW(quat4d.getW());
rot.setX(quat4d.getX());
rot.setY(quat4d.getY());
rot.setZ(quat4d.getZ());

transform.setRotation(rot);

trans.setX(vector3d.getX());
trans.setY(vector3d.getY());
trans.setZ(vector3d.getZ());

transform.setTranslation(trans);

return transform;
}

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

public Footstep.FootstepType snapFootstep(Footstep footstep, List pointList, double defaultHeight)
{
FootstepDataMessage originalFootstep = new FootstepDataMessage(footstep);
//set to the sole pose
Vector3d position = new Vector3d();
Quat4d orientation = new Quat4d();
RigidBodyTransform solePose = new RigidBodyTransform();
footstep.getSolePose(solePose);
solePose.get(orientation, position);
originalFootstep.setLocation(new Point3d(position));
originalFootstep.setOrientation(orientation);
//get the footstep
Footstep.FootstepType type = snapFootstep(originalFootstep, pointList, defaultHeight);
footstep.setFootstepType(type);
footstep.setPredictedContactPointsFromPoint2ds(originalFootstep.getPredictedContactPoints());
FramePose solePoseInWorld = new FramePose(ReferenceFrame.getWorldFrame(), originalFootstep.getLocation(), originalFootstep.getOrientation());
footstep.setSolePose(solePoseInWorld);
footstep.setSwingHeight(originalFootstep.getSwingHeight());
footstep.setTrajectoryType(originalFootstep.getTrajectoryType());
return type;
}

推荐阅读
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 开发笔记:Java是如何读取和写入浏览器Cookies的
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java是如何读取和写入浏览器Cookies的相关的知识,希望对你有一定的参考价值。首先我 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 合并列值-合并为一列问题需求:createtabletab(Aint,Bint,Cint)inserttabselect1,2,3unionallsel ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • 重入锁(ReentrantLock)学习及实现原理
    本文介绍了重入锁(ReentrantLock)的学习及实现原理。在学习synchronized的基础上,重入锁提供了更多的灵活性和功能。文章详细介绍了重入锁的特性、使用方法和实现原理,并提供了类图和测试代码供读者参考。重入锁支持重入和公平与非公平两种实现方式,通过对比和分析,读者可以更好地理解和应用重入锁。 ... [详细]
  • 本文整理了Java中java.lang.NoSuchMethodError.getMessage()方法的一些代码示例,展示了NoSuchMethodErr ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
author-avatar
倩倩
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有