<launch>
<!--name="NODE_NAME"为节点指派名称，这将会覆盖掉ros::init()定义的node_name;
pkg="PACKAGE_NAME"节点所在的包名
type="FILE_NAME" 执行文件的名称如果是用Python编写的就填写xxx.py，如果是cpp就写编译生成的可执行文件名
output="screen"终端输出转储在当前的控制台上，而不是在日志文件中
respawn="true"当roslaunch启动完所有该启动的节点之后，会监测每一个节点，保证它们正常的运行状态。对于任意节点，当它终止时，roslaunch 会将该节点重启
required="true"当被此属性标记的节点终止时，roslaunch会将其他的节点一并终止。注意此属性不可以与respawn="true"一起描述同一个节点
launch-prefix = "command-prefix"我的理解是，相当于在执行启动命令时加上一段命令前缀
ns = "NAME_SPACE" 这个属性可以让你在自定义的命名空间里运行节点-->
<include file="$(find rosbridge_server)/launch/rosbridge_websocket.launch" >
    <arg name="port" value="9090"/>
 </include>
<!--<node pkg="decision" name="decision" type="decision" output="screen" required="true"/>-->
<node pkg="perception" name="perception" type="perception" output="screen" respawn="true"/>
<node pkg="localization" name="localization" type="localization" output="screen" respawn="true"/>
<node pkg="canbus" name="canbus" type="canbus" output="screen" respawn="true"/>
<param name = "rcu_canbus_mode" value = "pcitcp" /><!--can总线模式: usb(默认)/tcp/pcitcp-->
<param name = "rcu_canbus_ip" value = "192.168.200.10" /><!--tcp转can模块IP地址-->
<param name = "rcu_canbus_port" value = "1234"/><!--tcp转can模块端口-->
<param name = "car_input_mode" value = "pci" /><!--速度接入方式: rtk(gpfpd)/modbus(模拟量0~10V)/pci-->
<param name = "car_input_ip" value = "192.168.200.80" /><!--速度接入IP地址-->
<param name = "car_input_port" value = "502"/><!--速度接入端口-->
<param name = "car_input_volspeed_max" value = "180.0"/><!--速度电压最大值-->
</launch>
