ros2-6.4.4 两轮差速控制机器人(问题解决)

news/2025/1/16 7:02:25/

ros2-6.4.4 两轮差速控制机器人的问题-CSDN博客

上次遇到的问题,经过查看ros2 node list 之后,发现有多个

/robot_state_publisher

这是不正常的,应该是我看视频6.2 的没有及时关闭导致冲突了。

没有修改代码,单纯的重启就解决了。正常显示TF tree 如下:

小鱼老师在视频解释过,left_wheel_link 、right_wheel_link 两个轮子在base_footprint下是差速控制插件发布的。

此时,能正常看到轮子的tf轴转动。

<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro"><xacro:macro name="gazebo_control_plugin"><gazebo><plugin name='diff_drive' filename='libgazebo_ros_diff_drive.so'><ros><namespace>/</namespace><remapping>cmd_vel:=cmd_vel</remapping><remapping>odom:=odom</remapping></ros><update_rate>30</update_rate><!-- wheels --><left_joint>left_wheel_joint</left_joint><right_joint>right_wheel_joint</right_joint><!-- kinematics --><wheel_separation>0.2</wheel_separation><wheel_diameter>0.064</wheel_diameter><!-- limits --><max_wheel_torque>20</max_wheel_torque><max_wheel_acceleration>1.0</max_wheel_acceleration><!-- output --><publish_odom>true</publish_odom><publish_odom_tf>true</publish_odom_tf><publish_wheel_tf>true</publish_wheel_tf><odometry_frame>odom</odometry_frame><robot_base_frame>base_footprint</robot_base_frame></plugin></gazebo></xacro:macro>
</robot>

补充下差速控制的参数含义,就是书上6-1 表格。

配置项含义
rosros相关配置,包含命名空间和话题重映射等
update_rate数据更新速率
left_joint左轮关节名称
right_joint右轮关节名称
wheel_separation左右轮子的间距
wheel_diameter轮子的直径
max_wheel_torque轮子最大的力矩
max_wheel_acceleration轮子最大的加速度
publish_odom是否发布里程计
publish_odom_tf是否发布里程计的tf开关
publish_wheel_tf是否发布轮子的tf数据开关
odometry_frame里程计的framed ID,最终体现在话题和TF上
robot_base_frame机器人的基础frame的ID

一些 控制信息;

cmd_vel 就是

bohu@bohu-TM1701:~$ ros2 topic echo /cmd_vel
linear:x: 0.5y: 0.0z: 0.0
angular:x: 0.0y: 0.0z: 0.0
---
linear:x: 0.0y: 0.0z: 0.0
angular:x: 0.0y: 0.0z: 0.0

里程计信息默认的输出话题为odom,查看信息:

    header,表示该消息发布的时间
    pose,表示当前机器人位置和朝向
    twist,表示当前机器人的线速度和角速度

covariance 协方差矩阵信息,小鱼老师说以后讲。在rviz里面Odometry关闭了,没有勾选。

header:stamp:sec: 4564nanosec: 469000000frame_id: odom
child_frame_id: base_footprint
pose:pose:position:x: -1.786928065906287y: -0.8138664866993258z: 0.0009999934627118873orientation:x: 3.9145606329839545e-08y: 1.401121596460272e-07z: -0.96438294476112w: -0.2645099919735544covariance:- 1.0e-05- 0.0- 0.0- 0.0- 0.0- 0.0- 0.0- 1.0e-05- 0.0- 0.0- 0.0- 0.0- 0.0- 0.0- 1000000000000.0- 0.0- 0.0- 0.0- 0.0- 0.0- 0.0- 1000000000000.0- 0.0- 0.0- 0.0- 0.0- 0.0- 0.0- 1000000000000.0- 0.0- 0.0- 0.0- 0.0- 0.0- 0.0- 0.001
twist:twist:linear:x: -1.6229530798319845e-05y: -3.1758267246886164e-05z: 0.0angular:x: 0.0y: 0.0z: -9.914752588517208e-05covariance:- 1.0e-05- 0.0- 0.0- 0.0- 0.0- 0.0- 0.0- 1.0e-05- 0.0- 0.0- 0.0- 0.0- 0.0- 0.0- 1000000000000.0- 0.0- 0.0- 0.0- 0.0- 0.0- 0.0- 1000000000000.0- 0.0- 0.0- 0.0- 0.0- 0.0- 0.0- 1000000000000.0- 0.0- 0.0- 0.0- 0.0- 0.0- 0.0- 0.001
---
header:stamp:sec: 4564nanosec: 503000000frame_id: odom
child_frame_id: base_footprint


http://www.ppmy.cn/news/1563538.html

相关文章

【Uniapp-Vue3】vite.config中安装插件unplugin-auto-import自动导入vue和uniapp

对着项目右键-->使用命令行窗口打开所在目录&#xff0c;就会弹出终端 在终端中输入如下命令&#xff0c;后回车。 npm install unplugin-auto-import 在项目目录下创建vite.config.js 在vite.config.js文件中输入如下代码&#xff1a; import { defineConfig } from vi…

【STM32-学习笔记-6-】DMA

文章目录 DMAⅠ、DMA框图Ⅱ、DMA基本结构Ⅲ、不同外设的DMA请求Ⅳ、DMA函数Ⅴ、DMA_InitTypeDef结构体参数①、DMA_PeripheralBaseAddr②、DMA_PeripheralDataSize③、DMA_PeripheralInc④、DMA_MemoryBaseAddr⑤、DMA_MemoryDataSize⑥、DMA_MemoryInc⑦、DMA_DIR⑧、DMA_Buff…

nolo sonic 2使用串流方式运行steamVR时报错301(VRApplicationError_IPCFailed)

1. 问题描述 最近换了一台新电脑&#xff0c;使用nolo sonic 2 VR眼镜&#xff0c;尝试和自己的笔记本通过串流方式连接steamVR。无奈连接后就开始报错&#xff1a; 点开“更多信息”后&#xff0c;提示&#xff1a; 2. 解决过程 一开始认为是电脑内安装的软件冲突的问题…

c++领域展开第十二幕——类和对象(STL简介——简单了解STL)超详细!!!!

文章目录 前言STL简介什么是STLSTL的版本STL的六大组件STL的重要性如何学习STL 总结 前言 上篇博客我们了解了初阶的模版函数&#xff0c;以及有关的一些使用方法。 今天我们来了解了解STL库的有关知识 跟我一起上车吧 STL简介 什么是STL STL&#xff1a;是C标准库的重要组成…

数仓建模(六)从ODS到DWD、DWS、ADS

在数据仓库建设中&#xff0c;ODS、DWD、DWS、ADS是大家经常接触的术语&#xff0c;它们代表了数据流转的不同阶段。这些术语虽然专业&#xff0c;但其背后的含义却相对直观。通过深入理解这些概念&#xff0c;大家可以更高效地设计和优化数据仓库架构。本文将以通俗语言解析这…

数据分析如何正确使用ChatGPT进行辅助?

目录 1.数据介绍 2.特征工程 3.EDA分析 4.数据相关性分析 5.分析总结 一篇优秀的学术论文&#xff0c;肯定有新颖、适当的论证视角&#xff0c;选择恰当的研究方法&#xff0c;搭建逻辑严密、平衡的论证框架&#xff0c;把有力的数据分析紧密结合起来&#xff0c;这样一篇…

【数据结构-堆】力扣1792. 最大平均通过率

一所学校里有一些班级&#xff0c;每个班级里有一些学生&#xff0c;现在每个班都会进行一场期末考试。给你一个二维数组 classes &#xff0c;其中 classes[i] [passi, totali] &#xff0c;表示你提前知道了第 i 个班级总共有 totali 个学生&#xff0c;其中只有 passi 个学…

hot100_240. 搜索二维矩阵 II

hot100_240. 搜索二维矩阵 II 直接遍历列减行增 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,4,7,1…