关键词:
要求已经在Linux系统中安装一个学习用的ros软件包例子:
sudo apt-get install ros-indigo-ros-tutorials
ROS图形概念概述
- nodes:节点,一个节点即为一个可执行文件,可以通过ROS和其他节点进行通信;
- messages:消息,当订阅或者发布一个topic时使用的数据类型;
- topics:话题,节点可以发布信息到topics或者从topics那里订阅信息;
- master:节点管理器,ROS的name service,提供服务,例如让不同的节点可以找到彼此;
- rosout:等价于ROS中的stdout/stderr;
- roscore:master+rosout+parameter service(参数服务器)。
ROS客户端库函数允许使用不同的编程语言进行编程通信:
- rospy:Python client library
- roscpp:C++ client library
[1]roscore 在运行所有ROS程序前首先要运行的命令
//打开一个新终端
roscore &
[2]rosnode 显示当前运行的ROS节点信息,其中rosnode list
命令列出了正在运行的节点名称。
//打开一个人新终端
$ rosnode list
/rosout
系统中只有一个节点rosout在运行,它将一直运行并收集和记录节点的调试输出。
[3]rosnode info
返回一个特定节点的节点信息,事实上由它发布 /rosout_agg。
rosnode info /rosout
[4]rosrun命令允许你直接通过软件包名称运行软件包当中的节点(不需要知道软件包的所在路径,但必须是在ROS的搜索目录范围之内)。
使用方法:
rosrun [package_name] [node_name]
我们现在运行软件包turtlesim中的turtlesim_node节点:
rosrun turtlesim turtlesim_node
检验:在一个新窗口中:
$ rosnode list /rosout /turtlesim
[5]在命令行中重新分配名字
$ rosrun turtlesim turtlesim_node __name:=my_turtlesim $ rosnode list /my_turtlesim /rosout
[6]命令rosnode ping
:
$ rosnode ping /my_turtlesim rosnode: node is [/my_turtlesim] pinging /my_turtlesim with a timeout of 3.0s xmlrpc reply from http://ubuntu:33201/ time=0.409842ms xmlrpc reply from http://ubuntu:33201/ time=1.335144ms xmlrpc reply from http://ubuntu:33201/ time=1.242876ms xmlrpc reply from http://ubuntu:33201/ time=1.311064ms xmlrpc reply from http://ubuntu:33201/ time=1.254082ms
总结
- roscore=ros+core,master(为ROS提供名称服务)+rosout(stdout/stderr)+parameter server。所以在使用ROS的时候的第一件事就是运行roscore来启动这些服务;
- rosnode=ros+node,ROS tool to get information about a node;
- rosrun=ros+run,runs a node from a given package。
理解ros节点---ros学习第4篇
文章目录1.图概念速览2.节点3.客户端库4.roscore5.使用rosnode6.使用rosrun1.图概念速览计算图(ComputationGraph)是一个由ROS进程组成的点对点网络,它们能够共同处理数据。ROS的基本计算图概念有节点(Nodes)、主节点(Master)、参数服务器... 查看详情
roboticssystemtoolbox笔记
1、ROS基本概念ROS全称为RobotOperatingSystem,是一种采用分布式架构的元操作系统,它本身并不是通常意义上的操作系统,可以简单的将它理解为是在多个物理计算机中运行的众多ROS节点形成的一个ROS网络。 ROS的基本概念ROS网络... 查看详情
ros1学习笔记:ros命令行工具的使用(ubuntu20.04)(代码片段)
参考B站古月居ROS入门21讲:ROS命令行工具的使用基于VMwareUbuntu20.04Noetic版本的环境文章目录一、启动小海龟二、计算图可视化工具:rqt_graph三、常用命令:1、节点rosnode显示节点列表:rosnodelist查看节点信息:ro... 查看详情
ros学习笔记——rostopic
NEW1$roscoreNEW2$rosrunturtlesimturtlesim_nodeNEW3$rosrunturtlesimturtle_teleop_key NEW4$sudoapt-getinstallros-indigo-rqt #安装rqt,这个貌似是一个节点管理器$sudosudoapt-getinstallros-indigo-rqt-common-plugins$ 查看详情
ros2学习笔记22--使用launch启动/监听多个node节点(代码片段)
概要:这篇内容主要介绍如何使用launch启动/监听多个node节点环境:ubuntu20.04,ros2-foxy,vscode最后如果没有陈述实操过程中碰到问题的话,则表示该章节都可被本人正常复现3.4使用launch启动/监听多个node节点ÿ... 查看详情
理解ros话题---ros学习第4篇
文章目录1.通过键盘控制turtle2.ROS话题2.1使用rqt_graph1.通过键盘控制turtle(1)打开一个终端运行roscore(2)再打开一个新的终端来打开turtlesim_node节点kandi@ubuntu:~$rosrunturtlesimturtlesim_node弹出一个乌龟的界面(3)再打开一个新的终端,... 查看详情
ros2学习笔记23--将多个node节点组合到单一进程中(代码片段)
概要:这篇内容主要介绍将多个node节点组合到单一进程中环境:ubuntu20.04,ros2-foxy,vscode最后如果没有陈述实操过程中碰到问题的话,则表示该章节都可被本人正常复现3.5多个node节点组合到单一进程中(原文:ht... 查看详情
理解ros话题---ros学习第5篇
...rostopicecho2.4使用rostopiclist3.ROS消息3.1使用rostopictype4.继续学习rostopic4.1使用rostopicpub4.2使用rostopichz5.使用rqt_plot1.通过键盘控制turtle(1)打开一个终端运行roscore(2)再打开一个新的终端来打开turtlesim_node节点kandi@ubuntu:~$rosrunturtlesimturtl... 查看详情
ros官网初级教程学习总结(5-9)(代码片段)
教程网址:http://wiki.ros.org/cn/ROS/Tutorials。本博客为5-9小节。理解ROS节点图概念概述Nodes:节点,一个节点即为一个可执行文件。节点可以发布或接收一个话题,也可以提供或使用某种服务。Messages:消息,消息是一种ROS数... 查看详情
ros学习笔记02:ros基础
文章目录一、ROS架构一、ROS架构ROS架构分为三个层次:OS层⟹\\Longrightarrow⟹中间层⟹\\Longrightarrow⟹应用层 查看详情
ros官网初级教程学习总结(5-9)(代码片段)
教程网址:http://wiki.ros.org/cn/ROS/Tutorials。本博客为5-9小节。理解ROS节点图概念概述Nodes:节点,一个节点即为一个可执行文件。节点可以发布或接收一个话题,也可以提供或使用某种服务。Messages:消息,消息是一种ROS数... 查看详情
ros2学习笔记29--项目从ros1迁移到ros2的经验参考(代码片段)
环境:ubuntu20.04,ros-foxy(ros2),vscode背景:项目需要,一直折腾把ros1下面的包升级到ros2版本.以下纯属个人查找资料摸索,自我理解所得,有错误的地方,望大佬们不吝赐教.1.消失的句柄ro... 查看详情
ros进二阶学习笔记--关于rospy和parameters(代码片段)
...作paramhttp://wiki.ros.org/rosparam -- ROSTool之rosparam用法ros进阶学习笔记(24)--关于rospy和parameters进行rospy编程时,需要用到parameter,但如何灵活用好它,还需进一步学习总结。节点程序如何声明parameter,是global... 查看详情
ros进二阶学习笔记--关于rospy和parameters(代码片段)
...作paramhttp://wiki.ros.org/rosparam -- ROSTool之rosparam用法ros进阶学习笔记(24)--关于rospy和parameters进行rospy编程时,需要用到parameter,但如何灵活用好它,还需进一步学习总结。节点程序如何声明parameter,是global... 查看详情
理解ros服务和参数---ros学习第6篇
文章目录1.ROS服务2.使用rosservice2.1rosservicelist2.2rosservicetype2.3rosservicecall3.使用rosparam3.1rosparamlist3.2rosparamset和rosparamget3.3rosparamdump和rosparamload1.ROS服务服务时节点之间通讯的另一种方式。服务允许节点发送一个请求(request)并获得一个... 查看详情
理解ros服务和参数---ros学习第6篇
文章目录1.ROS服务2.使用rosservice2.1rosservicelist2.2rosservicetype2.3rosservicecall3.使用rosparam3.1rosparamlist3.2rosparamset和rosparamget3.3rosparamdump和rosparamload1.ROS服务服务时节点之间通讯的另一种方式。服务允许节点发送一个请求(request)并获得一个... 查看详情
ros进二阶学习笔记--metapackage
ROS进阶学习笔记(24)--MetapackageMetapackage是ROSFileSystem概念层中的一个概念:2.CreateandConfigureaMetapackage:url:http://wiki.ros.org/catkin/package.xml#MetapackagesUsuallytheparentfolder,namedli 查看详情
ros进二阶学习笔记-rosandmultithread
ROS进二阶学习笔记(4)-ROSandMultithreadI'lldiscussabouttheconceptofthread,multithread,andtheapplicationofmultithreadcodinginROSenv.1.What'smultithread?-Basicsofoperatingsystemref:http:// 查看详情