Added robot state indicators

This commit is contained in:
David Walsh
2019-03-28 12:04:54 -04:00
parent e85717fa9f
commit 5f2b9f8d18
2 changed files with 92 additions and 5 deletions

View File

@@ -20,12 +20,46 @@
</div>
<div class="panel panel-default">
<div class="panel-heading">
Hardware Commands
Franka Arm Status
</div>
<div class="panel-body text-center">
<div class="col-md-4">
Current Robot Status:
<!-- <div class="col-md-3" id="FrankaStatus">
N/A
</div> -->
<div class="row-md-3">
<h4><span id="frankaModeOther" class="label label-default">Other</span></h4>
</div>
<div class="row-md-3">
<h4><span id="frankaModeIdle" class="label label-default">Idle</span></h4>
</div>
<div class="row-md-3">
<h4><span id="frankaModeMove" class="label label-default">Move</span></h4>
</div>
<div class="row-md-3">
<h4><span id="frankaModeGuiding" class="label label-default">Guiding</span></h4>
</div>
<div class="row-md-3">
<h4><span id="frankaModeReflex" class="label label-default">Reflex</span></h4>
</div>
<div class="row-md-3">
<h4><span id="frankaModeUserStopped" class="label label-default">User Stopped</span></h4>
</div>
<div class="row-md-3">
<h4><span id="frankaModeErrorRecovery" class="label label-default">Automatic Error Recovery</span></h4>
</div>
</div>
<button id="fixFrankaButton" type="button" onclick="triggerService('/aescape/hardware/resetFrankaError')" class="btn btn-primary">
Fix Franka Errors
</button>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
Hardware Commands
</div>
<div class="panel-body text-center">
<button id="calibrateButton" type="button" onclick="triggerService('/aescape/hardware/calibrateRobotiq')" class="btn btn-primary">
Calibrate Robotiq
</button>

View File

@@ -30,15 +30,15 @@ modeStatus.subscribe(function(message) {
document.getElementById("executionModeButton").className = "btn btn-primary"
if (message.data === "stopped") {
if (message.data == "stopped") {
document.getElementById("stoppedModeButton").className = "btn btn-warning"
} else if (message.data === "standby")
} else if (message.data == "standby")
{
document.getElementById("standbyModeButton").className = "btn btn-primary btn-success"
} else if (message.data === "teach")
} else if (message.data == "teach")
{
document.getElementById("teachingModeButton").className = "btn btn-primary btn-success"
} else if (message.data === "execution")
} else if (message.data == "execution")
{
document.getElementById("executionModeButton").className = "btn btn-primary btn-success"
}
@@ -55,7 +55,60 @@ bagPlayingTopic.subscribe(function(message) {
document.getElementById("bagPlayingText").innerHTML = message.data
});
// FrankaState
var frankaStatus = new ROSLIB.Topic({
ros : ros,
name : '/franka_state_controller/franka_states',
messageType : 'franka_msgs/FrankaState'
});
frankaStatus.subscribe(function(message) {
document.getElementById("frankaModeOther").className = "label label-default"
document.getElementById("frankaModeIdle").className = "label label-default"
document.getElementById("frankaModeMove").className = "label label-default"
document.getElementById("frankaModeGuiding").className = "label label-default"
document.getElementById("frankaModeReflex").className = "label label-default"
document.getElementById("frankaModeUserStopped").className = "label label-default"
document.getElementById("frankaModeErrorRecovery").className = "label label-default"
document.getElementById("fixFrankaButton").className = "btn btn-primary"
if (message.robot_mode == 0)
{
document.getElementById("frankaModeOther").className = "label label-warning"
document.getElementById("fixFrankaButton").className = "btn btn-danger"
}
else if (message.robot_mode == 1)
{
document.getElementById("frankaModeIdle").className = "label label-warning"
document.getElementById("fixFrankaButton").className = "btn btn-danger"
}
else if (message.robot_mode == 2)
{
document.getElementById("frankaModeMove").className = "label label-warning"
document.getElementById("fixFrankaButton").className = "btn btn-success"
}
else if (message.robot_mode == 3)
{
document.getElementById("frankaModeGuiding").className = "label label-warning"
document.getElementById("fixFrankaButton").className = "btn btn-default"
}
else if (message.robot_mode == 4)
{
document.getElementById("frankaModeReflex").className = "label label-warning"
document.getElementById("fixFrankaButton").className = "btn btn-danger"
}
else if (message.robot_mode == 5)
{
document.getElementById("frankaModeUserStopped").className = "label label-warning"
document.getElementById("fixFrankaButton").className = "btn btn-default"
}
else if (message.robot_mode == 6)
{
document.getElementById("frankaModeErrorRecovery").className = "label label-warning"
document.getElementById("fixFrankaButton").className = "btn btn-default"
}
});
////////////////////////////////////////////////////////////////
// Services