RoboRealm Options Page
The options page provides access to the configuration information for RoboRealm and is broken into 4 tabs, Video, WebServer, API Server and Other.
Video Tab
- Camera - Provides a list of recognized cameras currently available on your computer. You can select any of the items in
that list to switch to that camera and begin processing its video. Note that this list will appear in other RoboRealm modules
to allow you to access multiple cameras at a time. For Firewire cameras see the Firewire Camera module.
For Internet IP cameras see the HTTP Read module or the DLink Internet Camera.
- Video Source/Format/Display/etc - Once a camera is selected the appropriate buttons will be enabled that provide access
directly to that cameras driver information and allows you to configure low level information (such as video format) that the
camera and camera driver will produce. The most relevant is Video Format which will dictate what format (RGB32, YUV, I420, etc)
that is passed back to RoboRealm. RoboRealm supports many formats but may not support your exact format. If you receive a
format error message box try to change the format to RGB32 or other format that RoboRealm supports.
API Server Tab
- Active RoboRealm API Server - by default RoboRealm does not activate the API server port. To communicate with RoboRealm using
the API this checkbox must be selected.
- Port - the network port that is used to communicate to RoboRealm. The default is 6060.
- Timeout - the connection timeout that is used to wait for new commands. If RoboRealm does not receive any commands within
the specified timeout period it will automatically terminate that port connection.
- Threads - specifies how many simultaneous connections the API server will handle. If you want more than once
machine to connect to RoboRealm switch to a value higher than the default 1.
- Message Log - a log of the interactions that a remote program is sending the RoboRealm API server.
Web Server Tab
- Active RoboRealm Web Server - by default the embedded webserver in RoboRealm is no on. You need to select this checkbox to enable the webserver.
- Port - the webserver network port that RoboRealm will use. The default is 8080. Note that if you change this port
you will need to also change the url used to connect to the RoboRealm webserver too. The port in the url is located inbetween
the hostname and before the first path specification.
- Username - to provide secure access to the webserver you can specify a username that must be typed in (the user will be
prompted) in order for the video stream to be accessible.
- Password - the password required for access. Default is blank which means anyone can view the video stream without requiring authentication.
- Max Connections - specifies how many simultaneous connections the Web server will handle. If you are expecting many users to connect via
the web to a value higher than the default 5.
- Max FPS - the maximum number of frames the webserver will serve to connected clients. This setting can help you decrease your bandwidth requirements.
- Image Quality - allows you to specify how good a quality image is sent out to connected browsers. Setting this to Worst
will send the smallest image but will affect the image quality. Setting it to Best will send a very high quality image but
will use a lot of bandwidth.
- Request Log - a web browser request log to monitor who is connecting to the RoboRealm webserver.
- See RoboRealm WebServer for more information.
Startup Tab
- Instances - by clicking on "Allow Multiple Running Instances" you can have more than
one copy of RoboRealm active within your desktop. By default anytime you double click on a
.robo file the currently running RoboRealm application will focus and execute that file. This
option overrides that behaviour.
- Load RoboFile - by selecting a load option you can change the way RoboRealm first starts
up. By default "Load last program" is set.
- Empty - startup RoboRealm with a new/empty/clear pipeline program.
- Load last program - loads in the very last pipeline program that you were working with. This
configuration is saved to a working.robo file at the last time you exited RoboRealm.
- Load last saved program - loads in the last program you saved. This will overwrite any
changes to the pipeline you were last working on.
- Load this program - loads in the program specified in the below text box. This is a great
way to ensure that regardless of what you do within RoboRealm that it always starts up with the
same pipeline program.
- Camera Check - causes the execution of the processing pipeline (program) to wait until all
cameras specified in the pipeline are active and producing images. A popup will occur that will
indicate that a camera is missing which will then disappear when the camera is found or when
the user clicks to ignore this issue. This is very useful when first starting up the operating
system where RoboRealm may be run before all the cameras have had a chance to initialize. This
can cause instability in the system and cause control issues on the robot during startup.
Kiosk Tab
The Kiosk mode provides a way for you to run RoboRealm without all the controls
that are used to modify and create RoboRealm programs. The Kiosk mode provides
a customized view (can be as simple as just the video feed) to allow just those
parts of the program to be available to the end user. This is very useful when
running RoboRealm in environments where you would prefer no one has access to
reconfigure the running program.
It is worth noting that for an insecure system the Kiosk mode username/password
can be broken by deleting the regedit entry for the RoboRealm program. To
ensure a fully secure system you would have to disable user editing of the
registry.
- "Press CTRL-K to toggle Kiosk mode" - by clicking this button you will immediate
enter into the Kiosk mode of RoboRealm. Note that at any time you can toggle
between Program and Kiosk mode by pressing CTRL-K.
- Contents/Index/Search - to show/hide the module navigation on the left side
of the main RoboRealm interface toggle this checkbox
- Program Pipeline - to show/hide the program listing seen below the video
image and all the edit buttons that are related to the program mode toggle this
checkbox
- Buttons - to show/hide the zoom, option, help and run buttons toggle this
checkbox
- Status - to show/hide the status bar seen at the bottom of the interface
that includes the current mouse location, pixel color at that location and
the current fps toggle this checkbox
- Caption - to remove the blue title caption seen at the top of the interface
toggle this checkbox. Note that without the caption users will not be able to
move, resize or quit using the upper rightmost buttons.
- Allow Keys - if this checkbox is unchecked the user will not be able to use
any keyboard shortcuts like Alt-O to open files, etc. Normally if you disable the
user from using buttons you will probably want to prevent them from using
keyboard shortcuts too.
- Allow Exit - if this checkbox is unchecked the user will not be able to exit
the RoboRealm application by clicking on the upper rightmost X button, using
ALT F4, or by right clicking on the caption bar.
- Always on top - when enabled this checkbox will ensure that the RoboRealm window is
always ontop of other windows.
- Allow Move - allows the user to move the window by dragging the caption area
- Allow Resize - allows the user to resize the application interface using the
corner stretching and shrinking. Note that when disabled this mode also disables
minimization.
- Authentication - to prevent users from breaking out of Kiosk mode by pressing
CTRL-K you can specify a username and password that are required in order for
Kiosk mode to be broken. When these are set a Login prompt will appear when exiting
Kiosk mode to ensure that the current user is knowledgeable enough to do so. Note
that if you forget your username/password you will have to remove the RoboRealm
registry entry. See the FAQ for how to do so.
- Startup - select if you want RoboRealm to jump into Kiosk mode once the
program is activated. Note that if you start RoboRealm in Kiosk mode, have
a username/password to break out of Kiosk mode AND are
holding down the CTRL key you will be requested for that login before the
system resets to the default settings. This prevents anyone without the username/
password from resetting the system without that knowledge.
Faceless Tab
The faceless mode of RoboRealm provides a way for the RoboRealm application to function while being invisible
to the user. This faceless mode can be entered using several techniques:
- specify the command line argument "-faceless" (without the quotes like -api_port) when running RoboRealm. This can be added
either when running RoboRealm from your desktop or included in the startup process as seen in the C++ API.
Included in the RoboRealm download is an example file called RoboRealm_Faceless.bat that shows what this technique looks like.
- this Options interface can be used to enter into the faceless mode (by pressing the top button) and also
set the faceless mode on startup. When specifying the faceless mode on startup RoboRealm will run without an interface
unless the "-display" command is provided in the command line.
This startup checkbox will ensure that each time RoboRealm is started it will not show any GUI interface.
- send the API request faceless to hide the display request to show it.
- press the key combination of CTRL-ALT-R to toggle the interface display/faceless on and off.
Other Tab
- Preview Checkbox - to disable viewing the processed video unselect the preview checkbox. This will allow RoboRealm to
continue to process and react to visual images BUT will stop display of those images on your computer screen. This can
help to increase processing performance as the rapid display of images using a slow graphics card or over the network can
limit the total processing speed of the system.
- Max Preview FPS - instead of completely disabling preview you can also modify the FPS to slow the preview rate down.
For example, typing in 1 will limit the preview of processed images to a maximum of 1 per second. If you type in 0.5 that will
limit the update rate to 1 frame every 2 seconds and so on. Note that this does not limit the number of frames that are being
processed but just how many of those processed frames you are viewing.
- Max Processing FPS - if you want to slow the processing of images down modify the FPS to something slower than the typical
30 fps. For example, if you specify 5 then RoboRealm will process a maximum of 5 frames every second or 1 frame every 0.2 seconds.
Note that your preview rate will also be affected as the preview rate will decrease with a slower processing rate. You can
also use decimal numbers such as 0.25 which will cause RoboRealm to process 1 frame every 4 seconds.
- Min Processing FPS - if you want to ensure that the processing of images happens even if
a new image is not available you can set the Min Processing FPS to some number above zero. This will
ensure that RoboRealm does not wait too long for a new image and instead run the pipeline again
with the same image. This is useful if you have some form of polling occurring in the pipeline
that needs to run regardless of it any new images are made available.
- Virtual Camera - RoboRealm has the ability to pipe its processed image to other camera
requesting applications. See Virtual Camera Driver (VCam) for more information.
- Silent Errors - As RoboRealm is often used as a server process it is not desirable for error messages to cause a popup
that requires user interaction in order for the application to continue functioning. Once this checkbox is selected all
errors are saved in RoboRealm.log instead of causing a popup to occur. The RoboRealm.log file will be created in the
current folder where RoboRealm is being executed. To warn of this event a red square text area in the main GUI window
will appear for 15 seconds to remind you that errors are being logged instead of alerting via popups. Note that this
red square will NOT be part of the image being processed and is only displayed as a reminder.
- Verbose RoboRealm.log - Often if you have a particular problem when using RoboRealm we will ask you to turn on
extra debugging that helps us understand where the application is failing. When using the Verbose RoboRealm.log at
lot more statements are added to the RoboRealm.log file in order to help us determine where things are failing. You
need not use this checkbox unless directed by us. Please note that this checkbox is cleared each time the application
is restarted.
|