ROS模型构建、定位导航

2023-11-06

利用URDF或者Xacro文件,以XML的方式描述小车底盘、camera、laser、Kinect等基本机器人结构,通过Gazebo或Rviz将文件解析为图形化的机器人模型。

 

其中很多代码可以从网络上找到。主要注意参数和坐标系的设置。例如在Kinect的Xacro文件中,需要修改gazebo reference和frameName这两个参数,而frameName由于在Rviz中点云图出现错位的现象,需要在launch文件中加入<node pkg="tf2_ros" type="static_transform_publisher" name="static_transform_publisher" args="0 0 0 -1.57 0 -1.57 /原来的父关节 /自己定义的名字" />这一行代码,所以frameName应该是自己定义的名字。

下面说说我在此过程中遇到的问题:

1. 轮子有离地间隙,导致用键盘控制时轮子在转,可是却没有往前走,可能是关节之间的偏移量计算有误,或者偏移量正好,需要再减去0.01确保小车和地面接触。

2. 模型倾倒,由于设置的质量不合理,小车的底盘质量要大,越往上质量越小。

3. 编写.xacro文件时,编写xacro宏的时候,没有引用参数params,少写斜杠等等小问题,都会报错。

4. Kinect错位(如上)。

5. 用键盘驱动小车时,确保鼠标在运行rosrun的终端内。

    sudo apt-get install ros-melodic-teleop-twist-keyboard(安装)

    rosrun teleop_twist_keyboard teleop_twist_keyboard.py(运行)

6. 现在网上大部分驱动的xacro文件都是两轮差速驱动,四轮驱动没有很多讲解,我就选择了skid_steer_drive_controller四轮驱动,结果在路径规划的时候小车总是会自己转圈,改成mecanum_controller麦克纳姆轮驱动之后,问题解决。

7. 定位amcl的launch文件中transform_tolerance设置过小,导致Rviz一直报错,改成1左右就可以。

8. gmapping建图时,由于各种原因,建的图总是与现实有差距,安装GIMP(Ubuntu软件中心)进行修图(和PS差不多),快捷键:画笔N,吸管O。

9. 顺序:建立小车模型-->网上找到move、laser、camera、kinect的.xacro文件-->将上述集成在一个文件中-->编写launch文件,启动Gazebo和Rviz-->建立gmapping的launch文件,用键盘控制小车移动,建图并微调-->保存地图,建立map_server的launch文件-->建立amcl和move_base的launch文件,启动Gazebo和Rviz,进行导航。

 

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

ROS模型构建、定位导航 的相关文章

随机推荐

  • Git 常用指令

    Git 常用指令 bashrc 文件 用于输出git提交日志 alias git log git log pretty oneline all graph abbrev commit 用于输出当前目录所有文件及基本信息 alias ll l
  • pandas数据预处理------去除‘特征重复’的2种方法

    常见的数据重复包括 1 记录重复 一个或多个特征的某条记录的值完全相同 2 特征重复 存在一个或者多个特征名称不同 但数据完全相同的情况 去除特征重复的2种方法 1 通过相似度矩阵去重 要去除连续的特征重复 可以利用特征间的相似度将两个相似
  • permission denied while trying to connect to the Docker daemon socket 错误

    安装 docker 执行错误如下 docker ps permission denied while trying to connect to the Docker daemon socket at unix var run docker
  • 做一个统计单词数目的Atom插件

    本文是Atom 教程 制作单词计数插件的简化介绍 所有代码都来自这篇文章 如果希望参考详细的文档 请直接查看原文 这篇文章用一个简单的小例子 为我们讲解了如何编写一个Atom编辑器插件 该例子使用的是CoffeeScript 所以为了更好地
  • leetcode----JavaScript 详情题解(2)

    目录 2629 复合函数 2631 分组 2634 过滤数组中的元素 2635 转换数组中的每个元素 2637 有时间限制的 Promise 对象 2648 生成斐波那契数列 2649 嵌套数组生成器 2665 计数器 II 2666 只允
  • 可重复读输入流的问题

    为了统一签名 需要在controller之前读json输入流数据 controller的参数绑定是直接读inputStream 但一般httpServletRequest只能读一次 解决方法是 在filter中直接读一次inputStrea
  • 【7-4 h0018.金币 (20 分)】思路清晰,c++实现,分分钟解决

    7 4 h0018 金币 20 分 国王以金币支付给他忠诚的骑士 在他服役的第一天 骑士会得到一枚金币 在接下来的每两天 服务的第二和第三天 骑士会收到两枚金币 在 在接下来的三天里 第四 第五和第六天 骑士每一天都会得到三枚金币 在接下来
  • HTML中怎么设置图片的位置和大小

    其他的也不多废话了直接上代码 img src fan jpg width 800 height 800
  • python批量爬取公众号文章

    前言 本文的文字及图片来源于网络 仅供学习 交流使用 不具有任何商业用途 版权归原作者所有 如有问题请及时联系我们以作处理 作者 舴艋的舟 PS 如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资料以及群
  • js逆向:rpc远程调用

    websocket python代码 服务端 先开启这个 import asyncio import websockets connected set async def server websocket connected add web
  • Linux系统连接华为oceanstor数据存储

    Linux系统连接华为oceanstor数据存储 一 登录检查oceanstor数据存储 二 配置linux使用的数据储存 1 创建LUN 2 创建Lun组 3 创建主机 4 创建主机组 5 创建映射关系 三 Linux客户端操作 1 查看
  • 「建议收藏」Pycharm使用教程(非常详细,非常实用)

    Pycharm使用教程 1 Jetbrains家族和Pycharm版本划分 pycharm是Jetbrains家族中的一个明星产品 Jetbrains开发了许多好用的编辑器 包括Java编辑器 IntelliJ IDEA JavaScrip
  • Atcoder Beginner Contest 300

    A N choice question AC代码 include
  • 【Java基础11】面向对象、面向过程、类、对象、封装

    一 面向对象和面向过程 面向对象 以对象为单位 通过调度组合不同的对象来完成某一个功能 面向过程 以步骤为单位 一步一步完成某一个具体的功能 二 类 1 类的定义 class 类名 在类中定义属性 方法 class student Stri
  • pytorch 多个模型 求平均

    from collections import OrderedDict import torch from models faceland d import FaceLanndInference d if name main model F
  • Vite 打包体积分析,性能提升不再困扰

    其实这个问题最好改成 rollup 打包体积分析 但是为什么我会取这个名字呢 其实这主要是由于我的习惯性引起的 因为太久没用一个东西 如果遇到问题 肯定会去围绕它自身去进行搜索 例如遇到 vite 打包分析相关问题 就会在 google 搜
  • MinIO从信息泄漏到RCE

    文章目录 信息泄露 漏洞利用 漏洞分析 漏洞修复 RCE 漏洞分析 参考文章 信息泄露 漏洞利用 如果MinIO以集群方式部署 存在信息泄露漏洞 攻击者可以通过HTTP请求获取目标进程的所有环境变量 包括MINIO SECRET KEY和M
  • 计算机网络——分层的体系结构(OSI模型/五层协议栈)

    一 基础知识 计算机网络 计算机网络是一个非常复杂的系统 涉及许多组成部分 主机 hosts 路由器 routers 各种链路 links 应用 applications 协议 protocols 硬件 软件 网络体系结构的特点 1 网络体
  • [高级数据结构C++] 树状数组进阶(求逆序对的个数)

    算法竞赛 file author jUicE g2R qq 3406291309 彬 bin 必应 一个某双流一大学通信与信息专业大二在读 brief 一直在算法竞赛学习的路上 copyright 2023 9 COPYRIGHT 原创技术
  • ROS模型构建、定位导航

    利用URDF或者Xacro文件 以XML的方式描述小车底盘 camera laser Kinect等基本机器人结构 通过Gazebo或Rviz将文件解析为图形化的机器人模型 其中很多代码可以从网络上找到 主要注意参数和坐标系的设置 例如在K