roslaunch process with <machine> tag extremely slow on jetson nano

asked 2019-10-29 11:12:07 -0500

radisc gravatar image

Hello,

i'm trying to launch two processes on a ethernet connected jetson nano. i already configured the ros network and exchanged ssh keys , no password asked on login. I can ssh into the jetson and manually launch the process ( i.e. zed driver and darknet_ros packed in a nice launch file) I can also execute it remotely from a local .sh file ( ssh nvidia@jesto-nano ' roslaunch etc... ' ( not a typo, i screwed it during first config BTW ) .

And setup like this everything works fine, exept the processes on the jetson nano do not stop when i Ctrl+C on the host PC

However, if i try to do things by the letter, everything becames painfully slow, using rqt_image_view i get an image every 20 seconds. Here is my launch file:

<launch>

<!-- Launch vision & detection subsystem on companion Jetson Nano   launch-prefix="gnome-terminal -e" -->
<node pkg="roi_to_bounding_box" type="remote_launch.sh" name="remote_launch" output="log"  />

<group>

<machine name="jesto-nano" address="10.42.0.221" env-loader="/home/nvidia/en_loader.sh" user="nvidia" default="never"/>

<node machine="jesto-nano" name="zed_node" pkg="zed_wrapper" type="zed_wrapper_node" output="screen" >
    <rosparam file="$(find zed_wrapper)/params/common.yaml" command="load" />
    <rosparam file="$(find zed_wrapper)/params/zed.yaml" command="load" />
</node>

<arg name="network_param_file" default="/home/nvidia/catkin_ws/src/darknet_ros/darknet_ros/config/yolov3.yaml"/> <arg name="image" default="/zed_node/rgb/image_rect_color"/>

<!-- Start darknet and ros wrapper -->
<node machine="jesto-nano" pkg="darknet_ros" type="darknet_ros" name="darknet_ros" output="log" >
    <rosparam file="$(find darknet_ros)/config/yolov3.yaml" command="load"/>
    <param name="weights_path"          value="/home/nvidia/catkin_ws/src/darknet_ros/darknet_ros/yolo_network_config/weights" />
    <param name="config_path"           value="/home/nvidia/catkin_ws/src/darknet_ros/darknet_ros/yolo_network_config/cfg" />
    <remap from="camera/image_raw"      to="/zed_node/rgb/image_rect_color" />
</node>

</group>

</launch>

And here is the env_loader file from the jetson

  #!/bin/bash

  export ROS_IP=10.42.0.221
  export ROS_MASTER_URI=http://10.42.0.1:11311
  export ROSLAUNCH_SSH_UNKNOWN=1
  export ROS_HOSTNAME="jesto-nano"
  . /opt/ros/melodic/setup.bash
  . /home/nvidia/catkin_ws/devel/setup.bash
  exec "$@"

Moreover, tryng to launch something simple like video_stream_opencv in the exact same manner works like a charm.

<group>

<machine name="jesto-nano" address="10.42.0.221" env-loader="/home/nvidia/en_loader.sh" user="nvidia" default="never"/>
<node machine="jesto-nano" name="stream_opencv" pkg="video_stream_opencv" type="video_stream" output="screen" >
</node>
</group>

What am i doing wrong??

edit retag flag offensive close merge delete