Git Product home page Git Product logo

ardrone-webflight's People

Contributors

andrew avatar bkw avatar eschnou avatar jedwood avatar myifanw avatar rschmukler avatar wnagele avatar yaworsw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ardrone-webflight's Issues

cloning the repository fails

following your installation recommandation, I have the following message when trying to clone your repository

permission denied (publickey)
remote end hung up unexpectedly
I am not really familiar with GIT but I nether had this issue cloning any other repository. I am quite sure that it is probably my fault but I do not see what to do and do not see anything like that on your issue tracker
thank you for any help.

No video stream.

Hello,

I followed the installation instructions and am met with a completely grey screen upon opening localhost:3000. It doesn't look like the video-streaming plugin is working properly.

I'm on Ubuntu 14.04. Has anyone encountered an issue like this before?

Thanks.

Where does the ffmpeg go?

I installed ar-drone webflight with no errors until I ran the app.js

It displayed the following error:
Error: Ffmpeg was not found. Have you installed the ffmpeg package?

I then found the site: http://ffmpegmac.net
I have a MacBook Pro running with OS X Mountain Lion so I chose the right download link. I moved the ffmpeg(Unix Executable File) to different places within the ar-drone webflight folder but still no success. Can you point me in the right direction so I can display the video streaming of the AR-Drone 2.0 to the webpage? Thanks.

How to play back .h264 files saved by blackbox

I've tried playing back the .h264 files saved by the blackbox plugin, but I am unable to get them to play in VLC or QuickTime. How can they be played back? Do I need to install a certain codec to play them back?

Improve pilot to support multiple key-press

In the current pilot plugin, as soon as a key is released, the drone stops. This is due to a limitation in the jquery keydown methods used. I would like to fix this to enable piloting with multiple keys at the same time.

Idea: search for some tutorials on JS gaming, since gameplays ideas for keyboard games in JS would apply here as well.

Wrote oculus plugin, somewhat

I wrote a functional Oculus controller based on pilot and a functional Oculus viewer based on mpeg stream. Can I add that here, and is there any way specifically you'd like me to do it?

using osc to control drone with ardrone-webflight

I'm trying to replace the key press commands in the pilot plugin to be OSC messages. I am inexperienced with node, but running into a lot of problems - i am receiving osc messages ok the app.js (or in the plugin directly) but what i think i have to do is to then pass commands from app.js into a custom plugin called "autopilot"
see here
https://github.com/markkleeb/nodecopter-osc/tree/master/plugins/autopilot

do you have any suggestions about going about this? cause i'm running into problems because i actually can't figure out how to get data from app.js to autopilot.js

Fly by map

Hey, I'm working on a plugin that allows you to give a location and then it flies to the location on it's own.
Should I add it to the build in plugins or as a separate one?

Basic guide to creating plugins

Hi Laurent, I'm a bit of a beginner with all this sort of stuff and was wondering if you were able to provide a basic guide to building custom plugins for use with WebFlight? I've enjoyed using the application but I'd like to experiment with plugins :)

Would you be able to provide a guide on the very basics of creating a plugin?

(Apologies, I posted this on the autonomy page by accident initially but closed it out!)

Adding Function buttons to webflight?

Hello,

I was wondering if it would be possible to add functions buttons to Webflight? I presented at the Wired 2014 London Conference, and through a combination of NodeCopter, Webflight and lots of help from Andrew we flew the drone remotely from 300 miles away. It went down a storm! I'm not sure how much information would be useful, so I've included as much as I can but please let me know if you need to know anything else.

Now being quadriplegic I obviously can't use a traditional keyboard, so to hold down a particular key on the keyboard I use a combination of the applications TrackerPro, Keystrokes and a Buddy Button. The Keystrokes application uses what they call Scan Panels, these are invisible until you hover over them at which point you have an on-screen keyboard that not only has a traditional keyboard but can also trigger scripts, blocks of text and key combinations amongst loads other things.

So, to control the drone for the presentation I had to create a special on-screen keyboard to simulate The keypresses that webflight requires. This is what the Scan Panel I created looks like:

webflight-scan-panel

So as you can see all of the things that Webflight can do has a button on this panel, when creating the panel I just linked each button you can see to an individual keypress; so when I select the Take Off button Keystrokes issues a single T keypress, enabling the drone to take off and that's the same for all the other buttons. For movement functions like Left, I simply hold down my Buddy Button whilst hovering over the Left button and then I let go just before I hit the cat!

But it occurred to me after the presentation that it might be possible to add function buttons on the webflight webpage, yes, it did take me that long to work out that we could use JavaScript and HTML to create buttons on a webpage! The only issue that I could foresee (I'm not a programmer) is that Keystrokes doesn't issue one single long keypress when I hold the button on a scan panel down, instead it issues a series of key presses very quickly. Whereas if you were able bodied you would hold down the Left key until the drone of moved far enough and then let go, or maybe I'm missing something?

Anyway, this would be AWESOME if this could be implemented! I'm furiously learning JavaScript at the moment, but that could take ages at my present speed. But I'm learning :-)

Thanks

Stuart

ffmpeg required

The documentation doesn't mention that ffmpeg is required, without which you get a pretty uninformative error message:

[jwiseman@ubuntu ardrone-webflight (master)]$ node app.js 
   info  - socket.io started
Loading video-png plugin.
Loading hud plugin.
Loading pilot plugin.
AR. Drone WebFlight is listening on port 3000

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: spawn ENOENT
    at errnoException (child_process.js:980:11)
    at ChildProcess._handle.onexit (child_process.js:771:34)

Improve configuration

I would like to switch from a 'js' config file to something a bit more complete, with sections etc. Allowing to configure plugins (e.g. specify the keyboard layout for the pilot plugin).

Simplify deployment of application and plugins

I would like to make it much easier to deploy webflight from npm and additional plugins. The fact that you have to link/copy the plugin in a folder is cumbersome.

The idea:

  • create a ~/.webflight (or /etc/webflight when installed with -g) on install.
  • have in there a conf.d/ folder
  • each plugin has its own configuration snippet (including its path) and a flag if enabled or not

Thus, when user install an additional plugin via npm, it could add its default config in .webflight/conf.d/ and be immediately available to the user

Cannot run the program

Could you help me?

Error message:

node app.js
info - socket.io started
Loading video-png plugin.
Loading hud plugin.
Loading battery plugin.
Loading pilot plugin.
Loading blackbox plugin.
warn - error raised: Error: listen EADDRINUSE
TcpVideoStream error: TcpVideoStream timeout after 4000 ms.
Attempting to reconnect to TcpVideoStream...
TcpVideoStream error: TcpVideoStream timeout after 4000 ms.
Attempting to reconnect to TcpVideoStream...
TcpVideoStream error: TcpVideoStream timeout after 4000 ms.
Attempting to reconnect to TcpVideoStream...
TcpVideoStream error: TcpVideoStream timeout after 4000 ms.
Attempting to reconnect to TcpVideoStream...
TcpVideoStream error: TcpVideoStream timeout after 4000 ms.
Attempting to reconnect to TcpVideoStream...
TcpVideoStream error: TcpVideoStream timeout after 4000 ms.
Attempting to reconnect to TcpVideoStream...
TcpVideoStream error: TcpVideoStream timeout after 4000 ms.
Attempting to reconnect to TcpVideoStream...
TcpVideoStream error: TcpVideoStream timeout after 4000 ms.
Attempting to reconnect to TcpVideoStream...
TcpVideoStream error: TcpVideoStream timeout after 4000 ms.
Attempting to reconnect to TcpVideoStream...

Video not rendering in browser

I've successfully installed all files, and can run them, pointing the browser to localhost:3000 renders the Webflight page. However, there is no video feed coming from the drone. I've tried using the video-png and the video-stream configs, as well as chrome and safari on my macbook. I've also installed ffmpeg using homebrew.

No errors are thrown in command, either. I have yet to to check my browser's console log, but I'll do that tonight and update the issue (also adding screenshots).

Have any of you encountered this problem ever, and have you found a resolution for it?

Artificial horizon scaling is off

The artificial horizon doesn't accurately track the real horizon.

I think pixelsPerDegree needs to be scaled differently, e.g. pixelsPerDegree = height / cameraFovY, where I think cameraFovY = 70 degrees.

Doesnt Show UI on the browser

Hello, i have been trying to run this on the browser once connected to the ar drone, on the command line it shows that its connected and stuff, but on the browser its blank and empty. I tried changing the config file as well, but nothing happens. Kindly help. Thank you.

Use template-literal instead of EJS

Template Literal is fastest, smallest and simplest template engine, because it use JS's literal template feature.

It's 55 times faster than EJS, and it also use less CPU and RAM ressources, so it may be a good idea to use it instead of EJS ๐Ÿ˜€

Need to add dependency on ws?

With a fresh checkout I get this error:

[jwiseman@ubuntu ardrone-webflight (master)]$ node app.js 

module.js:340
    throw err;
          ^
Error: Cannot find module 'ws'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/home/jwiseman/src/ardrone-webflight/app.js:6:23)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

Add option to disable landing order on connection

As a student project, we developped a framework to capture drones in flight. We use ardrone-webflight to control a Parrot AR 2.0 once captured.

It seems that when ardrone-webflight connects to the drone, it starts with a Landing order. I guess this is a kind of security, however in our case it is not a good idea because we do not want the drone to land when flying.

Some option could be added to disable this behaviour in config file.

More information on this project:

Replay navdata conflict

If you use the replay plugin and you're also connected to a real drone, you'll end up with two conflicting sources of navdata events running in parallel:

client.emit('navdata', JSON.parse(data));

io.sockets.emit('navdata', latestNavData);

The observed effect of this is the HUD and any other user interface (or autonomous navigation) based on navdata will jump between two vehicle states.

Can't make it work. Browser can't find files.

This looks like a very useful app, but after spending an entire day trying to get it to work, it's still just an illusion to me. I'm using windows 7 and I downloaded everything that it says to download, installed everything I was supposed to, and had it all working - everything except actual video on the screen of my laptop or the ability to control the drone. The java app.js said it was running and was responding to the browser requests. The web page had the right header on it when I went to localhost:3000, but the screen was blank. The browser said that there was a lot of stuff it couldn't find - but mostly query.js - even though there 5 or 6 copies of it now sprinkled throughout the directories of the ardrone-webflight-master directory. I couldn't figure out which one(s) it needed to see, or how to make it visible to the browser. This was a lot of drilling for a dry hole. I just thought I'd write this comment in case some other poor slob is stuck in the same spot and is wondering why it wasn't as easy as the readme file made it sound. It looks like nothing has been done on Github for a few months now, so perhaps I'm beating a dead horse, but if anyone has an idea of what I can't figure out that everyone else seems to have figured out long ago, please give me clue, OK? Thanks!

videostream failing on chrome

Out of the blue, the dronestream based video stream started failing on me. I suspect a silent update of chrome. Anyway, I fixed the problem (see mbebenita/Broadway#20) and published a new version of dronestream on npm. I also updated our package.json to include the new dronestream version 1.1.1.

This is just a reminder that we should publish a new release of ardrone-webflight so other users don't run into this.

add .bowerrc to make sure install path

Cause bower already upgrades to 0.10 and made some change, so the components will be installed to bower_components under root path, so jquery path would be wrong.

Maybe a add a .bowerrc like this:

{
  "directory": "public/components"
}

to make sure install path is what you want.

PS: Actually it's make such a big deal out of it if only use jquery, unless you might add more assets and want to manage them using bower. ;p

Improve video/navdata sync in replay

Instead of scheduling video push at fixed rate, we should use the timestamp value from the PaVE headers. This should help in better synching with navdata.

bower install stops with error : fatal: unable to connect to github.com:

My whole try: (I'm on a MBP (Mavericks))

Marvins-MacBook-Pro:ardrone-webflight marvinosswald$ bower install
bower not-cached    git://github.com/jquery/jquery.git#~1.9.1
bower resolve       git://github.com/jquery/jquery.git#~1.9.1
bower not-cached    git://github.com/bowerjs/bootstrap.git#~2.1.1
bower resolve       git://github.com/bowerjs/bootstrap.git#~2.1.1
bower ECMDERR       Failed to execute "git ls-remote --tags --heads git://github.com/jquery/jquery.git", exit code of #128

Additional error details:
fatal: unable to connect to github.com:
github.com[0: 192.30.252.130]: errno=Operation timed out

Plugin idea: Wind direction indicator

Looking at the SDK, it seems a wind_speed structure can be retrieved with both a speed and estimated angle. So, in theory, we could display a wind speed/strength arrow on the hud.

Compass discontinuity

This is a minor nit: The compass has a discontinuity, so if you rotate the drone smoothly through 360 degrees, the compass will jump at some point (I think it's going from 180 degrees to -180 degrees).

video-stream plugin out of sync with ardrone?

From a fresh checkout, npm install, bower install, then enabling the video-stream plugin:

[jwiseman@ubuntu ardrone-webflight (master)]$ node app.js 
   info  - socket.io started
Loading video-stream plugin.

/home/jwiseman/src/ardrone-webflight/plugins/video-stream/index.js:2
   require("dronestream").listen(3001, {tcpVideoStream: deps.client.getVideoSt
                                                                    ^
TypeError: Object #<Client> has no method 'getVideoStream'
    at video (/home/jwiseman/src/ardrone-webflight/plugins/video-stream/index.js:2:70)
    at /home/jwiseman/src/ardrone-webflight/app.js:89:36
    at Array.forEach (native)
    at Object.<anonymous> (/home/jwiseman/src/ardrone-webflight/app.js:85:16)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)

FFMPEG

Hello, need some help regarding installing FFMPEG.

I have already installed FFMPEG (node js) on my MacBook and the file has appeared in my node_modules. However, when I launch the app.js script, I keep getting a message asking me if I have installed FFMPEG.

Can someone please help? I'm really new with this. Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.