Skip to content

Commit

Permalink
Astrobee Control Station release 0.0.3
Browse files Browse the repository at this point in the history
  • Loading branch information
ddwheele committed Jul 9, 2019
1 parent e9bf992 commit cb2980f
Show file tree
Hide file tree
Showing 12 changed files with 37 additions and 16 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
bamboo/
com.rti.dds.target/
*/NDDS_DISCOVERY_PEERS
*/global.properties

*.class
*.swp
*.DS_Store
Expand Down
3 changes: 3 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Astrobee Control Station

## Release 0.0.3
- Fixed links in documentation.

## Release 0.0.2
- Fixed formatting and links in documentation.

Expand Down
1 change: 1 addition & 0 deletions docs/SETUP.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,4 @@ Java Application.
simulator cannot spawn two Astrobee simulators.
* If simulator is on a different computer from the Control Station, run the Control Station with
`-peer <ip of simulator>`

4 changes: 4 additions & 0 deletions docs/USAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ on the selected robot. When an Astrobee first wakes up, nobody has control on it
It is cyan otherwise.</li>
* <b>GPS </b> displays the date and time. </li>


## Grab Control Button ##

All tabs have a <b> Grab Control button</b> that grabs access control on the selected Astrobee(s) if the Crew Control
Expand All @@ -193,13 +194,15 @@ is mediated by the `GrabControlManager` in `gov.nasa.arc.irg.freeflyer.rapid.sta
## Health ##
![alt text](https://github.com/nasa/astrobee_gds/blob/master/gov.nasa.arc.ff.ocu/helpfiles/Figure5.PNG
"Health subtab")

The <b>Health subtab</b>, on the Run Plan and Teleoperate tabs, displays status information
about the Astrobee selected in the Top Bar. The information comes from the
`AgentState`, `PlanStatus`, `ArmState`, and `FaultState`
parts, as governed by the `AstrobeeStateAdapter` in the `AstrobeeStateManager` (`gov.nasa.arc.irg.freeflyer.rapid.state`).
The code for the Health subtab is at `gov.nasa.arc.verve.freeflyer.workbench.parts.standard.HealthPart.java`.

Which status information is included is defined in `HealthAndStatusConfig.txt`. It may include the following:

* The <b>Operating State</b> of the Astrobee may be Ready, Plan Execution, Teleoperation,
Auto Return, or Fault. In some Operating States, some commands are not available.
* The <b>Mobility State </b> of the Astrobee may be Drifting (propulsion off), Stopping, Stopped (station keeping),
Expand All @@ -213,6 +216,7 @@ Status is Paused. When the Plan finishes executing, the Plan Status is Idle and
row, highlighted in orange, indicating if a particular subsystem is <b>disabled</b>. Each system that is unable to function is listed
on a separate row. Fault rows do not have to be specified in `HealthAndStatusConfig.txt`, they are always included.


## Live Images ##
<p>
The <b>Live Images subtab</b> displays a succession of images from the selected Astrobee's Dock camera or
Expand Down
6 changes: 3 additions & 3 deletions docs/config_files.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ different keepouts).

* `BookmarksList.json` *(inside `{world}` folder)*
* List of bookmarks available in the Plan Editor and the Teleop Tab.
* Don't edit by hand, use the Bookmarks Manager (explained on [this](docs/plan_editor_tab.md) page)
* Don't edit by hand, use the Bookmarks Manager (explained on [this](plan_editor_tab.md) page)

* `CameraConfiguration.json`
* **For camera resolutions, etc, use `SetCameraPresets.json`**
Expand Down Expand Up @@ -157,7 +157,7 @@ Queen.vlc.stream.url=rtsp://127.0.0.1:1234/ch0
* Handrail Config *(inside `{world}` folder)*
* File to control positions of handrail models in the 3D view
* File at `ControlStationConfig/{world}/HandrailConfig.json`
* Instructions for editing are [this](docs/modeling_tab.md) page
* Instructions for editing are [this](modeling_tab.md) page

* `HealthAndStatusConfig.txt`
* List the name of the telemetry data you want to appear in the Health and Status view, with one name per line.
Expand Down Expand Up @@ -243,7 +243,7 @@ Arm Gripper
* Edit the arrays inside "sequence". Each array denotes the corners of an axis-aligned box in global coordinates
`[low x, low y, low z, high x, high y, high z]`
* Units are meters
* The Modeling tab has a GUI to adjust keepouts. Go [here](docs/modeling_tab.md) for instructions.
* The Modeling tab has a GUI to adjust keepouts. Go [here](modeling_tab.md) for instructions.
* If you have the workbench source code, at `gov.nasa.arc.verve.freeflyer.workbench.locations` there is a
`KeepinGenerator.java` that parses the `IssConfiguration.json` and generates a corresponding keepin file.
* Keepins and keepouts are sent to the Astrobee by clicking the "Send Zones" buttons on the Standard Controls section
Expand Down
2 changes: 1 addition & 1 deletion docs/debugging_tab.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ robot can log (from the DataTopicsList message), and which topics it is logging


To change which rostopics the Astrobee is logging, select a configuration file from the dropdown. The dropdown is
populated with the names of the files in the DataToDisk folder (see [Config Files](docs/config_files.md)). When you
populated with the names of the files in the DataToDisk folder (see [Config Files](config_files.md)). When you
click Configure Data, the CompressedFilePublisher compresses and sends the selected json file on topic
`astrobee_compressed_file-data_to_disk`. When the DataToDiskPart receives the CompressedFileAck, it sends
`DATA_METHOD_SET_DATA_TO_DISK`.
Expand Down
2 changes: 1 addition & 1 deletion docs/guest_science_tab.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Guest Science Tab and Advanced Guest Science Tab

![alt text](https://github.com/nasa/astrobee_gds/blob/master/gov.nasa.arc.ff.ocu/helpfiles/GuestScienceTab-annotated.png
"Guest Science Tab")

Expand All @@ -23,6 +22,7 @@ for each connected Astrobee. On the Advanced Guest Science tab the class is
and on the Advanced Guest Science tab it is `SimplifiedGuestScienceTopPart`.

Each row (`AdvancedAstrobeeRow` or `SimplifiedAstrobeeRow`, which ) has the following fields:

* <b> Name</b> shows the name of the Astrobee described by the row. Check the
<b>checkbox</b> to the left of the name to send commands to that Astrobee.
* The <b>Comm light</b> is green if the Control Station has a DDS connection to that Astrobee.
Expand Down
3 changes: 3 additions & 0 deletions docs/overview_tab.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ The <b>Bee Status subtab </b> displays a status summary
for each connected Astrobee. Code is in `OverviewTopPart.java` and `OverviewAstrobeeRow`
(`gov.nasa.arc.verve.freeflyer.workbench.parts.guestscience`)
Each row has the following items:

* <b> Name</b> is the name of the Astrobee described by the row.
* The <b> Comm light</b> is green if that Astrobee is connected and cyan otherwise.
* The <b>Health light</b> is green if all Astrobee systems are functional and orange
Expand All @@ -28,6 +29,7 @@ rejects most commands from Control Stations that do not have access control on i

### Docking Station Status and Commanding </h3>


The <b>Docking Station Status and Commanding subtab </b>
(`gov.nasa.arc.verve.freeflyer.workbench.parts.guestscience.DockingStationStatusAndCommandingPart.java`)
displays the status of any Astrobees on the Docking Station, and it sends wake commands to Astrobees hibernating
Expand All @@ -49,6 +51,7 @@ and lets the user grab control of or hibernate the selected Astrobee. The <b> Hi
`ADMIN_METHOD_SHUTDOWN`, which puts the selected Astrobee into a powered down state in which it can accept only
the Wake command.


NOTE<br>
> If an Astrobee is hibernated while it is not docked at the Docking Station, it will not be
able to be awakened via the Control Station. It will need to be awakened via the hardware Wake button,
Expand Down
2 changes: 1 addition & 1 deletion docs/plan_editor_tab.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ you select a Station, `StationAndPointWidget` shows, and when you select a Segme
* Set inertia and operating limits configuration files for the plan by clicking on the plan name in the
table and then selecting from the drop-down menus in the `FreeFlyerPlanWidget` in the lower left corner.
These menus are populated by `InertiaConfigurations.json` and `OperatingLimitsConfigurations.json` (See
[Config Files](docs/config_files.md) for information about the json files.)
[Config Files](config_files.md) for information about the json files.)
* Add plan elements (see below)
* When you have finished making the plan, click the Validate button
* This button calls `compilePlan()` in `gov.nasa.arc.irg.plan.ui.plancompiler.PlanCompiler`.
Expand Down
19 changes: 12 additions & 7 deletions docs/teleoperate_tab.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ following unique subtabs:


## Bee Commanding ##

The <b>Bee Commanding subtab</b> (`gov.nasa.arc.verve.freeflyer.workbench.parts.standard.BeeCommandingPartOnTeleoperateTab.java`)
sends commands that move the position and orientation of the selected Astrobee. Widgets
in this subtab are created in `BeeCommandingPartOnTeleoperateTabCreator.java`.
Expand Down Expand Up @@ -53,12 +54,12 @@ Apply Options button is clicked. If the checkbox to the left of the option is
checked, the Apply Options button will send a command to turn on that option.
If there is a green checkmark to the right of the option, the Astrobee already has
that option turned on. Options include:
* **Face Forward** (`SETTINGS_METHOD_SET_HOLONOMIC_MODE`) requires the Astrobee to face the direction of
motion. Unchecking this option allows the Astrobee to fly sideways or backwards, which may be desirable to
collect specific video or science data. However, the Astrobee does not have cameras pointing in all directions,
so it must be monitored closely when flying with Face Forward off so that it does not collide with an obstacle.
* <b>Check Obstacles</b> (`SETTINGS_METHOD_SET_CHECK_OBSTACLES`) requires the Astrobee to stop moving and station
keep if
* <b> Face Forward </b> (`SETTINGS_METHOD_SET_HOLONOMIC_MODE`) requires the Astrobee to face the direction of motion.
Unchecking this option allows the Astrobee to fly sideways or backwards, which may be
desirable to collect specific video or science data. However, the Astrobee does not
have cameras pointing in all directions, so it must be monitored closely when
flying with Face Forward off so that it does not collide with an obstacle.
* <b>Check Obstacles</b> (`SETTINGS_METHOD_SET_CHECK_OBSTACLES`) requires the Astrobee to stop moving and station keep if
it detects an object in its planned flight path. It may be necessary to turn off
this option if the Astrobee detects a ghost obstacle and gets stuck.
* <b>Check Keepouts</b> (`SETTINGS_METHOD_SET_CHECK_ZONES`) requires the Astrobee to stop before entering
Expand Down Expand Up @@ -98,6 +99,7 @@ Arm. The widgets on this subtab are created in `PerchingArmPartCreator.java`. Th
and secure the Astrobee while it conserves power by turning off its propulsion
system. The Perching Arm subtab includes the following sections:


### Initialization
The <b> Initialization section</b> in the Perching Arm subtab
includes the Grab Control button discussed above.
Expand Down Expand Up @@ -173,6 +175,7 @@ stop and wait for the obstacle to move. (NB: As of July 2019, this command is no
Robot Software and there is no scheduled implementation date. To command Astrobee to dock, please use the manual
Dock command on the Miscellaneous Commands tab, or on the Debugging tab.)


## Relative Commanding

The <b>Relative Commanding</b> subtab
Expand All @@ -194,12 +197,14 @@ current position.

The <b> Commands section</b> in the Docking subtab has buttons to send commands to the selected Astrobee.
It includes:

*The <b>Station Keep Bee</b> button commands the Astrobee to cancel any movement commands and
station keep at its current position. (`MOBILITY_METHOD_STOPALLMOTION`)
<li> The <b> Move </b> button commands the Astrobee to move to the position specified in the
Input textbox. (`MOBILITY_METHOD_SIMPLEMOVE6DOF` with frame set to "body")

## Interactive Map

The <b>Interactive Map subtab</b>
(`gov.nasa.arc.verve.freeflyer.workbench.parts.liveTelemetryView.Teleop3dView`), like the
Live Map subtab on other tabs,
Expand Down Expand Up @@ -233,7 +238,7 @@ The coordinates in the Manual Move Inputs section will update accordingly.

## Miscellaneous Commands

![alt text](https://github.com/nasa/astrobee_gds/blob/master/gov.nasa.arc.ff.ocu/helpfiles/MiscellaneousCommmandsSubtab.png
![alt text](https://github.com/nasa/astrobee_gds/blob/master/gov.nasa.arc.ff.ocu/helpfiles/MiscellaneousCommandsSubtab.png
"Miscellaneous Commands subtab")

The <b>Miscellaneous Commands subtab</b>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
* Strings in the first combo are the parameter.
* Strings in the second combo are the command name.
* Any command can take any parameter.
*
*
* Example teleopCommandConfig in TeleopCommandsConfiguration.json:
* {
"type" : "DataManagementTeleopCommand",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
/**
* Widget to send a command with no parameters.
* Command must be specified in TeleopCommandConfigurations.json.
*
* Example teleopCommandConfig in TeleopCommandsConfiguration.json:
*
* Example teleopCommandConfig in TeleopCommandsConfiguration.json:
* {
"type" : "NoParamsTeleopCommand",
"label": "Idle Propulsion",
Expand Down

0 comments on commit cb2980f

Please sign in to comment.