首页 > 其他分享 >ROS学习笔记(三、ros节点使用)

ROS学习笔记(三、ros节点使用)

时间:2024-07-04 19:56:07浏览次数:13  
标签:ros ROS 一个 roscore 命令 rosnode 节点

对于ros节点的理解部分:

节点(nodes)是ros中一个很重要的部分,一个节点等价于一个可执行文件。

通俗理解就是:我们所有写的代码,脚本都是需要执行的,因此需要将我们写的代码等转化成一个ros中可以执行的文件,这个可执行文件在ros中称为节点。

一个节点可以通过ros与其他节点进行一个通信。

意思就是说:假设有一个机器人和一个遥控器,那么机器人和遥控器都开始工作后,就是两个节点:遥控器节点负责发送指令;机器人节点负责监听遥控器下达的指令,并完成相应动作。在这整个过程中,我们可以知道,两个节点之间可以互相通信,从而实现对机器人的遥控功能。当然在这个系统中,也可能不止有两个节点,甚至更多的节点需要根据用户编写的程序来定义。

在运行ros所有程序前必须运行roscore,因为其中不仅会运行roscore,而且是打开了rosmaster。

rosmaster相当于婚姻介绍所,roscore相当于男性,其他节点相当于女性,想要男女信息匹配,需要在rosmaster里面去登记信息,相当于一个中间站一样的东西。所以,如果一开始没有运行roscore程序,所有ros信息都是运行不起来的。

------------------------------------------------------------------------------------------------

对于ros节点的命令使用部分:

现在,我们理解了rosnode(节点)的意思,接下来,我们会了解rosnode的常用命令。

rosnode list列出ros中活跃的节点
rosnode info <>返回一个特定节点的信息
rosnode kill <>停止指定节点的运行
rosnode cleanup删除失连节点的注册信息

在学会使用rosnode命令后,我们需要让节点运行起来,需要使用到rosrun命令。

rosrun [package_name] [node_name]

使用包名直接运行一个包内的节点

(不需要知道包的路径)

---------------------------------------------------------------------------------------------

对于ros节点实操部分:

接下来,我们将接着笔记二中我们创建的ros工作空间实操一遍,详细了解节点意义和命令使用。

首先,打开终端,设置使ros环境生效(每次打开终端都需要输入的命令)

source catkin_ws/devel/setup.bash

接着,打开roscore,同时可以让婚姻介绍所开张

roscore

会得到这样一个和界面:

然后,再打开一个终端,设置环境变量:

source catkin_ws/devel/setup.bash

此时,输入命令

rosnode list

将会得到一个结果

(注意,需要两个终端同时开启的状态下,才能看到)

此时,我们已经得到了婚姻介绍所(master)里面男性(/rosout)的信息,还缺少一个女性的信息。所以,我们使用一个ros自带的一个轻量级的模拟器turtlesim作为女性节点。

在刚刚的基础上,在第二个终端输入命令

rosrun turtlesim turtlesim_node

我们会看到这样一个小乌龟的模拟器界面:

然后,我们打开第三个终端,查看活跃的节点数:

可以发现,我们现在拥有了rosout和turtlesim两个节点。

至此,我们已经能够理解并且深度理解了ros节点的含义,并知道如何使用rosnode和rosrun命令使操作节点啦!!!(p≧w≦q)

标签:ros,ROS,一个,roscore,命令,rosnode,节点
From: https://blog.csdn.net/tommorrowwill/article/details/140182091

相关文章

  • 欧拉 EulerOS是华为基于CentOS源代码,面向企业应用环境开发的一个商用Linux发行版。
    欧拉EulerOS是华为基于CentOS源代码,面向企业应用环境开发的一个商用Linux发行版。EulerOSEulerOS是华为基于CentOS源代码,面向企业应用环境开发的一个商用Linux发行版。EulerOS开发者华为技术有限公司作業系統家族Unix ,Linux,CentOS運作狀態活跃源码模式开源软件当前版本2.......
  • antV x6鼠标右键事件、鼠标滑过 节点 新增删除事件、节点 鼠标摁下 node节点禁止连入
    graphSvg为当前的画布//鼠标右键事件graphSvg.on('node:contextmenu',({e,node})=>{e.preventDefault();//阻止默认的右键菜单console.log(e,node)})//鼠标滑过节点新增删除事件graphSvg.on('node:mouseenter',({nod......
  • CenterOS7安装java
    CenterOS7安装java#进入安装目录cd/usr/local/soft/java#wget下载java8#直接进入官网选择相应的版本进行下载,然后把下载链接复制下来就可以下载了#不时间的下载链接不一样wgethttp://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/......
  • 核磁共振光谱(Nuclear Magnetic Resonance Spectroscopy,简称NMR)
    核磁共振光谱(NuclearMagneticResonanceSpectroscopy,简称NMR)是一种强大的分析技术,用于确定分子结构、研究分子动力学以及分析样品的化学组分。以下是关于NMR光谱的详细介绍。1.基本原理NMR光谱基于原子核在磁场下的自旋行为。当某些原子核(如氢核和碳-13核)处于强磁场中时,它们......
  • IISRESET 是用于重启 Microsoft Internet Information Services(IIS)的命令行工具。它通
    IISRESET命令起源于Microsoft开发的InternetInformationServices(IIS),这是一种用于Windows操作系统的强大的Web服务器软件。IIS早在WindowsNT3.51的时候就已经存在,而IISRESET命令则是作为管理和操作IIS服务的一部分而引入的。具体来说,IISRESET命令的主要功能是......
  • 【剑指offer】JZ23-链表中环的入口节点-Python解法
    1.题目描述2.解题思路(Python版)方法:双指针法思路:根据题目描述,需要找到一个链表环的入口节点,这个题目可以拆分成三个小问题:(1)如何确定一个链表中是否包含环?(2)如果有环,环中节点的数目如何计算?(3)如何找到环的入口?接下来分别解决上述三个问题:(1)如何确定一个链表中是否包含环:有......
  • mmc.exe 是 Microsoft Management Console 的执行文件。Microsoft Management Console
    mmc.exe是MicrosoftManagementConsole的执行文件。MicrosoftManagementConsole(MMC)是一个通用的管理控制台框架,用于承载和管理各种系统管理工具(称为控制台插件或管理单元)。MMC提供了一个统一的界面,使管理员可以方便地访问和管理系统的各种设置和功能。功能和用途:管理控......
  • 装了一次没成功的前提下,ubuntu18.04+ros(melodic)安装 cartographer源码安装及测试---
    因为项目需要所以要安装cartographer,最开始也没仔细研究一下,随便找了一个csdn教程就跟着安装了,装了一下午,总是在最后编译的时候出错,晚上的时候心态崩了,咸鱼上找了个远程安装的,他好像是用小鱼的那个脚本安装,装了一个小时也没安装好。不死心的我又去咸鱼上找人,然后开口要两千块,两......
  • VMware vSphere Tanzu部署_08_配置tanzu为单节点
    1.配置tanzu控制节点为单节点1.1.修改控制节点数量参数需要通过ssh登录vcenter,并进入bashshell查看/etc/vmware/wcp/wcpsvc.yaml中控制节点数量root@localhost[~]#sed-n'18,20p'/etc/vmware/wcp/wcpsvc.yamlclusterconfig:minmasters:3maxmasters:3ro......
  • GuavaCache、EVCache、Tair、Aerospike 缓存框架比较
    GuavaCache、EVCache、Tair、Aerospike是不同类型的缓存解决方案,它们各有特点和应用场景。下面我会逐一分析这些缓存系统的优势、应用场景,并提供一些基本的代码示例。GuavaCache优势特点:内置在Guava库中,易于集成和使用。提供了丰富的缓存配置选项,如过期策略、缓存加载策略......