set basic layout. adding status bar

This commit is contained in:
Rohit
2019-06-04 13:11:32 -04:00
parent cd7f6c8648
commit dbd8de27cc
7977 changed files with 757176 additions and 310 deletions

View File

@@ -1,131 +1,190 @@
<div class="panel panel-default">
<div class="panel-body text-center">
<div class="col-lg-6">
<div class="panel panel-default">
<div class="panel-heading">
Left Arm Controls
<div>
<div class="col-md-6">
<div class="hand-panel panel panel-default">
<div class="panel-heading">
<i class="far fa-2x fa-hand-point-left"></i>
Left Arm
</div>
<div class="panel panel-default">
<div class="panel-heading">
EEF Configuration
</div>
<div class="panel-body text-center">
You must be in "Stopped Mode" to change the EEF configuration!
<button type="button" onclick="triggerService('/left/aescape/hardware/setTrainingEEF')" class="btn btn-primary">
Recording EEF
</button>
<button type="button" onclick="triggerService('/left/aescape/hardware/setExecutionEEF')" class="btn btn-primary">
Massage EEF
</button>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
Select Operation Mode
</div>
<div class="panel-body text-center">
<div class="col-md-6">
<button id="left_teachingModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateTeachingController')" class="btn btn-primary">
Teaching Mode
</button>
<button id="left_executionModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateExecutionController')" class="btn btn-primary">
Massage Mode
</button>
<button id="left_readyModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-primary">
Ready Mode
</button>
<button id="left_standbyModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateStandbyController')" class="btn btn-primary">
Standby Mode
</button>
<button id="left_stoppedModeButton" type="button" onclick="triggerService('/left/aescape/mode/stopControllers')" class="btn btn-primary">
Stopped Mode
</button>
<div class="panel-body">
<div class="status-bar">
<div class="status-container">
<div class="safety-monitor">
<div class="heading">
Safety Monitor Status
</div>
<div class="status-list">
<ul class="list-group list-group-horizontal">
<li id="left_safetyRunning" class="list-group-item">Running</li>
<li id="left_safetyStopped" class="list-group-item">Stopped</li>
</ul>
</div>
<div class="action-button">
<button type="button" onclick="triggerService('/left/aescape/mode/activateSafetyController')" class="btn btn-sm btn-default">
Activate Safety Monitor
</button>
</div>
</div>
</div>
<div class="col-md-6">
Safety Monitor Status:
<div class="row-md-3">
<h4><span id="left_safetyRunning" class="label label-default">Running</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_safetyStopped" class="label label-default">Stopped</span></h4>
</div>
<div class="row-md-3">
<button type="button" onclick="triggerService('/left/aescape/mode/activateSafetyController')" class="btn btn-sm btn-default">
Activate Safety Monitor
</button>
<div class="status-container">
<div class="franka">
<div class="heading">
Franka Arm Status
</div>
<div class="status-list">
<ul class="list-group list-group-horizontal">
<li id="left_safetyRunning" class="list-group-item">Running</li>
<li id="left_safetyStopped" class="list-group-item">Stopped</li>
</ul>
</div>
<div class="action-button">
<button type="button" onclick="triggerService('/left/aescape/mode/activateSafetyController')" class="btn btn-sm btn-default">
Activate Safety Monitor
</button>
</div>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
Franka Arm Status
<div class="control-container col-md-6">
<div class="control-card panel panel-default">
<div class="panel-heading">
EEF Configuration
<i class="far fa-hand-point-left pull-right"></i>
</div>
<div class="panel-body text-center">
<div class="button-area">
<button type="button" onclick="triggerService('/left/aescape/hardware/setTrainingEEF')" class="btn btn-primary col-md-6">
Recording EEF
</button>
<button type="button" onclick="triggerService('/left/aescape/hardware/setExecutionEEF')" class="btn btn-primary col-md-6">
Massage EEF
</button>
</div>
</div>
<div class="action-area panel-footer">
<div class="message">
You must be in "Stopped Mode" to change the EEF configuration!
</div>
</div>
</div>
</div>
<div class="panel-body text-center">
<div class="col-md-4">
Current Robot Status:
<div class="row-md-3">
<h4><span id="left_frankaModeOther" class="label label-default">Other</span></h4>
<div class="control-container col-md-6">
<div class="control-card-six control-card panel panel-default">
<div class="panel-heading">
Select Operation Mode
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeIdle" class="label label-default">Idle</span></h4>
<div class="panel-body text-center">
<div class="button-area">
<button id="left_teachingModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateTeachingController')" class="btn btn-primary col-lg-4">
Teaching Mode
</button>
<button id="left_executionModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateExecutionController')" class="btn btn-primary col-lg-4">
Massage Mode
</button>
<button id="left_readyModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-primary col-lg-4">
Ready Mode
</button>
<button id="left_standbyModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateStandbyController')" class="btn btn-primary col-lg-4">
Standby Mode
</button>
<button id="left_stoppedModeButton" type="button" onclick="triggerService('/left/aescape/mode/stopControllers')" class="btn btn-primary col-lg-4">
Stopped Mode
</button>
</div>
<!--
<div class="col-md-6">
Safety Monitor Status:
<div class="row-md-3">
<h4><span id="left_safetyRunning" class="label label-default">Running</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_safetyStopped" class="label label-default">Stopped</span></h4>
</div>
<div class="row-md-3">
<button type="button" onclick="triggerService('/left/aescape/mode/activateSafetyController')" class="btn btn-sm btn-default">
Activate Safety Monitor
</button>
</div>
</div>
-->
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeMove" class="label label-default">Move</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeGuiding" class="label label-default">Guiding</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeReflex" class="label label-default">Reflex</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeUserStopped" class="label label-default">User Stopped</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeErrorRecovery" class="label label-default">Automatic Error Recovery</span></h4>
<div class="action-area panel-footer">
<div class="message">
</div>
</div>
</div>
<button id="left_fixFrankaButton" type="button" onclick="triggerService('/left/aescape/hardware/resetFrankaError')" class="btn btn-primary">
Fix Franka Errors
</button>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
Robotiq
</div>
<div class="panel-body text-center">
<div class="row-md-3">
<div class="progress" id="robotiqForce">
<div class="progress-bar bg-success" role="progressbar" id="robotiqForceBar" aria-valuenow="25" aria-valuemin="0" aria-valuemax="200">N/A</div>
</div>
<div class="control-card panel panel-default col-md-6">
<div class="panel-heading">
Franka Arm Status
</div>
<div class="row">
<div class="panel-body text-center">
<div class="col-md-4">
Current Robotiq Values:
Current Robot Status:
<div class="row-md-3">
<h4>X: <span id="robotiqX" class="label label-default">0.0</span></h4>
<h4><span id="left_frankaModeOther" class="label label-default">Other</span></h4>
</div>
<div class="row-md-3">
<h4>Y: <span id="robotiqY" class="label label-default">0.0</span></h4>
<h4><span id="left_frankaModeIdle" class="label label-default">Idle</span></h4>
</div>
<div class="row-md-3">
<h4>Z: <span id="robotiqZ" class="label label-default">0.0</span></h4>
<h4><span id="left_frankaModeMove" class="label label-default">Move</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeGuiding" class="label label-default">Guiding</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeReflex" class="label label-default">Reflex</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeUserStopped" class="label label-default">User Stopped</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeErrorRecovery" class="label label-default">Automatic Error Recovery</span></h4>
</div>
</div>
<button id="left_fixFrankaButton" type="button" onclick="triggerService('/left/aescape/hardware/resetFrankaError')" class="btn btn-primary">
Fix Franka Errors
</button>
</div>
</div>
<div class="control-card panel panel-default col-md-6">
<div class="panel-heading">
Robotiq
</div>
<div class="panel-body text-center">
<div class="row-md-3">
<div class="progress" id="robotiqForce">
<div class="progress-bar bg-success" role="progressbar" id="robotiqForceBar" aria-valuenow="25" aria-valuemin="0" aria-valuemax="200">N/A</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
Current Robotiq Values:
<div class="row-md-3">
<h4>X: <span id="robotiqX" class="label label-default">0.0</span></h4>
</div>
<div class="row-md-3">
<h4>Y: <span id="robotiqY" class="label label-default">0.0</span></h4>
</div>
<div class="row-md-3">
<h4>Z: <span id="robotiqZ" class="label label-default">0.0</span></h4>
</div>
</div>
<div class="col-md-4">
<button id="calibrateButton" type="button" onclick="triggerService('/left/aescape/hardware/calibrateRobotiq')" class="btn btn-primary">
Calibrate Robotiq
</button>
<div class="col-md-4">
<button id="calibrateButton" type="button" onclick="triggerService('/left/aescape/hardware/calibrateRobotiq')" class="btn btn-primary">
Calibrate Robotiq
</button>
</div>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="control-card panel panel-default col-md-6">
<div class="panel-heading">
Teaching Mode Operations
</div>
@@ -146,73 +205,74 @@
</button>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
Execution Mode Operations
</div>
<div class="panel-body text-center">
<span class="row">
<label id="ExecutionStatusLabel" class="label-warning">
Bag manager not connected!
</label>
</span>
Last Bag Playing:
<span id="lastbagText">
None
</span>
<div class="row-md-4">
<button type="button" onclick="triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-default">
Activate Ready Mode
</button>
<button id="executionLoadButton" type="button" onclick="triggerService('/aescape/bags/startPlayingLastRecording')" class="btn btn-primary">
Load Last Recording
</button>
<button id="executionStartButton" type="button" onclick="triggerService('/left/aescape/mode/activateExecutionController'); triggerTopic('/left/run_trajectory')" class="btn btn-primary">
Play Last Recording
</button>
<button id="executionStopButton" type="button" onclick="triggerService('/aescape/bags/stopPlayingBag'); triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-primary">
Stop Playing Recording
</button>
<div class="row-md-4">
Bagfile name must not start with "/"
<div class="input-group">
<input type="text" id="bagNameText" class="form-control" placeholder="bag_filename">
<span class="input-group-btn">
<button class="btn btn-primary" type="button" onclick="triggerMessageService('/aescape/bags/startPlayingRecording', 'bagNameText')">
<span>
Start Playing Bag
</span>
</button>
</span>
<div class="control-card panel panel-default col-md-6">
<div class="panel-heading">
Execution Mode Operations
</div>
<div class="panel-body text-center">
<span class="row">
<label id="ExecutionStatusLabel" class="label-warning">
Bag manager not connected!
</label>
</span>
Last Bag Playing:
<span id="lastbagText">
None
</span>
<div class="row-md-4">
<button type="button" onclick="triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-default">
Activate Ready Mode
</button>
<button id="executionLoadButton" type="button" onclick="triggerService('/aescape/bags/startPlayingLastRecording')" class="btn btn-primary">
Load Last Recording
</button>
<button id="executionStartButton" type="button" onclick="triggerService('/left/aescape/mode/activateExecutionController'); triggerTopic('/left/run_trajectory')" class="btn btn-primary">
Play Last Recording
</button>
<button id="executionStopButton" type="button" onclick="triggerService('/aescape/bags/stopPlayingBag'); triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-primary">
Stop Playing Recording
</button>
<div class="row-md-4">
Bagfile name must not start with "/"
<div class="input-group">
<input type="text" id="bagNameText" class="form-control" placeholder="bag_filename">
<span class="input-group-btn">
<button class="btn btn-primary" type="button" onclick="triggerMessageService('/aescape/bags/startPlayingRecording', 'bagNameText')">
<span>
Start Playing Bag
</span>
</button>
</span>
</div>
</div>
</div>
</div>
<!-- <div class="row-md-4">
<<div class="col-md-3"> -->
<!-- Bagfile name must not start with "/"
<button class="btn btn-primary" type="button" onclick="updateRecordingsList()">
Refresh List
</button>
</div> -->
<div class="row-md-3 pt-4">
<!-- <div class="row-md-4">
<<div class="col-md-3"> -->
<!-- Bagfile name must not start with "/"
<button class="btn btn-primary" type="button" onclick="updateRecordingsList()">
Refresh List
</button>
</div> -->
<div class="row-md-3 pt-4">
<div style="height:300px;width:300px;overflow:auto">
<div class="list-group" id="bagList">
<button type="button" class="list-group-item list-group-item-action">Dapibus ac facilisis in</button>
<button type="button" class="list-group-item list-group-item-action">Morbi leo risus</button>
<button type="button" class="list-group-item list-group-item-action">Porta ac consectetur ac</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
<div style="height:300px;width:300px;overflow:auto">
<div class="list-group" id="bagList">
<button type="button" class="list-group-item list-group-item-action">Dapibus ac facilisis in</button>
<button type="button" class="list-group-item list-group-item-action">Morbi leo risus</button>
<button type="button" class="list-group-item list-group-item-action">Porta ac consectetur ac</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
<button type="button" class="list-group-item list-group-item-action">Vestibulum at eros</button>
</div>
</div>
</div>
</div>
@@ -221,121 +281,150 @@
</div>
</div>
<div class="col-lg-6">
<div class="panel panel-default">
<div class="col-md-6">
<div class="hand-panel panel panel-default">
<div class="panel-heading">
Right Arm Controls
Right Arm
<i class="far fa-2x fa-hand-point-right"></i>
</div>
<div class="panel panel-default">
<div class="panel-heading">
EEF Configuration
</div>
<div class="panel-body text-center">
You must be in "Stopped Mode" to change the EEF configuration!
<button type="button" onclick="triggerService('/right/aescape/hardware/setTrainingEEF')" class="btn btn-primary">
Recording EEF
</button>
<button type="button" onclick="triggerService('/right/aescape/hardware/setExecutionEEF')" class="btn btn-primary">
Massage EEF
</button>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
Select Operation Mode
</div>
<div class="panel-body text-center">
<div class="col-md-6">
<button id="right_teachingModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateTeachingController')" class="btn btn-primary">
Teaching Mode
</button>
<button id="right_executionModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateExecutionController')" class="btn btn-primary">
Massage Mode
</button>
<button id="right_readyModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateReadyController')" class="btn btn-primary">
Ready Mode
</button>
<button id="right_standbyModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateStandbyController')" class="btn btn-primary">
Standby Mode
</button>
<button id="right_stoppedModeButton" type="button" onclick="triggerService('/right/aescape/mode/stopControllers')" class="btn btn-primary">
Stopped Mode
</button>
<div class="panel-body">
<div class="control-container col-md-6">
<div class="control-card panel panel-default">
<div class="panel-heading">
EEF Configuration
<i class="far fa-hand-point-left pull-right"></i>
</div>
<div class="panel-body text-center">
<div class="button-area">
<button type="button" onclick="triggerService('/right/aescape/hardware/setTrainingEEF')" class="btn btn-primary col-md-6">
Recording EEF
</button>
<button type="button" onclick="triggerService('/right/aescape/hardware/setExecutionEEF')" class="btn btn-primary col-md-6">
Massage EEF
</button>
</div>
</div>
<div class="action-area panel-footer">
<div class="message">
You must be in "Stopped Mode" to change the EEF configuration!
</div>
</div>
</div>
</div>
<div class="col-md-6">
Safety Monitor Status:
<div class="row-md-3">
<h4><span id="right_safetyRunning" class="label label-default">Running</span></h4>
<div class="control-container col-md-6">
<div class="control-card-six control-card panel panel-default">
<div class="panel-heading">
Select Operation Mode
</div>
<div class="panel-body text-center">
<div class="button-area">
<button id="left_teachingModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateTeachingController')" class="btn btn-primary col-lg-4">
Teaching Mode
</button>
<button id="left_executionModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateExecutionController')" class="btn btn-primary col-lg-4">
Massage Mode
</button>
<button id="left_readyModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateReadyController')" class="btn btn-primary col-lg-4">
Ready Mode
</button>
<button id="left_standbyModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateStandbyController')" class="btn btn-primary col-lg-4">
Standby Mode
</button>
<button id="left_stoppedModeButton" type="button" onclick="triggerService('/right/aescape/mode/stopControllers')" class="btn btn-primary col-lg-4">
Stopped Mode
</button>
</div>
</div>
<div class="action-area panel-footer">
<div class="message">
</div>
</div>
</div>
</div>
<div class="control-container col-md-6">
<div class="control-card panel panel-default">
<div class="panel-heading">
Safety Monitor Status
</div>
<div class="panel-body text-center">
<div class="button-area">
<button type="button" onclick="triggerService('/right/aescape/hardware/setTrainingEEF')" class="btn btn-primary col-md-6">
Recording EEF
</button>
<button type="button" onclick="triggerService('/right/aescape/hardware/setExecutionEEF')" class="btn btn-primary col-md-6">
Massage EEF
</button>
</div>
</div>
<div class="action-area panel-footer">
<div class="action-button">
<button type="button" onclick="triggerService('/right/aescape/mode/activateSafetyController')" class="btn btn-sm btn-default">
Activate Safety Monitor
</button>
</div>
</div>
</div>
</div>
<div class="control-card panel panel-default col-md-6">
<div class="panel-heading">
Franka Arm Status
</div>
<div class="panel-body text-center">
<div class="col-md-4">
Current Robot Status:
<div class="row-md-3">
<h4><span id="right_frankaModeOther" class="label label-default">Other</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeIdle" class="label label-default">Idle</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeMove" class="label label-default">Move</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeGuiding" class="label label-default">Guiding</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeReflex" class="label label-default">Reflex</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeUserStopped" class="label label-default">User Stopped</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeErrorRecovery" class="label label-default">Automatic Error Recovery</span></h4>
</div>
</div>
<button id="right_fixFrankaButton" type="button" onclick="triggerService('/right/aescape/hardware/resetFrankaError')" class="btn btn-primary">
Fix Franka Errors
</button>
</div>
</div>
<!-- <div class="panel panel-default">
<div class="panel-heading">
Robotiq
</div>
<div class="panel-body text-center">
<div class="col-md-4">
Current Robotiq Values:
<div class="row-md-3">
<h4>X: <span id="robotiqX" class="label label-default">0.0</span></h4>
</div>
<div class="row-md-3">
<h4>Y: <span id="robotiqY" class="label label-default">0.0</span></h4>
</div>
<div class="row-md-3">
<h4>Z: <span id="robotiqZ" class="label label-default">0.0</span></h4>
</div>
</div>
<div class="row-md-3">
<h4><span id="right_safetyStopped" class="label label-default">Stopped</span></h4>
</div>
<div class="row-md-3">
<button type="button" onclick="triggerService('/right/aescape/mode/activateSafetyController')" class="btn btn-sm btn-default">
Activate Safety Monitor
<button id="calibrateButton" type="button" onclick="triggerService('/right/aescape/hardware/calibrateRobotiq')" class="btn btn-primary">
Calibrate Robotiq
</button>
</div>
</div>
</div> -->
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
Franka Arm Status
</div>
<div class="panel-body text-center">
<div class="col-md-4">
Current Robot Status:
<div class="row-md-3">
<h4><span id="right_frankaModeOther" class="label label-default">Other</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeIdle" class="label label-default">Idle</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeMove" class="label label-default">Move</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeGuiding" class="label label-default">Guiding</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeReflex" class="label label-default">Reflex</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeUserStopped" class="label label-default">User Stopped</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeErrorRecovery" class="label label-default">Automatic Error Recovery</span></h4>
</div>
</div>
<button id="right_fixFrankaButton" type="button" onclick="triggerService('/right/aescape/hardware/resetFrankaError')" class="btn btn-primary">
Fix Franka Errors
</button>
</div>
</div>
<!-- <div class="panel panel-default">
<div class="panel-heading">
Robotiq
</div>
<div class="panel-body text-center">
<div class="col-md-4">
Current Robotiq Values:
<div class="row-md-3">
<h4>X: <span id="robotiqX" class="label label-default">0.0</span></h4>
</div>
<div class="row-md-3">
<h4>Y: <span id="robotiqY" class="label label-default">0.0</span></h4>
</div>
<div class="row-md-3">
<h4>Z: <span id="robotiqZ" class="label label-default">0.0</span></h4>
</div>
</div>
<div class="row-md-3">
<button id="calibrateButton" type="button" onclick="triggerService('/right/aescape/hardware/calibrateRobotiq')" class="btn btn-primary">
Calibrate Robotiq
</button>
</div>
</div>
</div> -->
</div>
</div>

View File

@@ -260,6 +260,13 @@ bagPlayingTopic.subscribe(function(message) {
// Services
////////////////////////////////////////////////////////////////
var notify = $.notify('<strong>Saving</strong> Do not close this page...', {
type: 'success',
allow_dismiss: false,
showProgressbar: true
});
function triggerService(serviceName)
{
@@ -268,6 +275,20 @@ function triggerService(serviceName)
name : serviceName,
serviceType : 'std_srvs/Trigger'
});
console.log("hello biatch");
$(document).ready(function(){
$.notify({
message: "ROS request didn't go through!"
}, {
"placement" : {
from: "bottom",
align: "right"
},
type: 'danger',
delay: 1000
});
});
var request = new ROSLIB.ServiceRequest({});
@@ -276,6 +297,8 @@ function triggerService(serviceName)
+ serviceName
+ ': '
+ result.sum);
}, function(error){
console.log("errorored");
});
}

View File

@@ -1,3 +1,4 @@
var bagList = Array();
function getBagList()
@@ -44,4 +45,6 @@ function updateRecordingsList()
window.setInterval(function(){
updateRecordingsList();
}, 1000);
}, 1000);

View File

@@ -4,32 +4,39 @@
<meta charset="utf-8" />
<title>Lab UI</title>
<link rel="stylesheet" href="include/css/bootstrap.min.css">
<link rel="stylesheet" href="../include/css/bootstrap.min.css">
<link rel="stylesheet" href="../include/css/fontawesome-free-5.8.2-web/css/all.css">
<script type="text/javascript" src="include/js/eventemitter2.min.js"></script>
<script type="text/javascript" src="../include/js/eventemitter2.min.js"></script>
<script src="include/js/jquery.min.js"></script>
<script src="include/js/bootstrap.min.js"></script>
<script src="include/js/math.min.js"></script>
<script src="../include/js/jquery.min.js"></script>
<script src="../include/js/bootstrap.min.js"></script>
<script src="../include/js/math.min.js"></script>
<script src="include/js/roslib.js"></script>
<script type="text/javascript" src="include/js/roslib.js"></script>
<script src="../include/js/roslib.js"></script>
<script type="text/javascript" src="../include/js/roslib.js"></script>
<script type="text/javascript" src="backend/js/ros_scripts.js"></script>
<script type="text/javascript" src="backend/js/update_guis.js"></script>
<script type="text/javascript" src="utilities/ros_scripts.js"></script>
<script type="text/javascript" src="utilities/update_guis.js"></script>
<script type="text/javascript" src="utilities/Topic.js"></script>
<script type="text/javascript" src="backend/js/Topic.js"></script>
<script type="text/javascript" src="../../bower_components/remarkable-bootstrap-notify/dist/bootstrap-notify.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="main.css">
<script>
$(function(){
$("#coordinatorContent").load("coordinator/coordinator.html");
$("#coordinatorContent").load("components/coordinator/coordinator.html");
});
$(function(){
$("#connectorContent").load("components/connect/connect.html");
});
</script>
<script type="text/javascript" src="coordinator/js/ros_scripts.js"></script>
<script type="text/javascript" src="coordinator/js/update_guis.js"></script>
<script type="text/javascript" src="components/coordinator/js/ros_scripts.js"></script>
<script type="text/javascript" src="components/coordinator/js/update_guis.js"></script>
<!-- <script>
@@ -44,29 +51,24 @@
</head>
<body>
<div class="container">
<div id="jumbotronTitle" class="jumbotron text-center">
<h1 id="Title">Lab UI</h1>
<div class="header">
<div class="logo">
<img src="../include/images/aescape-logo-v3_square_300_white.webp"/>
</div>
<div class="container">
<div class="col-md-1">
Master:
</div>
<div class="col-md-3">
<label id="MasterName"></label>
<script>
getMasterName();
</script>
</div>
<div class="title">
<h1>Aescape Lab</h1>
</div>
<div class="user">
<i class="far fa-user"></i>
</div>
</div>
<div class="main-tabs-container">
<div class="row-md-3">
<ul id="tabs" class="nav nav-pills" data-tabs="tabs" >
<li> <a href="#rosbridgeconnection" data-toggle="tab">
ROS Bridge Connection
<span id="rosbridgeconnection_badge" class="badge">
Not Connected
</span></a>
<li>
<a href="#Connect" data-toggle="tab">
Connect
</a>
</li>
<li class="active">
<a href="#Coordinator" data-toggle="tab">
@@ -74,15 +76,21 @@
</a>
</li>
<li>
<a href="vision/vision.html">
<a target="_blank" href="vision/vision.html">
Vision
</a>
</li>
</ul>
</div>
<div class="task-connection-message">
Teaching Phoebe
</div>
<div id="my-tab-content" class="tab-content">
<div class="tab-pane" id="Connect">
<div id="connectorContent"></div>
</div>
<div class="tab-pane active" id="Coordinator">
<div id="coordinatorContent"></div>
</div>
@@ -92,7 +100,5 @@
</div>
</div>
</div>
</body>
</body>
</html>

219
client/app/main.css Normal file
View File

@@ -0,0 +1,219 @@
@import url(http://fonts.googleapis.com/css?family=Roboto:400,400italic,500,500italic,700,700italic,900,900italic,300italic,300,100italic,100);
html, body {
height: 100%;
}
body {
font-size: 16pt;
padding: 0;
margin: 0;
background: #020625;
color: #EDF0F4;
}
.fill-container {
display: block;
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
}
.transparent-button {
background-color: Transparent;
background-repeat:no-repeat;
border: none;
cursor:pointer;
overflow: hidden;
outline:none;
}
.font-roboto-regular {
font-family: 'Roboto';
font-weight: 400;
}
.font-roboto-thin {
font-family: 'Roboto';
font-weight: 100;
}
.font-roboto-light {
font-family: 'Roboto';
font-weight: 300;
}
.font-roboto-medium {
font-family: 'Roboto';
font-weight: 500;
}
.font-roboto-medium-italic {
font-family: 'Roboto';
font-weight: 500;
font-style: italic;
}
.dialog {
position: fixed;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
background: #020625;
}
body {
font-family: "Roboto";
font-weight: 400;
}
h1 {
font-family: "Roboto";
font-size: 22pt;
font-weight: 600;
}
.header {
width: 100vw;
display: flex;
overflow: hidden;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
background-color: #182048;
padding: 0 40px 0 40px;
}
.header .logo img {
width: 101px;
height: 68px;
}
.header .title {
text-align: center;
}
.header .user {
width: 101px;
color: white;
}
.header .user i {
float: right;
}
.main-tabs-container {
margin-top: 10px;
display: flex;
flex-wrap: wrap;
}
.tab-content {
width: 100%;
}
.task-connection-message {
position: relative;
margin: auto;
left: -10%;
font-weight: 600;
font-size: 19pt;
}
.panel{
background: #182048;
border: 1px solid;
border-radius: 30px;
border-color: #3573FB;
}
.hand-panel .panel-body{
background: #020625;
}
.panel-heading, .panel-footer {
background-color: #020625 !important;
color: #EDF0F4 !important;
text-align: center;
font-size: 14pt;
}
.panel-heading {
border: 1px solid;
border-radius: 30px 30px 0 0;
border-color: #3573FB !important;
}
.panel-footer {
border: 1px solid;
border-radius: 0 0 30px 30px;
border-color: #3573FB;
}
.control-container {
margin: 10px 0;
}
.control-card > .panel-body {
height: 150px;
padding: 0px;
}
.control-card .button-area {
height: 100%;
}
.control-card .button-area > button {
height: 100%;
border-radius: 0;
color: #EDF0F4;
font-size : 14pt;
background: #182048;
}
.control-card-six .button-area > button {
height: 50%;
font-size: 12pt;
}
.nav-pills li a {
border-radius: 0;
color: #EDF0F4;
font-size : 16pt;
font-weight: 600;
background: #020625;
}
.nav-pills {
margin-left: 40px;
}
.nav-pills>li.active>a, .nav-pills>li.active>a:focus, .nav-pills>li.active>a:hover, .nav>li>a:focus, .nav>li>a:hover{
color: #EDF0F4;
background: #182048;
}
.hand-panel .panel-heading {
display: flex;
justify-content: center;
align-items: center;
font-weight: 600;
}
.hand-panel .panel-heading i{
margin-left: 10px;
margin-right: 10px;
}
.panel-footer .message {
font-size : 12pt;
}

View File

@@ -0,0 +1,31 @@
commonControls = [{
title : "EEF Configuration",
buttons : [
{
name : "Recording",
clickAction : "/aescape/hardware/setTrainingEEF",
clickAttributes : {
includeArm : true,
},
},
{
name : "Recording",
clickAction : "/aescape/hardware/setTrainingEEF",
clickAttributes : {
includeArm : true,
},
}
]
}]
sharedControls = {
}
leftArmControls = {
}
rightArmControls = {
}