当前位置: 首页 > news >正文

网站设计是什么意思优质网站建设

网站设计是什么意思,优质网站建设,建筑效果图网站有哪些,家电维修品牌网站建设背景 四元数是方向的 4 元组表示形式#xff0c;它比旋转矩阵更简洁。 四元数对于分析涉及三维旋转的情况非常有效。 四元数广泛用于机器人技术、量子力学、计算机视觉和 3D 动画。 您可以在 Wikipedia 上了解有关基本数学概念的更多信息。 您还可以观看由 3blue1brown 制…背景 四元数是方向的 4 元组表示形式它比旋转矩阵更简洁。 四元数对于分析涉及三维旋转的情况非常有效。 四元数广泛用于机器人技术、量子力学、计算机视觉和 3D 动画。 您可以在 Wikipedia 上了解有关基本数学概念的更多信息。 您还可以观看由 3blue1brown 制作的可探索视频系列 Visualizeizing quaternions。 在本教程中您将了解四元数和转换方法在 ROS 2 中的工作原理。 先决条件 但是这不是一个硬性要求您可以坚持使用最适合您的任何其他几何转换库。 您可以查看 transforms3d、scipy.spatial.transform、pytransform3d、numpy-quaternion 或 blender.mathutils 等库。 四元数的组成部分 ROS 2 使用四元数来跟踪和应用旋转。 四元数有 4 个分量。 在 ROS 2 中是最后的但在一些库如 Eigen中可以放在第一个位置。 不产生绕 x/y/z 轴旋转的常用单位四元数是 可以通过以下方式创建(x, y, z, w)ww(0, 0, 0, 1) #include tf2/LinearMath/Quaternion.h ...tf2::Quaternion q; // Create a quaternion from roll/pitch/yaw in radians (0, 0, 0) q.setRPY(0, 0, 0); // Print the quaternion components (0, 0, 0, 1) RCLCPP_INFO(this-get_logger(), %f %f %f %f,q.x(), q.y(), q.z(), q.w());四元数的大小应始终为 1。 如果数值错误导致四元数幅度不是 1ROS 2 将打印警告。 要避免这些警告请规范化四元数 q.normalize();ROS 2 中的四元数类型 ROS 2 使用两种四元数数据类型 及其等效数据类型。 要在 C 中在它们之间进行转换请使用 .tf2::Quaterniongeometry_msgs::msg::Quaterniontf2_geometry_msgs C #include tf2_geometry_msgs/tf2_geometry_msgs.hpp ...tf2::Quaternion tf2_quat, tf2_quat_from_msg; tf2_quat.setRPY(roll, pitch, yaw); // Convert tf2::Quaternion to geometry_msgs::msg::Quaternion geometry_msgs::msg::Quaternion msg_quat tf2::toMsg(tf2_quat);// Convert geometry_msgs::msg::Quaternion to tf2::Quaternion tf2::convert(msg_quat, tf2_quat_from_msg); // or tf2::fromMsg(msg_quat, tf2_quat_from_msg);蟒 from geometry_msgs.msg import Quaternion ...# Create a list of floats, which is compatible with tf2 # Quaternion methods quat_tf [0.0, 1.0, 0.0, 0.0]# Convert a list to geometry_msgs.msg.Quaternion msg_quat Quaternion(xquat_tf[0], yquat_tf[1], zquat_tf[2], wquat_tf[3])四元数运算 1 在 RPY 中思考然后转换为四元数 我们很容易考虑绕轴的旋转但很难从四元数的角度考虑。 建议根据滚动 绕 X 轴、俯仰 绕 Y 轴 和偏航 绕 Z 轴 计算目标旋转然后转换为四元数。 # quaternion_from_euler method is available in turtle_tf2_py/turtle_tf2_py/turtle_tf2_broadcaster.py q quaternion_from_euler(1.5707, 0, -1.5707) print(fThe quaternion representation is x: {q[0]} y: {q[1]} z: {q[2]} w: {q[3]}.)2 应用四元数旋转 要将一个四元数的旋转应用于姿势只需将姿势的前一个四元数乘以表示所需旋转的四元数即可。 这个乘法的顺序很重要。 C #include tf2_geometry_msgs/tf2_geometry_msgs.hpp ...tf2::Quaternion q_orig, q_rot, q_new;q_orig.setRPY(0.0, 0.0, 0.0); // Rotate the previous pose by 180* about X q_rot.setRPY(3.14159, 0.0, 0.0); q_new q_rot * q_orig; q_new.normalize();或 q_orig quaternion_from_euler(0, 0, 0) # Rotate the previous pose by 180* about X q_rot quaternion_from_euler(3.14159, 0, 0) q_new quaternion_multiply(q_rot, q_orig)3 反转四元数 反转四元数的一种简单方法是对 w 分量求反 q[3] -q[3]4 相对旋转 假设你有两个来自同一帧的四元数并且 。 您希望查找按以下方式转换为 的相对旋转 q_1q_2q_rq_1q_2 q_2 q_r * q_1您可以像求解矩阵方程一样进行求解。 反转并右乘两侧。同样乘法的顺序也很重要q_rq_1 q_r q_2 * q_1_inverse下面是一个在 python 中获取从上一个机器人姿势到当前机器人姿势的相对旋转的示例 def quaternion_multiply(q0, q1):Multiplies two quaternions. Input:param q0: A 4 element array containing the first quaternion (q01, q11, q21, q31):param q1: A 4 element array containing the second quaternion (q02, q12, q22, q32) Output:return: A 4 element array containing the final quaternion (q03,q13,q23,q33) # Extract the values from q0w0 q0[0]x0 q0[1]y0 q0[2]z0 q0[3]# Extract the values from q1w1 q1[0]x1 q1[1]y1 q1[2]z1 q1[3]# Computer the product of the two quaternions, term by termq0q1_w w0 * w1 - x0 * x1 - y0 * y1 - z0 * z1q0q1_x w0 * x1 x0 * w1 y0 * z1 - z0 * y1q0q1_y w0 * y1 - x0 * z1 y0 * w1 z0 * x1q0q1_z w0 * z1 x0 * y1 - y0 * x1 z0 * w1# Create a 4 element array containing the final quaternionfinal_quaternion np.array([q0q1_w, q0q1_x, q0q1_y, q0q1_z])# Return a 4 element array containing the final quaternion (q02,q12,q22,q32)return final_quaternionq1_inv[0] prev_pose.pose.orientation.x q1_inv[1] prev_pose.pose.orientation.y q1_inv[2] prev_pose.pose.orientation.z q1_inv[3] -prev_pose.pose.orientation.w # Negate for inverseq2[0] current_pose.pose.orientation.x q2[1] current_pose.pose.orientation.y q2[2] current_pose.pose.orientation.z q2[3] current_pose.pose.orientation.wqr quaternion_multiply(q2, q1_inv)总结 在本教程中您了解了四元数的基本概念及其相关的数学运算例如反转和旋转。 您还了解了它在 ROS 2 中的使用示例以及两个单独的 Quaternion 类之间的转换方法。
http://www.sczhlp.com/news/272960/

相关文章:

  • 天津网站开发制作网站开发程序员岗位职责
  • 南宁专业网站制作前十排名城乡住房和城乡建设厅网站首页
  • 安徽和住房建设厅网站佛山市专业的网站设计
  • 无做弊的棋牌游戏网站做图网站大学生兼职
  • 制作h5网站开发阿里云 多个网站
  • 微软做网站市住房城乡建设部网站
  • 网站建设可以修改吗成都手机微信网站建设报价单
  • 网站建设感想江苏镇江十大外贸公司
  • 想做个网站 怎么做绵阳网站建设优化
  • 律所网站建设最好的网站代运营公司
  • 网站建设怎样创建链接郑州市建设厅网站
  • seo是网站搜索引擎上的优化wordpress 克隆插件
  • 网站内容建设的布局和结构杨凌做网站的
  • 网站建设 设备做网站游戏都需要什么
  • 龙岩做网站改版一般多久dede网站如何换源码
  • 网站建设入门皮包设计制作培训
  • 网站建设职业情况天河电子商务网站建设
  • 江苏网站建设网络推广画家个人网站建设
  • wordpress 网站小模块申请的网站怎么建设
  • 莲都网站建设网站页面设计规范
  • 网站模板 金融海南省建设集团有限公司网站
  • 东莞专业建网站一对一直播app开发定制
  • Unity2D 图片支持拖拽和以鼠标中心缩放
  • [ vmware 连接宿主机代理 ]
  • 做网站流量优化都是什么html 网站开发软件
  • 做程序题的国外网站网页版微信二维码
  • app网站建设工作师广告设计公司发展规划
  • 州网站建设广州开发区投资集团有限公司
  • 西安企业wordpress seo插件中文版
  • 做seo时网站更新的目的单页网站模板修改吗