Connecting Eclipse Java Simulation to a remote Gazebo instance

I am trying to run Gazebo on my desktop PC and Eclipse on my laptop and connect remotely, but Eclipse doesn’t connect. I’m not sure whether there’s build properties I need to provide to Eclipse, or what.

Based on this page 1, I tried setting either roboRIO-TEAM-FRC.local or roboRIO-TEAM-FRC.lan in my /etc/hosts file on the laptop (eclipse machine), but those don’t seem to matter. Based on the note at the bottom of these pages [2, 3], I tried exporting GAZEBO_MASTER_URI and GAZEBO_IP. It seems like the MASTER_URI is the right one:

export GAZEBO_MASTER_URI=172.16.x.y:11345

When I set that and then launch Eclipse from the same terminal window (not from the OS’ program launcher), it tries to connect, but gives a “Connection refused” error:


     [echo] [simulate] Running Code.
     [java] WARNING|Gazebo Transport: Using custom host: 172.16.1.15
     [java] resources = |sun.misc.CompoundEnumeration@1e26db8|
     [java] platform: /Linux/i386/
     [java] java.net.ConnectException: Connection refused (Connection refused)
     [java] 	at java.net.PlainSocketImpl.socketConnect(Native Method)
     [java] 	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
     [java] 	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
     [java] 	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
     [java] 	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
     [java] 	at java.net.Socket.connect(Socket.java:589)
     [java] 	at java.net.Socket.connect(Socket.java:538)
     [java] 	at java.net.Socket.<init>(Socket.java:434)
     [java] 	at java.net.Socket.<init>(Socket.java:211)
     [java] 	at org.gazebosim.transport.Connection.connect(Connection.java:51)
     [java] 	at org.gazebosim.transport.Subscriber.handle_connect(Subscriber.java:57)
     [java] 	at org.gazebosim.transport.Subscriber.access$000(Subscriber.java:20)
     [java] 	at org.gazebosim.transport.Subscriber$1.run(Subscriber.java:47)
     [java] 	at java.lang.Thread.run(Thread.java:748)

I assume that the sim_ds program should run on the laptop (alongside Eclipse) since that’s where I want to plug in my controller. But I’m not entirely clear on what other ports or data paths exist between Eclipse, sim_ds, and Gazebo.

Ultimately I’d like to get something like this multi-user simulation going for the team that I’m helping.

Bump: Anyone have any advice on this?

Bumpitty-bump. Little help?

While I can’t speak to your problem directly, I believe gazebo is generally not expected to work right now (or if it does, then it’s really annoying to do). There’s someone working on updates for 2018, and I expect there will be a number of simulation-related updates this year.