launch文件编写学习

今天又踩了URDF的深坑,记录一下启动URDF文件的launch文件编写

踩坑特别提醒,记得先编译整个文件夹,再设置环境变量,再启动launch

还有设置环境变量时要记得使用永久环境变量设置

echo "source/WORKSPACE/devel/setup.bash"

还有永久设置的方法,这里从ROS wiki 里扒

每当一个新的界面(shell)启动时,自动设置ROS workspace很方便:

echo "export ROS_PACKAGE_PATH=~/ros_workspace:$ROS_PACKAGE_PATH" >> ~/.bashrc
echo "export ROS_WORKSPACE=~/ros_workspace" >> ~/.bashrc
. ~/.bashrc

为了确认你的package路径设置正确,回显 ROS_PACKAGE_PATH 变量:

echo $ROS_PACKAGE_PATH

你应该能看到类似的结果:

/home/user/ros_workspace:/opt/ros/fuerte/share:/opt/ros/fuerte/stacks
 

launch文件开头

<launch>

....

</launch>

启动node节点的程序段

<node pkg="PACKAGE_NAME" name="other_name_you_want_to_call_the_node" type="node_name" output="screen" respawn="true" required="true" ns="namespace" args="arguments"/>

此尖括号命令用于多次启动同一节点,并赋予不同的变量名,output为输出地址,respawn为节点停止自动重启,required即设置为必要节点,ns为命名空间,args为节点所需参数

启动文件中还有多个标签,如参数设置的arg标签,param标签,remap标签

参数设置标签<param>和<arg>

<param>标签用于设定ROS系统的部分参数,节点可以通过ros::param::get来获取这个值

使用方法如

<param name="PARAMETER_NAME" value="parameter value"/>
服务器就会上传相应数据到服务器

在ROS中也可以利用YAML文件进行参数配置,利用ROSPARAM标签

<rosparam file="$YAML_DIR/config.yaml" command="load" ns="namespace you want to use"/>

arg是launch文件内利用的参数,可以减少重复录入同一变量值

<arg name="agn" default="aaaaaaa"/>

launch文件内可以调用ARG

<node name="$(arg an)" type="$(arg an)"/>

接口名称重映射

使用接口重映射可以改变topic名称,如

<remap from="" to=""/>

嵌套复用

嵌套复用可以像include一样将其他文件的内容复制进来,用法如

<include file="DIR_/name.launch"/>

猜你喜欢

转载自blog.csdn.net/Neillll_/article/details/89494466