
机器人ROS
文章平均质量分 91
学习笔记以2016 ROS Kinetic和Ubuntu16.04为基础,可以得到5年的更新和维护;也就是到2021年,如果需要代码和视频,可以关注微信公众号:【喵哥解说】获取
少云清
纸上得来终觉浅,绝知此事要躬行
展开
-
ROS小技巧
ROS小技巧文章目录01 设置环境变量1.1 对于新安装的zsh终端02 python文件添加可执行权限03 launch文件启动01 设置环境变量# 这个命令只会在当前的终端生效,当我们新打开一个终端,这个环境变量的设置没有效果。$ source ~/catkin_ws/devel/setup.bash # 刷新环境解决方法:把上面的命令放在整个终端的配置文件中,配置文件在/home的根目录下;步骤一,打开bash配原创 2021-05-02 21:35:49 · 409 阅读 · 0 评论 -
ROS中阶笔记(十一):ROS 2.0
ROS中阶笔记(十一):ROS 2.0文章目录1 为什要有ROS 21.1 ROS 1的特点1.2 ROS 1的困境1.3 ROS 2的曙光1.4 ROS 2的版本进化1.5 ROS 2 VS ROS 1(重点)2 什么是ROS22.1 ROS 2的架构2.2 DDS(ROS 2.0 的优势)2.3 ROS2的通信模型2.4 ROS2的质量服务原则QoS2.4.1 QoS的工作模型2.4.2 QoS的数据结构2.5 ROS2的编译系统(重点)2.5.1 ROS2的编译系统简介2.5.1 ROS2的编译系统原创 2020-07-27 12:14:25 · 767 阅读 · 0 评论 -
ROS中阶笔记(十):ROS机器人综合应用
ROS中阶笔记(十):ROS机器人综合应用文章目录1 ROS机器人综合应用1.1 PR21.2 PR2实践1.3 TurtleBot1.3.1 TurtleBot2实践1.3.2 TurtleBot3实践1.4 UR1.5 UR实践2 构建综合机器人平台2.1 mbot pro2.2 marm pro2.3 mbot+marm1 ROS机器人综合应用PR2:造就了ROS的机器人平台,完全基于ROS开发,功能丰富、强大;TurtleBot:ROS社区中最流行的高性价比机器人平台,前后共发布三代;U原创 2020-07-25 15:01:56 · 1068 阅读 · 0 评论 -
ROS中阶笔记(九):Movelt!机械臂控制
ROS中阶笔记(九):Movelt!机械臂控制文章目录1 Movelt!系统架构1.1 Movelt!是什么1.2 系统架构1.3 Movelt!使用步骤2 创建机械臂模型与配置文件2.1 创建机械臂模型2.1.1 创建模型2.1.2 模型可视化2.2 创建配置文件Movelt!Setup Assistant2.3 demo3 Movelt!编程学习3.1 编程接口3.2 编程方法4 Gazebo机械臂仿真4.1 关节轨迹控制器4.2 Movelt!控制器4.3 仿真环境5 ROS-I框架介绍6、参考资料原创 2020-07-24 19:17:13 · 8710 阅读 · 4 评论 -
ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航
ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航文章目录1 ROS中的导航框架1.1 move_base1.1.1 基于move_base的导航框架1.1.2 安装1.2.3 全局、局部路径规划1.2.4 move_base功能包中的话题和服务1.2.5 配置move_base节点1.2 amcl(二维概率定位)1.2.1 amcl简介1.2.2 amcl功能包中的话题和服务1.2.3 amcl定位1.2.4 配置amcl节点2 导航框架的应用2.1 下载rbx12.2 导航示例(《ROS原创 2020-07-23 15:36:15 · 2262 阅读 · 0 评论 -
ROS中阶笔记(六):机器人感知—机器语音
ROS中阶笔记(五):机器人感知—机器语音文章目录1 语音识别理论2 常用语音功能包3 科大讯飞SDK3.1 使用前提3.2 语音听写3.3 语音合成3.4 智能语音助手4 参考资料1 语音识别理论2 常用语音功能包pocketsphinx:集成CMU Sphinx和Festival开源项目中的代码,实现语音识别的功能audio-common:提供了文本转语音的功能实现完成"机器人说话"的想法AIML:人工智能标记语音,Artificial Intelligence Markup Langu原创 2020-07-21 21:06:15 · 1477 阅读 · 5 评论 -
ROS中阶笔记(七):机器人SLAM与自主导航—SLAM功能包的使用
ROS中阶笔记(七):机器人SLAM与自主导航—SLAM功能包的使用文章目录1 机器人必备条件1.1 硬件要求1.2 深度信息1.2.1 激光雷达1.2.2 kinect1.3 里程计信息1.4 仿真环境2 SLAM功能包的使用方法2.1 gmapping2.1.1 gmapping 功能包2.2.2 栅格地图取值原理2.2.3 gmapping安装2.2.4 配置gmapping节点2.2.5 启动gmapping演示(激光雷达)2.2.6 启动gmapping(kinect)2.2 hector_sl原创 2020-07-21 21:04:13 · 9385 阅读 · 2 评论 -
ROS中阶笔记(五):机器人感知—机器视觉
ROS中阶笔记(五):机器人感知—机器视觉文章目录1 ROS中的图像数据1.1 二维图像1.1.1 安装安装usb_cam1.1.2 显示图像数据1.2 三维图像(kinect)2 摄像头标定2.1 摄像头标定准备工作2.2 摄像头标定流程2.2.1 普通摄像头标定流程2.2.2 Kinect标定流程2.3 摄像头使用标定文件2.3.1 普通摄像头如何使用标定文件?2.3.2 Kinect如何使用标定文件?2.3.3 使用标定文件时可能产生的错误3 ROS+OpenCV3.1 OpenCV简介3.2 Op原创 2020-07-19 16:06:36 · 2655 阅读 · 9 评论 -
ROS中阶笔记(四):机器人仿真—Gazebo物理仿真环境搭建(重点)
ROS中阶笔记(四):机器人仿真—Gazebo物理仿真环境搭建(重点)文章目录1 ros_control1.1 ros_control安装2 Gazebo仿真步骤(重点)2.1 配置物理仿真模型2.1.1 第一步:为link添加惯性参数和碰撞属性2.1.2 第二步:为link添加gazebo标签2.1.3 第三步:为joint添加传动装置2.1.4 第四步:添加gazebo控制器插件(相当于驱动板)在gazebo中加载机器人模型2.2 创建仿真环境2.2.1 方法一:直接添加环境模型2.2.2 方法二:使原创 2020-07-18 15:30:50 · 2393 阅读 · 4 评论 -
ROS中阶笔记(三):机器人仿真—ArbotiX+rviz功能仿真
ROS中阶笔记(三):机器人仿真—ArbotiX+rviz功能仿真文章目录01 机器人URDF模型优化—xacro模型文件1.1 xacro模型文件1.2 xacro使用方法1.3 模型显示02 ArbotiX+rviz功能仿真2.1 Arboti简介2.2 安装Arbotix2.3 配置ArbotiX控制器2.4 ArbotiX+rviz—导航仿真示例03 问题解决3.1 问题一:ImportError: No module named arbotix_msgs.msg04 参考资料01 机器人URD原创 2020-07-17 18:24:44 · 2054 阅读 · 14 评论 -
ROS中阶笔记(二):机器人系统设计—URDF机器人建模
ROS中阶笔记(二):机器人系统设计—URDF机器人建模文章目录01 URDF理论1.1 什么是URDF1.2 模型< robot >1.2.1 < link > element1.2.2 < joint > element02 URDF 实践2.1 创建机器人描述的功能包2.2 编辑launch启动文件2.3 配置config文件2.4 创建URDF模型2.5 检查URDF模型整体结构2.6 启动launch文件2.7 URDF建模存在的问题03 参考资料01 U原创 2020-07-15 15:15:12 · 1359 阅读 · 0 评论 -
ROS中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器
ROS中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器文章目录01 连接摄像头1.1 ROS下连接usb_cam1.1.1 前期准备1.1.2 问题1.1.3 安装usb_cam1.2 连接Kinect02 连接激光雷达03 参考教程01 连接摄像头1.1 ROS下连接usb_camhttps://answers.ros.org/question/197651/how-to-install-a-driver-like-usb_cam/1.1.1 前期准备步骤一,虚拟机设置(vmwar原创 2020-07-14 22:28:23 · 1356 阅读 · 0 评论 -
ROS入门笔记(十三):分布式通信
ROS入门笔记(十三):分布式通信文章目录01 如何实现分布式多机通信1.1 设置IP地址,确保底层链路的连通1.2 在从机端设置ROS_MASTER_URI,让从机找到ROS Master02 实战操作ROS是一种分布式软件框架,节点之间通过松耦合的方式进行组合。01 如何实现分布式多机通信1.1 设置IP地址,确保底层链路的连通步骤一,树莓派和电脑必须在同一个局域网。步骤二,输入ifconfig,查看两台计算机(ggk-pc,raspi2)的IP地址;步骤三,IP地址分别设置在对方的hos原创 2020-07-14 22:22:56 · 576 阅读 · 0 评论 -
ROS入门笔记(十二):动作编程 (C++)
ROS入门笔记(十二):动作编程 (C++)文章目录01 导读02 功能包的创建03 在功能包中创建action(动作)3.1 自定义action3.2 在package.xml中添加功能包依赖3.3 在CMakeLists.txt添加编译选项04 功能包的源代码编写4.1 编写action_server.cpp4.2 编写action_client.cpp05 功能包的编译配置(编译节点)06 功能包的编译07 测试action_server和action_client7.1 运行action_se原创 2020-07-13 13:34:28 · 1239 阅读 · 0 评论 -
ROS入门笔记(十一):编写与测试简单的Service和Client (Python)
ROS入门笔记(十一):编写与测试简单的Service和Client (Python)文章目录01 导读02 功能包的创建03 在功能包中创建自定义服务类型3.1 定义srv文件3.2 在package.xml中添加功能包依赖3.3 在CMakeLists.txt添加编译选项04 查看自定义的服务消息05 功能包的源代码编写5.1 编写Service节点(server.py)5.2 编写Client节点(client.py)06 功能包的编译07 测试service和client7.1 运行Serv原创 2020-07-11 13:54:32 · 1207 阅读 · 0 评论 -
ROS入门笔记(十):编写与测试简单的消息发布器和订阅器(C++)
ROS入门笔记(十):编写与测试简单的消息发布器和订阅器(C++)文章目录01 导读02 功能包的创建03 功能包的源代码编写3.1 编写发布器节点(talker.cpp)3.2 编写订阅器节点(listener.cpp)04 功能包的编译配置(编译节点)05 功能包的编译06 测试消息发布器和订阅器6.1 启动发布器6.2 启动订阅器01 导读开发的功能包都放在catkin_ws这样一个工作空间里;新建的功能包取名为topic_example,在这个功能包中分别编写两个节点程序talker.c原创 2020-07-09 15:35:16 · 683 阅读 · 0 评论 -
ROS入门笔记(九):编写ROS的第一个程序hello world(重点)
ROS入门笔记(九):编写ROS的第一个程序hello world(重点)文章目录1 Catkin工作空间1.1 创建catkin工作空间1.2 编译工作空间1.3 设置环境变量1.4 检查环境变量2 创建功能包3 编写功能包的源代码4 功能包的编译配置4.1 在package.xml中添加功能包依赖4.2 在CMakeLists.txt添加编译选项4.2.1 声明依赖库4.2.2 声明可执行文件5 编译功能包5.1 方法一5.2 方法二6 启动功能包1 Catkin工作空间工作空间(worksp原创 2020-07-03 19:38:30 · 1758 阅读 · 6 评论 -
Catkin工作空间 (重点)
Catkin工作空间 (重点)文章目录1 Catkin工作空间1.1 创建catkin工作空间1.2 编译工作空间1.3 设置环境变量1.4 检查环境变量1 Catkin工作空间工作空间(workspace)是一个存放工程开发相关文件的文件夹。src:代码空间(Source Space)build:编译空间(Build Space)devel:开发空间(Development Space)install:安装空间(Install Space)Catkin工作空间是创建、修改、编译原创 2020-07-03 19:37:09 · 3407 阅读 · 3 评论 -
ROS学习笔记(八): ROS通信架构
ROS学习笔记(八): ROS通信架构文章目录01 Node & Master1.1 Node1.2 Master1.3 启动master和node1.4 rosrun和rosnode命令02 launch文件2.1 简介2.2 写法与格式2.3 示例小结03 Topic(话题)3.1 简介3.2 Topic(发布/订阅)3.3 通信示例3.4 操作命令小结04 Message4.1 简介4.2 结构与类型4.3 操作命令05 常见message06 Service(服务)6.1 Service6原创 2020-07-03 19:32:38 · 1472 阅读 · 0 评论 -
ROS入门笔记(七):详解ROS文件系统
ROS入门笔记(七):详解ROS文件系统文章目录01 Catkin编译系统1.1 Catkin特点1.2 Catkin工作原理1.3 使用`catkin_make`进行编译02 Catkin工作空间2.1 创建catkin工作空间2.2 编译工作空间2.3 设置环境变量2.4 检查环境变量03 catkin结构介绍小结04 Package软件包4.1 package结构4.2 package的创建4.3 package相关命令4.3.1 rospack4.3.2 roscd4.3.3 rosls4.3.4原创 2020-06-21 17:44:27 · 629 阅读 · 0 评论 -
ROS入门笔记(六): ROS系统架构
ROS入门笔记(六): ROS系统架构文章目录1 ROS系统架构1.1 文件系统(重点)1.2 计算图1.3 开源社区1 ROS系统架构1.1 文件系统(重点)文件系统:主要指在硬盘里能看到的ROS目录和文件:1)元功能包(Meta Packages):组织多个用于同一目的功能包。2)元功能包清单(Meta Packages):类似于功能包清单,不同之处在于元功能包清单中可能会包含运行时需要依赖的功能包或者声明一些引用的标签。3)功能包(Package):功能包是ROS中软件组织的基本形式原创 2020-06-15 20:40:54 · 875 阅读 · 0 评论 -
ROS入门笔记(五):ROS中运行rqt_plot的问题(kinetic)
1 问题rosrun rqt_plot rqt_plotggk@ggk-virtual-machine:~$ rosrun rqt_plot rqt_plot/usr/lib/python2.7/dist-packages/matplotlib/axis.py:1015: UserWarning: Unable to find pixel distance along axis for interval padding of ticks; assuming no interval padding n原创 2020-06-13 23:28:19 · 4395 阅读 · 9 评论 -
ROS入门笔记(四):ROS实践(小海龟仿真)— ROS Topics
ROS入门笔记(四):ROS实践(小海龟仿真)— ROS Topics文章目录1 基础知识1.1 运行ROS Master所在主机的资源地址1.2 ROS常用命令1.2.1 查看所有以ros开头的命令1.2.2 命令的快捷方式1.3 重要命令2 ROS Topics2.1 使用rqt_graph2.2 rostopic2.2.1 rostopic echo2.2.2 rostopic list2.3 ROS Messages2.3.1 rostopic type2.3.2 rostopic pub2.原创 2020-06-10 20:27:32 · 1629 阅读 · 0 评论 -
ROS入门笔记(三):二进制包与源代码包
ROS入门笔记(三):二进制包与源代码包文章目录1 软件包分类2 二进制包与源代码包的区别3 ROS二进制包的安装4 适配ROS的IDE注意: 如果你是使用类似apt这样的软件管理器来安装ROS的,那么安装后这些软件包将不具备写入权限,当前系统用户比如你自己也无法对这些软件包进行修改编辑。当你的开发涉及到ROS软件包源码层面的操作或者在创建一个新的ROS软件包时,你应该是在一个具备读写权限的目录下工作,就像在你当前系统用户的home目录下一样。apt工具安装ROS系统以及相关的软件包 ,apt安装原创 2020-06-05 21:20:31 · 941 阅读 · 0 评论 -
ROS入门笔记(二):ROS安装与环境配置及卸载(重点)
ROS入门笔记(二):ROS安装与环境配置及卸载(重点)文章目录1 ROS安装步骤1.1 ROS版本1.2 确定Ubuntu版本号1.3 安装ROS1.3.1 Ubuntu初始环境配置1.3.2 ①添加源地址文件sources.list1.3.3 ②添加密钥(key)1.3.4 ③安装ROS1.3.5 ④初始化rosdep1.3.6 ⑤设置环境变量1.3.7 ⑥安装rosinstall1.4 ROS安装完成1.5 测试ROS2 ROS卸载步骤3 附:检查脚本配置环境4 参考资料1 ROS安装原创 2020-06-03 14:42:38 · 1718 阅读 · 0 评论 -
ROS入门笔记(一): ROS简介
ROS入门笔记(一): ROS简介文章目录1 ROS是什么?2 ROS历史发展2.1 ROS参考资料2.2 ROS历史演变2.3 ROS的官方解释(重点)3 ROS设计目标4 ROS特点5 ROS优缺点1 ROS是什么?机器人操作系统(Robot Operating System, ROS)是一个应用于机器人上的操作系统,它操作方便、功能强大,特别适用于机器人这种多节点多任务的复杂场景。说明:ROS是一个适用于机器人编程的框架, 这个框架把原本松散的零部件耦合在了一起, 为他们提供了通信架构。 R原创 2020-06-01 17:19:32 · 1551 阅读 · 0 评论