ROS开发实践
将和大家一同探讨ROS~
Ehang_Maker
这个作者很懒,什么都没留下…
展开
-
全局路径规划A*算法和Dijkstra算法原理展示
全局路径规划算法原理原创 2022-08-31 16:12:37 · 597 阅读 · 1 评论 -
ROS开发实践(十九)——ROS服务通信服务端Server的编程实现(基于Turtlesim功能包)
一、分别运行下述指令:roscorerosrun turtlesim turtlesim_noderosrun turtlesim turtle_teleop_keyrosrun learning service turtle_command_serverrosservice call /turtle_command "{}"二、构建服务通信模型程序编写如下:/** * 该例程将执行/turtle_command服务,服务数据类型std_srvs/Trigger */ #incl原创 2021-08-31 21:27:58 · 279 阅读 · 0 评论 -
ROS开发实践(十八)——ROS服务通信客户端Client的编程实现(基于Turtlesim功能包)
一、分别运行下述指令:roscorerosrun turtlesim turtlesim_noderosrun turtlesim turtle_teleop_keyrosnode listrosnode info /turtlesimrosservice args /spawn二、构建服务通信模型:程序编写如下:/** * 该例程将请求/spawn服务,服务数据类型turtlesim::Spawn */#include <ros/ros.h>#include原创 2021-08-31 21:00:46 · 320 阅读 · 0 评论 -
ROS开发实践(十七)——ROS话题通信订阅者Subscriber的编程实现(基于Turtlesim功能包)
一、依次运行下述指令roscorerosrun turtlesim turtlesim_noderosrun turtlesim turtle_teleop_keyrosnode listrosnode info /turtlesim rosmsg show turtlesim/Pose通过运行上述命令,我们可以查看 turtlesim 节点发布/订阅了哪些话题,以及话题的消息数据类型。二、构建话题通讯模型据此,我们可以订阅数据类型为: turtlesim/Pose 的消息,程原创 2021-08-31 10:56:19 · 312 阅读 · 1 评论 -
ROS开发实践(十六)——ROS话题通信发布者Publisher的编程实现(基于Turtlesim功能包)
一、关于话题通讯的基本概念可以浏览笔者之前撰写的文章ROS开发实践(六)——ROS核心概念浅析ROS开发实践(八)——ROS话题通信探索二、构建话题通讯模型如上图所示:ROS MASTER 将管理 Turtle Velocity 和 turtlesim 这两个节点;Turtle Velocity 节点作为话题的发布者,turtlesim 节点作为话题的订阅者;话题通讯的消息数据类型为: [geometry_msgs/Twist]三、创建Turtle Velocity 节点并原创 2021-08-31 10:01:14 · 310 阅读 · 0 评论 -
ROS开发实践(十五)——ROS中 Turtlesim 功能包探索(含功能包入口参数讲解)
一、在学习 Turtlesim 功能包之前,我们先了解功能包的内容:1.首先, Turtlesim 功能包的地址位于:/opt/ros/melodic/lib/turtlesim ,功能包中包括如下几个文件,这些文件将在后续讲解中进行调用,请记住他们的文件名哦~【备注】通常安装好ROS桌面版之后,会附带 Turtlesim 功能包,如果没有,请读者自行安装!2.在 Turtlesim 功能包中我们可以发现有很多可爱的 turtle 图标,ROS的每一个发行版本基本都会对应一个图标。二、运行 Tu原创 2021-08-30 23:02:04 · 4148 阅读 · 0 评论 -
ROS开发实践(十四)——Ubuntu 中常用文本编辑器的介绍
一、常在命令行中使用的编辑器:nano[迷你编辑器]、vim[vi 的升级版]、gedit1. nano 编辑器打开一个新终端,输入:nano此时,我们输入 “Ctrl + G” 可以得到帮助指令:2. vim 编辑器我们使用vim 编辑器打开环境配置文件:vim ~/.bashrcvim 编辑器操作指令如下:普通模式中按 i 或 a 键都可以进入插入模式,按 esc 退出插入模式后,按:进入命令行模式。k 光标上移j 光标下移h 光标左移l(L) 光标右移i 在当前原创 2021-08-30 17:06:56 · 1978 阅读 · 0 评论 -
ROS开发实践(十三)——ROS中SLAM地图(.pgm格式)编辑软件的安装与使用
一、应用背景在ROS机器人通过SLAM算法构建好场景地图之后,为了保证ROS机器人的运行效果,我们通常会对场景地图进行修改,这里所说的场景地图通常为 .pgm 格式的文件,如下图所示。二、地图的编辑与修改1....原创 2021-08-30 11:33:45 · 7735 阅读 · 9 评论 -
ROS开发实践(十二)——Ubuntu 18.04 Terminator 终端的安装与配置技巧
一、打开终端运行下述命令:sudo apt-get install terminator二、重启终端,点击鼠标右键,可以看到如下界面:三、此时,我们可以对终端进行“水平分割”或“垂直分割”等命令:四、常用快捷键:Ctrl+Shift+O Split terminals Horizontally.(上下开新窗口)Ctrl+Shift+E Split terminals Vertically.(垂直开新窗口)Ctrl+Shift+Right Move parent d原创 2021-08-30 10:48:56 · 961 阅读 · 0 评论 -
ROS开发实践(十一)——Ubuntu 18.04 安装和配置 Sublime Text 3
一、通过命令行安装 Sublime Text 31.安装GPGwget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -2.确保apt被设置为https源sudo apt-get install apt-transport-https3.选择稳定版本echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /e原创 2021-08-30 10:39:27 · 372 阅读 · 0 评论 -
ROS开发实践(十)——ROS多机通讯及网络配置讲解
一、控制背景我们设计了一台ROS机器人,其中ROS机器人上搭载 树莓派4b 控制器,我们将其设为ROS主机,主要负责激光雷达扫描、视觉信息读取、SLAM算法运行等工作;同时,我们将电脑端的虚拟机设为ROS从机,主要负责运行RVIZ、GAZEBO 以及键盘控制节点等功能。二、控制模式如下图所示,ROS主机发出WIFI信号,ROS从机连接WIFI信号,使得ROS主机和从机均位于同一局域网之下。我们采用这种控制方式可以大大节约树莓派(ROS主机)的资源,从而使运行效率更高。三、网络连接方式原创 2021-08-27 17:59:25 · 5443 阅读 · 2 评论 -
ROS开发实践(九)——launch 文件的使用方法
一、ROS 中 launch 文件的介绍launch 文件:可实现 多节点启动 和 参数配置 的xml文件二、launch 标签总览三、根标签四、嵌套五、节点节点中,各属性的作用列举:六、参数七、参数服务器八、节点分组九、重命名...原创 2021-08-27 16:43:14 · 143 阅读 · 0 评论 -
ROS开发实践(八)——ROS话题通信探索
一、Topic 命令行指令二、发布话题三、订阅话题四、自定义消息数据类型原创 2021-08-26 15:35:38 · 337 阅读 · 0 评论 -
ROS开发实践(七)——ROS 工作空间与功能包的基本概念
一、工作空间mkdir -p ~/wheeltec/srccd ~/wheeltec/srccatkin_init_workspacecatkin_make -DCATKIN_WHITELIST_PACKAGES="package_name"catkin_make -j -l二、功能包catkin_create_pkg <package_name> [depend1] [depend2] [depend3]catkin_create_pkg new_packa原创 2021-08-26 15:49:22 · 278 阅读 · 0 评论 -
ROS开发实践(六)——ROS核心概念浅析
一、ROS中的通信机制松耦合分布式通信二、节点与节点管理器- 节点 (Node) – 执行单元执行具体任务的进程、独立运行的可执行文件;不同节点可使用不同的编程语言,可分布式运行在不同的主机;节点在系统中的名称必须是唯一的。- 节点管理器 (ROS Master) – 控制中心为节点提供命名和注册服务;跟踪和记录话题/服务通信,辅助节点相互查找、建立连接;提供参数服务器,节点使用此服务器存储和检索运行时的参数。三、话题通信- 话题(Topic) – 异转载 2021-08-22 22:22:34 · 224 阅读 · 0 评论 -
ROS开发实践(五)——常用命令汇总(持续更新中......)
一、ROS常用命令cd . . //返回上一级目录cd - //返回上一次目录cd 或者 cd ~ //返回家目录cd / //进入根目录pwd //显示出当前工作目录的绝对路径ls //列出目录的内容mkdir //创建一个目录touch //创建文件二、常用命令参考资料汇总1.Linux常用命令100条2.《学习篇》学会这18个常用ROS命令集合就能入门ROS了3.ROS常用命令集锦...原创 2021-08-22 17:00:33 · 765 阅读 · 0 评论 -
ROS开发实践(四)——ROS Melodic 安装过程中 sudo rosdep init 命令执行失败的解决办法
一、问题描述lee@lee-TM1801:~$ sudo rosdep initERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.二、问题分析上述问题的出现基本是因为网络连接不稳定而导致的。三、解决方法一更换网络连接或连原创 2021-08-12 11:21:07 · 249 阅读 · 0 评论 -
ROS开发实践(三)——在 Ubuntu18.04 上安装VMware Tools工具
一、如何在Ubuntu18.04 上安装VMware Tools工具1.单机界面左上角的“虚拟机”按钮,并点击“安装VMware Tools”按钮:2.此时虚拟机的桌面会显示一个光盘图标:3.点击光盘图标之后会进入下述界面:4.将上图中选中的压缩包复制到主目录之下,并鼠标右键“提取到此处”:5.“提取到此处”就相当于解压此压缩包,解压后的压缩包如图所示:6.进入到解压后的压缩包,会显示下述文件,此时在文件夹空白处点击鼠标右键,并点击“在终端打开”:7.输入下述命令,并敲击回车:s原创 2021-08-11 17:31:40 · 527 阅读 · 0 评论 -
ROS开发实践(二)——在 Ubuntu 18.04 上安装 ROS Melodic
一、配置“软件和更新”将各选项配置如下:二、设置软件源国外源:sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'清华源:(笔者使用的是清华源)sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna原创 2021-08-20 19:45:15 · 218 阅读 · 0 评论 -
ROS开发实践(一)——在VMware虚拟机上安装Ubuntu18.04教程
一、Ubuntu18.04镜像文件的下载(方法二下载速度较快)1.前往Ubuntu官网进行下载:https://ubuntu.com/download/desktop2.前往阿里云官方镜像站进行下载:http://mirrors.aliyun.com/ubuntu-releases/18.04/二、在VMware虚拟机上安装Ubuntu18.041.使用“Ctrl+N”命令新建虚拟机,弹出以下窗口,并勾选对应选项,点击下一步:2.我们选择稍后安装操作系统,并点击下一步:3.选择原创 2021-08-11 16:40:27 · 598 阅读 · 0 评论