How to Open Terminals for Remote Nodes using Roslaunch?

asked 2022-04-20 09:14:33 -0500

Mattisha gravatar image

Hi all!

I am trying to open terminals on my local machine (machine A) using roslaunch. I have nodes from machine A and two remote machines (machines B and C) that I want to open and have their own terminals for (to see their ROS output). I can get the local node to open a terminal just fine, but I cannot get the remote machine's nodes to have a terminal open. Below is my roslaunch code:

<launch>
        <machine
                name="B"
                address="192.168.8.104"
                user="BUser"
                env-loader="/opt/ros/melodic/env_remote_B.sh"
                default="true"
                password="BPass"
        />
        <node machine="B" pkg="B_package" type="input_B.py" name="input_base" required="true" output="screen" />
        <node machine="B" pkg="B_package" type="listener.py" name="listener" required="true" output="screen" />

        <machine
                name="C"
                address="192.168.8.200"
                user="CUser"
                env-loader="/opt/ros/melodic/env_remote_C.sh"
                default="true"
                password="CPass"
        />

        <arg name="port"        default="/dev/ttyACM0" />

        <node machine="C" pkg="rosserial_arduino" type="serial_node.py" name="serial_node" args="$(arg port)" required="true" output="screen" />
        <node machine="C" pkg="input_test" type="door_motors.py" name="doors" required="true" />
        <node machine="C" pkg="input_test" type="talker.py" name="talker" required="true" />

        <machine
                name="A"
                address="192.168.8.210"
                user="A"
                env-loader="/opt/ros/melodic/env.sh"
                default="true"
        />

        <node machine="A" pkg="joy" type="joy_node" name="joy_node" required="true" output="screen" launch-prefix="lxterminal -e -hold" />

</launch>

Thanks!

edit retag flag offensive close merge delete