Simulator: Added remote host option (#15443)

* Added an option to the Simulator module to connect to remote Gazebo servers.

This is usefull when the Gazebo simulation is running on a different host than the PX4 instance.
For example, we are running instances of PX4 with a companion application in multiple Dockers, for swarming simulations, which then connect to a remote Gazebo server.

A "-t" input argument has been added and can be called from the rcS startup script as: simulator start -t "192.168.178.122" $simulator_tcp_port

* _tcp_remote_ipaddr defaults to nullptr. This way testing against nullptr it can be determined if localhost or remote host is desired by the user.
* Documented the option in usage().

Signed-off-by: Peter Blom <peterblom.mail@gmail.com>
This commit is contained in:
Muesli_Reep
2021-01-10 18:37:37 +01:00
committed by GitHub
parent 763c3b8fda
commit fe7908feb0
3 changed files with 15 additions and 0 deletions
+7
View File
@@ -79,6 +79,12 @@ int Simulator::start(int argc, char *argv[])
_instance->set_port(atoi(argv[4]));
}
if (argc == 5 && strcmp(argv[2], "-t") == 0) {
_instance->set_ip(InternetProtocol::TCP);
_instance->set_tcp_remote_ipaddr(argv[3]);
_instance->set_port(atoi(argv[4]));
}
_instance->run();
return 0;
@@ -95,6 +101,7 @@ static void usage()
PX4_INFO("Start simulator: simulator start");
PX4_INFO("Connect using UDP: simulator start -u udp_port");
PX4_INFO("Connect using TCP: simulator start -c tcp_port");
PX4_INFO("Connect to a remote server using TCP: simulator start -t ip_addr tcp_port");
}
__BEGIN_DECLS