.. _WebGUI: Web GUI ======= You can interact with the platform using the web interface. You can access it using a web browser of your choice (Firefox and Chrome/Chromium are preferred though) by navigating to `:8888`. Toolbar ------- Toolbar consists of three parts: App Menu Navigate through the app. Page title Display information about current page. Action buttons On every page you will see at least the login / logout button. Other buttons will be explained in the corresponding section. Map --- Changing Pilot Modes ^^^^^^^^^^^^^^^^^^^^ Navigation """""""""" To switch into navigation mode: .. image:: ../../share/icons/hicolor/48x48/actions/pilot-navigation-mode.png :width: 48 Navigation mode allows for autonomous operation. If needed initialize the localization first via the `Pose Estimate Tool`, see below. Mapping """"""" To create a new :ref:`GridMap` switch to the mapping mode: .. image:: ../../share/icons/hicolor/48x48/actions/pilot-mapping-mode.png :width: 48 Now you can move the platform around using the hardware joystick. The new :ref:`GridMap` will be created and updated while driving around. When the mapping process is finished you can upload the new map to the platform by clicking the `Save` button. .. note:: Requires permissions of `neo-installer` or `neo-admin` when connecting remotely. Map Update """""""""" To update the current :ref:`GridMap` switch to the map update mode: .. image:: ../../share/icons/hicolor/48x48/actions/pilot-map-update.png :width: 48 The platform needs to be localized before entering this mode. .. note:: Requires permissions of `neo-installer` or `neo-admin` when connecting remotely. Set Goal Pose ^^^^^^^^^^^^^ .. image:: ../../share/icons/hicolor/48x48/actions/pilot-set-goal-pose.png :width: 48 ``Left Click / Tap`` and move to define a new goal pose. Red dot on the icon will indicate this mode is enabled. Set Goal Station ^^^^^^^^^^^^^^^^ .. image:: ../../share/icons/hicolor/48x48/actions/pilot-set-goal-station.png :width: 48 ``Left Click / Tap`` on a map station to set a new goal station. Red dot on the icon will indicate this mode is enabled. Cancel Goal ^^^^^^^^^^^ .. image:: ../../share/icons/hicolor/48x48/actions/pilot-stop.png :width: 48 Will abort the current goal and stop immediately. Pose Estimate Tool ^^^^^^^^^^^^^^^^^^ .. image:: ../../share/icons/hicolor/48x48/actions/pilot-set-pose-estimate.png :width: 48 ``Left Click / Tap`` and move to define a pose estimate (initialize localization). Red dot on the icon will indicate this mode is enabled. Set Pose Tool ^^^^^^^^^^^^^ In simulation mode it is possible to "teleport" the platform via: .. image:: ../../share/icons/hicolor/48x48/actions/pilot-set-pose.png :width: 48 ``Left Click / Tap`` and move to define a pose. Red dot on the icon will indicate this mode is enabled. Data Recording ^^^^^^^^^^^^^^ To start a recording: .. image:: ../../share/icons/hicolor/48x48/actions/pilot-playback-record-start.png :width: 48 .. note:: The resulting file will be in ``user/data/``. To stop a recording: .. image:: ../../share/icons/hicolor/48x48/actions/pilot-playback-record-stop.png :width: 48 .. note:: This button is only enabled when a recording is active. Adjust View ^^^^^^^^^^^ .. image:: ../../share/icons/hicolor/48x48/actions/pilot-move-and-rotate.png :width: 48 This mode activates ovelayed controls for zooming and rotating the view. Also the view can be moved around by ``Left Click / Tap`` and move. Settings ^^^^^^^^ .. image:: ../../share/icons/hicolor/48x48/emblems/pilot-settings.png :width: 48 In this context menu you can toggle visibility of various map layers. .. note:: The same context menu can be accessed by ``Right Click / Tap & Hold``. .. tip:: Displaying Lidar Points and Local Cost Map is CPU intensive. Disable this layers to reduce CPU / GPU usage. Logs ---- On this page the last 100 PlatformPilot log messages can be viewed. It is also possible to stop / resume message polling and filter messages by log level using action buttons. Task Editor ----------- .. cpp::namespace:: LUA_script Introduction ^^^^^^^^^^^^ The TaskEditor offers visual way to create and manage tasks for the PlatformPilots TaskHandler module. It allows users to generate Lua programs using graphical blocks by dragging and linking them. It also offers easy access to the PlatformPilots API. After a little training, the creation of programs is done intuitively. So that even complex sequences of task can be implemented very fast. The TaskEditor is build on top of the `Blockly` library. Further information: * https://developers.google.com/blockly * https://blockly-demo.appspot.com/static/demos/code/index.html * https://blockly.games/ * https://blockly-demo.appspot.com/static/tests/playground.html Toolbox ^^^^^^^ The toolbox is the side menu from whence the user may drag and drop blocks into the workspace. There are two types of blocks with and without return value. Blocks without return value can be used directly to build a program workflow. Blocks with a return value are used as input for other blocks (i.e. variables or parameters). PlatformPilot """"""""""""" The following blocks offer direct access to PlatformPilots API. See :ref:`LUA_script`. **General** .. function:: require(module_name) Load module defined by ``module_name``. .. function:: call(function_name, {args}) Call function named ``function_name``. ``args`` is an array of arguments passed to the function. **Hardware** :cpp:func:`set_relay` :cpp:func:`set_digital_output` :cpp:func:`set_display_text` :cpp:func:`charge` **Information Requests** :cpp:func:`get_position` :cpp:func:`find_station` **Log** :cpp:func:`log_info` :cpp:func:`log_error` :cpp:func:`log_warn` **Movement** *Station List* This block contains a combobox with all stations available in the currently loaded road map. :cpp:func:`move_to_station` :cpp:func:`move_to_position` :cpp:func:`move_to` :cpp:func:`move` :ref:`pilot.goal_options_t` **User Input** :cpp:func:`wait_for_joystick` :cpp:func:`wait_for_joystick_button` :cpp:func:`wait_for_digital_input` :cpp:func:`wait_ms` Core """" The following blocks offer access to basic code concepts like variables, logical expressions and loops. **Functions** **Lists** **Logic** **Loops** **Math** **Text** **Variables**