URDF、Gazebo与Rviz机器人仿真综合应用-autolabor笔记

2023-11-10

URDF、Gazebo与Rviz综合应用

6.7.1.1 机器人运动控制

编写机器人my_base.xacro、编写传动装置以及控制器move.xacro文件,
搭建环境world文件
将上述整合进一个car.xacro文件(加载惯性矩阵xacro、传感器xacro、控制器xacro)
通过car.launch启动(启动gazebo、加载world、显示机器人模型)
查看rostopic_list,有/cmd_vel
在这里插入图片描述
控制运动
(1)通过以下键盘控制机器人运动:i前进 ,后退 j左转 l右转 k停止

sudo apt-get install ros-melodic-teleop-twist-keyboard

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

在这里插入图片描述
调整速度:

rosrun teleop_twist_keyboard teleop_twist_keyboard.py _speed=0.3 _turn=0.1

(2)通过rostopic控制运动

rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.2, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.5}}'

监听速度

rostopic echo /cmd_vel

在这里插入图片描述

6.7.1.2里程计

gazebo不能显示里程及信息,需要调用rviz。
因此创建sensor.launch文件启动rviz、启动机器人状态和关节状态发布节点
启动car.launch和sensor.launch,设置rviz
在这里插入图片描述
通过键盘控制机器人运动,即可在rivz显示机器人运动轨迹,同时gazebo中机器人运动起来
在这里插入图片描述

/model_states获取机器人位姿真值

开启仿真后,设置机器人运动,用话题/model_states获得位姿真值

rostopic echo /gazebo/model_states

在这里插入图片描述

rosbag记录数据

  • 记录所有的话题
rosbag record -a 

在这里插入图片描述

  • 数据重现(将filename改为记录下的bag文件名称 不加<>)
rosbag info <file_name>		

在这里插入图片描述

  • 数据重现
    /turtle1/cmd_vel和 /turtle1/pose为topic名称
rosbag record -O subset /turtle1/cmd_vel /turtle1/pose
  • .bag文件转.txt
    将file_name.bag文件中topic_name话题的消息转换到Txt_name.txt文件中:
rostopic echo -b file_name.bag -p /topic_name > Txt_name.txt

在这里插入图片描述

6.7.2雷达

创建laser.xacro
注意其中和laser的名称,要和小车xacro文件里雷达传感器Link的名称一致,表示本laser.xacro的设置是针对机器人模型中的laser link生效
在这里插入图片描述
在机器人模型文件car.urdf.xacro中添加雷达传感器设置

    <xacro:include filename="gazebo/laser.xacro" />

新建文件后在工作空间使用

source ./devel/setup.bash

启动car.launch和sensor.launch
在rviz中添加laserScan,设置topic为laser,即可查看雷达的数据点

本文自用 仅供学习查询

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

URDF、Gazebo与Rviz机器人仿真综合应用-autolabor笔记 的相关文章

随机推荐

  • 常用邮箱工具类

    废话不多说 直接上代码 自个耍 package com example demo util import javax mail import javax mail internet InternetAddress import javax
  • 多线程基础篇(包教包会)

    文章目录 一 第一个多线程程序 1 Jconsole观察线程 2 线程休眠 sleep 二 创建线程 三 Thread类及常见方法 1 Thread 的常见构造方法 2 Thread 的几个常见属性 3 启动线程 start 4 中断线程
  • 宝塔面板忘记用户名,忘记密码怎么办?

    1 重新设置密码找回用户名 情况一 已经修改过用户名和密码 很多网上的解决方法都只是告诉我们进入SSH设置 但是很多小伙伴并不知道怎么进入SSH 导致解决该问题很麻烦 其实我们直接在阿里云中云服务器中的远程连接就可以解决这个问题 第一步 直
  • 利用security.js实现RSA加密

    在项目中遇到要对用户输入的密码进行RSA加密的需求 总结一下实现过程 div div
  • Android和java两平台AES的互相加密解密

    import java io UnsupportedEncodingException import java security InvalidKeyException import java security Key import jav
  • 什么是多态机制?Java语言是如何实现多态的?

    多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用 在编程时并不确定 而在程序运行期间才确定 即一个引用变量到底会指向哪个类的实例对象 该引用变量发出的方法到底调用哪个类中实现的方法 必须由程序运行期间才能决定 因为
  • 计算机系统唯一能识别的不需要翻译,第一章 计算机基础知识06966new.ppt

    第一章 计算机基础知识06966new ppt 第一章 计算机基础知识 2 1 计算机软件系统 输入计算机的信息一般有两类 一类称为数据 一类称为程序 计算机是通过执行程序所规定的各种指令来处理各种数据的 1 指令 是指示计算机执行某种操作
  • IntelliJ IDEA(九) :酷炫插件系列

    最近项目比较忙 很久没有更新IDEA系列了 今天介绍一下IDEA的一些炫酷的插件 IDEA强大的插件库 不仅能给我们带来一些开发的便捷 还能体现我们的与众不同 1 插件的安装 打开setting文件选择Plugins选项 Ctrl Alt
  • 尊云服务器出问题,云服务器用户常见问题

    云服务器用户常见问题 Q 装预装操作系统以后的默认密码是什么 A 默认的密码和云服务器开通时输入的密码是一样的 就是一个用户一个密码 不是固定的 Q 云服务器中如何划分硬盘的分区 A 云服务器系统系统安装后 默认只有一个10G的C盘用于操作
  • Android进阶:架构师花费近一年时间整理出来的安卓核心知识,聪明人已经收藏了!

    我们程序员经常迷茫于有太多东西要学 有些找不到方向 不知所措 很多程序员都愿意说 我想变得更好 但是更好是什么却很模糊 同时我们又不知道该怎么样去做 我们的生命如此短暂 作为程序员的职业生涯可能会更短 所以我们更加需要充分利用工作 工作间隙
  • 踩坑,发现一个ShardingJdbc读写分离的BUG

    前言 最近公司准备接入ShardingJdbc做读写分离了 老大让我们理一理有没有写完数据立马读的场景 因为主从同步是有延迟的 如果写完读取数据走到从库 而从库正好有延迟 没读取到数据 岂不是造成了生产事故 今天我们来看看 Sharding
  • CUDA和TensorRT入门

    CUDA 官方教程 CUDA C Programming Guide nvidia com 一 基础知识 首先看一下显卡 GPU 和CUDA的关系介绍 显卡 GPU和CUDA简介 吴一奇的博客 CSDN博客 延迟 一条指令返回的时间间隔 吞
  • 【无标题】【Atlas 200DK】YOLOv3和YOLOv5部署

    Atlas 200DK YOLOv3和YOLOv5部署 数据集介绍 开发板环境搭建 YOLOv3的部署 模型训练转换 服务器上的结果 开发板上的结果 python部署 c 部署 YOLOv5的部署 模型训练转换 服务器上的结果 开发板上的结
  • python 开发游戏的库有哪些

    在 Python 中 开发游戏的一些常用库有 Pygame 一个用于制作游戏的开源模块 支持多种图像 声音和输入处理 Pyglet 一个跨平台的游戏引擎 支持 OpenGL 图形渲染 PyOpenGL 一个实现了 OpenGL 功能的库 可
  • G2O

    slam十四讲 g2o代码运次错误 error no matching function for call to g2o BlockSolver
  • python中pd读取csv二进制_python用pd.read_csv()方法来读取csv文件

    importpandas as pdprint 取消第一行作为表头 data2 pd read csv rating csv header None print 为各个字段取名 data3 pd read csv rating csv na
  • vue中不同页面设置title和icon

    路由中增加meta对象 path accounting name accounting component gt import pages accounting Accounting vue 记账 meta title 芒果记账 icon
  • vue.js -- 事件绑定

    目录 绑定事件 定义事件 直接写表达式 获取事件对象event 获取自定义参数 获取参数和事件对象event 事件绑定多个函数 修饰符 事件修饰符 按键修饰符 鼠标修饰符 精确修饰符 绑定事件 定义事件 代码演示
  • Numpy 用 npy/npz 文件保存与载入数据

    Numpy 的数据保存与载入方法比 Python 的 pickle 要方便的多 而且由于目前大多数的复杂数据处理都使用 Numpy 因此相比较而言 npy npz 的 Numpy 数据保存与载入更为常用 函数说明 numpy load fi
  • URDF、Gazebo与Rviz机器人仿真综合应用-autolabor笔记

    URDF Gazebo与Rviz综合应用 6 7 1 1 机器人运动控制 编写机器人my base xacro 编写传动装置以及控制器move xacro文件 搭建环境world文件 将上述整合进一个car xacro文件 加载惯性矩阵xa