问题:
在Isaac-sim中如果采用set_world_pose()和get_world_pose()得到的都是四元数,如何将弧度转四元数,或者将四元数转为弧度是需要解决的一个问题,
这里的弧度是以x轴为0度,y轴为90度,逆时针方向逐渐增大;
解决方案:
采用scipy.spatial.transform中的Rotation库,进行转换;
在转换的时候涉及到角度的变换,
即如果直接采用Rotation.from_euler(‘x’, angle_rad2, degrees=False)进行转换,得到的是以x轴负方向为0度,y轴为90度,顺时针方向逐渐增大;
因此需要在rad_to_quaternion函数中通过angle_rad2 = -angle_rad + math.pi方法进行转换,同样的在quaternion_to_angle函数中通过angle_rad = -angle_rad + math.pi将转换回来。
import math
from scipy.spatial.transform import Rotation
import torch
def rad_to_quaternion(angle_rad):
if angle_rad > math.pi:
angle_rad -= 2 * math.pi
elif angle_rad < -math

文章讲述了在Isaac-sim环境中处理四元数和弧度转换的问题,介绍了如何使用scipy.spatial.transformRotation库进行角度调整,确保转换前后角度的一致性。
最低0.47元/天 解锁文章
1138

被折叠的 条评论
为什么被折叠?



