I'm having trouble launching nodes remotely using launch files and need some help. Even using ssh keys roslaunch
still cannot find the remote computer (despite it stating that it started the ssh
session). I'm running Indigo with Ubuntu 14.04 on both my workstation computer and the computer aboard the robot, I'm not setting any parameters, and I don't have ROS_HOSTNAME
set, only ROS_IP
which is 192.168.1.103
for the workstation (master) and 192.168.1.212
for the robot. These are the steps that have been taken so far:
- Went through the ROS Network Setup Tutorial and made sure that the machines can ping each other and used
netcat
to check that communication over ports is possible. - Create an RSA ssh key to make it possible to ssh into a machine without a password (and checked it).
- Used
ssh -oHostKeyAlgorithms='ssh-rsa' host
when making the first connection as shown in this answer - Followed the example in the
roslaunch
machine
tag wiki. - Tried using the
ROSLAUNCH_SSH_UNKNOWN
environment variable - Tried steps 4 and 5 with a DSA key, but still no luck.
The robot can still be ssh
ed into and can have code run from there and everything works normally (can see data coming in from topics from the robot, etc.) so I don't think that it's a network issue (although it could be). It's just the launching using machine
tags that doesn't work. Here's the test launch file (talker.launch
) that I've been using:
<launch>
<machine name="robot" user="ngcneuro" address="red2" default="true" env-loader="/opt/ros/indigo/env.sh"/>
<node pkg="beginner_tutorials" name="talker" type="talker.py" machine="robot" />
</launch>
My package is called test_machine
and here's what ROS master
is telling me after running:
$ roslaunch test_machine talker.launch
... logging to /home/ngcneuro/.ros/log/7ce15492-50a4-11e7-8d3e-40167e358fbd/roslaunch-NGNeuromorphic1-14982.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.
started roslaunch server http://192.168.1.103:59087/
remote[red2-0] starting roslaunch
remote[red2-0]: creating ssh connection to red2:22, user[ngcneuro]
/usr/lib/python2.7/dist-packages/Crypto/Cipher/blockalgo.py:141: FutureWarning: CTR mode needs counter parameter, not IV
self._cipher = factory.new(key, *args, **kwargs)
launching remote roslaunch child with command: [env ROS_MASTER_URI=http://192.168.1.103:11311 /opt/ros/indigo/env.sh roslaunch -c red2-0 -u http://192.168.1.103:59087/ --run_id 7ce15492-50a4-11e7-8d3e-40167e358fbd]
remote[red2-0]: ssh connection created
SUMMARY
========
PARAMETERS
* /rosdistro: indigo
* /rosversion: 1.11.21
MACHINES
* robot
NODES
/
talker (beginner_tutorials/talker.py)
ROS_MASTER_URI=http://192.168.1.103:11311
core service [/rosout] found
^C[red2-0] killing on exit
^Cerror launching on [red2-0, uri http://robot:39508/]: Interrupted system call
Launch of the following nodes most likely failed: beginner_tutorials/talker.py
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^X^X^X^C^C^C^Cremote[red2-0]: unable to contact [red2] to shutdown remote processes!
shutting down processing monitor...
... shutting down processing monitor complete
done
It takes several minutes to regain control of the terminal, even after using Ctrl-C
several times. And here's my roslaunch
log:
[roslaunch][INFO] 2017-06-13 18:57:26,124: Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
[roslaunch][INFO] 2017-06-13 18:57:26,130: Done checking log file disk usage. Usage is <1GB.
[roslaunch][INFO] 2017-06-13 18:57:26,131: roslaunch starting with args ['/opt/ros/indigo/bin/roslaunch', 'test_machine', 'talker.launch']
[roslaunch][INFO] 2017-06-13 18:57:26,132: roslaunch env is {'CPU_ONLY': '0', 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/', 'XDG_SESSION_ID': 'c2', 'MANDATORY_PATH': '/usr/share/gconf/ubuntu.mandatory.path', 'CUDA_MINOR_NUM': '5', 'COMPIZ_CONFIG_PROFILE': 'ubuntu', 'CARLSIM_FASTMATH': '0', 'JOB': 'dbus', 'SESSION': 'ubuntu', 'XMODIFIERS': '@im=ibus', 'JAVA_HOME': '/usr/lib/jvm/java-8-oracle', 'TURTLEBOT_INTERACTIONS_LIST': '[turtlebot_bringup/admin.interactions, turtlebot_bringup/documentation.interactions, turtlebot_bringup/pairing.interactions, turtlebot_bringup/visualisation.interactions]', 'SELINUX_INIT': 'YES', 'XDG_RUNTIME_DIR': '/run/user/1000', 'PYTHONPATH': '/home/ngcneuro/ca_ws/devel/lib/python2.7/dist-packages:/opt/ros/indigo/lib/python2.7/dist-packages:/usr/lib/pymodules/python2.7/:/home/ngcneuro/opt/nest/lib/python2.7/site-packages', 'COMPIZ_BIN_PATH': '/usr/bin/', 'J2SDKDIR': '/usr/lib/jvm/java-8-oracle', 'ROS_ROOT': '/opt/ros/indigo/share/ros', 'CUDA_INSTALL_PATH': '/usr/local/cuda-6.5', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-MzFRSBiRBN', 'ORBIT_SOCKETDIR': '/tmp/orbit-ngcneuro', 'DEFAULTS_PATH': '/usr/share/gconf/ubuntu.default.path', 'DESKTOP_SESSION': 'ubuntu', 'GTK_MODULES': 'overlay-scrollbar:unity-gtk-module', 'INSTANCE': '', 'TURTLEBOT_GAZEBO_WORLD_FILE': '/opt/ros/indigo/share/turtlebot_gazebo/worlds/playground.world', 'TURTLEBOT_3D_SENSOR': 'asus_xtion_pro', 'TURTLEBOT_RAPP_PACKAGE_BLACKLIST': '[]', 'XDG_MENU_PREFIX': 'gnome-', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:', 'TURTLEBOT_TYPE': 'turtlebot', 'BASH_FUNC_module%%': '() { eval `/usr/bin/modulecmd bash $*`\n}', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'TURTLEBOT_MAP_FILE': '/opt/ros/indigo/share/turtlebot_navigation/maps/willow-2010-02-18-0.10.yaml', 'CPATH': '/home/ngcneuro/ca_ws/devel/include:/opt/ros/indigo/include', 'USER': 'ngcneuro', 'XDG_VTNR': '7', 'CMAKE_PREFIX_PATH': '/home/ngcneuro/ca_ws/devel:/opt/ros/indigo', 'AMDAPPSDKROOT': '/opt/AMDAPP', 'XAUTHORITY': '/home/ngcneuro/.Xauthority', 'LANGUAGE': 'en_US', 'SESSION_MANAGER': 'local/NGNeuromorphic1:@/tmp/.ICE-unix/2896,unix/NGNeuromorphic1:/tmp/.ICE-unix/2896', 'CARLSIM_LIB_DIR': '/opt/CARL/CARLsim', 'QT_QPA_PLATFORMTHEME': 'appmenu-qt5', 'DISPLAY': ':0', 'CLUTTER_IM_MODULE': 'xim', 'WINDOWID': '56623108', 'GPG_AGENT_INFO': '/run/user/1000/keyring-S68IVz/gpg:0:1', 'MODULESHOME': '/usr/share/modules', 'GDMSESSION': 'ubuntu', 'SHELL': '/bin/bash', 'XDG_SEAT_PATH': '/org/freedesktop/DisplayManager/Seat0', 'ROS_PACKAGE_PATH': '/home/ngcneuro/ca_ws/src:/opt/ros/indigo/share:/opt/ros/indigo/stacks', 'TURTLEBOT_BASE': 'kobuki', '_': '/opt/ros/indigo/bin/roslaunch', 'MODULEPATH': '/etc/environment-modules/modules:/usr/share/modules/versions:/usr/Modules/$MODULE_VERSION/modulefiles:/usr/share/modules/modulefiles', 'GTK_IM_MODULE': 'ibus', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg', 'TURTLEBOT_BATTERY': '/sys/class/power_supply/BAT0', 'TURTLEBOT_GAZEBO_MAP_FILE': '/opt/ros/indigo/share/turtlebot_gazebo/maps/playground.yaml', 'ROS_MASTER_URI': 'http://192.168.1.103:11311', 'COLORTERM': 'gnome-terminal', '_LMFILES_': '/usr/share/modules/modulefiles/zds/zds-1.1.0.60', 'CARLSIM_CUOPTLEVEL': '3', 'MODULE_VERSION': '3.2.10', 'XDG_GREETER_DATA_DIR': '/var/lib/lightdm-data/ngcneuro', 'QT4_IM_MODULE': 'xim', 'TERMINATOR_UUID': 'urn:uuid:54cc3f7f-1b2b-40a6-b68f-8f0873775c0a', 'PKG_CONFIG_PATH': '/home/ngcneuro/ca_ws/devel/lib/pkgconfig:/opt/ros/indigo/lib/pkgconfig:/opt/ros/indigo/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib/pkgconfig', 'ROS_IP': '192.168.1.103', 'ZDS_ROOT': '/opt/qualcomm/zeroth/zds-1.1.0.60', 'HOME': '/home/ngcneuro', 'LD_LIBRARY_PATH': '/home/ngcneuro/ca_ws/devel/lib:/opt/ros/indigo/lib:/opt/ros/indigo/lib/x86_64-linux-gnu:/usr/local/cuda-6.5/lib64:/opt/qualcomm/zeroth/zds-1.1.0.60/lib:/opt/AMDAPP/lib/x86_64:/opt/AMDAPP/lib/x86:/usr/local/lib', 'LANG': 'en_US.UTF-8', 'ROS_LOG_FILENAME': '/home/ngcneuro/.ros/log/7ce15492-50a4-11e7-8d3e-40167e358fbd/roslaunch-NGNeuromorphic1-14982.log', 'TURTLEBOT_SIMULATION': 'false', 'TEXTDOMAIN': 'im-config', 'CUDA_HOME': '/usr/local/cuda-6.5', 'ROSLAUNCH_SSH_UNKNOWN': '0', 'TURTLEBOT_SERIAL_PORT': '/dev/kobuki', 'XDG_CURRENT_DESKTOP': 'Unity', 'TURTLEBOT_NAME': 'turtlebot', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'GNOME_KEYRING_PID': '2690', 'ROS_ETC_DIR': '/opt/ros/indigo/etc/ros', 'J2REDIR': '/usr/lib/jvm/java-8-oracle/jre', 'ROS_DISTRO': 'indigo', 'CARLSIM_CUDAVER': '6.5', 'ROSLISP_PACKAGE_DIRECTORIES': '/home/ngcneuro/ca_ws/devel/share/common-lisp', 'QT_IM_MODULE': 'ibus', 'LOGNAME': 'ngcneuro', 'XDG_SEAT': 'seat0', 'GNOME_KEYRING_CONTROL': '/run/user/1000/keyring-S68IVz', 'PATH': '/opt/ros/indigo/bin:/usr/local/cuda-6.5/bin:/usr/local/texlive/2015/bin/x86_64-linux/:/opt/qualcomm/zeroth/zds-1.1.0.60/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin', 'TERM': 'xterm', 'XDG_SESSION_PATH': '/org/freedesktop/DisplayManager/Session0', 'TURTLEBOT_STACKS': 'hexagons', 'TURTLEBOT_RAPP_PACKAGE_WHITELIST': '[rocon_apps, turtlebot_rapps]', 'SESSIONTYPE': 'gnome-session', 'IM_CONFIG_PHASE': '1', 'GIO_LAUNCHED_DESKTOP_FILE_PID': '31090', 'GIO_LAUNCHED_DESKTOP_FILE': '/usr/share/applications/terminator.desktop', 'MODULE_VERSION_STACK': '3.2.10', 'CUDA_MAJOR_NUM': '3', 'SSH_AUTH_SOCK': '/run/user/1000/keyring-S68IVz/ssh', 'TEXTDOMAINDIR': '/usr/share/locale/', 'DERBY_HOME': '/usr/lib/jvm/java-8-oracle/db', 'UPSTART_SESSION': 'unix:abstract=/com/ubuntu/upstart-session/1000/2693', 'OLDPWD': '/home/ngcneuro/ca_ws/src/test_laser', 'LOADEDMODULES': 'zds/zds-1.1.0.60', 'GDM_LANG': 'en_US', 'SHLVL': '1', 'PWD': '/home/ngcneuro/ca_ws/src/test_machine'}
[roslaunch][INFO] 2017-06-13 18:57:26,132: starting in server mode
[roslaunch.parent][INFO] 2017-06-13 18:57:26,132: starting roslaunch parent run
[roslaunch][INFO] 2017-06-13 18:57:26,133: loading roscore config file /opt/ros/indigo/etc/ros/roscore.xml
[roslaunch][INFO] 2017-06-13 18:57:26,355: Added core node of type [rosout/rosout] in namespace [/]
[roslaunch.config][INFO] 2017-06-13 18:57:26,355: loading config file /home/ngcneuro/ca_ws/src/test_machine/launch/talker.launch
[roslaunch][INFO] 2017-06-13 18:57:26,357: Added node of type [beginner_tutorials/talker.py] in namespace [/]
[roslaunch][INFO] 2017-06-13 18:57:26,357: ... selected machine [robot] for node of type [beginner_tutorials/talker.py]
[roslaunch.pmon][INFO] 2017-06-13 18:57:26,370: start_process_monitor: creating ProcessMonitor
[roslaunch.pmon][INFO] 2017-06-13 18:57:26,371: created process monitor <ProcessMonitor(ProcessMonitor-1, initial daemon)>
[roslaunch.pmon][INFO] 2017-06-13 18:57:26,371: start_process_monitor: ProcessMonitor started
[roslaunch.parent][INFO] 2017-06-13 18:57:26,371: starting parent XML-RPC server
[roslaunch.server][INFO] 2017-06-13 18:57:26,371: starting roslaunch XML-RPC server
[roslaunch.server][INFO] 2017-06-13 18:57:26,372: waiting for roslaunch XML-RPC server to initialize
[xmlrpc][INFO] 2017-06-13 18:57:26,372: XML-RPC server binding to 0.0.0.0:0
[xmlrpc][INFO] 2017-06-13 18:57:26,373: Started XML-RPC server [http://192.168.1.103:59087/]
[xmlrpc][INFO] 2017-06-13 18:57:26,373: xml rpc node: starting XML-RPC server
[roslaunch][INFO] 2017-06-13 18:57:26,385: started roslaunch server http://192.168.1.103:59087/
[roslaunch.parent][INFO] 2017-06-13 18:57:26,385: ... parent XML-RPC server started
[roslaunch.remote][INFO] 2017-06-13 18:57:26,386: remote[red2-0] starting roslaunch
[roslaunch][INFO] 2017-06-13 18:57:26,386: remote[red2-0] starting roslaunch
[roslaunch][INFO] 2017-06-13 18:57:26,386: remote[red2-0]: creating ssh connection to red2:22, user[ngcneuro]
[roslaunch.remoteprocess][INFO] 2017-06-13 18:57:26,387: remote[red2-0]: invoking with ssh exec args [/opt/ros/indigo/env.sh roslaunch -c red2-0 -u http://192.168.1.103:59087/ --run_id 7ce15492-50a4-11e7-8d3e-40167e358fbd]
[paramiko.transport][INFO] 2017-06-13 18:57:26,428: Connected (version 2.0, client OpenSSH_6.6.1p1)
[paramiko.transport][INFO] 2017-06-13 18:57:26,555: Authentication (publickey) successful!
[roslaunch][INFO] 2017-06-13 18:57:26,574: launching remote roslaunch child with command: [env ROS_MASTER_URI=http://192.168.1.103:11311 /opt/ros/indigo/env.sh roslaunch -c red2-0 -u http://192.168.1.103:59087/ --run_id 7ce15492-50a4-11e7-8d3e-40167e358fbd]
[paramiko.transport][INFO] 2017-06-13 18:57:26,674: Secsh channel 1 opened.
[roslaunch][INFO] 2017-06-13 18:57:26,678: remote[red2-0]: ssh connection created
[roslaunch.pmon][INFO] 2017-06-13 18:57:26,679: ProcessMonitor.register[red2-0]
[roslaunch.pmon][INFO] 2017-06-13 18:57:26,679: ProcessMonitor.register[red2-0] complete
[roslaunch.server][INFO] 2017-06-13 18:57:27,177: child [red2-0] registered with server, uri[http://robot:39508/]
[roslaunch][INFO] 2017-06-13 18:57:27,181: master.is_running[http://192.168.1.103:11311]
[roslaunch][INFO] 2017-06-13 18:57:27,184: master.is_running[http://192.168.1.103:11311]
[roslaunch][INFO] 2017-06-13 18:57:27,186: ROS_MASTER_URI=http://192.168.1.103:11311
[roslaunch][INFO] 2017-06-13 18:57:27,190: setting /roslaunch/uris/host_192_168_1_103__59087' to http://192.168.1.103:59087/
[roslaunch][INFO] 2017-06-13 18:57:27,195: load_parameters starting ...
[roslaunch][INFO] 2017-06-13 18:57:27,199: ... load_parameters complete
[roslaunch][INFO] 2017-06-13 18:57:27,200: launch_nodes: launching local nodes ...
[roslaunch][INFO] 2017-06-13 18:57:27,200: launch_nodes: launching remote nodes ...
[roslaunch.pmon][INFO] 2017-06-13 18:59:30,777: ProcessMonitor.shutdown <ProcessMonitor(ProcessMonitor-1, started daemon 139629411092224)>
[roslaunch.pmon][INFO] 2017-06-13 18:59:30,799: ProcessMonitor._post_run <ProcessMonitor(ProcessMonitor-1, started daemon 139629411092224)>
[roslaunch.pmon][INFO] 2017-06-13 18:59:30,799: ProcessMonitor._post_run <ProcessMonitor(ProcessMonitor-1, started daemon 139629411092224)>: remaining procs are [<roslaunch.remoteprocess.SSHChildROSLaunchProcess object at 0x7efe01b43850>]
[roslaunch.pmon][INFO] 2017-06-13 18:59:30,800: ProcessMonitor exit: killing red2-0
[roslaunch][INFO] 2017-06-13 18:59:30,800: [red2-0] killing on exit
[roslaunch.pmon][ERROR] 2017-06-13 18:59:50,778: shutdown_process_monitor: ProcessMonitor shutdown failed!
[roslaunch][ERROR] 2017-06-13 19:00:05,826: error launching on [red2-0, uri http://robot:39508/]: Interrupted system call
[roslaunch][ERROR] 2017-06-13 19:00:05,827: Launch of the following nodes most likely failed: beginner_tutorials/talker.py
[roslaunch][INFO] 2017-06-13 19:00:05,827: ... launch_nodes complete
[roslaunch.pmon][INFO] 2017-06-13 19:00:05,827: registrations completed <ProcessMonitor(ProcessMonitor-1, started daemon 139629411092224)>
[roslaunch.parent][INFO] 2017-06-13 19:00:05,827: ... roslaunch parent running, waiting for process exit
[roslaunch][INFO] 2017-06-13 19:00:05,828: spin
[roslaunch][ERROR] 2017-06-13 19:03:45,303: remote[red2-0]: unable to contact [red2] to shutdown remote processes!
[roslaunch.remoteprocess][INFO] 2017-06-13 19:03:45,303: remote[red2-0]: closing ssh connection
[roslaunch.remoteprocess][INFO] 2017-06-13 19:03:45,303: remote[red2-0]: ssh connection closed
[roslaunch.pmon][INFO] 2017-06-13 19:03:45,304: ProcessMonitor exit: cleaning up data structures and signals
[roslaunch.pmon][INFO] 2017-06-13 19:03:45,304: ProcessMonitor exit: pmon has shutdown
[roslaunch][INFO] 2017-06-13 19:03:45,368: process monitor is done spinning, initiating full shutdown
[roslaunch][INFO] 2017-06-13 19:03:45,368: runner.stop()
[roslaunch][INFO] 2017-06-13 19:03:45,368: shutting down processing monitor...
[roslaunch][INFO] 2017-06-13 19:03:45,368: shutting down processing monitor <ProcessMonitor(ProcessMonitor-1, stopped daemon 139629411092224)>
[roslaunch.pmon][INFO] 2017-06-13 19:03:45,368: ProcessMonitor.shutdown <ProcessMonitor(ProcessMonitor-1, stopped daemon 139629411092224)>
[roslaunch][INFO] 2017-06-13 19:03:45,369: ... shutting down processing monitor complete
[roslaunch][INFO] 2017-06-13 19:03:45,369: done
[roslaunch.pmon][INFO] 2017-06-13 19:03:45,369: ProcessMonitor.shutdown <ProcessMonitor(ProcessMonitor-1, stopped daemon 139629411092224)>
[rospy.core][INFO] 2017-06-13 19:03:45,369: signal_shutdown [atexit]
Contents of the /etc/hosts
file
127.0.0.1 localhost
127.0.1.1 NGNeuromorphic1
192.168.1.175 red1
192.168.1.212 red2
192.168.1.208 yellow
Originally posted by jayess on ROS Answers with karma: 6155 on 2017-06-13
Post score: 3