Skip to main content
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
added 163 characters in body
Source Link

**EDIT: ** Here's the error from robot-state-publisher:

[ERROR] [1530379066.805335879]: Could not find parameter robot_description on parameter server

**EDIT: ** Here's the error from robot-state-publisher:

[ERROR] [1530379066.805335879]: Could not find parameter robot_description on parameter server

Source Link

ROS: joint_state_publisher dies when used in remote launch file

I've been trying to run robot_state_publisher and joint_state_publisher on a remote TX1 running Ubuntu 16.04 and ROS Kinetic. When running the node from a local launch file (manually ssh into the remote machine and run launch file), everything runs fine. However, when I try to run a launch file from my local machine (launches nodes from remote machine using the < machine > tag), I get this error in my terminal:

[192.168.1.237-0]: [robot_state_publisher-28] process has died [pid 26798, exit code 255, cmd /opt/ros/kinetic/lib/robot_state_publisher/state_publisher __name:=robot_state_publisher log:=/home/nvidia/.ros/log/038bfbd8-7afb-11e8-b9f2-ac220b57ae89/robot_state_publisher-28.log].

log file: /home/nvidia/.ros/log/038bfbd8-7afb-11e8-b9f2-ac220b57ae89/robot_state_publisher-28*.log [192.168.1.237-0]: [joint_state_publisher-27] process has died [pid 26780, exit code 1, cmd /opt/ros/kinetic/lib/joint_state_publisher/joint_state_publisher __name:=joint_state_publisher log:=/home/nvidia/.ros/log/038bfbd8-7afb-11e8-b9f2-ac220b57ae89/joint_state_publisher-27.log].

log file: /home/nvidia/.ros/log/038bfbd8-7afb-11e8-b9f2-ac220b57ae89/joint_state_publisher-27*.log

How can I fix this? Here's my launch file:

<launch>

    <!-- ROS parameters -->
    <!-- remote machine (wheatley) -->


    <group>
        <machine name="wheatley" address="192.168.1.237" env-loader="/home/nvidia/catkin_ws/devel/env.sh" user="nvidia" password="nvidia" default="true" />
        <include file="freenect.launch"/>
                    <arg name="depth_registration" value="true" />
                    <arg name="publish_tf" value="false" />
        <include file="mpu_9250.launch" />

        <arg name="model" default="wheatley.urdf"/>

        <param name="robot_description" command="$(find xacro)/xacro --inorder $(arg model)"/>


        <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
                <param name="use_gui" value="false" />
        <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />
            <param name="use_gui" value="false" />


            <!-- IMU frame: just over the RGB camera -->
            <!--node pkg="tf" type="static_transform_publisher" name="rgb_to_imu_tf" args="0 0.0 0 0.0 0.0 0.0 /sensor_link /imu_link 50" /-->

            <arg name="pi/2" value="1.5707963267948966" />
            <arg name="optical_rotate" value="0 0 0 0 0 0" />
            <node pkg="tf" type="static_transform_publisher" name="optical_rotation" args="$(arg optical_rotate) /sensor_link /camera_link 50" /> 

        <include file="rtabmap.launch">
            <arg name="rtabmap_args" value="--delete_db_on_start"/>
        </include>
    </group>

</launch>

Here's the error traceback on the robot:

Traceback (most recent call last):
  File "/home/nvidia/catkin_ws/src/joint_state_publisher/joint_state_publisher/joint_state_publisher", line 474, in <module>
    jsp = JointStatePublisher()
  File "/home/nvidia/catkin_ws/src/joint_state_publisher/joint_state_publisher/joint_state_publisher", line 149, in __init__
    robot = xml.dom.minidom.parseString(description)
  File "/usr/lib/python2.7/xml/dom/minidom.py", line 1928, in parseString
    return expatbuilder.parseString(string)
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 940, in parseString
    return builder.parseString(string)
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 223, in parseString
    parser.Parse(string, True)
TypeError: Parse() argument 1 must be string or read-only buffer, not None