demo ready.
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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 (message === "stopped")
|
} else if (status === "stopped") {
|
||||||
{
|
triggerService('/left/aescape/mode/activateReadyController');
|
||||||
triggerService('/left/aescape/mode/activateReadyController');
|
triggerService('/right/aescape/mode/activateReadyController');
|
||||||
triggerService('/right/aescape/mode/activateReadyController');
|
displayTaggingOptions('play');
|
||||||
displayTaggingOptions('play');
|
} else if (status === "loaded" && lastPlaybackStatus !== "playing") {
|
||||||
|
console.log("lastPlaybackStatus");
|
||||||
|
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();
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user