demo ready.

This commit is contained in:
Matt DiCicco
2019-07-08 15:30:54 -04:00
parent 6d61a69559
commit 32361e16bd
3 changed files with 75 additions and 45 deletions

View File

@@ -302,7 +302,7 @@
</div> </div>
</div> </div>
--> -->
<div class="control-container col-md-10 col-md-offset-2"> <div class="control-container teaching-mode-operations col-md-10">
<div class="control-card panel panel-default"> <div class="control-card panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
Teaching Mode Operations Teaching Mode Operations
@@ -341,7 +341,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="control-container col-md-10"> <div class="control-container play-mode-operations col-md-10">
<div class="control-card panel panel-default execution-control"> <div class="control-card panel panel-default execution-control">
<div class="panel-heading"> <div class="panel-heading">
Play Mode Operations Play Mode Operations

View File

@@ -62,8 +62,8 @@ class ArmControls
this.frankaForceObservedTopic = new ROSLIB.Topic({ this.frankaForceObservedTopic = new ROSLIB.Topic({
ros : ros, ros : ros,
name : '/'+this.namespace+'/monitor/robot_goal', name : '/'+this.namespace+'/franka_state_controller/F_ext_base',
messageType : 'aescape_control/RobotGoal', messageType : 'geometry_msgs/WrenchStamped',
throttle_rate : 500 // 2Hz throttle_rate : 500 // 2Hz
}); });
@@ -208,17 +208,19 @@ class ArmControls
} }
if (forceTypeCode == 'observed') { if (forceTypeCode == 'observed') {
var forceType = "Observed"; var forceType = "Observed";
console.log(message)
} }
if (forceTypeCode == 'commanded') { if (forceTypeCode == 'commanded') {
var forceType = "Commanded"; var forceType = "Commanded";
} }
if(this.namespace == 'right' && forceTypeCode == 'commanded') { // if(this.namespace == 'right' && forceTypeCode == 'commanded') {
console.log("frankaForce"); // console.log("frankaForce");
console.log(message) // console.log(message)
} // }
var force = message.wrench.force var force = message.wrench.force
document.getElementById("frankaForce" + bindedArm + forceType + "X").innerHTML = force.x.toFixed(1) document.getElementById("frankaForce" + bindedArm + forceType + "X").innerHTML = force.x.toFixed(1)
document.getElementById("frankaForce" + bindedArm + forceType + "Y").innerHTML = force.y.toFixed(1) document.getElementById("frankaForce" + bindedArm + forceType + "Y").innerHTML = force.y.toFixed(1)
document.getElementById("frankaForce" + bindedArm + forceType + "Z").innerHTML = force.z.toFixed(1) document.getElementById("frankaForce" + bindedArm + forceType + "Z").innerHTML = force.z.toFixed(1)
@@ -361,6 +363,8 @@ executingBagTopic.subscribe(function(message) {
// Playback status // Playback status
var lastPlaybackStatus;
var lastStatusBag;
var playbackStatus = new ROSLIB.Topic({ var playbackStatus = new ROSLIB.Topic({
ros : ros, ros : ros,
name : '/left/playback/status', name : '/left/playback/status',
@@ -368,19 +372,25 @@ var playbackStatus = new ROSLIB.Topic({
}); });
playbackStatus.subscribe(function(message) { playbackStatus.subscribe(function(message) {
console.log("playbackStatus");
console.log(message);
message = JSON.parse(message.data); message = JSON.parse(message.data);
status = message.status; status = message.status;
bagName = message.bag_file; bagName = message.bag_file;
console.log("status");
console.log(status);
if (status != lastPlaybackStatus) {
if (status === "playing") {
if (status === "playing") { } else if (status === "stopped") {
triggerService('/left/aescape/mode/activateReadyController');
} else if (message === "stopped") triggerService('/right/aescape/mode/activateReadyController');
{ displayTaggingOptions('play');
triggerService('/left/aescape/mode/activateReadyController'); } else if (status === "loaded" && lastPlaybackStatus !== "playing") {
triggerService('/right/aescape/mode/activateReadyController'); console.log("lastPlaybackStatus");
displayTaggingOptions('play'); console.log(lastPlaybackStatus);
displayMessage(true, "Loaded the selected bag file!")
}
lastPlaybackStatus = status;
} }
}); });
@@ -442,9 +452,6 @@ function triggerService(serviceName, toSend, callback) {
var request = new ROSLIB.ServiceRequest({message : toSend}); var request = new ROSLIB.ServiceRequest({message : toSend});
} }
var hellobiatch = "hellobiatch"
/* /*
var service = new ROSLIB.Service({ var service = new ROSLIB.Service({
ros : ros, ros : ros,
@@ -520,7 +527,7 @@ function triggerService(serviceName, toSend, callback) {
if(serviceCallReturned) { if(serviceCallReturned) {
clearInterval(responseCheckInterval); clearInterval(responseCheckInterval);
return; return;
} else if (timeElapsedSinceServiceCall > 7000){ } else if (timeElapsedSinceServiceCall > 3000){
$(document).ready(function(){ $(document).ready(function(){
$.notify({ $.notify({
message: "Timeout on " + serviceName message: "Timeout on " + serviceName
@@ -609,6 +616,16 @@ function playLoadedRecording() {
function(callback) { function(callback) {
triggerService('/left/aescape/mode/activateExecutionController', false, callback); triggerService('/left/aescape/mode/activateExecutionController', false, callback);
}, },
function(response, callback) {
var singleArmMode = $('#armMode').val();
if (singleArmMode == "1") {
singleArmMode = true;
callback(null, null);
} else {
singleArmMode = false;
triggerService('/right/aescape/mode/activateExecutionController', false, callback);
}
},
function(response, callback) { function(response, callback) {
triggerTopic('/left/run_trajectory', false, callback) triggerTopic('/left/run_trajectory', false, callback)
} }
@@ -622,9 +639,12 @@ function stopPlayingRecording() {
function(callback) { function(callback) {
triggerService('/aescape/bags/stopPlayingBag', false, callback); triggerService('/aescape/bags/stopPlayingBag', false, callback);
}, },
// function(response, callback) { function(response, callback) {
// triggerService('/left/aescape/mode/activateReadyController', false, callback); triggerService('/left/aescape/mode/activateReadyController', false, callback);
// }, },
function(response, callback) {
triggerService('/right/aescape/mode/activateReadyController', false, callback);
},
function(response, callback) { function(response, callback) {
//displayTaggingOptions('play'); //displayTaggingOptions('play');
callback(); callback();

View File

@@ -16,8 +16,6 @@ function getBagList(callback)
var request = new ROSLIB.ServiceRequest(toSend); var request = new ROSLIB.ServiceRequest(toSend);
service.callService(request, function(result) { service.callService(request, function(result) {
console.log("result from getBagList");
console.log(result.message);
callback(JSON.parse(result.message)); callback(JSON.parse(result.message));
}); });
} }
@@ -296,18 +294,12 @@ function hideLoadingOptions(loadBag) {
console.log(singleArmMode) console.log(singleArmMode)
if(loadBag) { if(loadBag) {
var selectedBagName = $('#loadBagList').val(); var selectedBagName = $('#loadBagList').val();
var singleArmMode = $('#armMode').val();
if (singleArmMode) {
singleArmMode = true
} else {
singleArmMode = false
}
loadSelectedBagFile(selectedBagName, 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 {
displayMessage(true, "Loaded the selected bag file!") // displayMessage(true, "Loaded the selected bag file!")
} // }
}) })
} }
var selector = '#loadBags'; var selector = '#loadBags';
@@ -315,20 +307,38 @@ function hideLoadingOptions(loadBag) {
document.querySelector(selector).classList.remove('open'); document.querySelector(selector).classList.remove('open');
} }
function loadSelectedBagFile(selectedBagName, singleArmMode, callback) { function loadSelectedBagFile(selectedBagName, singleArmMode, callback) {
var toSend = { var toSend = {
bag_name : selectedBagName, 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);
console.log("toSend string")
console.log(toSendString)
var topic = new ROSLIB.Topic({
ros : ros,
name : "/left/playback/control",
messageType : 'std_msgs/String'
});
var msg = new ROSLIB.Message({data:toSendString});
topic.publish(msg);
} }