
Gobot – Go framework for robotics, physical computing, internet of things - beliu
http://gobot.io/
======
dpritchett
Gobot also has sister libs in Ruby and Node! I have used the Ruby one a bit
and it's a ton of fun. I've had a bear of a time with the bluetooth support
under Ubuntu though. I guess I need to try Gobot with my Sphero ASAP.

Ron Evans (One of the gobot devs from the blog post linked in beliu's post)
was also named a Ruby Hero a few days ago. He was tremendously inspiring in
this podcast on teaching kids to program [1]. I dug it so much I wound up
demoing a sphero and a "talking fruit keyboard" at a local career day a few
months after I heard him.

[1] [http://rubyrogues.com/141-rr-teaching-kids-with-ron-
evans](http://rubyrogues.com/141-rr-teaching-kids-with-ron-evans)

~~~
wasd
In case anyone is wondering, this is the sister library in Ruby
[http://artoo.io/](http://artoo.io/)

I'm not sure but I think this is the nodejs one:
[http://robotwebtools.org/](http://robotwebtools.org/)

~~~
bjpirt
I think the node one is

[http://cylonjs.com/](http://cylonjs.com/)

All are pretty great, and I'm looking forward to adding support for Mirobot
([http://mirobot.io](http://mirobot.io))

------
cyounkins
Note that this does not run Go on the robot, it runs Go on a host computer and
communicates with the robot with Firmata.

~~~
alexcroox
Yer still waiting for someone to allow me to use these frameworks without ball
chaining them to another device in order to use them :(

~~~
kator
Make a Raspberry Pi robot and run go on the Pi

[http://dave.cheney.net/tag/go-golang-
raspberrypi](http://dave.cheney.net/tag/go-golang-raspberrypi)

------
beliu
Gobot looks really slick. Here's a link to our liveblog of their talk today at
GopherCon. All the code examples for their demos (Game of Life using Spheros,
AR Drone with LED light, AR Drone controlled by PS3 controller + EEG device
around the pilot's head) were under 100 lines of Go code. Can't wait to play
around with this.

[http://gophercon.sourcegraph.com/post/83843443678/gobot-
go-p...](http://gophercon.sourcegraph.com/post/83843443678/gobot-go-powered-
robots)

------
mholt
Saw the live demo for this today at GopherCon; really impressive! The Go code
was surprisingly simple and intuitive, yet low-level enough to have tight
control.

~~~
jonathanoliver
I was there too. There were like 6 demos during the presentation--all of them
were awesome! The first rule of presentations is to minimize demonstrations
because things can go wrong, but all of there demos were amazing and went off
without a hitch. I too thought Go was only a server-side language, but they
showed it runs great on embedded devices.

~~~
schleppy_oc
This... exactly. Presentation was great. Presenters were really good. Gobot
looks solid.

------
ThomPete
Off-Topic

I want to get further into the robotics area but from a design/UX perspective.
(Information dashboards, remote controlling interfaces, fleet management
interfaces, visual programming interfaces etc)

If anyone has any projects they could use some design help for, fell free to
hit me up.

My mail is in my profile.

~~~
hugs
off-off-topic... I could really use help with the software UI for my mobile
testing robot -- Tapster (tapsterbot.com). I'll email you, but for anyone else
reading... Tapster is an open source (hardware and software) Arduino + Node-
powered deltabot for testing applications on smartphones and tablets. It's
totally awesome, but I need all kinds of help!

------
wyager
Why use Go for embedded systems in robots? It doesn't make any sense. Go
relies _strongly_ on the existence of a heap, and doesn't have strong real-
time properties.

~~~
mholt
Not as much as you'd think: Go uses the stack. And evidently the soft real-
time support is good enough to fly drones and control robots. I saw it today.
All of their demos at GopherCon, including the face recognition one, had Sleep
calls in it because otherwise it would operate too fast for comprehension and
would make the robots/drones hard to control.

~~~
wyager
>Go uses the stack

Only insofar as all programming languages with stack frames tend to use the
stack. Many of Go's core language features require the presence of a heap.

> And evidently the soft real-time support is good enough to fly drones and
> control robots.

I could probably control a drone with Javascript. It doesn't mean that I
should, nor that I can guarantee that it will work all the time.

>had Sleep calls in it because otherwise it would operate too fast for
comprehension and would make the robots/drones hard to control.

This means nothing. Just because the language happens to be more than fast
enough for a certain thing doesn't mean it will be more than fast enough for
all things.

------
georgeecollins
Looks great-- where's the Raspberry Pi support? Or am I missing something?

------
solojavier
Really cool project!

------
cpalafox90
Awesome robotics framework, gotta try it out!

