|
dLife Home Page | |||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||
See:
Description
| Class Summary | |
|---|---|
| ControlCenter | A graphical user interface (GUI) for interacting with the dLife supported robots. |
A graphical user interface (GUI) for interacting with the dLife
supported robots. The ControlCenter provides a uniform
graphical environment for observing and controlling all of the robots
that are supported by dLife.
After you have completed the basic dLife
installation you can launch the ControlCenter by double clicking the
dLifeDist/UserScripts/ControlCenter file (Mac/Linux) or the
dLifeDist/UserScripts/ControlCenter.bat file (Windows).
When launched the ControlCenter will appear as shown below:

The main elements of the ControlCenter GUI are:
Robots
that are supported by dLife. To use a particular robot, choose its Robot
sub-class from this dropdown.
Controller
sub-class to be used with the selected Robot. A Controller
sub-class is a user written Java class that controls the robot. The Controller
will create Sensors and Effectors, add them
to the Robot, read the sensors and respond by controlling
the robot's effectors. More information on creating controllers and
specific examples can be found in the Controller
class documentation.
Controller.
When a Controller is started (see "Start Up..." Buttons
below), an additional tab will appear for each Sensor and
each Effector. The tabs for each Sensor and
Effector will provide a GUI interface. Sensor
GUIs will display the current sensor readings. Effector
GUIs will provide controls with which the effector can be manipulated.
Double clicking on a tab (with the exception of "Info") will display
the contents of the tab in its own window. Closing the window will
place the contents back into a tab in the ControlCenter.
Controller.
Controller.startUp(Robot) method of the Controller
will also be invoked. Tabs for each Sensor and Effector
added to the robot will appear in the ControlCenter and the sensor
values will begin being updated.
Controller.step() method to be invoked periodically.
When "Run" is clicked the button label will change to "Stop".
Clicking "Stop" will stop the periodic invocations of step.
The rate at which step() is invoked depends on a
number of factors: the speed of the computer, the number of Sensors
and Effectors added to the robot, the speed of the
communication channel with the robot and the latency in the robot's
responses to commands.
step()
method exactly once.
Sensor
and Effector tabs will be removed from the
ControlCenter. Finally some statistics regarding the number and rate
of sensor reads and control opportunities will be reported in the
"Console" tab.
To interact with a robot with the ControlCenter:
dLifeDist/examples/dlife/robot
directory. Open the subdirectory for the type of robot that you are
using and choose the file with that robot's name followed by the word
"Drone" (e.g.
HemissonDrone.class
or
AiboDrone.class
).
To control a robot programmatically within the ControlCenter you
will create a sub-class of the dlife.robot.Controller
class. The class that you create will configure the Robot
with Sensors and Effectors and issue commands
to the robot to be carried out. See the Controller
class documentation for a detailed discussion of how to create a Controller
for use with the ControlCenter.
In addition to controlling physical robots, as described above,
the ControlCenter can also be used to control simulated robots running
in the Player/Stage
robot simulation system. dLife treats physical and simulated robots
exactly the same. Thus, everything described above about interacting
with robots applies equally well to interacting with robots simulated in
Player/Stage. In general all that is necessary to use a simulated robot
is to select the "Player" version of a robot (e.g. dlife.robot.hemisson.HemissonPlayer
instead of dlife.robot.hemisson.Hemisson) See the dlife.robot.player package documentation for additional information
about installing Player/Stage, using simulations and creating
simulations.
|
dLife Home Page | |||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||