| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> ROS:rosbash系列命令行工具的使用(详解) -> 正文阅读 |
|
[人工智能]ROS:rosbash系列命令行工具的使用(详解) |
与rosbash相关的环境变量ROS_PACKAGE_PATH先提及一个环境变量ROS_PACKAGE_PATH,这个变量是一个可选的,但非常常见的环境变量,它允许您从源代码添加更多的ROS包到您的环境中。ROS_PACKAGE_PATH可以由一个或多个由标准OS路径分隔符(':'在类Linux系统上)分隔的路径组成。这些有序的路径告诉ROS系统在哪里搜索更多的ROS包。如果有多个相同名称的包,ROS会首先选择出现在ROS PACKAGE PATH上的包。如下示例: 从图中我们可以看到:我们自定义的功能包存放路径为/opt/ros/noetic/share,官方定义的功能包的存放路径为/opt/ros/noetic/share。当然,为了加载更多的功能包,我们还需要使用export向ROS_PACKAGE_PATH中添加更多的包路径,但是这些包路径之间一定要用:冒号分隔开来。 ROS_ROOT该环境变量下存储的是roscore这个ROS核心功能包所在根目录: ROS_NAMESPACEROS_NAMESPACE允许您将Node下推到名称空间中,这会导致node节点的所有属性(私有参数、话题名称…等)均会被置于ROS_NAMESPACE环境变量指定的命名空间之下。 ROS_MASTER_URIROS_MASTER_URI告知我们在哪里才可以找到master主节点,这对于我们可以成功启动roscore至关重要: 当我们启动roscore时,可以注意一下输出的日志信息: 其中,明确输出了master主节点的URI。 ROS_IPROS_IP在多主机系统中被使用到,因为ROS是个分布式系统,也就是说ROS中各个可执行节点可以分别运行在不同的主机系统中,但是这些个主机中必须有一个老大(master节点),ROS_IP用于指定发送信息时自身的身份。 注意:当ROS_IP和ROS_HOSTNAME同时被设置时,由于ROS_IP和ROS_HOSTNAME相互排斥,因此ROS_HOSTNAME会失效。在多主机系统中,ROS_IP和ROS_HOSTNAME中有一个被设置就可以在通信系统中表明自己的身份。 ROS_HOSTNAMEROS_IP在多主机系统中被使用到,因为ROS是个分布式系统,也就是说ROS中各个可执行节点可以分别运行在不同的主机系统中,但是这些个主机中必须有一个老大(master节点),ROS_IP用于指定发送信息时自身的身份。 注意:当ROS_IP和ROS_HOSTNAME同时被设置时,由于ROS_IP和ROS_HOSTNAME相互排斥,因此ROS_HOSTNAME会失效。在多主机系统中,ROS_IP和ROS_HOSTNAME中有一个被设置就可以在通信系统中表明自己的身份。 Roscd工作空间跳转指令Roscd是一个用来跳转至功能包所在路径的ROS命令行指令:roscd package_name Roscd也可以跳转至指定功能包下的文件夹中:roscd package_name/folder_name 其实,我们使用cd指令也可以办到,但是就是得先知道官方功能包所在位置: Rosed文件编辑指令Rosed指令常常结合rosls指令一同使用: 当运行rosed指令之后,进入到vim编辑器界面(前提是你得安装了vim编辑器)。这个功能也可以使用cd跳转指令和vim指令来实现,就是有点麻烦: Vim编辑器操作指令简述:
注意:输入完指令之后,需再按enter键确认才可生效! Rosls文件目录列举指令Rosls的使用格式:rosls filepath filename Rosls指令不仅可以查看功能包主目录下的文件,也可以查看功能包子文件夹下的文件: Roscp文件复制指令Roscp的使用格式:roscp package_name filename 但是值得注意的是:filename可以来自package_name主文件目录下,也可以来自package_name/subfolder子文件夹下的文件目录中。当文件来自roscpp的主文件目录中: 当文件来自roscpp的子文件夹的目录中: Rosrun可执行节点运行指令Rosrun的指令格式:rosrun package_name executable_name [-optionalArg] Rosrun的可选参数如下所示:
注意: 1. 可执行节点的名称是在CMakelist.txt中的add_executable(…)中设置的,rqt_graph的node关系图中node名称是在.cpp源文件中ros::init(…)设置的; 2. 一定要区分“参数服务器参数的上报”和“main函数传参”的区别,前者属于参数服务器的通信方式,后者属于向函数传递参数; 3. 要注意节点各个属性的命名空间设置方式,详见: 4. 当我们在launch文件中输入以下内容:
当我们运行launch文件之后,我们会发现有关log日志文件的环境变量已被修改:?
有关日志文件的相关设置详见: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 17:47:53- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |