11.Moveit 末端坐标系姿态表示形式——四元数

本文介绍了RPY角(Roll-Pitch-Yaw)和欧拉角的概念及其相互关系,阐述了XYZ固定坐标旋转与ZYX运动坐标系旋转的等价性。同时,针对旋转表示的插值问题,提出了使用四元数来解决,探讨了四元数与旋转矩阵之间的转换,并强调了四元数在插值操作中的优势。
摘要由CSDN通过智能技术生成

一、RPY角

1.RPY角又称为XYZ固定角,即相对于固定坐标系进行旋转,通过基本旋转矩阵左乘实现。

R——Roll横滚——x轴——阿尔法α

P——Pitch俯仰——y轴——贝塔β

Y——Yaw偏航——z轴——伽马γ

四种形式但是同一个意思。

2.另外一种形式就是欧拉角,是相对于运动坐标系旋转,基本旋转矩阵右乘。

引出一种思想就是XYZ固定坐标旋转=ZYX运动坐标系旋转,即RPY角等于ZYX欧拉角。

ZYX欧拉角:

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用MoveIt获取末端姿态的C程序的基本示例: ``` #include <ros/ros.h> #include <moveit/move_group_interface/move_group_interface.h> #include <moveit/planning_scene_interface/planning_scene_interface.h> #include <moveit_msgs/DisplayRobotState.h> #include <moveit_msgs/DisplayTrajectory.h> #include <moveit_msgs/AttachedCollisionObject.h> #include <moveit_msgs/CollisionObject.h> #include <tf2_geometry_msgs/tf2_geometry_msgs.h> int main(int argc, char **argv) { ros::init(argc, argv, "moveit_demo"); ros::NodeHandle nh; // 创建MoveGroup接口 moveit::planning_interface::MoveGroupInterface move_group("manipulator"); // 设置目标终端姿态 geometry_msgs::PoseStamped target_pose; target_pose.header.frame_id = "base_link"; target_pose.pose.position.x = 0.5; target_pose.pose.position.y = 0.0; target_pose.pose.position.z = 0.5; tf2::Quaternion q; q.setRPY(0,0,1.57); // 绕z轴旋转90度 target_pose.pose.orientation = tf2::toMsg(q); // 设置终端姿态为目标姿态 move_group.setPoseTarget(target_pose); // 进行规划 moveit::planning_interface::MoveGroupInterface::Plan my_plan; bool success = (move_group.plan(my_plan) == moveit::planning_interface::MoveItErrorCode::SUCCESS); // 移动到目标姿态 if(success) { move_group.move(); ROS_INFO("Move to target pose successfully."); } else { ROS_ERROR("Failed to move to target pose!"); } // 获取当前终端姿态 geometry_msgs::PoseStamped current_pose = move_group.getCurrentPose(); // 输出当前终端姿态 ROS_INFO_STREAM("Current end effector pose:\n" << current_pose.pose); return 0; } ``` 该程序使用MoveIt来规划机械臂的运动,并获取当前机械臂的末端姿态。首先,创建一个MoveGroup接口并设置目标终端姿态。然后,使用MoveIt进行规划并执行运动。最后,获取当前终端姿态并输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值