Removed unused file
Esse commit está contido em:
-87
@@ -1,87 +0,0 @@
|
||||
var arDrone = require('ar-drone');
|
||||
var PID = require('./PID');
|
||||
var vincenty = require('node-vincenty');
|
||||
|
||||
var yawPID = new PID(1.0, 0, 0.30);
|
||||
var client = arDrone.createClient();
|
||||
|
||||
client.config('general:navdata_demo', 'FALSE');
|
||||
|
||||
function within(x, min, max) {
|
||||
if (x < min) {
|
||||
return min;
|
||||
} else if (x > max) {
|
||||
return max;
|
||||
} else {
|
||||
return x;
|
||||
}
|
||||
}
|
||||
|
||||
// client.takeoff()
|
||||
|
||||
function gpsNavigator(client){
|
||||
this.targetLat = null;
|
||||
this.targetLon = null;
|
||||
this.targetYaw = null;
|
||||
this.callback = null;
|
||||
|
||||
this.client = client;
|
||||
|
||||
this.waypoint = function(lat, lon, cb){
|
||||
this.targetLat = lat
|
||||
this.targetLon = lon
|
||||
this.callback = cb
|
||||
}
|
||||
|
||||
this.handleNavData = function(data){
|
||||
if (data.demo == null) return;
|
||||
|
||||
var currentLat = data.gps.latitude
|
||||
var currentLon = data.gps.longitude
|
||||
console.log('lat/lon:', currentLat, currentLon);
|
||||
|
||||
var currentYaw = data.demo.rotation.yaw;
|
||||
|
||||
if (targetLat == null || targetLon == null || currentYaw == null || currentLat == null || currentLon == null) return;
|
||||
|
||||
var bearing = vincenty.distVincenty(currentLat, currentLon, targetLat, targetLon)
|
||||
|
||||
if(bearing.distance > 0.5){
|
||||
console.log('distance', bearing.distance)
|
||||
console.log('bearing:', bearing.initialBearing)
|
||||
this.targetYaw = bearing.initialBearing
|
||||
|
||||
console.log('currentYaw:', currentYaw);
|
||||
var eyaw = targetYaw - currentYaw;
|
||||
console.log('eyaw:', eyaw);
|
||||
|
||||
var uyaw = yawPID.getCommand(eyaw);
|
||||
console.log('uyaw:', uyaw);
|
||||
|
||||
var cyaw = within(uyaw, -1, 1);
|
||||
console.log('cyaw:', cyaw);
|
||||
|
||||
this.client.clockwise(cyaw)
|
||||
this.client.front(0.2)
|
||||
} else {
|
||||
this.targetYaw = null
|
||||
this.targetLat = null;
|
||||
this.targetLon = null;
|
||||
this.client.stop()
|
||||
this.callback()
|
||||
console.log('Reached ', targetLat, targetLon)
|
||||
}
|
||||
}
|
||||
this.client.on('navdata', this.handleNavData);
|
||||
}
|
||||
|
||||
var gps = new gpsNavigator(client)
|
||||
|
||||
gps.waypoint(51.392059, -2.3224394, function(){
|
||||
console.log('done!')
|
||||
})
|
||||
|
||||
|
||||
|
||||
client.on('navdata', handleNavData);
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário