0
$\begingroup$

Gazebo Answers logo

So I have an AWS ec2 instance that I am trying to run gzserver on and then locally I want to connect to it with gzclient. I am working with gazebo-2.2

These are my steps:

AWS instance:

  1. ssh into instance (I try ssh -X, ssh -Y and ssh)

  2. source /usr/share/gazebo/setup.sh

  3. GAZEBO_IP=[aws_public_ip] GAZEBO_MASTER_URI=[aws_public_ip] gzserver worlds/shapes.world

Locally:

  1. source /usr/share/gazebo/setup.sh

  2. GAZEBO_IP=[local_public_ip] GAZEBO_MASTER_URI=[aws_public_ip] gzclient

The client appears to connect to the server. The gazebo GUI appears but the world does not, just a black screen. After some time both the server and client eventually crash.

But if I run both gzserver and gzclient on the same machine (AWS instance or locally) it works.

I setup my AWS instance and my machine to accept all traffic on all ports so I don't think that could be the problem.

Any ideas would help!


Originally posted by catalyst294 on Gazebo Answers with karma: 23 on 2014-09-27

Post score: 2


Original comments

Comment by nkoenig on 2014-09-30:
the GAZEBO_MASTER_URI environment variable need to be of the form: XXX.XXX.XXX.XXX:PORT. For example: 192.168.1.10:12345. Are you setting the port? AWS may also block the port you have specified. You should check the permission on your instance.

Comment by catalyst294 on 2014-09-30:
I have tried with the port and without it. In the question I said I updated the security settings to allow all traffic on all ports, without that the gzclient GUI did not enough show up. Also this is the format of the ip address I am using.

Comment by catalyst294 on 2014-10-05:
@nkoenig so this setup appears to be correct to you? I am not missing any environment variables or running the wrong commands? It seems like there might be an issue with my EC2 setup.

$\endgroup$

1 Answer 1

0
$\begingroup$

Gazebo Answers logo

The following works for me:

Remote machine

GAZEBO_IP=172.23.1.170 GAZEBO_MASTER_URI=172.23.1.170:12345 gzserver

Local machine

GAZEBO_IP=172.23.3.104 GAZEBO_MASTER_URI=172.23.1.170:12345 gzclient

If a similar setup doesn't work, try running gzserver and gzclient with the --verbose option. Also check the logs in ~/.gazebo.


Originally posted by nkoenig with karma: 7676 on 2014-10-07

This answer was ACCEPTED on the original site

Post score: 2


Original comments

Comment by catalyst294 on 2014-10-08:
The problem ended up being a firewall issue. I assumed because the two machines could ping each other the traffic could get through. This link helped me: http://wiki.ros.org/ROS/NetworkSetup . I needed to set my local machine as the DMZ server and set my NAT filter to Open on my router. That plus the correct security group on the instance did the trick. Thanks for the help!

Comment by Hugo Start on 2016-03-18:
With gazebo 7 I have to use GAZEBO_MASTER_URI with an underscore between GAZEBO and MASTER.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.