目录
致谢:ROS赵虚左老师
Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程
参考赵虚左老师的实战教程
1.示例
2.launch文件
3.node节点
节点启动是多线程的
节点启动顺序不一样
<node pkg="包" type="节点名" name="节点小名" output="输出">
eg:<node pkg="turtlesim" type="turtlesim_node" name="my_turtle" output="screen">
属性:
pkg | 功能包
节点所属的包
type | 节点名
节点类型(与之相同名称的可执行文件)
name | 节点小名
节点名称(在 ROS 网络拓扑中节点的名称)
args | 参数
将参数传递给节点
machine | 机器名
在指定机器上启动节点
respawn | 节点重启
如果节点退出,是否自动重启
required | 退出
该节点是否必须,如果为 true,那么如果该节点退出,将杀死整个 roslaunch
ns | 命名空间
namespade命名空间
output | 输出
screen--终端屏幕显示
log--打印显示
4.include复用
属性:
file | 包含的launch文件
file = " $ (find <launch所在的包>) /xx/xx/launch文件"
5.remap重命名
是<node>里面的子标签
-
from="xxx"
原始话题名称
-
to="yyy"
目标名称
6.param参数
在launch文件中启动参数服务器,并将param参数写入
查看参数服务器指令:rosparam list
格式1:直接<param>
属性
name名字:My_param1
type类型:int char float
value值:xx
格式2:写入<node>里面
属性一样,但是为私有的
name名字:My_param1
type类型:int char float
value值:xx
7.rosparam参数
rosparam标签启动优先级别很高
格式1:直接<rosparam>
属性:
commd :指令
load 加载参数
dump 下载参数,生成yaml文件
delete 删除参数
file:加载yaml的参数文件
file = "$ (find <功能包>) / xx / xx.yaml文件"
格式2:写入<node>里面
同样也是私有的参数
属性:
commd :指令
load 加载参数
dump 下载参数,生成yaml文件
delete 删除参数
file:加载yaml的参数文件
file = "$ (find <功能包>) / xx / xx.yaml文件"
8.group组
-
ns="名称空间" (可选)
-
clear_params="true | false" (可选)
启动前,是否删除组名称空间的所有参数(慎用....此功能危险)
作用就是分组
9.arg动态传参
<launch>
<arg name="xxx" />
<param name="param" value="$(arg xxx)" />
</launch>
2023.11.13
渝北仙桃数据谷