1.搭建好节点主机
在非主机上设好ROS_MASTER_URI,保证每台设备都能访问ros Master。
2.设置远程脚本
#!/bin/bash
export ROSLAUNCH_SSH_UNKNOWN=1
export ROS_MASTER_URI=http://192.168.31.6:11311
source /opt/ros/kinetic/setup.bash
source ~/dashgo_ws/devel/setup.bash
export ROS_HOSTNAME=ros-smart
exec "$@"
3.调用
<launch>
<machine name="ros-smart" user="eaibot" password="eaibot" address="ros-smart" env-loader="/home/eaibot/HRobot/env.sh"/>
<group ns="smart">
<node name="smart_driver" pkg="smart_node" type="smart_node" output="screen" respawn="true" machine="ros-smart" >
<rosparam file="$(find smart_node)/config/smart_parms_imu.yaml" command="load" />
</node>
</group>
<group ns="NX">
<include file="$(find ydlidar)/launch/ydlidar1_up.launch"/>
<include file="$(find dashgo_description)/launch/dashgo_description.launch"/>
<include file="$(find dashgo_nav)/launch/include/imu/gmapping_base.launch"/>
<include file="$(find dashgo_nav)/launch/include/imu/teb_move_base.launch"/>
<node name="robot_pose_publisher" pkg="robot_pose_publisher" type="robot_pose_publisher" />
<node name="robot_data" pkg="dashgo_tools" type="robot_data.py" respawn="true" />
<node name="scan_cloud" pkg="dashgo_tools" type="get_scan_data" respawn="true" />
</group>
</launch>