一、问题描述:

gazebo仿真时在加入差分运动插件后没有cmd_vel话题

joes@joes:~/jiao/ROS_Project$ roslaunch ros23_urdf02_gazebo demo03_gazebo_env.launch
... logging to /home/joes/.ros/log/6cceca6e-4837-11ec-9542-14f6d8d77445/roslaunch-joes-10392.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

xacro: Traditional processing is deprecated. Switch to --inorder processing!
To check for compatibility of your document, use option --check-order.
For more infos, see http://wiki.ros.org/xacro#Processing_Order
started roslaunch server http://localhost:40573/

SUMMARY
========

PARAMETERS
 * /robot_description: <?xml version="1....
 * /rosdistro: kinetic
 * /rosversion: 1.12.17
 * /use_sim_time: True

NODES
  /
    gazebo (gazebo_ros/gzserver)
    gazebo_gui (gazebo_ros/gzclient)
    spawn_model1 (gazebo_ros/spawn_model)

ROS_MASTER_URI=http://localhost:11311

process[gazebo-1]: started with pid [10416]
process[gazebo_gui-2]: started with pid [10421]
process[spawn_model1-3]: started with pid [10426]
[ INFO] [1637235817.256610584]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1637235817.257288041]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[ INFO] [1637235817.258918130]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1637235817.261062997]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt4/plugins/inputmethods/libqimsw-multi.so"
keys ("imsw-multi")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt4/plugins/inputmethods/qtim-fcitx.so"
keys ("fcitx")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt4/plugins/imageformats/libqgif.so"
keys ("gif")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt4/plugins/imageformats/libqico.so"
keys ("ico")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt4/plugins/imageformats/libqjpeg.so"
keys ("jpeg", "jpg")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt4/plugins/imageformats/libqmng.so"
keys ("mng")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt4/plugins/imageformats/libqsvg.so"
keys ("svg", "svgz")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt4/plugins/imageformats/libqtga.so"
keys ("tga")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt4/plugins/imageformats/libqtiff.so"
keys ("tiff", "tif")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt4/plugins/accessiblebridge/libqspiaccessiblebridge.so"
keys ("QSPIACCESSIBLEBRIDGE")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt4/plugins/accessible/libqtaccessiblecompatwidgets.so"
keys ("Q3TextEdit", "Q3IconView", "Q3ListView", "Q3WidgetStack", "Q3GroupBox", "Q3ToolBar", "Q3ToolBarSeparator", "Q3DockWindowHandle", "Q3DockWindowResizeHandle", "Q3MainWindow", "Q3Header", "Q3ListBox", "Q3Table", "Q3TitleBar")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt4/plugins/accessible/libqtaccessiblewidgets.so"
keys ("QSGItem", "QDeclarativeItem", "QLineEdit", "QComboBox", "QAbstractSpinBox", "QSpinBox", "QDoubleSpinBox", "QScrollBar", "QSlider", "QAbstractSlider", "QToolButton", "QCheckBox", "QRadioButton", "QPushButton", "QAbstractButton", "QDialog", "QMessageBox", "QMainWindow", "QLabel", "QLCDNumber", "QGroupBox", "QStatusBar", "QProgressBar", "QMenuBar", "Q3PopupMenu", "QMenu", "QHeaderView", "QTabBar", "QToolBar", "QWorkspaceChild", "QSizeGrip", "QAbstractItemView", "QWidget", "QSplitter", "QSplitterHandle", "QTextEdit", "QPlainTextEdit", "QTipLabel", "QFrame", "QStackedWidget", "QToolBox", "QMdiArea", "QMdiSubWindow", "QWorkspace", "QDialogButtonBox", "QDial", "QRubberBand", "QTextBrowser", "QAbstractScrollArea", "QScrollArea", "QCalendarWidget", "QDockWidget")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt4/plugins/iconengines/libqsvgicon.so"
keys ("svg", "svgz", "svg.gz")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt4/plugins/iconengines/libqsvgicon.so"
keys ()
[ INFO] [1637235817.590847017]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1637235817.592469542]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1637235817.638523309, 257.499000000]: Physics dynamic reconfigure ready.
[ INFO] [1637235817.638917878]: Physics dynamic reconfigure ready.
[ INFO] [1637235818.010408784, 257.801000000]: Starting plugin DiffDrive(ns = //)
[ INFO] [1637235818.010504396, 257.801000000]: DiffDrive(ns = //): <rosDebugLevel> = Debug
[ INFO] [1637235818.011427144, 257.801000000]: DiffDrive(ns = //): <tf_prefix> =
[DEBUG] [1637235818.011538036, 257.801000000]: DiffDrive(ns = //): <commandTopic> = cmd_vel
[DEBUG] [1637235818.011553415, 257.801000000]: DiffDrive(ns = //): <odometryTopic> = odom
[DEBUG] [1637235818.011565311, 257.801000000]: DiffDrive(ns = //): <odometryFrame> = odom
[DEBUG] [1637235818.011592937, 257.801000000]: DiffDrive(ns = //): <robotBaseFrame> = base_footprint
[DEBUG] [1637235818.011641657, 257.801000000]: DiffDrive(ns = //): <publishWheelTF> = true
[DEBUG] [1637235818.011653441, 257.801000000]: DiffDrive(ns = //): <publishOdomTF> = true
[DEBUG] [1637235818.011664179, 257.801000000]: DiffDrive(ns = //): <publishWheelJointState> = true
[DEBUG] [1637235818.011709383, 257.801000000]: DiffDrive(ns = //): <legacyMode> = true
[DEBUG] [1637235818.011758233, 257.801000000]: DiffDrive(ns = //): <wheelSeparation> = 0.20000000000000001
[DEBUG] [1637235818.011776872, 257.801000000]: DiffDrive(ns = //): <wheelDiameter> = 0.065000000000000002
[DEBUG] [1637235818.011825064, 257.801000000]: DiffDrive(ns = //): <wheelAcceleration> = 1.8
[DEBUG] [1637235818.011839057, 257.801000000]: DiffDrive(ns = //): <wheelTorque> = 30
[DEBUG] [1637235818.011853035, 257.801000000]: DiffDrive(ns = //): <updateRate> = 100
[ WARN] [1637235818.011902563, 257.801000000]: DiffDrive(ns = //): <odometrySource> no matching key to 1
[DEBUG] [1637235818.011918766, 257.801000000]: DiffDrive(ns = //): <odometrySource> = default := 1
[DEBUG] [1637235818.011945861, 257.801000000]: DiffDrive(ns = //): <leftJoint> = left_wheel_baselink
[spawn_model1-3] process has finished cleanly
log file: /home/joes/.ros/log/6cceca6e-4837-11ec-9542-14f6d8d77445/spawn_model1-3*.log
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt4/plugins/menubar/libappmenu-qt.so"
keys ("default")
[gazebo_gui-2] process has finished cleanly
log file: /home/joes/.ros/log/6cceca6e-4837-11ec-9542-14f6d8d77445/gazebo_gui-2*.log
^C[gazebo-1] killing on exit
[gazebo-1] escalating to SIGTERM
shutting down processing monitor...
... shutting down processing monitor complete
done

二、解决:

查看后台输出,未见明显报警,最后还是检查move.xacro文件,<gazebo></gazebo>标签内,左右驱动轮的名字错误,导致的。自行查看自己的小车base中的左右驱动轮的joint name,必须保持一致,我就是因为多加了一个下划线,导致摸索半天。

leftwheel_baselink  错写为  left_wheel_baselink

rightwheel_baselink 错写为 right_wheel_baselink

1.错误的书写:

2.base底盘文件的左右驱动轮关节名称:

修正后,重新执行:roslaunch ros23_urdf02_gazebo demo03_gazebo_env.launch

查询rostopic list,出现cmd_vel

大喜大喜~

其他同学遇见此问题,也可以类推,主要查找相关的一些自命名参数的name是否前后一致,否则极易出错。因为随着后续项目的复杂加深,相关的各类引用越来越多,所以必须要仔细书写,以免花费太多的无效时间进行排错!

gazebo仿真时在加入差分运动插件后没有cmd_vel话题相关推荐

  1. 【ROS学习记录】在gazebo中加入差分驱动插件后rostopic没有/cmd_vel话题的一种解决办法

    (1)背景:本人在b站学习的ros,自己安装的是ubuntu18.04,视频链接如下:[奥特学园]ROS机器人入门课程<ROS理论与实践>零基础教程_哔哩哔哩_bilibili 但是在P2 ...

  2. 双系统gazebo闪退_记录Ubuntu16.04下PX4联合Gazebo仿真时遇到的问题与解决方法

    一.arm-none-eabi-gcc版本问题 在Ubuntu16.04中使用sudo apt-get install gcc-arm-none-eabi命令会自动安装默认版本(gcc version ...

  3. gazebo小车仿真时遇到问题:没有cmd_vel和odom话题

    Gazebo键盘控制小车不动,发现没有cmd_vel和odom话题 在做ros机器人开发实践中的gazebo仿真时,改了一个四轮(两驱)的长方体小车,遇到了一个问题,即键盘控制小车没有反应,查看ros ...

  4. Gazebo仿真记录 Turtlebot3 + D435i

    在Gazebo环境中在Turtlebot3上添加深度相机D435和IMU. 步骤 1.准备工作 创建ROS工作空间,下载turtlebot3相关代码和realsense2_description 模型 ...

  5. gazebo仿真遇到的FCU问题

    当使用roslaunch xxx.launch命令进行gazebo仿真时出现 FCU: Preflight Fail: Accel #0 uncalibrated或者FCU: Preflight Fa ...

  6. Gazebo结合ROS仿真时,如何编写机器人的URDF

    译者的话:在用Gazebo做仿真应用时,您想用ROS控制机器人,又想让机器人既能在Gazebo中运行,又能在Rviz中运行,您需要用URDF描述机器人,而不是SDF.原因是Rviz的标配是URDF, ...

  7. 【ROS2仿真-01】运动小车的gazebo仿真

    一.提要 本文对于初学者的Gazebo仿真给出导学,通过学习,能使初学者对ROS2和gazebo配合得到初步认知.本文是系列文档,我们将讲述小车的种种仿真,本篇只是开头,讲最简单的仿真----运动仿真 ...

  8. 解决PX4固件在Gazebo下进行SITL仿真时遇到的MODE: Unsupported FCU问题的方法

    参考一下两个链接: https://github.com/PX4/PX4-Autopilot/issues/12038 https://docs.px4.io/master/en/simulation ...

  9. 【从零开始的ROS四轴机械臂控制】(二) - ROS与Gazebo连接,Gazebo仿真及urdf文件修改

    [从零开始的ROS四轴机械臂控制(二)] 四.urdf文件及gazebo仿真 1.simple_arm示例 (1)config文件夹 (2)launch文件夹 (3)meshes文件夹 (4)urdf ...

最新文章

  1. sybase 数据导入mysql_Windows环境下Sybase12.5 数据库创建与导入数据库.docx
  2. 通过/proc/sys/net/ipv4/优化Linux下网络性能
  3. VC++网络资源集合
  4. OCS Inventory NG使用之在windows 2008 R2平台下安装服务器端(二)
  5. C++第10周项目2扩展之2参考——迭代求和
  6. 盘点Greenplum 6.0六大新特性及展望
  7. 开源 非开源_在开源中吃我们自己的狗粮
  8. 成绩查询数据结构c语言,学生成绩管理系统(数据结构c语言版源代码)09169.pdf
  9. 原来理解 AOP 可以这么简单
  10. 深度学习工程师能力评估标准
  11. NUC1100 Biorhythms【中国剩余定理】
  12. .Net Framework4 与.Net Framework4.0 client profile区别问题
  13. u盘测试工具linux,MultiBootUSB简单测试工具 V7.5.0 升级版
  14. wget 覆盖文件下载的技巧,绝对有效
  15. 【SAP Abap】SE91 - SAP MESSAGE 消息类创建与应用
  16. OSChina 周日乱弹 ——领导问:功能几天能开发完?怎么回
  17. 如何申请微信公众平台帐号
  18. python去除图片水印api_python opencv去图片水印
  19. 各大邮箱网址用哪个好?企业内部邮箱哪个比较好用?
  20. 简单描述进程 vs 线程

热门文章

  1. OpenFOAM 学习笔记
  2. 性能测试入门,其实很简单,看看这篇,好好学习
  3. pdf和图像文字识别提取工具
  4. 为实施了IFD的Dynamics 365更换自签名的SSL证书以符合Chrome的要求
  5. xml和html的区别和联系
  6. python画大对勾_多种方法告诉你!Word如何在方框中打对勾√和叉叉×
  7. ORAN C平面 Section Type 1
  8. Python金融系列第五篇:多元线性回归和残差分析
  9. win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境
  10. 为什么街上发传单的人会认真发完,却不把传单丢了呢?