![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ROS
renmengqisheng
开心就好
展开
-
run_id on parameter server does not match declared run_id
问题描述:解决方法:答案推荐做法,先启动roscore,然后在launch命令后面加上–wait由于间隔时间太短,roslaunch没检测到roscore就自行创建,导致冲突。这做法就一直等roscore启动,简单试了一下,先启动roslaunch --wait不会往下走,手动启动roscore后,才接着往下走。...原创 2021-11-09 15:44:10 · 1348 阅读 · 0 评论 -
错误:1 http://packages.ros.org/ros/ubuntu xenial InRelease 下列签名无效: KEYEXPIRED 1622248854
错误:1 http://packages.ros.org/ros/ubuntu xenial InRelease下列签名无效: KEYEXPIRED 1622248854解决方法:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654sudo apt-get update原创 2021-10-13 21:29:38 · 1369 阅读 · 4 评论 -
[rospack] Error: package ‘ORB_SLAM2‘ depends on non-existent package ‘cv_bridge‘ and rosd
1.问题描述在编译ORB_SLAM2中Example的ROS时,执行到$ chmod +x build_ros.sh$ ./build_ros.sh时。报出如下错误:[rospack] Error: package ‘ORB_SLAM2’ depends on non-existent package ‘cv_bridge’ and rosdep claims that it is not a system dependency. Check the ROS_PACKAGE_PATH or tr原创 2021-10-12 01:01:12 · 982 阅读 · 0 评论 -
cartographer安装配置及相关原理
硬件配置要求a. 64位现代CPU(例如第三代i7)b. 16 GB RAMc. Ubuntu 16.04(Xenial),18.04(Bionic),20.04(Focal)d. gcc版本4.8.4、5.4.0、7.5.0、9.3.0系统框图(代码逻辑与结构)Cartographer主要理论是通过闭环检测来消除构图过程中产生的累积误差[1]。用于闭环检测的基本单元是submap。一个submap是由一定数量的laser scan构成。将一个laser scan插入其对应的submap时.原创 2021-10-11 23:52:55 · 478 阅读 · 0 评论 -
利用Websocket实现ROS与Web的交互
ROS是现在应为最为广泛的机器人操作系统,为了将ROS与Web端的应用结合起来,ROS Web Tools社区开发了很多Web功能包,利用这些工具,我们能够在Web端实现对机器人的监测与控制。工具的准备首先介绍以下所需要的工具包:rosbridge_suite功能包,roslibjs,ros2djs,ros3djs。● rosbridge_suite:实现Web浏览器与ROS之间的数据交互;● roslibjs:实现了ROS中的部分功能,如Topic,Service,URDF等;● ros2dj原创 2021-10-11 23:52:13 · 4144 阅读 · 0 评论 -
T265驱动安装
Realsense T265 installationThe following instruction has been tested in Ubuntu 16.04 KineticThe library is installed in one folder and realsense ros packages are installed in workspaceStep 1: Install the latest Intel® RealSense™ SDK 2.0Follow the steps原创 2021-10-12 01:00:28 · 879 阅读 · 0 评论 -
轮式里程计标定方法
机器人底盘运行的精度是衡量底盘的重要指标。底盘精度受里程计的走直线误差和转角误差影响。因此,需要对里程计的走直线和转角进行标定,尽量减小误差。下面是标定步骤过程。第一步:打开终端,给标定脚本赋予可执行权限cd scripts/sudo chmod +x ./*第二步:连接好底盘,电脑端启动ros节点rosrun rosserial_python serial_node.py第三步:设定前进3米的目标,对走直线进行标定roslaunch odometry_publisher check_ang原创 2021-10-12 01:00:01 · 2299 阅读 · 0 评论 -
launch文件中使用rosbag record报错
Record with rosbag from launch file问题:将rosbag命令包含到launch文件中:在使用launch文件直接启动记录的时候,记录包文件会默认创建在~/.ros路径下,除非使用-o(前缀)或-O(全名)给文件命名。[ERROR] [1605844387.924232167]: Error writing: Error opening file: ~/catkin_ws/data/_2020-11-20-11-53-07.bag.active[record_ro原创 2021-10-11 23:54:13 · 1107 阅读 · 0 评论 -
2D激光SLAM基本原理
luoliCHq Blog https://luolichq.xyz/占据栅格地图(Occupancy Grid Map) - 知乎 https://zhuanlan.zhihu.com/p/21738718占用栅格地图原理分析_weixin_40863346的博客-CSDN博客 https://blog.csdn.net/weixin_40863346/article/details/92575794Particle Filter Tutorial 粒子滤波:从推导到应用(一)_知行合一-CS原创 2021-10-11 23:53:54 · 214 阅读 · 0 评论 -
cartographer参考资料
Cartographer ROS Integration_小C的博客-CSDN博客 https://blog.csdn.net/qq_26617115/article/details/78902371【泡泡机器人原创专栏-Cartographer】Cartographer理论及实现浅析 https://mp.weixin.qq.com/s/LdbFp-Zvkr02-_25ILb16g?Cartographer 代码逻辑_LilyNothing的博客-CSDN博客 https://blog.csdn原创 2021-10-11 23:53:12 · 86 阅读 · 0 评论 -
Ubuntu下关闭所有终端的方法
killall使用方法1.命令格式:killall [参数] [进程名]2.命令功能:用来结束同名的的所有进程3.命令参数:-Z 只杀死拥有scontext 的进程-e 要求匹配进程名称-I 忽略小写-g 杀死进程组而不是进程-i 交互模式,杀死进程前先询问用户-l 列出所有的已知信号名称-q 不输出警告信息-s 发送指定的信号-v 报告信号是否成功发送-w 等待进程死亡–help 显示帮助信息–version 显示版本显示4.使用实例在ROS中经常需要同时打开多个终端原创 2021-10-11 23:51:49 · 3196 阅读 · 0 评论 -
源码编译gmapping报错Could not find a package configuration file provided by “openslam_gmapping“ with any o
问题描述:在ros空间同时下载openslam_gmapping和slam_gmapping源码,然后使用catkin_make进行编译,出现如图错误:问题原因:下载了git仓库https://github.com/OpenSLAM-org/openslam_gmapping中的源码,里面的文件列表如图:另一个git仓库https://github.com/ros-perception/openslam_gmapping/tree/melodic-devel中的源码文件列表如图:对比这两个文原创 2021-10-11 23:51:04 · 1387 阅读 · 0 评论 -
RTABMAP论文和代码中栅格地图部分研读
1、ROS中常见的SLAM算法汇总2、RTABMAP的ROS节点框图3、局部占据栅格地图生成流程图根据参数“Grid/FromDepth”、“Grid/3D”和输入topic设置,局部占据网格会以不同的方式生成,结果是2D或3D,如图所示。例如,如果参数“Grid/FromDepth”为false, 同时rtabmap节点订阅一个激光扫描主题,则创建一个局部2D占用网格。2D局部占用网格比3D网格需要更少的内存,因为需要节省的维度少了一个(例如z),而且叠加的障碍物可以减少到只有一个障碍物单元格原创 2021-10-11 23:50:15 · 1846 阅读 · 2 评论 -
机器人d435建图全是障碍物的原因分析
d435官方给出的测量范围为0.3~10m,实际使用时可能仅为0.40~4.6m,d435在机器人上的安装高度过低导致处于盲区无法观测。不同高度深度图输出:结论:d435存在观测盲区,低于一定高度时前下方部分区域无法观测,提高d435高度即可解决问题。...原创 2021-10-10 00:56:31 · 561 阅读 · 0 评论 -
ros运行rviz时出现QXcbConnection: XCB error: 148错误
原因:由于使用了vnc远程控制下位机,rviz是一个基于opengl开发的图形插件,需要使用理论的屏幕参数(thetis’ screen),使用vnc会导致屏幕参数值不对,从而导致rviz出错。解决方法:1)在下位机中接入显示器,再在启用vnc的PC上开启rviz,可临时解决问题。2)使用ssh而不使用vnc控制远程控制下位机,注意关闭在后台运行的vnc进程,否则运行rviz会出现coredump问题。另外,受网速影响,可能会出现卡顿问题。...原创 2021-10-10 00:46:14 · 2281 阅读 · 0 评论 -
运行rtabmap时报错PluginlibFactory: The plugin for class ‘octomap_rviz_plugin/ColorOccupancyGrid‘ failed t
运行rtabmap时出现报错信息:解决方法:根据提示可知缺少插件octomap_rviz_plugin,使用命令:sudo apt-get install ros-kinetic-octomap-rviz-plugins进行安装即可原创 2021-10-10 00:39:20 · 2530 阅读 · 1 评论 -
发布静态TF坐标变换
原创 2021-10-10 00:24:40 · 418 阅读 · 0 评论 -
使用d435跑通rtabmap
Ps:已安装好realsense驱动和rtabmap的ROS版本roslaunch realsense2_camera rs_camera.launch align_depth:=trueroslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start --Optimizer/GravitySigma 0.3" depth_topic:=/camera/aligned_depth_to_color/image_raw rgb原创 2021-10-10 00:16:19 · 2132 阅读 · 3 评论 -
运行roslaunch cartographer_ros指令报错
报错信息如下:解决办法:系统在多个地方存在cartographer代码,launch文件在搜索cartographer包时无法确定使用哪个,所以出现无法定位cartographer_node的问题,只需要把多余的cartographer代码删除,保留其中一个即可。...原创 2021-10-10 00:03:13 · 518 阅读 · 0 评论 -
无法使用turtlebot3_teleop控制gazebo仿真环境中的模型
1、rqt_graph节点图a、出错的rqt_graph节点图:b、正常的rqt_grap节点图:通过对比rqt_graph节点图可以发现,gazebo节点没有订阅cmd_vel话题。2、gazebo终端输出a、出错的gazebo终端输出:b、正常的gazebo终端输出:进一步对比gazebo终端输出可以发现,出错的原因可能是缺少一些相关插件:3、通过 “sudo dpkg -l | grep gazebo”命令查找当前安装的gazebo包:4、使用命令“sudo apt-ca原创 2021-10-10 00:02:50 · 750 阅读 · 0 评论 -
运行realsense-ros报错USB CAM overflow, Hardware Error
运行命令roslaunch realsense2_camera rs_camera.launch出现以下错误提示:解决方法:出现这个问题的原因不是驱动没有安装好,是因为将realsense通过USB2.0接口连接到电脑,传输速度较慢,从而发生数据溢出丢失,通过USB3.0进行连接即可解决问题。...原创 2021-10-08 14:01:46 · 1554 阅读 · 0 评论 -
Ubuntu16.04运行octovis报错coredump
环境:本文使用的octomap版本为1.9.5【原创】Octovis在Ubuntu16.04下运行出现core dump的解决方案中提到"在Ubuntu16.04下,Octomap的编译安装,却不能使用libqglviewer-dev。而应该使用libqglviewer-dev-qt4",但本文按照该方案尝试解决时发现系统中没有libqglviewer-dev,安装的就是libqglviewer-dev-qt4,并且基于libqglviewer-dev-qt4进行的编译,结果还是报错。考虑到该方案的时间原创 2021-10-08 14:00:53 · 284 阅读 · 0 评论 -
激光雷达选型考虑因素
1、分类1.1、从原理来区分,激光雷达分飞行时间法和三角法。1.2、飞行时间法又可分为脉冲调制和相位调制。1.3、优缺点三角法,优缺点都很突出,优点精度高频率高,价格低;缺点距离近受光干扰大,常见于短距离高精度监测。相位法,优点精度相对高,成本低,缺点响应慢。脉冲,优点频率高很少受光干扰,缺点精度差。1.4、从测量方式区分,有单点测距、单线扫描、多线扫描、固态区域扫描。单点测距,是最简单也是最基础的测距模块,目前可以做到对一个方向几十米、几百米甚至几公里的监测。单线扫描,就是由单点测距模块原创 2021-10-08 13:59:54 · 1147 阅读 · 0 评论 -
解决编译提示usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so找不到的问题【已安装vtk6】
1、根据提示使用locate命令查找vtkRenderingPythonTkWidgets:2、vtk6版本与Ubuntu兼容问题,建立软连接即可:$ sudo ln -s /usr/lib/python2.7/dist-packages/vtk/libvtkRenderingPythonTkWidgets.x86_64-linux-gnu.so /usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so...原创 2021-10-08 13:56:18 · 561 阅读 · 0 评论 -
搭建ORB-SLAM2运行环境
1、依赖包安装a、CMake:$ sudo apt-get install cmakeb、Pangolin:$ git clone https://github.com/stevenlovegrove/Pangolin.git$ cd Pangolin$ mkdir build && cd build$ cmake …$ cmake --build .c、OpenCV:1)依赖库:$ sudo apt-get install build-essential libgtk原创 2021-10-08 13:55:06 · 189 阅读 · 0 评论 -
配置使用tf库
1、tf介绍许多ROS功能包,都要求利用tf软件库,以机器人能识别的变换树的形式进行发布。变换树代表了不同坐标系之间的变换和旋转。如果用户自己管理坐标转换关系,意味着需要自己去保存,以及在需要的时候调用。但是,这种做法的缺陷是随着坐标转换关系数量的增加,而愈加麻烦。通过利用tf来管理这种关系,只需要把他们添加到转换树(transform tree)中。转换树中的每一个节点都对应着一类坐标系,节点之间的连线即是两个坐标相互转换的一种表示,一种从当前节点到子节点的转换表示。Tf利用树结构的方式,保证了两原创 2021-10-08 13:52:42 · 432 阅读 · 0 评论 -
C++ 编写并测试发布器和订阅器、服务器和客户端
1、编写发布器和订阅器节点,并进行测试2、编写服务器和客户端节点,并进行测试原创 2021-10-08 13:50:35 · 90 阅读 · 0 评论 -
创建ROS的消息和服务
1、消息和服务的介绍消息(msg): msg文件就是一个描述ROS中所使用消息类型的简单文本。msg文件实际上就是每行声明一个数据类型和变量名。可以使用的数据类型如下:在ROS中有一个特殊的数据类型:Header,它含有时间戳和坐标系信息。在msg文件的第一行经常可以看到Header header的声明。下面是一个msg文件的样例,它使用了Header,string,和其他另外两个消息类型。服务(srv): 一个srv文件描述一项服务。srv文件分为请求和响应两部分,由’—'分隔。下面是srv的一原创 2021-10-08 13:48:36 · 162 阅读 · 0 评论 -
学习roslaunch的使用
roslaunch可以用来启动定义在launch文件中的多个节点。1、先切换到beginner_tutorials程序包目录下:$ roscd beginner_tutorials如果roscd执行失败了,更新一下当前终端下的ROS_PACKAGE_PATH环境变量:$ . ~/catkin_ws/devel/setup.bash2、创建一个launch文件夹:$ mkdir launch$ cd launch3、创建一个名为turtlemimic.launch的launch文件,并输入以原创 2021-10-08 13:42:22 · 3629 阅读 · 0 评论 -
结合turtlesim模拟器学习ROS的节点、话题、服务和参数
1、图概念概述Nodes:节点,一个节点即为一个可执行文件,它可以通过ROS与其它节点进行通信。Messages:消息,消息是一种ROS数据类型,用于订阅或发布到一个话题。Topics:话题,节点可以发布消息到话题,也可以订阅话题以接收消息。Master:节点管理器,ROS名称服务 (比如帮助节点找到彼此)。rosout: ROS中相当于stdout/stderr。roscore: 主机+ rosout + 参数服务器2、roscore 是在运行所有ROS程序前首先要运行的命令:$ rosc原创 2021-10-08 13:38:58 · 713 阅读 · 0 评论 -
在终端中运行rqt_plot命令报错
在终端中运行rqt_plot命令报错问题描述解决方法问题描述学习教程理解ROS话题时,需要使用rqt_plot命令来绘制正在发布到/turtle1/pose话题上的数据变化图形,但在终端中运行命令:rosrun rqt_plot rqt_plot报错:解决方法如果没有安装pip先进行pip安装:sudo apt-get install python-pip提示的错误全是Matplotlib的报错,这是由于没有安装Matplotlib或者版本过低,需要执行以下操作进行安装:python原创 2021-09-25 23:49:12 · 627 阅读 · 0 评论 -
创建与编译ROS程序包
创建与编译ROS程序包创建与编译ROS程序包创建工作空间生效工作空间(可选)查看环境变量创建ROS程序包(可选)查看程序包依赖项编译程序包创建与编译ROS程序包创建工作空间一个简单的工作空间如图所示:在终端中输入以下命令:mkdir -p ~/catkin_ws/src //参数-p表示递归创建子目录cd ~/catkin_ws/catkin_make //编译工作空间生效工作空间在工作空间目录catkin_ws下使用命令将当前工作空间设置在R原创 2021-09-25 22:33:20 · 215 阅读 · 0 评论 -
ROS环境搭建
ROS环境搭建ROS环境搭建查看操作系统版本官网查找ROS版本按官方教程安装配置ROS环境搭建你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。查看操作系统版本首先查看操作系统的版本,使用命令:cat /etc/issue或使用命令:lsb_release -a官网查找ROS版本从ROS官网选择一个操作系统兼容的ROS版本:由于Ubuntu 16.04.6原创 2021-09-25 22:07:55 · 68 阅读 · 0 评论