Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
804abcb49f |
@@ -127,7 +127,7 @@
|
|||||||
<div class="status-list">
|
<div class="status-list">
|
||||||
<div class="commanded">
|
<div class="commanded">
|
||||||
<div class="progress">
|
<div class="progress">
|
||||||
<!-- <div class="progress-bar-label">Commanded</div> -->
|
<div class="progress-bar-label">Commanded</div>
|
||||||
<div class="progress-bar bg-success" role="progressbar" id="frankaForceCommandedLeft" aria-valuenow="25" aria-valuemin="0" aria-valuemax="200">N/A</div>
|
<div class="progress-bar bg-success" role="progressbar" id="frankaForceCommandedLeft" aria-valuenow="25" aria-valuemin="0" aria-valuemax="200">N/A</div>
|
||||||
</div>
|
</div>
|
||||||
<ul class="list-group list-group-horizontal text-center">
|
<ul class="list-group list-group-horizontal text-center">
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="observed">
|
<div class="observed">
|
||||||
<div class="progress">
|
<div class="progress">
|
||||||
<!-- <div class="progress-bar-label">Observed</div> -->
|
<div class="progress-bar-label">Observed</div>
|
||||||
<div class="progress-bar bg-success" role="progressbar" id="frankaForceObservedLeft" aria-valuenow="25" aria-valuemin="0" aria-valuemax="200">
|
<div class="progress-bar bg-success" role="progressbar" id="frankaForceObservedLeft" aria-valuenow="25" aria-valuemin="0" aria-valuemax="200">
|
||||||
<span>N/A</span>
|
<span>N/A</span>
|
||||||
<div>
|
<div>
|
||||||
@@ -196,7 +196,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="action-button panel-footer">
|
<div class="action-button panel-footer">
|
||||||
<button id="calibrateButton" type="button" onclick="triggerService('/left/aescape/hardware/calibrateRobotiq')" class="btn">
|
<button id="calibrateButton" type="button" onclick="triggerService('/left/aescape/hardware/calibrateATI')" class="btn">
|
||||||
Calibrate
|
Calibrate
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -351,16 +351,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel-body text-center">
|
<div class="panel-body text-center">
|
||||||
<div class="button-area">
|
<div class="button-area">
|
||||||
<button id="executionLoadButton" type="button" onclick="displayLoadingOptions()" class="btn btn-primary col-md-3">
|
<button id="executionLoadButton" type="button" onclick="displayLoadingOptions()" class="btn btn-primary col-md-4">
|
||||||
Load Recording
|
Load Recording
|
||||||
</button>
|
</button>
|
||||||
<button id="executionLoadButton" type="button" onclick="triggerService('/aescape/massageReady')" class="btn btn-primary col-md-3">
|
<button id="executionStartButton" type="button" onclick="playLoadedRecording()" class="btn btn-primary col-md-4">
|
||||||
Complete Body Scaling
|
|
||||||
</button>
|
|
||||||
<button id="executionStartButton" type="button" onclick="playLoadedRecording()" class="btn btn-primary col-md-3">
|
|
||||||
Play Loaded Recording
|
Play Loaded Recording
|
||||||
</button>
|
</button>
|
||||||
<button id="executionStopButton" type="button" onclick="stopPlayingRecording()" class="btn btn-primary col-md-3">
|
<button id="executionStopButton" type="button" onclick="stopPlayingRecording()" class="btn btn-primary col-md-4">
|
||||||
Stop Playing Recording
|
Stop Playing Recording
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -548,7 +545,7 @@
|
|||||||
<div class="status-list">
|
<div class="status-list">
|
||||||
<div class="commanded">
|
<div class="commanded">
|
||||||
<div class="progress">
|
<div class="progress">
|
||||||
<!-- <div class="progress-bar-label">Commanded</div> -->
|
<div class="progress-bar-label">Commanded</div>
|
||||||
<div class="progress-bar bg-success" role="progressbar" id="frankaForceCommandedRight" aria-valuenow="25" aria-valuemin="0" aria-valuemax="200">N/A</div>
|
<div class="progress-bar bg-success" role="progressbar" id="frankaForceCommandedRight" aria-valuenow="25" aria-valuemin="0" aria-valuemax="200">N/A</div>
|
||||||
</div>
|
</div>
|
||||||
<ul class="list-group list-group-horizontal text-center">
|
<ul class="list-group list-group-horizontal text-center">
|
||||||
@@ -565,7 +562,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="observed">
|
<div class="observed">
|
||||||
<div class="progress">
|
<div class="progress">
|
||||||
<!-- <div class="progress-bar-label">Observed</div> -->
|
<div class="progress-bar-label">Observed</div>
|
||||||
<div class="progress-bar bg-success" role="progressbar" id="frankaForceObservedRight" aria-valuenow="25" aria-valuemin="0" aria-valuemax="200">
|
<div class="progress-bar bg-success" role="progressbar" id="frankaForceObservedRight" aria-valuenow="25" aria-valuemin="0" aria-valuemax="200">
|
||||||
<span>N/A</span>
|
<span>N/A</span>
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
@@ -372,16 +372,13 @@ var playbackStatus = new ROSLIB.Topic({
|
|||||||
|
|
||||||
playbackStatus.subscribe(function(message) {
|
playbackStatus.subscribe(function(message) {
|
||||||
message = JSON.parse(message.data);
|
message = JSON.parse(message.data);
|
||||||
console.log("message");
|
|
||||||
console.log(message);
|
|
||||||
status = message.status;
|
status = message.status;
|
||||||
bagName = message.bag_file;
|
bagName = message.bag_file;
|
||||||
if (true) {
|
if (status != lastPlaybackStatus) {
|
||||||
|
|
||||||
if (status === "playing") {
|
if (status === "playing") {
|
||||||
|
|
||||||
} else if (status === "stopped") {
|
} else if (status === "stopped") {
|
||||||
triggerService('/aescape/bags/stopPlayingBag');
|
|
||||||
triggerService('/left/aescape/mode/activateReadyController');
|
triggerService('/left/aescape/mode/activateReadyController');
|
||||||
triggerService('/right/aescape/mode/activateReadyController');
|
triggerService('/right/aescape/mode/activateReadyController');
|
||||||
displayTaggingOptions('play');
|
displayTaggingOptions('play');
|
||||||
@@ -391,6 +388,7 @@ playbackStatus.subscribe(function(message) {
|
|||||||
triggerService('/right/aescape/mode/activateReadyController');
|
triggerService('/right/aescape/mode/activateReadyController');
|
||||||
displayMessage(true, "Loaded the selected bag file!")
|
displayMessage(true, "Loaded the selected bag file!")
|
||||||
}
|
}
|
||||||
|
lastPlaybackStatus = status;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -579,8 +577,7 @@ function startTeachRecoding() {
|
|||||||
async.waterfall([
|
async.waterfall([
|
||||||
function(callback) {
|
function(callback) {
|
||||||
triggerService('/left/aescape/hardware/calibrateRobotiq', false, function(err, res){
|
triggerService('/left/aescape/hardware/calibrateRobotiq', false, function(err, res){
|
||||||
//callback(err, res);
|
callback(err, res);
|
||||||
callback(null, null);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
function(response, callback) {
|
function(response, callback) {
|
||||||
|
|||||||
@@ -89,9 +89,11 @@ function displayTaggingOptions(mode) {
|
|||||||
fileNameSelectize.clearOptions()
|
fileNameSelectize.clearOptions()
|
||||||
// /aescape/bags/getBagList
|
// /aescape/bags/getBagList
|
||||||
getBagList(function(results){
|
getBagList(function(results){
|
||||||
fileNameSelectize.addOption(results)
|
fileNameSelectize.addOption(results.map(function(element){
|
||||||
|
return {name : element.filename}
|
||||||
|
}));
|
||||||
if(results[0]) {
|
if(results[0]) {
|
||||||
fileNameSelectize.setValue(results[0]._id);
|
fileNameSelectize.setValue(results[0].filename);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -139,7 +141,7 @@ function hideTaggingOptions(mode, updateValues=false) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var modeTag = '#' + mode + 'Tags';
|
var modeTag = '#' + mode + 'Tags';
|
||||||
var bagLabelSelector = '#' + mode + 'BagFileName';
|
var fileNameSelector = '#' + mode + 'BagFileName';
|
||||||
var categorySelector = '#' + mode + 'BagCategory';
|
var categorySelector = '#' + mode + 'BagCategory';
|
||||||
var tagSelector = '#' + mode + 'BagTags';
|
var tagSelector = '#' + mode + 'BagTags';
|
||||||
var errorSelector = '#' + mode + 'TagError';
|
var errorSelector = '#' + mode + 'TagError';
|
||||||
@@ -147,23 +149,24 @@ function hideTaggingOptions(mode, updateValues=false) {
|
|||||||
|
|
||||||
|
|
||||||
if(updateValues) {
|
if(updateValues) {
|
||||||
var bagLabel = $(bagLabelSelector).val();
|
var filename = $(fileNameSelector).val();
|
||||||
var category = $(categorySelector).val();
|
var category = $(categorySelector).val();
|
||||||
var tags = $(tagSelector).val() || [];
|
var tags = $(tagSelector).val();
|
||||||
|
|
||||||
getBagList(function(results){
|
getBagList(function(results){
|
||||||
if(!(results && results[0] && results[0]._id)) {
|
if(!(results && results[0] && results[0].filename)) {
|
||||||
|
console.log(results);
|
||||||
displayMessage(false, "Could not retrieve the last recorded bag :(");
|
displayMessage(false, "Could not retrieve the last recorded bag :(");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
bag_id = results[0]._id;
|
bag_name = results[0].filename;
|
||||||
updateBagMetadata(mode, bag_id, bagLabel, category, tags, function(updateError) {
|
updateBagMetadata(mode, bag_name, filename, category, tags, function(updateError) {
|
||||||
if(updateError) {
|
if(updateError) {
|
||||||
displayMessage(flase, updateError);
|
displayMessage(flase, updateError);
|
||||||
} else {
|
} else {
|
||||||
displayMessage("Bag data saved successfully!");
|
displayMessage("Bag data saved successfully!");
|
||||||
//clear selectize
|
//clear selectize
|
||||||
$(bagLabelSelector).selectize()[0].selectize.destroy();
|
$(fileNameSelector).selectize()[0].selectize.destroy();
|
||||||
$(categorySelector).selectize()[0].selectize.destroy();
|
$(categorySelector).selectize()[0].selectize.destroy();
|
||||||
$(tagSelector).selectize()[0].selectize.destroy();
|
$(tagSelector).selectize()[0].selectize.destroy();
|
||||||
}
|
}
|
||||||
@@ -175,18 +178,18 @@ function hideTaggingOptions(mode, updateValues=false) {
|
|||||||
document.querySelector(modeTag).classList.remove('open');
|
document.querySelector(modeTag).classList.remove('open');
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateBagMetadata(mode, bag_id, bag_label, category, tags, callback) {
|
function updateBagMetadata(mode, bag_name, modified_bag_name, category, tags, callback) {
|
||||||
if(!mode) {
|
if(!mode) {
|
||||||
return callback();
|
return callback();
|
||||||
}
|
}
|
||||||
if(!bag_id) {
|
if(!bag_name) {
|
||||||
return callback();
|
return callback();
|
||||||
}
|
}
|
||||||
|
|
||||||
var toSend = {
|
var toSend = {
|
||||||
mode : mode,
|
mode : mode,
|
||||||
bag_id : bag_id,
|
bag_name : bag_name,
|
||||||
bag_label : bag_label,
|
modified_bag_name : modified_bag_name,
|
||||||
category : category,
|
category : category,
|
||||||
tags : tags
|
tags : tags
|
||||||
}
|
}
|
||||||
@@ -211,33 +214,32 @@ function displayLoadingOptions() {
|
|||||||
//Putting this in a timeout to wait for the animation to finish completing
|
//Putting this in a timeout to wait for the animation to finish completing
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
document.querySelector(selector).style.overflow = "visible";
|
document.querySelector(selector).style.overflow = "visible";
|
||||||
}, 420) //This is not a Hitchhiker's reference. This is not a 420 reference. This value has been computed to match the speed of the larger drop down.
|
}, 420)
|
||||||
|
|
||||||
var $select = $('#loadBagList').selectize({
|
var $select = $('#loadBagList').selectize({
|
||||||
valueField: '_id',
|
valueField: 'filename',
|
||||||
labelField: 'name',
|
labelField: 'filename',
|
||||||
searchField: ['name', 'category', 'tags'],
|
searchField: ['filename', 'category', 'tags'],
|
||||||
options: [],
|
options: [],
|
||||||
create: false,
|
create: false,
|
||||||
placeholder : "Select bag to play",
|
placeholder : "Select bag to play",
|
||||||
render : {
|
render : {
|
||||||
item: function(item, escape) {
|
item: function(item, escape) {
|
||||||
name = item.name;
|
filename = item.filename;
|
||||||
category = item.category || 'None';
|
category = item.category || 'None';
|
||||||
return '<div class="bag-select-element">' +
|
return '<div class="bag-select-element">' +
|
||||||
'<div class="bag-select-element">' +
|
'<div class="bag-select-element">' +
|
||||||
'<span class="filename">' + escape(name) + '</span>' +
|
'<span class="filename">' + escape(filename) + '</span>' +
|
||||||
'<span class="category">' + ' (' + escape(category) + ') ' + '</span>' +
|
'<span class="category">' + ' (' + escape(category) + ') ' + '</span>' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'</div>';
|
'</div>';
|
||||||
},
|
},
|
||||||
option: function(item, escape) {
|
option: function(item, escape) {
|
||||||
|
filename = item.filename;
|
||||||
name = item.name;
|
|
||||||
category = item.category || 'None';
|
category = item.category || 'None';
|
||||||
return '<div class="bag-select-element bag-option">' +
|
return '<div class="bag-select-element bag-option">' +
|
||||||
'<div class="primary">' +
|
'<div class="primary">' +
|
||||||
'<div class="filename">' + escape(name) + '</div>' +
|
'<div class="filename">' + escape(filename) + '</div>' +
|
||||||
'<div class="category">' + escape(category) + '</div>' +
|
'<div class="category">' + escape(category) + '</div>' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'<div class="secondary">' +
|
'<div class="secondary">' +
|
||||||
@@ -246,7 +248,7 @@ function displayLoadingOptions() {
|
|||||||
return '<span class="tag label label-info">' + escape(tag) + '</span>'
|
return '<span class="tag label label-info">' + escape(tag) + '</span>'
|
||||||
}).join(' ') +
|
}).join(' ') +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'<div class="timestamp">' + escape(item.created_at) + '</div>' +
|
'<div class="timestamp">' + escape('27 Jun 10:10am') + '</div>' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'</div>';
|
'</div>';
|
||||||
}
|
}
|
||||||
@@ -261,7 +263,6 @@ function displayLoadingOptions() {
|
|||||||
var selectize = $select[0].selectize;
|
var selectize = $select[0].selectize;
|
||||||
selectize.clearOptions();
|
selectize.clearOptions();
|
||||||
//results = [{filename : 'testfile', category: 'testcategory', tags : ['testtag1', 'testtag2', 'testtag3']}, {filename : 'testfile2', category: 'testcategory2', tags : ['testtag21', 'testtag22', 'testtag23']}]
|
//results = [{filename : 'testfile', category: 'testcategory', tags : ['testtag1', 'testtag2', 'testtag3']}, {filename : 'testfile2', category: 'testcategory2', tags : ['testtag21', 'testtag22', 'testtag23']}]
|
||||||
console.log(results);
|
|
||||||
selectize.addOption(results);
|
selectize.addOption(results);
|
||||||
if(results[0]) {
|
if(results[0]) {
|
||||||
selectize.setValue(results[0].filename);
|
selectize.setValue(results[0].filename);
|
||||||
@@ -292,10 +293,12 @@ function hideLoadingOptions(loadBag) {
|
|||||||
singleArmMode = false
|
singleArmMode = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log("singleArmMode");
|
||||||
|
console.log(singleArmMode)
|
||||||
if(loadBag) {
|
if(loadBag) {
|
||||||
var selectedBagId = $('#loadBagList').val();
|
var selectedBagName = $('#loadBagList').val();
|
||||||
disableUI();
|
disableUI();
|
||||||
loadSelectedBagFile(selectedBagId, singleArmMode, function(updateError){
|
loadSelectedBagFile(selectedBagName, singleArmMode, function(updateError){
|
||||||
// if(updateError) {
|
// if(updateError) {
|
||||||
// displayMessage(false, "Something went wrong in the backend while fetching the bag files :(")
|
// displayMessage(false, "Something went wrong in the backend while fetching the bag files :(")
|
||||||
// } else {
|
// } else {
|
||||||
@@ -311,22 +314,21 @@ function hideLoadingOptions(loadBag) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
function loadSelectedBagFile(selectedBagId, singleArmMode, callback) {
|
function loadSelectedBagFile(selectedBagName, singleArmMode, callback) {
|
||||||
var toSend = {
|
var toSend = {
|
||||||
bag_id : selectedBagId,
|
bag_name : selectedBagName,
|
||||||
single_arm : singleArmMode
|
single_arm : singleArmMode
|
||||||
}
|
}
|
||||||
|
|
||||||
triggerService('/aescape/bags/startPlayingRecording', toSend, function(error, result) {
|
// triggerService('/aescape/bags/startPlayingRecording', toSend, function(error, result) {
|
||||||
if(!result) {
|
// if(!result) {
|
||||||
return callback("Something went wrong in the backend while updating.");
|
// return callback("Something went wrong in the backend while updating.");
|
||||||
}
|
// }
|
||||||
else {
|
// else {
|
||||||
return callback();
|
// return callback();
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
|
|
||||||
/*
|
|
||||||
var toSendString = JSON.stringify(toSend);
|
var toSendString = JSON.stringify(toSend);
|
||||||
|
|
||||||
var topic = new ROSLIB.Topic({
|
var topic = new ROSLIB.Topic({
|
||||||
@@ -338,7 +340,6 @@ function loadSelectedBagFile(selectedBagId, singleArmMode, callback) {
|
|||||||
var msg = new ROSLIB.Message({data:toSendString});
|
var msg = new ROSLIB.Message({data:toSendString});
|
||||||
|
|
||||||
topic.publish(msg);
|
topic.publish(msg);
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -480,11 +480,6 @@ html, body {
|
|||||||
background : #3671F9;
|
background : #3671F9;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
height: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.slider-options .col-md-2 {
|
|
||||||
padding: 0px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.progress-bar {
|
.progress-bar {
|
||||||
|
|||||||
@@ -66,7 +66,15 @@ function disableUI() {
|
|||||||
}
|
}
|
||||||
document.querySelector('.dropdown').classList.add("disabled");
|
document.querySelector('.dropdown').classList.add("disabled");
|
||||||
|
|
||||||
|
document.querySelectorAll('.force-bar .force-value span').forEach(function(element){
|
||||||
|
element.innerHTML = 0.0
|
||||||
|
});
|
||||||
|
|
||||||
|
document.querySelectorAll('.force-bar .progress-bar').forEach(function(element){
|
||||||
|
element.style.width = totalForcePercent + "%";
|
||||||
|
element.innerHTML = totalForce + " N";
|
||||||
|
element.setAttribute('aria-valuenow', totalForce);
|
||||||
|
});
|
||||||
|
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
|
|||||||
@@ -38,7 +38,6 @@
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- TO DO: Use requirejs to reliably load these all the dependancies in order -->
|
|
||||||
<script>
|
<script>
|
||||||
$(function(){
|
$(function(){
|
||||||
$("#coordinatorContent").load("app/components/coordinator/coordinator.html");
|
$("#coordinatorContent").load("app/components/coordinator/coordinator.html");
|
||||||
|
|||||||
Reference in New Issue
Block a user