363 lines
24 KiB
HTML
363 lines
24 KiB
HTML
|
|
<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="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>
|
|
<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>
|
|
<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="left_frankaModeOther" class="label label-default">Other</span></h4>
|
|
</div>
|
|
<div class="row-md-3">
|
|
<h4><span id="left_frankaModeIdle" class="label label-default">Idle</span></h4>
|
|
</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>
|
|
</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>
|
|
<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>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
Teaching Mode Operations
|
|
</div>
|
|
<div class="panel-body text-center">
|
|
<span class="row">
|
|
<label id="RecordingStatusLabel" class="label-warning">
|
|
Bag manager not connected!
|
|
</label>
|
|
</span>
|
|
<button type="button" onclick="triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-default">
|
|
Activate Ready Mode
|
|
</button>
|
|
<button id="recordingStartButton" type="button" onclick="triggerService('/left/aescape/hardware/calibrateRobotiq'); triggerService('/left/aescape/mode/activateTeachingController'); triggerService('/aescape/bags/startTeachRecording')" class="btn btn-primary">
|
|
Start Teach Recording
|
|
</button>
|
|
<button id="recordingStopButton" type="button" onclick="triggerService('/aescape/bags/stopTeachRecording'); triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-primary">
|
|
Stop Teach Recording
|
|
</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>
|
|
</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 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>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-lg-6">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
Right Arm Controls
|
|
</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>
|
|
<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>
|
|
<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>
|
|
</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>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- <div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
Execution Recording Operations
|
|
</div>
|
|
<div class="panel-body text-center">
|
|
<button id="executionStartButton" type="button" onclick="triggerService('/startExecutionRecording')" class="btn btn-primary">
|
|
Start Recording Execution
|
|
</button>
|
|
<button id="executionRecordingStopButton" type="button" onclick="triggerService('/stopExecutionRecording')" class="btn btn-primary">
|
|
Stop Recording Execution
|
|
</button>
|
|
</div>
|
|
</div> --> |