[AUTONAVx][lec3]3D Geometry and Sensors
来源:互联网 发布:复变函数 知乎 编辑:程序博客网 时间:2024/05/16 18:40
3D Geometry
Rotation matrices and quaternions can simply be concatenated by multiplication.
Euler angles use three variables to describe three degrees of freedom and thus are minimal.
Angle-Axis can be minimal if the rotation about the angle is encoded in the length of the axis vector.
Rotation matrices can simply be transposed to invert them.Angle Axis can be inverted by negating angle or axis.
Quaternions can be inverted by flipping the sign of v or w.
Only rotation matrices are unique. The other representations allow to express the same rotation in multiple ways.
implement the position inverse and multiply operations.
import numpy as npclass Pose3D: def __init__(self, rotation, translation): self.rotation = rotation self.translation = translation def inv(self): ''' Inversion of this Pose3D object :return inverse of self ''' # TODO: implement inversion inv_rotation = self.rotation.T inv_translation = -np.dot(inv_rotation, self.translation) return Pose3D(inv_rotation, inv_translation) def __mul__(self, other): ''' Multiplication of two Pose3D objects, e.g.: a = Pose3D(...) # = self b = Pose3D(...) # = other c = a * b # = return value :param other: Pose3D right hand side :return product of self and other ''' return Pose3D(np.dot(self.rotation, other.rotation), np.dot(self.rotation, other.translation) + self.translation) def __str__(self): return "rotation:\n" + str(self.rotation) + "\ntranslation:\n" + str(self.translation.transpose())def compute_quadrotor_pose(global_marker_pose, observed_marker_pose): ''' :param global_marker_pose: Pose3D :param observed_marker_pose: Pose3D :return global quadrotor pose computed from global_marker_pose and observed_marker_pose ''' # TODO: implement global quadrotor pose computation global_quadrotor_pose = global_marker_pose * observed_marker_pose.inv() return global_quadrotor_pose
0 0
- [AUTONAVx][lec3]3D Geometry and Sensors
- Location and Sensors APIs
- 6.00 Introduction to Computer Science and Programming lec3 & lec4
- Sensors
- Sensors
- Occt的3D Geometry的曲线和曲面表示
- 3D 学习笔记 几何混合 Geometry Blending
- 1869: Mathematics and Geometry
- 6.087 Practical Programming in C, lec3: Control flow. Functions and modular programming. Variable s
- Android API Guides---Location and Sensors APIs and Maps
- Computational Geometry, C++ and Wykobi
- codeforces689E: Mike and Geometry Problem
- [AUTONAVx][lec4] PID Control
- The Principles of Acceleration, Shock, and Vibration Sensors
- Key differences between CCD and CMOS imaging sensors
- Ultrabook™ and Tablet Windows* 8 Sensors Development Guide
- Base sensors and trigger modes基础传感器及其触发模式
- JA检索-国际期刊S&T (Sensors and Transducers journal)
- hiho一下 第一周
- Java中的locale设定
- Asp.net防止盗链
- 我的代数充能01
- jsp中include使用html静态文件出现乱码问题
- [AUTONAVx][lec3]3D Geometry and Sensors
- 6.1学习内容 ndk编程释放内存,C语言中char*添加字符得方法,java二维数组的读取与生成
- 遗传算法代码
- android studio 给module配置git集成路径,再也不用小乌龟,再也不用sourcetree啦,速度杠杠滴
- opencv & qt study-(2)-打开video& camera
- myeclipse取消js校验
- LeetCode解题报告--ZigZag Conversion
- Python Show-Me-the-Code 第 0021题 密码加密
- [转载]nil,Nil,NULL 和NSNull的小结