![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ROS
文章平均质量分 71
YWL0720
这个作者很懒,什么都没留下…
展开
-
ROS message_filters的使用
1 message_filters时间同步器message_filters时间同步器有两种时间同步方式,一种是完全同步(ExactTime),另一种采用自适应算法来进行近似的时间同步。2 ExactTime时间同步message_filters::sync_policies::ExactTime策略要求消息具有完全相同的时间戳信息,才能进行匹配,只有当所有通道的消息都具有完全相同的时间戳时才会调用回调函数。#include <message_filters/subscriber.h>#原创 2022-04-25 11:22:51 · 895 阅读 · 0 评论 -
ORB_SLAM3 v1.0 ROS接口编译问题汇总
ORB_SLAM3 v1.0 ROS接口编译问题汇总原创 2022-03-31 20:38:08 · 2589 阅读 · 5 评论 -
ROS Navigation中的TF树与AMCL的关系
ROS Navigation中的TF树与AMCL功能包的关系一、ROS Navigation中的TF树base_link:固定在机器人本体上的坐标系,随着机器人的运动而运动。map:固定的世界坐标系,作为全局参照。odom:里程计坐标系,是一个world-fixed坐标系,机器人的位姿在里程计坐标系上是没有任何约束的。里程计坐标系的建立通常有一些里程计数据源,例如视觉里程计,轮速计,惯性测量单元等。详细解释参见链接根据机器人模型的描述文件,base_link坐标系又有许多分支,根据机器人种类的原创 2022-02-24 19:24:16 · 950 阅读 · 0 评论 -
error while loading shared libraries: libxmlrpcpp.so: cannot open shared object file: No such file o
编译QT工程时,报错error while loading shared libraries: libxmlrpcpp.so: cannot open shared object file: No such file or directory,原因是链接器找不到库文件,搜索libxmlrpcpp.so,发现其位置为/opt/ros/melodic/lib,接下来我们sudo gedit /etc/ld.so.conf把刚才的目录添加进去,然后执行sudo ldconfig再进行编译,发现编译成功原创 2021-09-22 21:10:54 · 1736 阅读 · 0 评论 -
qt creator打开ros工作空间后,roscore,catkin_make失效的解决办法
最近在学习用qt给机器人做一个交互界面,在用qtcreator打开ros工作空间之后,发现运行roscore会报错,提示找不到命令,catkin_make也是。试了网上很多方法,发现可能是qtcreator污染了工作空间,在.bashrc中source被污染的工作空间会使得之前source的/opt/ros/melodic/setup.bash失效。因此注释掉这段source,系统就会恢复正常。例如,我用qt打开了ywl_ws这个工作空间,那么在.bashrc中将这句话注释掉就可以了。# source原创 2021-09-14 19:54:57 · 492 阅读 · 1 评论 -
Gazebo打不开模型的解决办法
学习古月居的ROS常用SLAM功能包使用指南时,运行~$ roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch Gazebo打开后迟迟加载不出模型,打开mbot_laser_nav_gazebo.launch文件进入world文件夹,发现cloister.world文件中需要加载的模型都不在本地,打开Gazebo时需要在线下载,正常情况下下载速度非常慢,所有Gazebo一直卡住。Gazebo的模型可以在官网http://models..原创 2021-06-21 19:16:37 · 2103 阅读 · 0 评论 -
Solution found but controller failed during execution解决方法
学习古月老师的MoveIt编程入门的课程中发现,进行笛卡尔空间运动时,出现以下错误ABORTED: Solution found but controller failed during execution参考网友的方法https://www.guyuehome.com/author/x1dn6_6736疑似是MoveIt自身的bug,需要将路径点列表中的第一个点去掉# 将初始位姿加入列表# waypoints.append(start_pose)我们直接将这一句注释掉,发现仿真可以正常ex原创 2021-03-27 20:15:37 · 3301 阅读 · 2 评论 -
ROS学习笔记十五(常用可视化工具的使用)
ROS学习笔记十五QT工具箱rqt_consolerqt_plotrqt_image_viewRvizGazebo资源整理这是ROS入门系列的最后一篇笔记了,这几天陆陆续续的又把胡老师的《ROS入门21讲》看了一遍,比第一遍的理解更深了,写下了这一系列笔记,希望大家能相互交流,指出错误,一起学习。明天就要返校了,希望自己能在新学期有所进步,在机器人的路上越走越远。QT工具箱日志输出工具–rqt_console计算图可视化工具–rqt_graph数据绘图工具–rqt_plot图像渲染工具–r原创 2021-03-03 10:35:19 · 714 阅读 · 0 评论 -
ROS学习笔记十四(Launch启动文件的使用方法)
ROS学习笔记十四Launch文件Launch文件语法< launch >< node >< param > / < rosparam > 参数设置< arg > 参数设置< remap > 重映射< include > 嵌套launch示例本节讲介绍快速启动节点的方法,launch启动文件的使用方法Launch文件Launch文件:通过XML文件实现多节点的配置和启动(可自动启动ROS Master)Launc原创 2021-03-02 19:40:52 · 521 阅读 · 0 评论 -
ROS学习笔记十三(TF坐标系广播与监听的编程实现)
ROS学习笔记十三创建功能包创建TF广播器代码(C++)流程梳理创建TF监听器代码(C++)流程梳理配置TF广播器和监听器代码编译规则编译并运行广播器和监听器代码(Python)广播器监听器本节将介绍上一节海龟跟随的原理,以及TF广播和监听的实现创建功能包$ cd ~/catkin_ws/src$ catkin_create_pkg learning_tf roscpp rospy tf turtlesim创建TF广播器代码(C++)/** * 该例程产生tf数据,并计算、发布turtl原创 2021-03-02 18:27:36 · 331 阅读 · 0 评论 -
ROS学习笔记十二(ROS中的坐标系管理系统)
ROS学习笔记十二机器人中的坐标变换TF功能包能干什么?TF坐标变换如何实现?小海龟跟随实验tf_echo工具rviz工具机器人中的坐标变换开学这学期就要学机器人学导论,现在还看不太懂hhh。TF功能包能干什么?五秒钟之前,机器人头部坐标系相对于全局坐标系的关系是什么样的?机器人夹取的物体相对于机器人中心坐标系的位置在哪里?机器人中心坐标系相对于全局坐标系的位置在哪?TF坐标变换如何实现?广播TF变换监听TF变换base_link,以机器人底盘上一点建立的坐标系,本体坐标系b原创 2021-03-02 16:07:59 · 272 阅读 · 0 评论 -
ROS学习笔记十一(参数的使用与编程方法)
ROS学习笔记十一参数模型创建功能包参数命令行使用rosparam列出当前所有参数显示某个参数值设置某个参数值保存参数到文件从文件读取参数删除参数编程方法(C++)流程梳理配置代码编译规则编译并运行编程方法(Python)参数模型下图来源于古月《ROS入门21讲》全局字典,保存各个节点的配置参数,各个节点都可以全局访问。全局变量的存储空间。创建功能包$ cd ~/catkin_ws/src$ catkin_create_pkg learning_parameter roscpp rospy原创 2021-03-01 19:28:26 · 216 阅读 · 0 评论 -
ROS学习笔记十(服务数据的定义与使用)
ROS学习笔记十服务模型自定义服务数据定义srv文件在CMakeLists.txt添加编译选项在package.xml中添加功能包依赖编译生成语言相关文件创建服务端代码(C++)创建服务端代码(C++)配置服务器/客户端代码编译规则编译并运行客户端和服务端创建客户端和服务端代码(Python)客户端服务端服务模型下图来源于古月《ROS入门21讲》本节我们将自定义一个服务数据类型learning_service::Person自定义服务数据定义srv文件Person.srvstring n原创 2021-03-01 17:00:43 · 316 阅读 · 3 评论 -
ROS学习笔记九(服务端Server的编程实现)
ROS学习笔记九服务模型服务模型下图来源于古月《ROS入门21讲》本文的部分代码来源于古月《ROS入门21讲》往期链接ROS学习笔记八(客户端Client的编程实现)ROS学习笔记七(话题消息的定义与使用)ROS学习笔记六(订阅者Subscriber的编程实现)ROS学习笔记五(发布者Publisher的编程实现)ROS学习笔记四(创建工作空间与功能包)ROS学习笔记三(ROS命令行工具的使用)ROS学习笔记二(ROS的核心概念)ROS学习笔记一(Linux系统基础操作)原创 2021-03-01 11:16:55 · 310 阅读 · 0 评论 -
ROS学习笔记八(客户端Client的编程实现)
ROS学习笔记八服务模型创建功能包创建客户端代码(C++)流程梳理配置客户端代码编译规则编译并运行客户端客户端代码(Python)服务模型下图来源于古月《ROS入门21讲》通过ROS Master管理节点,客户端turtle_spawn发布请求,产生一只新海龟,给服务端turtlesim,服务端对请求进行处理,并返回一个response,表明处理结果。创建功能包$ cd~/catkin_ws/src$ catkin_create_pkg learning_service roscpp ro原创 2021-02-28 18:14:51 · 266 阅读 · 0 评论 -
ROS学习笔记七(话题消息的定义与使用)
ROS学习笔记七话题模型自定义话题消息定义msg文件在CMakeLists.txt添加编译选项在package.xml中添加功能包依赖编译生成语言相关文件创建发布者代码(C++)创建订阅者代码(C++)配置代码编译规则编译并运行发布者和订阅者发布者和订阅者代码实现(Python)发布者订阅者话题模型下图源自于古月《ROS入门21讲》以上两节所使用的话题消息都是ROS内定义好的,本次我们将自定义一个新的消息类型,来进行话题通信。ROS Master管理订阅者和发布者两个节点,我们新建learnin原创 2021-02-28 11:46:29 · 353 阅读 · 0 评论 -
ROS学习笔记六(订阅者Subscriber的编程实现)
ROS学习笔记六话题模型创建订阅者代码(C++)引入头文件主函数回调函数完整代码流程梳理配置订阅者代码编译规则编译并运行订阅者订阅者代码(Python)话题模型下图来源于古月《ROS入门21讲》ROS Master管理两个节点,发布者turtlesim和订阅者Pose Listener之间通过/turtle1/pose话题传输turtlesim::Pose类型的消息进行通信,本节主要实现订阅者Subscriber创建订阅者代码(C++)引入头文件#include <ros/ros.h原创 2021-02-28 11:00:03 · 331 阅读 · 0 评论 -
ROS学习笔记五(发布者Publisher的编程实现)
ROS学习笔记五话题模型话题模型下图源自古月《ROS入门21讲》原创 2021-02-27 19:01:55 · 427 阅读 · 0 评论 -
ROS学习笔记四(创建工作空间与功能包)
ROS学习笔记四一、工作空间src - 代码空间(Source Space)build - 编译空间(Build Space)devel - 开发空间(Development Space)install - 安装空间(Install Space)二、创建工作空间创建工作空间编译工作空间设置环境变量检查环境变量三、创建功能包创建功能包编译功能包package.xml文件cMakeList.txt一、工作空间工作空间(workspace)是一个存放工程开发相关文件的文件夹。 类似于windows系统中我们所原创 2021-02-27 12:00:22 · 375 阅读 · 0 评论 -
ROS学习笔记三(ROS命令行工具的使用)
ROS学习笔记三ROS命令行工具以小海龟为例运行roscore运行turtlesim节点运行turtle_teleop_key节点rqt_graph指令rosnode 工具rosnode listrosnode inforostopic 工具ROS命令行工具常用命令:rostopicrosservicerosnoderosparamrosmsgrossrv以小海龟为例运行roscore运行turtlesim节点弹出小海龟:运行turtle_teleop_key节点完成。原创 2021-02-26 16:47:20 · 621 阅读 · 0 评论 -
ROS学习笔记二(ROS的核心概念)
ROS学习笔记二一、节点与节点管理器节点(Node) --执行单元节点管理器(ROS Master) --控制中心二、话题通信话题(Topic) --异步通信机制消息(Message) --话题数据三、服务通信服务(Service) --同步通信机制四、话题与服务的区别五、参数参数(Parameter) --全局共享字典六、文件系统功能包(Package)功能包清单(Package manifest)元功能包(Meta Packages)一、节点与节点管理器节点(Node) --执行单元执行具体任务原创 2021-02-26 11:23:56 · 275 阅读 · 0 评论 -
ROS学习笔记一(Linux系统基础操作)
ROS学习笔记一ROS学习笔记一(Linux系统基础操作)一、截图功能二、软件与更新三、终端四、命令行使用基础1. 查看当前终端所在路径:pwd2. 切换路径:cd3. 进入上一级目录:cd . .4. 创建新的文件夹:mkdir + name5. 查看当前路径下的文件:ls6. 在目标文件夹下新创建文件:touch + name7. 对文件进行剪切:mv + file_name + path8. 对文件进行复制粘贴:cp + file_name + path + (new_file_name)9. 删除文原创 2021-02-26 10:18:12 · 834 阅读 · 0 评论 -
rosdep init 找不到命令的解决办法
rosdep init 找不到命令的解决办法问题之前用虚拟机总是卡,今天终于装了双系统win10+ubuntu18.04,一切顺利,接着安装了ROS,遇到了几个问题,一番查找后,把系列的解决办法和出处写在这里。安装完成后执行sudo rosdep init报错:sudo: rosdep:找不到命令解决方法参考https://blog.csdn.net/qq_14977553/article/details/107493616原因是缺少python-rosdep这个包,安装即可。sud原创 2021-02-25 19:52:26 · 5467 阅读 · 10 评论