python - 绕原点进行 3D 旋转

标签 python transformation ros euler-angles

我想围绕原点变换姿势。我的姿势包含一个位置 [x,y,z] 和一个方向 [x,y,z,w],表示为四元数。我有一个 4x4 变换矩阵,用于围绕原点平移和旋转姿势的位置。

np.dot(transforma_mat, np.transpose(np.append(pose.position, 1)))

因此,随着原点移动和旋转,姿势的起点也会移动和旋转。但是,我不确定如何旋转姿势的方向。

我可以使用 this library 将四元数转换为欧拉角和旋转矩阵(反之亦然) 。

故事: 有一个物体会移动和旋转。在物体移动和旋转之前,机器人末端执行器具有一个位姿。我想更新末端执行器的姿势,使其随对象移动和旋转。

最佳答案

我不确定如何使用四元数,但是,您可以将方向定义为两个正交向量(遵守右手或左手规则)。

然后,您可以简单地将坐标系中的这些向量乘以变换矩阵即可获得变换后的方向。

关于python - 绕原点进行 3D 旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30220803/

相关文章:

python - celery 通过在 task_postrun 信号中提高 SystemExit 来尝试关闭 worker 但总是挂起并且主进程永远不会退出

python - 在matplotlib中获取数据坐标中的bbox

java - 链接多个 Transformations.switchMap 关闭一个 LiveData 源

c++ - 计算图像对之间的几何变换

catkin_make 中的 cmake 版本与全局 cmake 版本不同?

python - 使用python将字符数组转换为整数

用于运行 shell 命令的 Python 脚本

python - 使用Raspberry Pi 2 Model B上的GPIO引脚控制运行ROS的P3DX机器人

python - 如何将扫描数据(主题)保存在 npy 文件中?

Python比较两个不同列表中的元素