Understanding Panels.


Panels are modules of functionality within BRAIN. They consist of discrete bits of functionality such as navigation, speed, speech, sensor feedback, etc. Panels can be moved, resized, hidden, and shown to match your particular needs. While they are treated individually from a UI perspective, they work together to comprise BRAIN.

A few notes about Panels:

Panels have default titles which are shown at the top of each Panel. (For example the main camera has the title: Camera (Primary).) Panel titles can be changed via the Panel settings. (Leaving the panel title blank causes no title to be displayed).

To move a panel, simply click and drag the mouse on the Panels’ title bar, and hold it down while dragging the mouse. To resize a Panel, click and drag the mouse on the re-size arrow on the bottom right of a panel.

See a short video demonstrating panel moving and resizing.

Panels can be “snapped” to a grid for fine adjustment and layout. (See the Panel and Look and Feel settings for for more information.)

Below (shown alphabetically) are the 13 panels that BRAIN currently supports.



Camera (Primary) - View video from the Robots’ primary camera.

Camera primary on


The primary camera panel displays video from the Robots primary camera. (In most cases the Robot will only have one camera). This video feed can be shown locally, or streamed to a remote client. See the Streaming Video section for more information on streaming.

To access the primary camera’s menu, simply hover the mouse on the thin blue bar just below the panels text. This will expose the primary camera’s options.

Here you can start and stop the camera, start and stop the video server (this is the video server remote clients connect to), adjust camera settings, and enable diagnostics in the event of video sever issues.

Camera Primary with menu

There are also two buttons that allow you to manually capture a single frame of video, or video footage. Finally, there is a motion detection checkbox that if checked will cause the Robot to watch for frame changes, and if motion is detected, it will capture a frame of video (see the motion detection settings for additional configuration options.)

(Note: additional camera settings such as frame rate, can be set via the video settings option in BRAIN).



Camera (Secondary) - View video from the Robots’ secondary camera.

In the event you have a second camera installed, you can view the secondary camera feed via the secondary camera panel. This panel works much the same way as the primary camera except that you can only stream video via the one camera at a time.

Camera Secondary



Navigation (Cardinal) - Manually navigate the Robot via a cardinal navigation control.

Cardinal Navigation

This panel provides manual navigation control of your Robot using a cardinal (north, south, east, west) navigation method, as well as left and right rotate. The Robot can navigation can also bee controlled manually via the Joystick navigation panel (below).



Digital Out Panel - Toggle the state of the digital out ports.


Digital Out

This panel allows you to toggle the 16 digital out ports on the Robot. By default, port 15 and 16 are used by the headlights, and Robot blue-“eye”. This panel allows you to turn those lights on and off, as well as allows you to control additional devices connected to these ports. (Like all panels, the digital out ports can be controlled via scripts, which allows you to make the lights flash, etc).



Navigation (Joystick) - Manually navigate the Robot via a joystick navigation control. (Hardware and virtual joysticks are supported).

Joystick Navigation

This panel provides manual navigation control of your Robot using a joystick interface. If a physical joystick is connected (set via the hardware settings), that joystick value will be shown on this panel. This panel can also be used as a virtual joystick simply by using the mouse within this panel. The Robot can navigation can also bee controlled manually via the Cardinal navigation panel (above).



Media Player - Play and display media (video, audio, images.

Media Player Playing

The media player plays audio, video, and shows images. Generally these media files are played via scripts. For an example of video playing script, see the script called play video. The menu bar (play, pause, etc) can be toggled on or off depending on your needs via the MEDIA PLAYER CONTROLS ON|OFF script command.

Note: Media will still play even if the media player panel is not visible.



Modes

Modes

Currently there is one mode supported in BRAIN - Autonomous mode. Autonomous mode allows your Robot to “wander” around by itself, using it’s sensors to avoid objects. The safety checkbox determines whether the Robot should obey its sensors. If safety is checked the Robot will obey its sensors, if it is unchecked, it will not. It is advised that you leave the Safety checkbox checked. The safety checkbox can be toggled via scripts via the SAFETY ON|OFF script command.




Sensors (Graphical) - View the state of the Robots’ skirt sensors graphically.

Sensors Graphical

The graphical sensors panel shows the state of the Robots’ skirt sensors. The longer the graphical representation of a sensor, the further away the Robot is from an object. The shorter the graphical representation of a sensor, the closer the Robot is to an object. If the Robot get within a few inches on an object, the sensor graphic turns red.

Unlike the numeric sensor panel, the graphical sensor panel only shows the skirt sensors. The numeric sensors panel shows all the sensors.

Note: Sensor values can be used in scripts be reading the $SENSORx (where x is the sensor number) system variable.



Sensors (Numeric) - View the state of all the Robots’ sensors numerically.

Sensors Numeric

The numeric sensors panel shows the state of the Robots’ skirt sensors via a numeric value. The longer the graphical representation of a sensor, the further away the Robot is from an object. The shorter the graphical representation of a sensor, the closer the Robot is to an object. If the Robot get within a few inches on an object, the sensor graphic turns red.

Unlike the graphical sensor panel, the numeric sensor panel only shows all of the sensors. The graphical sensors panel shows only the skirt sensors.

Note: Sensor values can be used in scripts be reading the $SENSORx (where x is the sensor number) system variable.



Services - Start or stop specific Robot services.

Services

The services panel allows you to start or stop specific Robot services. There are two. The general Robot services starts or stops the M3 controller - the hardware device that controls the Robots motors and sensors. If the general Robot services are not started, the Robot will not be able to move or sense.

The Robot server allows clients to connect to the Robot over the network (configure via the Network settings). If running, a remote PC client running BRAIN can connect to the Robot to control it, view its video, etc.



Speech - Send text to the Robot to have it speak.

Speech with menu

Text can be manually typed in or common, often-used phrases can selected from a drop down menu (defined via the speech settings). This text is converted to speech by the Robot and spoken. To rapidly compose sentences using pre-selected phrases, check the Auto-insert period and space checkbox.



Speed - Set the speed of the Robots’ wheels.

Wheel Speed

This sets the speed of the Robots wheels. All wheels are set to the same speed. Wheel speeds cannot be set individually. (The maximum speed can be adjusted via the Movement settings.)

If the Auto checkbox is set, the Robot will automatically adjust its speed based on proximity to objects as determined by the Robots sensor values.



Commands - Send scripts (or script keywords) to the Robot for processing.

Robot Commands with Menu

Using the Command panel, you can either select from the menu, or type in scripts or commands you want the Robot to process. As new scripts are created via the script editor, there are immediately available in the Robot commands panel.

Note: See the scripting section for details on scrips as well as managing their execution.