ros-Launch启动文件的使用方法
ros-Launch启动文件的使用方法
Launch可以启动多个节点,运行rosrun命令
可以自动启动rosmaster(不需要再输入roscore命令启动rosmaster)
自动检测有没有rosmaster在运行,没有运行会运行,有运行就不再运行了
起始launch,/launch表示结束
Node标签,启动ros节点
Pkg=“turtlesim” 表示节点在turtlesim功能包里边
Name=“” 节点运行起来后,节点在ros中的名字,sim1去取代turtlesim——node
Type=“turtlesim——node” 表示节点可执行文件的名称
还可以有其他属性
Output:当前信息打印到终端
Respawn :挂掉了要不要重启
Required :某一个节点是不是一定要求启动起来
Ns :节点命名空间,避免节点命名冲突
Args :给每个节点输入参数使用
Param:
加载一些参数
Arg 在launch文件中使用,局部变量
Remap:换名之后原名就没有了
Include相互包含
步骤:
1.首先创建launch功能包,不需要依赖,启动文件,链接其他库功能,功能包里边没有src和include文件
2.创建文件夹管理各种资源
3.在launch文件夹下创建launch文件
4.catkin-ws下编译,让知道有launch功能包加入
5.启动launch,roslaunch命令
Roslaunch learning_launch(功能包名) simple.launch(launch文件名)
--------------------------------------------------
通过launch来实现话题的发布
<launch>
<node pkg="turtlesim" type="turtlesim_node" name="talker1" output="screen" />
<node pkg="learning_topic" type="velocity_publisher" name="talker2" output="screen" />
</launch>
通过launch来实现话题的订阅
<launch>
<node pkg="turtlesim" type="turtlesim_node" name="talker1" output="screen" />
<node pkg="learning_topic" type="velocity_publisher" name="talker2" output="screen" />
<node pkg="learning_topic" type="pose_subscriber" name="talker3" output="screen" />
</launch>
-----------------------------
通过launch文件来配置参数
1.将代码拷贝到launch文件夹下
第一个param:设置turtle的数量为俩个
第二行turtlesim:运行仿真器节点
在里边也用param,设置了俩个参数的名字和值,命名俩个海龟的名字
Rosparam:加载了一个参数文件param.yaml,参数文件里有很多相关参数,可以一次性的保存到ros parameter中去。$(find learning_launch)搜索功能包的指令。
Group为字符空间
第三个启动键盘控制节点
2.运行launch文件
roslaunch learning_launch turtlesim_parameter_config.launch
3.可以看变量
Rosparam list
注意turtle_name1与turtle_name2有一个前缀,在代码中是嵌套在里边的,命名空间
C和D也在group的命名空间中。
通过launch文件启动海龟的跟随案例
如果是Python文件
-----------------------------------------
Launch文件中包含launch文件,启动另一个launch文件
Remap将--------变为to=/cmd_vel,进行重新命名
rostopic pub /cmd_vel geometry_msgs/Twist “linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0”
注:本内容整理古月居ros21讲,代码下载链接:https://download.csdn.net/download/weixin_45839124/12410125
上一篇: CCF 压缩编码