学习笔记15--tf2 方式: 根据odom的 msg的四元数计算 偏转角

环境:ros-kincetc ubuntu16.04
假设:头文件\编译依赖以及相关的都已经配置好了.

背景是这样子的,需要把小车的在运动一段距离后,计算小车的yaw偏转角,为后面的操作做准备.编写了一个node,然后里面定义了一个topic 来监听 odom ;虽然可以获取该odom的四元数信息,但是该消息类型是nav_msgs::Odometry::ConstPtr& msg ,里面的四元数的角度不是实际需要的(或者说里面的值没有是直接表示宏观的角度的).下面通过tf2方式获取需要的偏转角并输出来:

		tf2::Quaternion q;//构建一个tf2版本的"四元数"
		tf2::convert(msg->pose.pose.orientation,q);//将topic监听得到的odom消息关于四元数的转换为tf2版本的"四元数"
		double roll,pitch,yam;//创建三个角度的变量
		tf2::Matrix3x3(q_orig).getRPY(roll,pitch,yam);//利用tf2的函数将"四元数"里面转换出三个方向的角度
		double y_angle=yam;//通过赋值方式就可以得到需要的绕z轴偏转角度了.

这是通过tf2方式获取绕z轴偏转角的方式,记录一下.

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值