ROS 位置反馈控制机器人

本文介绍了如何使用ROS进行位置反馈控制机器人,通过Odometry消息获取机器人的位置信息,实现闭环控制,确保机器人能更准确地到达目标点。文章详细讲解了启动机器人、源码分析及后续步骤。
摘要由CSDN通过智能技术生成

ROS 位置反馈控制机器人

上一篇中我们学习了如何发布Twist消息控制机器人运动特定距离,但是上一篇用的是基于延时的开环控制,并没有引入反馈,在实际情况中几乎不可能准确到达目标点。所以这一篇我们学习如何用位置反馈闭环控制机器人。

  • 启动机器人
  • 从终端发布Twist消息控制机器人
  • 下一步

1.启动机器人

ROS中提供了了一个Odometry消息类型可以得到机器人的位置信息。先看一下该消息的具体内容

 rosmsg show nav_msgs/Odometry

这里写图片描述

可以看出Odometry中包含pose:三轴位置信息,三轴欧拉角(用四元数表示),Twist:三轴线速度,三轴角速度。这两个消息中都包含了与测量不确定度有关的方差信息,可以很方便地用来卡尔曼滤波。
先启动机器人:

roslaunch rbx1_bringup fake_turtlebot.launch
rosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz

然后启动odom_out_and_back.py:

rosrun rbx1_nav odom_out_and_back.py

结果如下:

这里写图片描述

和开环效果是一样的,因为这里是模拟的理想情况。

2.源码分析

import rospy
from geometry_msgs.msg import Twist, Point, Quaternion
import tf
from rbx1_nav.transform_utils import quat_to_angle, normalize_angle
from math import radians, copysign, sqrt, pow, pi

class 
  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值