Giter Site home page Giter Site logo

artoo's People

Contributors

aceburgess avatar auser avatar banchee avatar davispuh avatar deadprogram avatar dfischer avatar djpowers avatar dportalesr avatar edgarsilva avatar greendog avatar josephschito avatar juliancheal avatar marioricalde avatar mikejford avatar sshao avatar stewart avatar whoisjake avatar xixebombilla avatar zankich 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  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

artoo's Issues

Artoo Generate Adapter not working

When I run artoo generate adapter artoo_mouse, I get the command not found error message.

Could not find command "adapter".

I have artoo 1.8.1 installed. I'll start by making this gem manually, however just wanted to report it.

How to terminate cleanly?

When I terminate my program, running it again gets me dozens of "called a dead actor" messages from Celluloid. I'm working with artoo on a Raspberry Pi using the led and keyboard devices. Currently I am having to reboot the pi in between runs which is a nuisance.

How can I terminate / interrupt the program cleanly? How can I cleanup after a crash?

Thanks for any help you can offer.

Can't install socat through artoo

Hi,

I have Mac OS Mavericks and I was trying to install socat from this:

http://artoo.io/documentation/platforms/neurosky/

[514][chimkan: /Users/chimkan]$ artoo install socat
/Users/chimkan/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/celluloid-0.15.2/lib/celluloid/cpu_counter.rb:7: warning: Insecure world writable dir /usr/local in PATH, mode 040777
/Users/chimkan/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/artoo-1.6.7/lib/artoo/commands/install.rb:16:in socat': uninitialized constant Artoo::Commands::Install::Bundler (NameError) from /Users/chimkan/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/thor-0.18.1/lib/thor/command.rb:27:inrun'
from /Users/chimkan/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/thor-0.18.1/lib/thor/invocation.rb:120:in invoke_command' from /Users/chimkan/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/thor-0.18.1/lib/thor.rb:363:indispatch'
from /Users/chimkan/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/thor-0.18.1/lib/thor/invocation.rb:109:in invoke' from /Users/chimkan/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/thor-0.18.1/lib/thor.rb:232:inblock in subcommand'
from /Users/chimkan/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/thor-0.18.1/lib/thor/command.rb:27:in run' from /Users/chimkan/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/thor-0.18.1/lib/thor/invocation.rb:120:ininvoke_command'
from /Users/chimkan/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/thor-0.18.1/lib/thor.rb:363:in dispatch' from /Users/chimkan/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/thor-0.18.1/lib/thor/base.rb:439:instart'
from /Users/chimkan/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/artoo-1.6.7/bin/artoo:56:in <top (required)>' from /Users/chimkan/.rbenv/versions/2.1.0/bin/artoo:23:inload'
from /Users/chimkan/.rbenv/versions/2.1.0/bin/artoo:23:in `

'

Flight Recorder for ArDrone 2.0

Is there an adaptor for the Flight Recorder for the ArDrone 2.0?
If that is the case, how can it be accessed the gps data? what is the interface?

Resource Busy on OSX

I'm trying to connect to the Sphero and getting an error message. I have a Sphero Original and am using OSX. Connecting to the device via the OSX bluetooth "Set Up Bluetooth Device" menu item works, but then artoo can't connect because the resource is busy.

➜  sphero  artoo connect scan | grep Sphero
/dev/tty.Sphero-RGO-RN-SPP
➜  sphero  artoo connect serial tty.Sphero-RGO-RN-SPP 8023
         run  socat -d -d -b57600 FILE:/dev/tty.Sphero-RGO-RN-SPP,nonblock,raw,echo=0 TCP-LISTEN:8023,fork from "."
2013/11/15 07:25:30 socat[20312] N opening character device "/dev/tty.Sphero-RGO-RN-SPP" for reading and writing
2013/11/15 07:25:35 socat[20312] E open("/dev/tty.Sphero-RGO-RN-SPP", 06, 0666): Resource busy
2013/11/15 07:25:35 socat[20312] N exit(1)

Has anyone encountered this before? Any ideas?

`install_dir': undefined method `+' for nil:NilClass (NoMethodError)

Hitting this error when trying any artoo commands from terminal:

/Users/foo/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/artoo-1.4.1/lib/artoo/commands/commands.rb:15:in `install_dir': undefined method `+' for nil:NilClass (NoMethodError)
    from /Users/foo/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/artoo-1.4.1/bin/artoo:49:in `<top (required)>'
    from /Users/foo/.rbenv/versions/2.0.0-p247/bin/artoo:23:in `load'
    from /Users/foo/.rbenv/versions/2.0.0-p247/bin/artoo:23:in `<main>'

Tried artoo-arduino 1.2.0 and 1.3.0 under both jruby-1.7.4 and 2.0.0-p247.

slow startup

I have been playing with both Dino gem and Artoo-arduino gem for some projects that I want to do with my students. I am inclining more for Artoo since we want to do AR.Drone too and it is better to have a unified framework for our students.

Unfortunately I noticed that Dino start up time is way shorter than Artoo-arduino,

Is there any way to speed up artoo-arduino?
Is there any way to stop running the HTTP Server every time that a robot is runned?
Is there any way to avoid having those:
I, [2014-08-17T10:06:16.305577 #9574] INFO -- : Registering connection 'firmata'...
messages at the beginning of every program when it is started up?
Is there anything to do to improve the start up time in artoo-arduino?

Thanks in advance

Heberto del Rio

Documentation Request: Sphero support for BB-8

It's unclear which Sphero models are supported. I'm specifically interested in the BB-8, but it would be helpful if the Sphero page mentioned all supported and unsupported models.

If the answer is simply "all models", it would be helpful to either say "all models as of X/Y/Z date" or else still list them individually, since simply saying "all models" may become untrue at some point in the future with the introduction of a new model that breaks backwards compatibility.

Thanks.

Console Error

Whenever I try and run artoo console to start a CLI session, I get the following error:

ruby/gems/2.0.0/gems/artoo-1.5.0/lib/artoo/commands/commands.rb:15:in `install_dir': undefined method `+' for nil:NilClass (NoMethodError)

I'm trying to just create a console session to connect with an AR Drone. The goal is to be able to control it from the terminal and try out the different methods on this gem.

I'm new to this. If I am going about this wrong, please let me know. Otherwise, any suggestions on how to connect via a terminal and just fire commands at the drone, check events, etc?

Great gem, by the way!

Firmata fails to start a connection with Arduino mega2560

Hi!
I'm trying to run the blinking example with an Arduino MEGA2560.
These are the steps I followed:

$ gort scan serial

/dev/cu.Bluetooth-Incoming-Port		/dev/tty.Bluetooth-Incoming-Port
/dev/cu.usbmodem1421			/dev/tty.usbmodem1421

So I changed the adaptor to port => '/dev/tty.usbmodem1421' (also tried with /dev/cu.usbmodem1421 having the same result)

Then gort arduino install and it installed avrdude successfully.
Now I run:

$ gort arduino upload firmata /dev/tty.usbmodem1421 -b mega2560

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9801 (probably m2560)
avrdude: reading input file "/var/folders/2l/2x1l6t5530s25fzgvyfzdp_r0000gn/T/816739554"
avrdude: writing flash (12224 bytes):

Writing | ################################################## | 100% 1.97s

avrdude: 12224 bytes of flash written
avrdude: verifying flash memory against /var/folders/2l/2x1l6t5530s25fzgvyfzdp_r0000gn/T/816739554:
avrdude: load data flash data from input file /var/folders/2l/2x1l6t5530s25fzgvyfzdp_r0000gn/T/816739554:
avrdude: input file /var/folders/2l/2x1l6t5530s25fzgvyfzdp_r0000gn/T/816739554 contains 12224 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 1.57s

avrdude: verifying ...
avrdude: 12224 bytes of flash verified

avrdude done.  Thank you.

According to the output of that command, the firmata software was successfully loaded. So the only thing left to do is run the program:

$ ruby blink_led.rb

I, [2017-08-01T19:48:42.463021 #22491]  INFO -- : Registering connection 'arduino'...
I, [2017-08-01T19:48:42.463138 #22491]  INFO -- : Registering device 'board'...
I, [2017-08-01T19:48:42.463169 #22491]  INFO -- : Registering device 'led'...
I, [2017-08-01T19:48:42.463193 #22491]  INFO -- : Preparing work...
I, [2017-08-01T19:48:42.463942 #22491]  INFO -- : Initializing artoo::connection arduino...
I, [2017-08-01T19:48:42.472186 #22491]  INFO -- : Initializing artoo::device board...
I, [2017-08-01T19:48:42.473928 #22491]  INFO -- : Initializing artoo::device led...
I, [2017-08-01T19:48:42.476191 #22491]  INFO -- : Starting work...
I, [2017-08-01T19:48:42.476433 #22491]  INFO -- : Connecting to 'arduino' on port '/dev/cu.usbmodem1421'...

And it just hangs there.

I'm running macOS Sierra 10.12.5 and ruby version 2.2.2 (as needed by artoo-arduino dependencies)

I saw this same issue hapening in gobot: hybridgroup/gobot#374
They resolved it applying some changes. Could Artoo be having the same issues?

Thanks

cubiboard

I now have artoo set up under cubian on a cubieboard 2. Any pointers on getting gpio working for the cubieboard. I will check out the beagle bone imp and try and see what I can do but any help would be great.

Wrong number of arguments passed in RESTful JSON API when sending a command

When I use the commands drop down to send a command that requires multiple arguments, (eg. set_color for Sphero) I get a wrong number of arguments exception. The same problem happens when I send a raw POST from cURL. It looks like the arguments list in the /commands/:commandid route needs to be splatted.

# lib/artoo/api/api.rb
post '/robots/:robotid/devices/:deviceid/commands/:commandid' do
  result = device(@params['robotid'], @params['deviceid']).command(@params['commandid'], command_params)
  return MultiJson.dump({'result' => result})
end

# lib/artoo/device.rb
def command(method_name, *arguments, &block)
  driver.command(method_name, *arguments)
end

I've only been working with Sphero, but the problem seems like it would affect all devices the same. Here's the error log when the problem happens. It's an easy fix, I have a patch, let me know if you'd like a test for the fix and/or a pull-request.

License missing from gemspec

RubyGems.org doesn't report a license for your gem. This is because it is not specified in the gemspec of your last release.

via e.g.

spec.license = 'MIT'
# or
spec.licenses = ['MIT', 'GPL-2']

Including a license in your gemspec is an easy way for rubygems.org and other tools to check how your gem is licensed. As you can image, scanning your repository for a LICENSE file or parsing the README, and then attempting to identify the license or licenses is much more difficult and more error prone. So, even for projects that already specify a license, including a license in your gemspec is a good practice. See, for example, how rubygems.org uses the gemspec to display the rails gem license.

There is even a License Finder gem to help companies/individuals ensure all gems they use meet their licensing needs. This tool depends on license information being available in the gemspec. This is an important enough issue that even Bundler now generates gems with a default 'MIT' license.

I hope you'll consider specifying a license in your gemspec. If not, please just close the issue with a nice message. In either case, I'll follow up. Thanks for your time!

Appendix:

If you need help choosing a license (sorry, I haven't checked your readme or looked for a license file), GitHub has created a license picker tool. Code without a license specified defaults to 'All rights reserved'-- denying others all rights to use of the code.
Here's a list of the license names I've found and their frequencies

p.s. In case you're wondering how I found you and why I made this issue, it's because I'm collecting stats on gems (I was originally looking for download data) and decided to collect license metadata,too, and make issues for gemspecs not specifying a license as a public service :). See the previous link or my blog post aobut this project for more information.

ERROR -- : Artoo::Adaptors::Raspi crashed!

Hi,
I'm trying out artoo for our makerspace based on a talk you guys gave at the Miami RubyConf last weekend.

Googling hasn't helped and I couldn't find a place to put this. I was hoping to eventually add mcp3008, and other i2c related code up here.

Just testing out the simple led example with the Pi https://github.com/hybridgroup/artoo-raspi

and I'm getting :

I, [2013-11-14T16:46:55.764633 #3044] INFO -- : Preparing work...
I, [2013-11-14T16:46:55.777544 #3044] INFO -- : Initializing connection raspi...
I, [2013-11-14T16:46:55.866557 #3044] INFO -- : Initializing device board...
I, [2013-11-14T16:46:55.898742 #3044] INFO -- : Initializing device led...
I, [2013-11-14T16:46:56.008247 #3044] INFO -- : Starting work...
I, [2013-11-14T16:46:56.016834 #3044] INFO -- : Connecting to 'raspi' on port 'none'...
I, [2013-11-14T16:46:56.069279 #3044] INFO -- : Starting driver 'Artoo::Drivers::DeviceInfo'...
Starting driver 'Artoo::Drivers::Led'...
Firmware name: Raspberry Pi
E, [2013-11-14T16:46:56.119757 #3044] ERROR -- : Artoo::Adaptors::Raspi crashed!
NameError: uninitialized constant Artoo::Raspi
/var/lib/gems/1.9.1/gems/artoo-raspi-0.5.0/lib/artoo/adaptors/raspi.rb:56:in version' /var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:inpublic_send'
/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:in dispatch' /var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:67:indispatch'
/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:322:in block in handle_message' /var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:416:inblock in task'
/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:55:in block in initialize' /var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/tasks/task_fiber.rb:13:inblock in create'
Disconnecting all PWM pins...E, [2013-11-14T16:46:56.123695 #3044] ERROR -- : uninitialized constant Artoo::Raspi
E, [2013-11-14T16:46:56.136144 #3044] ERROR -- : ["/var/lib/gems/1.9.1/gems/artoo-raspi-0.5.0/lib/artoo/adaptors/raspi.rb:56:in version'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:inpublic_send'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:in dispatch'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:67:indispatch'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:322:in block in handle_message'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:416:inblock in task'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:55:in block in initialize'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/tasks/task_fiber.rb:13:inblock in create'", "(celluloid):0:in remote procedure call'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:92:invalue'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/proxies/sync_proxy.rb:33:in method_missing'", "/var/lib/gems/1.9.1/gems/artoo-1.4.1/lib/artoo/connection.rb:86:inmethod_missing'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:in public_send'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:indispatch'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:67:in dispatch'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:322:inblock in handle_message'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:416:in block in task'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:55:inblock in initialize'", "/var/lib/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/tasks/task_fiber.rb:13:in `block in create'"]

Firmata version:

Cannot connect to Arduino UNO through firmata

New user here, i am most certainly dealing with an issue on my end, but i have no clue as to what i am doing wrong, so i hope you can help.

I have installed gort, i have uploaded the formata using "gort arduino upload firmata /dev/tty.usbmodem1451".

But whenever i try to connect to my arduino using ruby "ruby blink.rb", it just stops at "Connecting to 'firmata' on port '/dev/tty.usbmodem1451'..."

Please let me know if i am missing something? Thanks!

Any plans to support MAVLink?

Do you have any plans to support MAVLink, which would enable control of all ArduPilot (APM) drones?

Python has MAVProxy, but there doesn't seem to be a Ruby interface.

Could I use this with openpilot.org

Hey Guys,
I used your artoo with both a raspberry pi and a ar.drone we had laying around. I'm thinking of building a new quad with my recently bought openpilot revolution board. It's opensource and has a nice Ground Control Software (GCS). Ideally if I could get artoo working with the openpilot I could automate and do some fun experiments with indoor navigation (using a pixycam for indoor navigation).

I envision two ways of doing this:

  1. Connect a raspberry pi to the openpilot and have it chat via usb/i2c to get telemetry data and then control it. This gives me the power of using a laptop or ipad to number crunch or for manual control with a joystick to the raspberr pi.
  2. I could somehow try to use artoo natively and send controls via laptop/joystic to the openpilot to do visual recognition and indoor navigation.

In either case I feel like I will need to roll my own or write some Artoo drivers/wrappers to control and interface with the openpilot revo board.

I could use some help via your commulated experience porting devices to artoo. This seems like too much of a mountain to climb for one person on his/her spare time.

openpilot website is here: http://store.openpilot.org/home/19-openpilot-revolution-kickstarter.html

I'm also thinking of getting the oplink which oudl let me communicate with laptop and GCS directly.

I didn't know where else to post these thoughts and ask for help so feel free to move discussion to somewhere else that might be more appropriate.

Connections without sockets

I am currently building a connection and adapter based on HID-Devices (PS3 Controller and mouse/keyboard). The lifecycle is "connection like" (get a handle on a device, close it, reconnect if needed).

Sadly, the Connection class only passes the :port and no optional arguments like a :device_id or :vendor_id through to the adaptor.

I would like to lobby for an API extension there, by making :port optional and pass any given additional arguments through to the adaptor. I'd take up the implementation.

Help me get started.

I need help installing a ruby interpreter and everything else on the Artoo Getting Started Page.

Artoo Master in the Internet

Hi

Thanks for a good project.

Is it posible to hold Artoo Master (MCP on the picture below) in the internet?

img

For example I want to build sensors network. These devices have access to the internet but don't have static IP and I can't Initialize them form Artoo Master and make connection.

Device has to make connection to Artoo Master itself. Artoo Master IP is static.

Can I do it with artoo?

Problems post Mavericks upgrade

I was able to get things working before, but then upgraded to Mavericks recently (better late than before a few patches). There were some problems so I reinstalled RVM, Ruby (2.0.0-p451) and the Artoo gems fresh.

I am able to run a simple Ruby file (puts "Works!") without issue, but I seem to have a problem with Artoo:

$ ruby ardrone-takeoff.rb 
D, [2014-03-30T19:52:11.943760 #62094] DEBUG -- : Terminating 4 actors...
/Users/username/.rvm/gems/ruby-2.0.0-p451/gems/reel-0.4.0/lib/reel/response.rb:3:in `<class:Response>': uninitialized constant HTTP::Header (NameError)
        from /Users/username/.rvm/gems/ruby-2.0.0-p451/gems/reel-0.4.0/lib/reel/response.rb:2:in `<module:Reel>'
        from /Users/username/.rvm/gems/ruby-2.0.0-p451/gems/reel-0.4.0/lib/reel/response.rb:1:in `<top (required)>'
        from /Users/username/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /Users/username/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /Users/username/.rvm/gems/ruby-2.0.0-p451/gems/reel-0.4.0/lib/reel.rb:18:in `<top (required)>'
        from /Users/username/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /Users/username/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /Users/username/.rvm/gems/ruby-2.0.0-p451/gems/artoo-1.6.1/lib/artoo/api/api.rb:1:in `<top (required)>'
        from /Users/username/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /Users/username/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /Users/username/.rvm/gems/ruby-2.0.0-p451/gems/artoo-1.6.1/lib/artoo/robot.rb:15:in `<top (required)>'
        from /Users/username/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /Users/username/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /Users/username/.rvm/gems/ruby-2.0.0-p451/gems/artoo-1.6.1/lib/artoo.rb:2:in `<top (required)>'
        from /Users/username/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:135:in `require'
        from /Users/username/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
        from /Users/username/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:144:in `require'
        from ardrone-takeoff.rb:1:in `<main>'

Here is my ruby version:

ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-darwin12.5.0]

Is there something in particular I can try to fix this? Any additional information I can provide?

GrovePi or Arduberry

Have you guys looked at GrovePi or Arduberry. Any chance you might support either?

artoo-arduino gem

I tried following the instructions which say to install a gem named 'artoo-arduino', but this gem is not found. I did find a gem called 'hybridgroup-firmata', is that the same gem?

Adjustable serial baud rate

The connect_to_serial function takes a default baud rate of 57,600. Some adapters seem to respect a param to connect with a different rate, but the one I'm using, artoo-roomba does not. In addition to making each adapter more configurable in this respect, I'd love to see a general option on the connection that sets the baudrate. Something like

connection :roomba, :adaptor => :roomba, :port => '/dev/tty.usbserial-DA017LV0', :baudrate => 115200

I don't have the cycles at the moment to make a pull request, but if I get deeper into artoo, I'll try to get one in here. If someone beats me to it in the meantime, even better!

Ctrl-C with artoo-keyboard breaks stdin

IRC logs:

12:22 PM so one other small ? - when i use ctrl-c while also using a keyboard connection, it errors out a bunch, says Couldn't cleanly terminate all actors in 10 seconds

12:22 PM and i cant use my keyboard anymore in that bash session

12:23 PM i can kick off a new instance, np, just want to make sure i am not missing something

Confirmed issue in OS X Mavericks + Yosemite.

This is likely an issue with how we intercept ctrl-c in artoo-keyboard, and specifically how we kill the program and reset stdin.

Using the Artoo::Robot module with ARDrone

I want to build a class that includes the ARDrone Artoo so I can have more complex flight controller functionality, but I am having some trouble.

Here is what my class looks like:

require 'artoo'

class Drone < Artoo::Robot
    connection :ardrone, :adaptor => :ardrone
    device :drone, :driver => :ardrone

    def start_flight
        drone.start
        drone.take_off
        drone.hover
    end

    def end_flight
        drone.land
        drone.stop
    end
end

And how I am using the class:

require_relative "../lib/drone.rb"

drone = Drone.new

drone.start_flight

sleep(5.seconds)

drone.end_flight

When I run this I get the following errors:

I, [2014-07-24T16:33:14.884194 #10572]  INFO -- : Registering connection 'ardrone'...
I, [2014-07-24T16:33:14.884284 #10572]  INFO -- : Registering device 'drone'...
I, [2014-07-24T16:33:14.884998 #10572]  INFO -- : Initializing connection ardrone...
I, [2014-07-24T16:33:14.890905 #10572]  INFO -- : Initializing device drone...
W, [2014-07-24T16:33:14.894058 #10572]  WARN -- : Cannot call unconnected adaptor 'ardrone', attempting to reconnect...
E, [2014-07-24T16:33:19.942545 #10572] ERROR -- : Artoo::Adaptors::Ardrone crashed!
NoMethodError: undefined method `join' for nil:NilClass
        /Users/username/.rvm/gems/ruby-2.1.1/gems/hybridgroup-argus-0.5.1/lib/argus/nav_monitor.rb:32:in `join'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/hybridgroup-argus-0.5.1/lib/argus/drone.rb:40:in `stop'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/artoo-ardrone-1.4.0/lib/artoo/adaptors/ardrone.rb:29:in `method_missing'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:in `public_send'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:in `dispatch'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:67:in `dispatch'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:322:in `block in handle_message'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:416:in `block in task'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:55:in `block in initialize'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/tasks/task_fiber.rb:13:in `block in create'
E, [2014-07-24T16:33:19.942761 #10572] ERROR -- : undefined method `join' for nil:NilClass
E, [2014-07-24T16:33:19.943323 #10572] ERROR -- : Artoo::Adaptors::Ardrone#finalize crashed!
NoMethodError: undefined method `join' for nil:NilClass
        /Users/username/.rvm/gems/ruby-2.1.1/gems/hybridgroup-argus-0.5.1/lib/argus/nav_monitor.rb:32:in `join'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/hybridgroup-argus-0.5.1/lib/argus/drone.rb:40:in `stop'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/artoo-ardrone-1.4.0/lib/artoo/adaptors/ardrone.rb:22:in `disconnect'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/artoo-1.6.7/lib/artoo/adaptors/adaptor.rb:30:in `finalize'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:388:in `block in run_finalizer'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:416:in `block in task'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:55:in `block in initialize'
        /Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/tasks/task_fiber.rb:13:in `block in create'
E, [2014-07-24T16:33:19.943457 #10572] ERROR -- : ["/Users/username/.rvm/gems/ruby-2.1.1/gems/hybridgroup-argus-0.5.1/lib/argus/nav_monitor.rb:32:in `join'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/hybridgroup-argus-0.5.1/lib/argus/drone.rb:40:in `stop'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/artoo-ardrone-1.4.0/lib/artoo/adaptors/ardrone.rb:29:in `method_missing'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:in `public_send'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:in `dispatch'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:67:in `dispatch'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:322:in `block in handle_message'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:416:in `block in task'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:55:in `block in initialize'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/tasks/task_fiber.rb:13:in `block in create'", "(celluloid):0:in `remote procedure call'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:92:in `value'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/proxies/sync_proxy.rb:33:in `method_missing'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/artoo-1.6.7/lib/artoo/connection.rb:86:in `method_missing'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:in `public_send'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25:in `dispatch'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/calls.rb:67:in `dispatch'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:322:in `block in handle_message'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:416:in `block in task'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:55:in `block in initialize'", "/Users/username/.rvm/gems/ruby-2.1.1/gems/celluloid-0.15.2/lib/celluloid/tasks/task_fiber.rb:13:in `block in create'"]
D, [2014-07-24T16:33:19.944645 #10572] DEBUG -- : Terminating 8 actors...

I'm able to run the non-modular example without issue.

Is this project still alive?

I noticed last commits were a few years ago and Gobot seems to be very current.

Is this project still maintained or is there no more dev being done on it? Thx.

Artoo for middle school students

I just found Artoo and I'd like to know if I can use Artoo with 11-13 years old to learn programming in practical way by using robots. I appreciate any inputs. Thank you in advance.

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.