Robotics StackExchange | Archived questions

How to connect to a local gazebo on a remote machine and spawn the model

Hello, I'm working on spawning a px4 model on multiple machines in a single gazebo simulator. Using two computers (both Ubuntu 16.04), I have run a gazebo simulator and two px4 drones on one computer, and the px4 drone on the same gazebo simulation on another computer.

It was successful to sitl with the Gazebo simulator and two px4 drones on the first computer(local machine), but spawning the px4 drone on another computer(remote machine) failed.

Below is part of my .bashrc.

local machine

#set ROS Network
export ROS_MASTER_URI=http://192.168.0.6:11311
export ROS_HOSTNAME=192.168.0.6

export GAZEBO_MASTER_URI=http://192.168.0.6:11345

remote machine

#set ROS Network
export ROS_MASTER_URI=http://192.168.0.6:11311
export ROS_HOSTNAME=192.168.0.2

export GAZEBO_MASTER_URI=http://192.168.0.6:11345

And the launch file is run on each computer.

local machine

<?xml version="1.0"?>
<launch>
    <!-- MAVROS posix SITL environment launch script -->
    <!-- launches Gazebo environment and 2x: MAVROS, PX4 SITL, and spawns vehicle -->
    <!-- vehicle model and world -->
    <arg name="est" default="ekf2"/>
    <arg name="vehicle" default="iris"/>
    <arg name="uav_number" default="uav0"/>
    <arg name="world" default="$(find mavlink_sitl_gazebo)/worlds/empty.world"/>
    <!-- gazebo configs -->
    <arg name="gui" default="true"/>
    <arg name="debug" default="false"/>
    <arg name="verbose" default="false"/>
    <arg name="paused" default="false"/>
    <!-- Gazebo sim -->
    <include file="$(find gazebo_ros)/launch/empty_world.launch">
        <arg name="gui" value="$(arg gui)"/>
        <arg name="world_name" value="$(arg world)"/>
        <arg name="debug" value="$(arg debug)"/>
        <arg name="verbose" value="$(arg verbose)"/>
        <arg name="paused" value="$(arg paused)"/>
    </include>
    <!-- UAV0 -->
    <group ns="uav0">
        <!-- MAVROS and vehicle configs -->
        <arg name="ID" value="0"/>
        <arg name="fcu_url" default="udp://:14540@192.168.0.6:14550"/>
        <arg name="gcs_url" value=""/>
        <!-- PX4 SITL and vehicle spawn -->
       <include file="$(find px4)/launch/single_vehicle_spawn.launch">
           <arg name="x" value="0"/>
           <arg name="y" value="0"/>
           <arg name="z" value="1"/>
           <arg name="R" value="0"/>
           <arg name="P" value="0"/>
           <arg name="Y" value="0"/>
           <arg name="vehicle" value="$(arg vehicle)"/>
           <arg name="mavlink_udp_port" value="14560"/>
           <arg name="mavlink_tcp_port" value="4560"/>
           <arg name="ID" value="$(arg ID)"/>
       </include>
       <!-- MAVROS -->
       <include file="$(find mavros)/launch/px4custom.launch">
           <arg name="uav_number" value="uav0"/>
           <arg name="fcu_url" value="$(arg fcu_url)"/>
           <arg name="gcs_url" value="$(arg gcs_url)"/>
           <arg name="tgt_system" value="$(eval 1 + arg('ID'))"/>
           <arg name="tgt_component" value="1"/>
       </include>
   </group>
   <!-- UAV1 -->
   <group ns="uav1">
       <!-- MAVROS and vehicle configs -->
       <arg name="ID" value="1"/>
       <arg name="fcu_url" default="udp://:14541@192.168.0.6:14551"/>
       <arg name="gcs_url" value=""/>
       <!-- PX4 SITL and vehicle spawn -->
       <include file="$(find px4)/launch/single_vehicle_spawn.launch">
           <arg name="x" value="1"/>
           <arg name="y" value="0"/>
           <arg name="z" value="1"/>
           <arg name="R" value="0"/>
           <arg name="P" value="0"/>
           <arg name="Y" value="0"/>
           <arg name="vehicle" value="$(arg vehicle)"/>
           <arg name="mavlink_udp_port" value="14561"/>
           <arg name="mavlink_tcp_port" value="4561"/>
           <arg name="ID" value="$(arg ID)"/>
       </include>
       <!-- MAVROS -->
       <include file="$(find mavros)/launch/px4custom.launch">
           <arg name="uav_number" value="uav1"/>
           <arg name="fcu_url" value="$(arg fcu_url)"/>
           <arg name="gcs_url" value="$(arg gcs_url)"/>
           <arg name="tgt_system" value="$(eval 1 + arg('ID'))"/>
           <arg name="tgt_component" value="1"/>
       </include>
   </group>
</launch>
<!-- to add more UAVs (up to 10):
Increase the id
Change the name space
Set the FCU to default="udp://:14540+id@localhost:14550+id"
Set the malink_udp_port to 14560+id) -->

remote machine

<?xml version="1.0"?>
<launch>
    <!-- MAVROS posix SITL environment launch script -->
    <!-- launches Gazebo environment and 2x: MAVROS, PX4 SITL, and spawns vehicle -->
    <!-- vehicle model and world -->
    <arg name="id" default="2"/>
    <arg name="uav_name" default="uav2"/>
    <arg name="est" default="ekf2"/>
    <arg name="vehicle" default="iris"/>

    <group ns="uav2">
        <!-- MAVROS and vehicle configs -->
        <arg name="ID" value="$(arg id)"/>
        <arg name="fcu_url" default="udp://:14542@192.168.0.2:14552"/>
        <arg name="gcs_url" value=""/>
        <!-- PX4 SITL and vehicle spawn -->
        <include file="$(find px4)/launch/single_vehicle_spawn.launch">
            <arg name="x" value="0"/>
            <arg name="y" value="1"/>
            <arg name="z" value="1"/>
            <arg name="R" value="0"/>
            <arg name="P" value="0"/>
            <arg name="Y" value="0"/>
            <arg name="vehicle" value="$(arg vehicle)"/>
            <arg name="mavlink_udp_port" value="14562"/>
            <arg name="mavlink_tcp_port" value="4562"/>
            <arg name="ID" value="$(arg ID)"/>
        </include>
        <!-- MAVROS -->
        <include file="$(find mavros)/launch/px4custom.launch">
            <arg name="uav_number" value="uav2"/>
            <arg name="fcu_url" value="$(arg fcu_url)"/>
            <arg name="gcs_url" value="$(arg gcs_url)"/>
            <arg name="tgt_system" value="$(eval 1 + arg('ID'))"/>
            <arg name="tgt_component" value="1"/>
        </include>
    </group>    

</launch>

*Running this launch file(remote launch file, change IP addr) on my local machine spawns the px4 drone very well and works fine.

When I spawn a px4 drone on another computer, it stops as shown below.

Log of remote computer.

... logging to /home/lsgy/.ros/log/6178860a-c3e6-11e9-8240-7085c2a85d67/roslaunch-lsgy-19207.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/loader.py:409: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  data = yaml.load(text)
started roslaunch server http://192.168.0.2:40457/

SUMMARY
========

CLEAR PARAMETERS
 * /uav2/mavros/

PARAMETERS
 * /rosdistro: kinetic
 * /rosversion: 1.12.14
 * /uav2/mavros/cmd/use_comp_id_system_control: False
 * /uav2/mavros/conn/heartbeat_rate: 1.0
 * /uav2/mavros/conn/system_time_rate: 1.0
 * /uav2/mavros/conn/timeout: 10.0
 * /uav2/mavros/conn/timesync_rate: 10.0
 * /uav2/mavros/distance_sensor/hrlv_ez4_pub/field_of_view: 0.0
 * /uav2/mavros/distance_sensor/hrlv_ez4_pub/frame_id: hrlv_ez4_sonar
 * /uav2/mavros/distance_sensor/hrlv_ez4_pub/id: 0
 * /uav2/mavros/distance_sensor/hrlv_ez4_pub/orientation: PITCH_270
 * /uav2/mavros/distance_sensor/hrlv_ez4_pub/send_tf: True
 * /uav2/mavros/distance_sensor/hrlv_ez4_pub/sensor_position/x: 0.0
 * /uav2/mavros/distance_sensor/hrlv_ez4_pub/sensor_position/y: 0.0
 * /uav2/mavros/distance_sensor/hrlv_ez4_pub/sensor_position/z: -0.1
 * /uav2/mavros/distance_sensor/laser_1_sub/id: 3
 * /uav2/mavros/distance_sensor/laser_1_sub/orientation: PITCH_270
 * /uav2/mavros/distance_sensor/laser_1_sub/subscriber: True
 * /uav2/mavros/distance_sensor/lidarlite_pub/field_of_view: 0.0
 * /uav2/mavros/distance_sensor/lidarlite_pub/frame_id: lidarlite_laser
 * /uav2/mavros/distance_sensor/lidarlite_pub/id: 1
 * /uav2/mavros/distance_sensor/lidarlite_pub/orientation: PITCH_270
 * /uav2/mavros/distance_sensor/lidarlite_pub/send_tf: True
 * /uav2/mavros/distance_sensor/lidarlite_pub/sensor_position/x: 0.0
 * /uav2/mavros/distance_sensor/lidarlite_pub/sensor_position/y: 0.0
 * /uav2/mavros/distance_sensor/lidarlite_pub/sensor_position/z: -0.1
 * /uav2/mavros/distance_sensor/sonar_1_sub/id: 2
 * /uav2/mavros/distance_sensor/sonar_1_sub/orientation: PITCH_270
 * /uav2/mavros/distance_sensor/sonar_1_sub/subscriber: True
 * /uav2/mavros/fake_gps/eph: 2.0
 * /uav2/mavros/fake_gps/epv: 2.0
 * /uav2/mavros/fake_gps/fix_type: 3
 * /uav2/mavros/fake_gps/geo_origin/alt: 408.0
 * /uav2/mavros/fake_gps/geo_origin/lat: 47.3667
 * /uav2/mavros/fake_gps/geo_origin/lon: 8.55
 * /uav2/mavros/fake_gps/gps_rate: 5.0
 * /uav2/mavros/fake_gps/mocap_transform: True
 * /uav2/mavros/fake_gps/satellites_visible: 5
 * /uav2/mavros/fake_gps/tf/child_frame_id: fix
 * /uav2/mavros/fake_gps/tf/frame_id: map
 * /uav2/mavros/fake_gps/tf/listen: False
 * /uav2/mavros/fake_gps/tf/rate_limit: 10.0
 * /uav2/mavros/fake_gps/tf/send: False
 * /uav2/mavros/fake_gps/use_mocap: True
 * /uav2/mavros/fake_gps/use_vision: False
 * /uav2/mavros/fcu_protocol: v2.0
 * /uav2/mavros/fcu_url: udp://:14542@192....
 * /uav2/mavros/gcs_url: 
 * /uav2/mavros/global_position/child_frame_id: base_link
 * /uav2/mavros/global_position/frame_id: map
 * /uav2/mavros/global_position/gps_uere: 1.0
 * /uav2/mavros/global_position/rot_covariance: 99999.0
 * /uav2/mavros/global_position/tf/child_frame_id: base_link
 * /uav2/mavros/global_position/tf/frame_id: map
 * /uav2/mavros/global_position/tf/global_frame_id: earth
 * /uav2/mavros/global_position/tf/send: False
 * /uav2/mavros/global_position/use_relative_alt: True
 * /uav2/mavros/image/frame_id: px4flow
 * /uav2/mavros/imu/angular_velocity_stdev: 0.0003490659 // 0...
 * /uav2/mavros/imu/frame_id: base_link
 * /uav2/mavros/imu/linear_acceleration_stdev: 0.0003
 * /uav2/mavros/imu/magnetic_stdev: 0.0
 * /uav2/mavros/imu/orientation_stdev: 1.0
 * /uav2/mavros/landing_target/camera/fov_x: 2.0071286398
 * /uav2/mavros/landing_target/camera/fov_y: 2.0071286398
 * /uav2/mavros/landing_target/image/height: 480
 * /uav2/mavros/landing_target/image/width: 640
 * /uav2/mavros/landing_target/land_target_type: VISION_FIDUCIAL
 * /uav2/mavros/landing_target/listen_lt: False
 * /uav2/mavros/landing_target/mav_frame: LOCAL_NED
 * /uav2/mavros/landing_target/target_size/x: 0.3
 * /uav2/mavros/landing_target/target_size/y: 0.3
 * /uav2/mavros/landing_target/tf/child_frame_id: camera_center
 * /uav2/mavros/landing_target/tf/frame_id: landing_target
 * /uav2/mavros/landing_target/tf/listen: False
 * /uav2/mavros/landing_target/tf/rate_limit: 10.0
 * /uav2/mavros/landing_target/tf/send: True
 * /uav2/mavros/local_position/frame_id: map
 * /uav2/mavros/local_position/tf/child_frame_id: base_link
 * /uav2/mavros/local_position/tf/frame_id: map
 * /uav2/mavros/local_position/tf/send: False
 * /uav2/mavros/local_position/tf/send_fcu: False
 * /uav2/mavros/mission/pull_after_gcs: True
 * /uav2/mavros/mocap/use_pose: True
 * /uav2/mavros/mocap/use_tf: False
 * /uav2/mavros/odometry/in/child_frame_id: base_link
 * /uav2/mavros/odometry/in/frame_id: odom
 * /uav2/mavros/odometry/in/frame_tf/body_frame_orientation: flu
 * /uav2/mavros/odometry/in/frame_tf/local_frame: local_origin_ned
 * /uav2/mavros/odometry/out/frame_tf/body_frame_orientation: frd
 * /uav2/mavros/odometry/out/frame_tf/local_frame: vision_ned
 * /uav2/mavros/plugin_blacklist: ['safety_area', '...
 * /uav2/mavros/plugin_whitelist: []
 * /uav2/mavros/px4flow/frame_id: px4flow
 * /uav2/mavros/px4flow/ranger_fov: 0.118682
 * /uav2/mavros/px4flow/ranger_max_range: 5.0
 * /uav2/mavros/px4flow/ranger_min_range: 0.3
 * /uav2/mavros/safety_area/p1/x: 1.0
 * /uav2/mavros/safety_area/p1/y: 1.0
 * /uav2/mavros/safety_area/p1/z: 1.0
 * /uav2/mavros/safety_area/p2/x: -1.0
 * /uav2/mavros/safety_area/p2/y: -1.0
 * /uav2/mavros/safety_area/p2/z: -1.0
 * /uav2/mavros/setpoint_accel/send_force: False
 * /uav2/mavros/setpoint_attitude/reverse_thrust: False
 * /uav2/mavros/setpoint_attitude/tf/child_frame_id: target_attitude
 * /uav2/mavros/setpoint_attitude/tf/frame_id: map
 * /uav2/mavros/setpoint_attitude/tf/listen: False
 * /uav2/mavros/setpoint_attitude/tf/rate_limit: 50.0
 * /uav2/mavros/setpoint_attitude/use_quaternion: False
 * /uav2/mavros/setpoint_position/mav_frame: LOCAL_NED
 * /uav2/mavros/setpoint_position/tf/child_frame_id: target_position
 * /uav2/mavros/setpoint_position/tf/frame_id: map
 * /uav2/mavros/setpoint_position/tf/listen: False
 * /uav2/mavros/setpoint_position/tf/rate_limit: 50.0
 * /uav2/mavros/setpoint_raw/thrust_scaling: 1.0
 * /uav2/mavros/setpoint_velocity/mav_frame: LOCAL_NED
 * /uav2/mavros/startup_px4_usb_quirk: True
 * /uav2/mavros/sys/disable_diag: False
 * /uav2/mavros/sys/min_voltage: 10.0
 * /uav2/mavros/target_component_id: 1
 * /uav2/mavros/target_system_id: 3
 * /uav2/mavros/tdr_radio/low_rssi: 40
 * /uav2/mavros/time/time_ref_source: fcu
 * /uav2/mavros/time/timesync_avg_alpha: 0.6
 * /uav2/mavros/time/timesync_mode: MAVLINK
 * /uav2/mavros/vibration/frame_id: base_link
 * /uav2/mavros/vision_pose/tf/child_frame_id: vision_estimate
 * /uav2/mavros/vision_pose/tf/frame_id: map
 * /uav2/mavros/vision_pose/tf/listen: False
 * /uav2/mavros/vision_pose/tf/rate_limit: 10.0
 * /uav2/mavros/vision_speed/listen_twist: True
 * /uav2/mavros/vision_speed/twist_cov: True
 * /uav2/mavros/wheel_odometry/child_frame_id: base_link
 * /uav2/mavros/wheel_odometry/count: 2
 * /uav2/mavros/wheel_odometry/frame_id: map
 * /uav2/mavros/wheel_odometry/send_raw: True
 * /uav2/mavros/wheel_odometry/send_twist: False
 * /uav2/mavros/wheel_odometry/tf/child_frame_id: base_link
 * /uav2/mavros/wheel_odometry/tf/frame_id: map
 * /uav2/mavros/wheel_odometry/tf/send: True
 * /uav2/mavros/wheel_odometry/use_rpm: False
 * /uav2/mavros/wheel_odometry/vel_error: 0.1
 * /uav2/mavros/wheel_odometry/wheel0/radius: 0.05
 * /uav2/mavros/wheel_odometry/wheel0/x: 0.0
 * /uav2/mavros/wheel_odometry/wheel0/y: -0.15
 * /uav2/mavros/wheel_odometry/wheel1/radius: 0.05
 * /uav2/mavros/wheel_odometry/wheel1/x: 0.0
 * /uav2/mavros/wheel_odometry/wheel1/y: 0.15
 * /uav2/myapp/uav_command: /uav2/mavros/setp...
 * /uav2/rotors_description: <?xml version="1....

NODES
  /uav2/
    iris_2_spawn (gazebo_ros/spawn_model)
    mavros (mavros/mavros_node)
    myapp (beginner_tutorials/myapp)
    sitl_2 (px4/px4)

ROS_MASTER_URI=http://192.168.0.6:11311

process[uav2/sitl_2-1]: started with pid [19220]
INFO  [px4] Creating symlink /home/lsgy/src/Firmware/ROMFS/px4fmu_common -> /home/lsgy/.ros/etc
0 WARNING: setRealtimeSched failed (not run as root?)

______  __   __    ___ 
| ___ \ \ \ / /   /   |
| |_/ /  \ V /   / /| |
|  __/   /   \  / /_| |
| |     / /^\ \ \___  |
\_|     \/   \/     |_/

px4 starting.

INFO  [px4] Calling startup script: /bin/sh etc/init.d-posix/rcS 2
process[uav2/iris_2_spawn-2]: started with pid [19235]
process[uav2/mavros-3]: started with pid [19240]
process[uav2/myapp-4]: started with pid [19246]
+ MAV_SYS_ID: curr: 1 -> new: 3
INFO  [dataman] Unknown restart, data manager file './dataman' size is 11798680 bytes
INFO  [simulator] Waiting for simulator to connect on TCP port 4562
[ INFO] [1566399971.739275367]: FCU URL: udp://:14542@192.168.0.2:14552
[ INFO] [1566399971.740706670]: udp0: Bind address: 0.0.0.0:14542
[ INFO] [1566399971.740746011]: udp0: Remote address: 192.168.0.2:14552
[ INFO] [1566399971.740889055]: GCS bridge disabled
[ INFO] [1566399971.749132900]: Plugin 3dr_radio loaded
[ INFO] [1566399971.751794863]: Plugin 3dr_radio initialized
[ INFO] [1566399971.751858339]: Plugin actuator_control loaded
[ INFO] [1566399971.755490996]: Plugin actuator_control initialized
[ INFO] [1566399971.757683067]: Plugin adsb loaded
[ INFO] [1566399971.761501185]: Plugin adsb initialized
[ INFO] [1566399971.761591178]: Plugin altitude loaded
[ INFO] [1566399971.762779427]: Plugin altitude initialized
[ INFO] [1566399971.762850534]: Plugin cam_imu_sync loaded
[ INFO] [1566399971.763692590]: Plugin cam_imu_sync initialized
[ INFO] [1566399971.763785319]: Plugin command loaded
[ INFO] [1566399971.770155271]: Plugin command initialized
[ INFO] [1566399971.770240031]: Plugin companion_process_status loaded
[ INFO] [1566399971.773325855]: Plugin companion_process_status initialized
[ INFO] [1566399971.773405470]: Plugin debug_value loaded
[ INFO] [1566399971.778510084]: Plugin debug_value initialized
[ INFO] [1566399971.778525684]: Plugin distance_sensor blacklisted
[ INFO] [1566399971.778621172]: Plugin fake_gps loaded
[ INFO] [1566399971.796013403]: Plugin fake_gps initialized
[ INFO] [1566399971.796146666]: Plugin ftp loaded
[ INFO] [1566399971.804688105]: Plugin ftp initialized
[ INFO] [1566399971.804796517]: Plugin global_position loaded
[ INFO] [1566399971.825743887]: Plugin global_position initialized
[ INFO] [1566399971.825840992]: Plugin gps_rtk loaded
[ INFO] [1566399971.828745199]: Plugin gps_rtk initialized
[ INFO] [1566399971.828836758]: Plugin hil loaded
[ INFO] [1566399971.846265662]: Plugin hil initialized
[ INFO] [1566399971.846391338]: Plugin home_position loaded
[ INFO] [1566399971.851023317]: Plugin home_position initialized
[ INFO] [1566399971.851224761]: Plugin imu loaded
[ INFO] [1566399971.859894439]: Plugin imu initialized
[ INFO] [1566399971.860012770]: Plugin landing_target loaded
[ INFO] [1566399971.879229667]: Plugin landing_target initialized
[ INFO] [1566399971.879348849]: Plugin local_position loaded
[ INFO] [1566399971.887706936]: Plugin local_position initialized
[ INFO] [1566399971.887808231]: Plugin log_transfer loaded
[ INFO] [1566399971.891210828]: Plugin log_transfer initialized
[ INFO] [1566399971.891313621]: Plugin manual_control loaded
[ INFO] [1566399971.895910417]: Plugin manual_control initialized
[ INFO] [1566399971.896000912]: Plugin mocap_pose_estimate loaded
[ INFO] [1566399971.901250582]: Plugin mocap_pose_estimate initialized
[ INFO] [1566399971.901365368]: Plugin mount_control loaded
[ INFO] [1566399971.904206386]: Plugin mount_control initialized
[ INFO] [1566399971.904298685]: Plugin obstacle_distance loaded
[ INFO] [1566399971.907193148]: Plugin obstacle_distance initialized
[ INFO] [1566399971.907281326]: Plugin odom loaded
SpawnModel script started
[ INFO] [1566399971.917051319]: Plugin odom initialized
[ INFO] [1566399971.917232555]: Plugin param loaded
[ INFO] [1566399971.920590007, 2.828000000]: Plugin param initialized
[ INFO] [1566399971.920674747, 2.828000000]: Plugin px4flow loaded
[ INFO] [1566399971.929539176, 2.840000000]: Plugin px4flow initialized
[ INFO] [1566399971.929558627, 2.840000000]: Plugin rangefinder blacklisted
[ INFO] [1566399971.929671023, 2.840000000]: Plugin rc_io loaded
[ INFO] [1566399971.934613583, 2.844000000]: Plugin rc_io initialized
[ INFO] [1566399971.934631549, 2.844000000]: Plugin safety_area blacklisted
[ INFO] [1566399971.934722342, 2.844000000]: Plugin setpoint_accel loaded
[ INFO] [1566399971.939224382, 2.848000000]: Plugin setpoint_accel initialized
[ INFO] [1566399971.939384113, 2.848000000]: Plugin setpoint_attitude loaded
[ INFO] [1566399971.953198178, 2.864000000]: Plugin setpoint_attitude initialized
[ INFO] [1566399971.953347015, 2.864000000]: Plugin setpoint_position loaded
[ INFO] [1566399971.971665495, 2.880000000]: Plugin setpoint_position initialized
[ INFO] [1566399971.971767496, 2.880000000]: Plugin setpoint_raw loaded
[ INFO] [1566399971.982858244, 2.892000000]: Plugin setpoint_raw initialized
[ INFO] [1566399971.982956754, 2.892000000]: Plugin setpoint_velocity loaded
[ INFO] [1566399971.990184257, 2.900000000]: Plugin setpoint_velocity initialized
[ INFO] [1566399971.990364268, 2.900000000]: Plugin sys_status loaded
[ INFO] [1566399972.005647302, 2.916000000]: Plugin sys_status initialized
[ INFO] [1566399972.005753210, 2.916000000]: Plugin sys_time loaded
[ INFO] [1566399972.012917440, 2.920000000]: TM: Timesync mode: MAVLINK
[ INFO] [1566399972.015353392, 2.924000000]: Plugin sys_time initialized
[ INFO] [1566399972.015433835, 2.924000000]: Plugin trajectory loaded
[ INFO] [1566399972.022906789, 2.932000000]: Plugin trajectory initialized
[ INFO] [1566399972.022995922, 2.932000000]: Plugin vfr_hud loaded
[ INFO] [1566399972.023847573, 2.932000000]: Plugin vfr_hud initialized
[ INFO] [1566399972.023862131, 2.932000000]: Plugin vibration blacklisted
[ INFO] [1566399972.023940059, 2.932000000]: Plugin vision_pose_estimate loaded
[ INFO] [1566399972.039980398, 2.948000000]: Plugin vision_pose_estimate initialized
[ INFO] [1566399972.040476207, 2.948000000]: Plugin vision_speed_estimate loaded
[INFO] [1566399972.044638, 0.000000]: Loading model XML from ros parameter
[ INFO] [1566399972.049105641, 2.956000000]: Plugin vision_speed_estimate initialized
[ INFO] [1566399972.049789159, 2.960000000]: Plugin waypoint loaded
[ INFO] [1566399972.059195401, 2.968000000]: Plugin waypoint initialized
[ INFO] [1566399972.059305050, 2.968000000]: Plugin wheel_odometry blacklisted
[INFO] [1566399972.059317, 2.964000]: Waiting for service /gazebo/spawn_urdf_model
[ INFO] [1566399972.059802598, 2.968000000]: Plugin wind_estimation loaded
[ INFO] [1566399972.061353391, 2.968000000]: Plugin wind_estimation initialized
[ INFO] [1566399972.061556047, 2.972000000]: Autostarting mavlink via USB on PX4
[ INFO] [1566399972.061976558, 2.972000000]: Built-in SIMD instructions: SSE, SSE2
[ INFO] [1566399972.062048656, 2.972000000]: Built-in MAVLink package version: 2019.8.8
[ INFO] [1566399972.062135423, 2.972000000]: Known MAVLink dialects: common ardupilotmega ASLUAV autoquad icarous matrixpilot paparazzi slugs standard uAvionix ualberta
[ INFO] [1566399972.062210948, 2.972000000]: MAVROS started. MY ID 1.240, TARGET ID 3.1
[INFO] [1566399972.062829, 2.972000]: Calling service /gazebo/spawn_urdf_model
[INFO] [1566399972.113953, 2.992000]: Spawn status: SpawnModel: Successfully spawned entity
[uav2/iris_2_spawn-2] process has finished cleanly
log file: /home/lsgy/.ros/log/6178860a-c3e6-11e9-8240-7085c2a85d67/uav2-iris_2_spawn-2*.log
INFO  [px4_work_queue] creating: wq:hp_default, priority: 87, stack: 16384 bytes
INFO  [px4_work_queue] creating: wq:att_pos_ctrl, priority: 88, stack: 22192 bytes
INFO  [px4_work_queue] creating: wq:rate_ctrl, priority: 99, stack: 16384 bytes
INFO  [init] Mixer: etc/mixers/quad_w.main.mix on /dev/pwm_output0
INFO  [mavlink] mode: Normal, data rate: 4000000 B/s on udp port 14572 remote port 14550
INFO  [mavlink] mode: Onboard, data rate: 4000000 B/s on udp port 14582 remote port 14542
INFO  [logger] logger started (mode=all)
INFO  [logger] Start file log (type: full)
INFO  [logger] Opened full log file: ./log/2019-08-21/15_06_12.ulg
INFO  [mavlink] MAVLink only on localhost (set param MAV_BROADCAST = 1 to enable network)
  MAV_BROADCAST: curr: 0 -> new: 1
[ INFO] [1566399972.809971627, 2.992000000]: udp0: Remote address: 127.0.0.1:14582
INFO  [mavlink] using network interface eno2, IP: 192.168.0.2
INFO  [mavlink] with netmask: 255.255.255.0
INFO  [mavlink] and broadcast IP: 192.168.0.255
[ INFO] [1566399972.810952900, 2.992000000]: CON: Got HEARTBEAT, connected. FCU: PX4 Autopilot
INFO  [px4] Startup script returned successfully
INFO  [mavlink] partner IP: 127.0.0.1

The node list looks like this

lsgx@lsgx:~$ rosnode list
/gazebo
/gazebo_gui
/rosout
/uav0/mavros
/uav0/myapp
/uav1/mavros
/uav1/myapp
/uav2/mavros
/uav2/myapp

Only /uav2/mavros and/uav2/myapp are the nodes running on the remote computer. The node will launch normally.

I think the reason is that the tcp connection from the remote computer to the local computer doesn't work. The log on the remote computer only waits for tcp connections from the simulator. And ekf2 will not initialize.

INFO  [simulator] Waiting for simulator to connect on TCP port 4562

I have set up and view the px4 developer guide version 18.2, and create a model with URDF. Both computers are on the same network, and both ssh and netcat work fine. Please help me what to do

Asked by LSGman on 2019-08-21 23:17:59 UTC

Comments

I found the answer. In single_vehicle_spawn.launch of the launch file running on each machine, the mavlink_addr address name can be directly parameterized to the IP address of the computer.(basic inaddr_any) Thank you.

Asked by LSGman on 2019-08-22 23:49:17 UTC

Answers