古月居21讲_机器人操作系统ROS理论与实践
文章平均质量分 68
ROS (Robot Operating System, 机器人操作系统) 提供一系列程序库和工具以帮助软件开发者创建机器人应用软件。它提供了硬件抽象、设备驱动、库函数、可视化、消息传递和软件包管理等诸多功能。ROS遵守BSD开源许可协议。
是刃小木啦~
年轻人,卷起来了
展开
-
番外篇 虚拟机中启动ROS中的Gazebo报错Error in REST request
问题描述Ubuntu18.04安装ROS以后,运行Gazebo竟然出现错误,Gazebo页面卡住黑屏,在终端出现Gazebo [Err] [REST.cc:205] Error in REST request解决办法原创 2021-08-03 10:43:55 · 2419 阅读 · 3 评论 -
第十八弹 常用可视化工具的使用
查看提供的rqt工具:rqt_bag rqt_graph rqt_multiplot rqt_shellrqt_console rqt_image_view rqt_plot rqt_virtual_joyrqt_dep rqt_logger_level rqt_py_trees 1. 计算图可视化工具——rqt_graph见: 第十五弹 ROS中的坐标系管理系统Wiki上关.原创 2021-08-03 10:45:21 · 3038 阅读 · 0 评论 -
番外篇 百分百解决XML Document ‘/opt/ros/melodic/share/rqt_virtual_joy/plugin.xml‘ has no Root Element.报错
出现的问题在使用rqt工具时,报错如图所示:[ERROR] [1627898425.729156095]: Skipped loading plugin with error: XML Document '/opt/ros/melodic/share/rqt_virtual_joy/plugin.xml' has no Root Element. This likely means the XML is malformed or missing..RosPluginProvider._par原创 2021-08-02 18:32:55 · 1687 阅读 · 3 评论 -
第十七弹 launch启动文件的使用方法
ROS探索总结(五十六)—— launch文件ROS 初级 - 解析 roslaunch 文件1. launch文件简介从 ROS 角度来看,机器人系统就是一堆 node 和 topic (再添加一些 parameter, service 等)构成的网络(rosgraph),其中每个 node 都可以完成一定的功能。通常一个机器人运行时要开启很多 node,如果一个 node 一个 node 的启动,比较麻烦。通过 launch文件以及 roslaunch 命令可以一次性启动多个 node,并.原创 2021-08-02 16:59:07 · 1534 阅读 · 0 评论 -
第十六弹 TF坐标系广播与监听的编程实现
根据上一讲海龟跟随仿真实验,本讲主要是介绍其原理,通过代码来完成相同的功能。1.创建功能包在 ~/catkin_ws/src 目录下创建功能包:catkin_create_pkg learning_tf roscpp rospy tf turtlesim2.创建tf广播器代码(C++)如何实现一个tf广播器:定义TF广播器 创建坐标变换值 发布坐标变换文件里的代码:/* 该例程产生tf数据,并计算、发布turtle2的速度指令*/#includ...转载 2021-08-02 15:04:37 · 354 阅读 · 1 评论 -
第十五弹 ROS中的坐标系管理系统
下面这篇文章来自古月大佬:ROS探索总结(十八)——重读tf还有其他的大佬的:ROS中TF广播和监听个人理解及消息查找ROS学习之tf基本用法ROS TF 简介1.机器人中的坐标变换TF功能包是用来管理机器人系统中的各个坐标系。坐标运算都已经封装。默认会记住10秒之内坐标系之间的关系。TF坐标的实现:广播TF变换、监听TF变换...原创 2021-08-01 18:45:12 · 328 阅读 · 0 评论 -
被安装劝退?学习ROS的看过来,输入法都安装好了的系统,等你白嫖!
1.前提说明本文主要是针对使用虚拟机安装Ubuntu和ROS的小伙伴,如果你是个Ubuntu惯犯或者双系统的大佬,请绕路。众所周知,ROS安装起来很要命,我装了两天,于是,为了帮助学习ROS的小伙伴不用像我这么痛苦,把已经能丝滑使用的系统共享出来。2.镜像简要说明这是利用VMware虚拟机软件克隆的。Ubuntu18.04版本已安装ROS已安装搜狗输入法系统设置的用户名是Wood,密码是123456,大家安装好之后可以自行修改。3.安装镜像2.1安装VMWare虚拟.原创 2021-08-01 11:19:33 · 760 阅读 · 2 评论 -
第十四弹 参数的使用与编程方法
1.参数模型(全局字典)各个节点都可以进行访问。可以理解参数是全局变量的一个存储空间。2.创建功能包在~/catkin_ws/src的目录下:打开终端,输入指令:catkin_create_pkg learning_parameter roscpp rospy std_srvs3. rosparam的用法ros在运行时,参数存储在rosparam中wood@wood:~$ rosparamrosparam is a command-line tool ...原创 2021-07-31 16:25:53 · 223 阅读 · 0 评论 -
第十三弹 服务数据的定义与使用
1.服务模型(服务端/客户端)2.自定义服务数据2.1定义srv文件服务是有response的,所以需要上下分割。三个横线以上,是request数据,横线以下,是response数据。创建一个srv文件夹:在该文件夹下创建Person.srv文件:在Person.srv文件中添加内容:string nameuint8 ageuint8 sexuint8 unknown = 0uint8 male = 1uint8 female = 2---...原创 2021-07-31 09:54:54 · 163 阅读 · 0 评论 -
第十二弹 服务器Server的编程实现
1.服务模型(客户端/服务器)2.创建服务器新建一个turtle_command_server.cpp文件里的代码:/*该例程将执行/turtle_command服务,服务数据类型std_srvs/Trigger*/#include<ros/ros.h>#include<geometry_msgs/Twist.h>#include<std_srvs/Trigger.h>ros::Publisher turtle_vel_pub;.原创 2021-07-30 15:46:09 · 170 阅读 · 0 评论 -
第十一弹 客户端Client的编程实现
目标:通过client与server实现生成一个新海龟。1.服务模型(客户端/服务器)2.创建功能包catkin_create_pkg learning_service roscpp rospy std_msgs geometry_msgs turtlesimlearning_service功能包里的文件:3.创建客户端代码新建一个 turtle_spawn.cpp文件如何实现一个客户端:初始化ROS节点 创建一个Client实例 发布服务...原创 2021-07-30 11:34:21 · 250 阅读 · 0 评论 -
第十弹 话题消息的定义与使用
实现自定义话题。定义一个话题,表示人的信息,性别,年龄。1. 话题模型2. 自定义话题消息2.1 定义msg文件在learning_topic目录下,新建一个文件夹msg(全写:message),消息相关的定义都放在该文件件中。使用命令新建一个文件,注意后缀为.msg在文件中输入内容:一定要注意,uint8 不是 unit8,千万要注意!!!!!!!!!!string nameuint8 sexuint8 ageuint8 unknown =...原创 2021-07-29 15:56:49 · 235 阅读 · 0 评论 -
第九弹 ROS订阅者Subscriber的编程实现
1. 话题模型2.创建订阅者初始化ROS节点 订阅需要的话题 循环等待话题消息,接收到消息后回调函数 在回调函数中完成消息处理ros::spin() 和 ros::spinOnce() 区别及详解pose_scribe.cpp文件(已修正):/**该例程将用于订阅/turtle/pose话题,消息类型为turtlesim::Pose*/#include<ros/ros.h> //很多ROS里的API和函数从里面调用#include<turt.原创 2021-07-28 16:53:13 · 297 阅读 · 0 评论 -
第八弹 ROS发布者Publisher的编程实现
1. 话题模型(发布与订阅)2. 创建功能包原创 2021-07-28 15:12:18 · 1002 阅读 · 0 评论 -
番外篇 Ubuntu18.04安装输入法及遇到的问题解决办法
1 搜狗输入法安装搜狗官方指导安装教程:https://pinyin.sogou.com/linux/help.php这是某博主的安装教程,我觉得很好:Ubuntu 安装中文输入法2.遇到的问题解决办法2.1 语言支持里没有fcitx如何设置Ubuntu键盘输入法框架为fcitx2.2输入法选择fcitx无效系统设置 -- 语言支持 -- 发现输入法系统为空,选择fcitx后,重新打开UI发现仍然是空的,解决办法单击上面标题。2.3 处理归档 ...原创 2021-07-28 09:13:23 · 598 阅读 · 0 评论 -
番外篇 亲测虚拟机开机就黑屏的完美解决办法
方案1 调整虚拟机的参数先把处于黑屏状态的虚拟机关机。点击虚拟机设置:把内存和硬盘调小一点,原本是4GB(主机电脑是8GB),现在改为2GB,硬盘没有修改,要是设置的太大可以改小点。点击“确定”保存。再次开启虚拟机,发现能正常打开了。方案2 netsh winsock resetWin键(键盘上四个格格)+ R键,唤起“运行”输入cmd在命令提示符窗口中输入“netsh winsock reset”,然后重启计算机即可解决。...原创 2021-07-28 08:40:21 · 14759 阅读 · 2 评论 -
番外篇 简易Ubuntu18.04换阿里、清华、中科大源教程(附官方源地址)
sudo gedit /etc/apt/sources.list打开“源”的文件“然后把里面的内容情况。https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/把内容复制粘贴上就行。保存后,用下面两个命令来进行更新:sudo apt updatesudo apt upgrade(换其他的源都一样,就是更改文本里的数据)附赠:(官方入口)阿里云的源 中科大的源 ...原创 2021-07-27 18:34:17 · 351 阅读 · 0 评论 -
第七弹 ROS创建工作空间与功能包
1. 工作空间(workspace)工作空间,相当于c++编程或者32单片机开发里创建的项目,是一个存放开发相关文件的文件夹。该空间里有四个文件夹,分别是“src(代码空间)”、"build(编译空间)"、"devel(开发空间)"、"install(安装空间)"。创建工作空间mkdir catkin_wscd catkin_ws/mkdir srccd src/catkin_init_workspace(小科普:刚开始看到catkin的时候也很蒙,感觉...原创 2021-07-27 10:56:27 · 761 阅读 · 0 评论 -
第六弹 ROS命令行工具
1. 常用的命令rostopic rosservice rosnode rosprogram rosmsg rossrv2.探索小海龟移动的秘密2.1 运行小海龟https://blog.csdn.net/qinqinxiansheng/article/details/106460180建议手敲下面代码,不要直接复制roscorerosrun turtlesim turtlesim_noderosrun turtlesim turtle_teleop_key.原创 2021-07-26 17:16:52 · 138 阅读 · 0 评论 -
第五弹 ROS的核心概念
参考文章:https://blog.csdn.net/buaazyp/article/details/80661173【ROS入门-3】嘴对嘴讲解ROS的核心概念——节点与节点管理器ROS核心概念(节点Node & 节点管理器ROS Master & 话题Topic & 消息Message & 服务Service & 参数parameter&功能包package)ROS回顾与整理《一、基础概念》1. ROS节点和ROS节点管理器每个节.原创 2021-07-26 15:32:33 · 210 阅读 · 0 评论 -
第四弹 Ubuntu18.04下ROS安装的若干问题及解决办法
ROS安装的教程有很多,每一个版本基本都有,现在主要讲讲遇到的问题及解决办法。你要是能成功的玩起这个王八,说明你的ROS应该是弄好了。我耗费了两天才安装好,基本上每一步都是一个坑。现在总结了一下自己的经历。1. GPG:从公钥服务器接收失败:No name这一步是导入公钥。按照官网是这样的:http://wiki.ros.org/melodic/Installation/Ubuntu实际上并没有成功。并且自己找的乱七八糟的导入也有点问题。最后用的这个命令,成功了。sud..原创 2021-07-26 10:00:40 · 8185 阅读 · 4 评论 -
第三弹 Ubuntu平台上的C++和Python
1. Ubuntu上安装C++编译器和Python环境1.1 安装C++编译器一行代码搞定,可能这就是c++不老神话的魅力吧。sudo apt-get install g++1.2 安装python3.9原本以为也是这样简单sudo apt-get install python但是,装的却是python2.7,你要是学的就是python2就这么装就行了。使用Apt-Get安装Python 3.9:在开始安装Python3.9之前,请在系统上安装一些必需的软件包。登录到原创 2021-07-24 14:14:20 · 934 阅读 · 6 评论 -
第二弹 VMWare Tools 与 Linux极简基础操作
1.VMWareTools 全屏显示按照昨天安装的,点击全屏后发现界面有点小这就需要加载一下VMWare Tools工具包。由于我已经点了,现在现显示的是取消。复制这个压缩包,粘贴到Home目录下。右击鼠标”提取到“,解压缩安装需要用一个命令打开(PS:小技巧,输入几个字母后,按下Tab键会自动补全)输了密码他不显示,但是实际上你已经输入进去了,输入完回车就行了。会有一堆问答,第一个yes再回车,后面回车就行了...原创 2021-07-24 10:44:49 · 1015 阅读 · 8 评论 -
第一弹 VM上安装Linux系统(Ubuntu)
1. 电脑配置2. 下载VMWARE单击可直接唤醒下载:IDM下载,或者浏览器下载等,之所以没用百度网盘,懂的都懂。https://softdown01.rbread04.cn/huajunsafe/VMware-workstation-full-16.0.0-16894299.exe?timestamp=60fa290d&auth_key=b8600f7f79b72ba288374ae76db59212网站:https://www.onlinedown.net/soft/...原创 2021-07-23 13:06:30 · 535 阅读 · 11 评论