Running

Note

If you received a license security dongle, make sure to have it attached.

You can always execute the supplied binaries directly, but for convenience we provide little helper scripts that take care of some required command line options.

Pilot

In Windows execute the bin/run_pilot.bat file either in a terminal or by double clicking on it.

In Ubuntu:

cd ~/pilot
./run_pilot.sh

Additional options can be provided to the scripts as such:

./run_pilot.sh --LocalPlanner.vel_limits.max_trans_vel 0.5
run_pilot.bat --LocalPlanner.vel_limits.max_trans_vel 0.5

Permanent options can be set by writing config files in config/local, see Configuration. For example a file config/local/LocalPlanner.json:

{
        "vel_limits": {
                "max_trans_vel": 0.5
        }
}

will set the default maximum velocity of the platform to 0.5 m/s.

Simulation

The simulation binary will simulate the kinematics as well as sensor data without accessing any hardware. Otherwise there is no difference to run_pilot.sh.

In Windows execute the bin/run_pilot_simulation.bat file either in a terminal or by double clicking on it.

In Ubuntu:

cd ~/pilot
./run_pilot_simulation.sh

Replay

To run PlatformPilot in replay mode use the provided script:

cd ~/pilot
./run_pilot_replay.sh

It will try to connect to a running VNX player on /tmp/vnxplayer.sock. Replay mode is used to view what happened during a recorded drive. Similar to simulation mode there is no hardware access.

Data Recording

To make a data recording use the provided script:

cd ~/pilot
./record_data.sh.sh

The resulting file will be in user/data/.

Parameters

It is possible to override the default configuration by either writing local config files in config/local/ or by specifying parameters on the command line.

The following configuration options can be set for most executables above:

self_test
If to perform a self test at the beginning. Will exit if it fails. (default = true)
auto_shutdown
If to automatically shutdown the host machine in case platform is being turned off via the key switch. (default = true)
with_hardware
If hardware modules should be started, ie. hardware is present on this machine and not on a remote. (default = true)
enable_joystickmng
If to enable joystick input. (default = true)
enable_http_server
If to enable HTTP server on port 8888. Needed for HTTP API, WebGUI, etc. (default = true)
enable_taskhandler
If to enable the TaskHandler module. (default = true)
enable_movechainhandler
If to enable the MovechainHandler module. (default = true)
enable_opcua_server
If to enable the vnx.opc_ua.Server module. (default = false)
opcua_proxy_map
A map of vnx.opc_ua.Proxy modules to start, [module name => server address].
vnx_proxy_map
A map of vnx.Proxy modules to start, [module name => server address].
vnx_server_map
A map of vnx.Server modules to start, [module name => server endpoint].
vnx_jrpc_server_map
A map of vnx.JRPC_Server modules to start, [module name => server endpoint].
footprint
Footprint of the platform as a JSON object, see pilot.Footprint.
platform
Static platform information as a JSON object, see pilot.PlatformInfo.

By default the following servers are started:

vnx.Server on .pilot_main.sock
Supports connections from the local machine via UNIX domain sockets, using the native VNX binary protocol. Almost all permissions are granted to clients connecting to this server, ie. no logins required. A vnx.Proxy is needed to connect. On Linux systems only.
vnx.Server on 0.0.0.0:5555
Supports connections from anywhere via TCP/IP sockets, using the native VNX binary protocol. Login is required to gain anything more than read-only permissions, see User Management. A vnx.Proxy is needed to connect.

In general, most applications accept the following command line arguments:

  • The -h switch displays a small help message and exits.
  • The -d switch increases the debug level of the terminal output
  • The -c switch accepts a directory with configuration files. You can specify several directories by repeating the switch or by providing multiple directories at once. The order of directories matters, they are read from left to right, potentially overriding previous values.
  • Finally, you can set specific config values directly on the command line. See Configuration for details.

Maps

The active Grid Map and Road Map are stored in the ~/pilot/ folder as current_grid_map.grid and current_road_map.road.

They can either be copied there by hand or uploaded via the GTK GUI.