GopherCon 2014

Gobot, la librería Go para controlar cualquier robot

Ron Evans, Adrian Zankich  · 
go

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

Wow amazing we haven't even done anything yet so good afternoon this is Defra Khan so let's give a serious round of applause to the organizers and to all of the people who are sponsors and most importantly the people who put this conference together

put your hands together for them it's been a it's been a really great conference so far so I'm dead program I'll have to keep looking over here there's no courtesy molinator I don't even know what I'm talking about so I'm dead

program the ringleader of hybrid group the southern guy here is a these Ankush in the real world Adrian Zayne kitsch but that's not very important he's the serious programming guy at the hybrid group so he does all the work and I take all the credit

it's kind of nice I like it so we're with the hybrid group were a software development consultancy based in Los Angeles California home of the flying space robots and if you're a fan of either the Jet Propulsion Laboratory or SpaceX you know I'm

not making this up we're also the creators of kids Ruby which is one the Fukuoka Ruby Awards and gets about the Tara by the Downloads a month so if you want to teach your kids programming starting around the time they can type kids Ruby's great but

today we're here to talk about go line powered robotics I thought this was a lecture of it it's actually Maria and she leads a robot revolution but that's outside the scope of this talk so by its design go proposes an approach for the construction

of system software on multi-core machines and if you've read the golang faq you know that but then there's one another little thing which is what the futurist and author William Gibson said which is the street finds its own uses for things so that's

what this talk is all about it's about GoBot which is a go frame for robotics physical computing and the Internet of Things it supports multiple hardware devices different hardware devices and multiple different hardware devices at the same time god I

love go so here's a little bit of our system architecture since you need a system architecture if you're gonna have some kind of system so our primary thing that we care about is of course the robot and we're using a couple of very important design

patterns one of them is the adapter pattern similar to the way an object relational mapper allows you to write a single set of code that can talk to different kinds of databases so we have what we call in go bot connections which is when you're talking

to a particular piece of hardware it goes through these adapters which can then integrate and talk to different hardware either using a serial interface a socket 2 serial interface or something even more esoteric and then talking directly to the actual hardware

so it's a kind of hardware abstraction layer then we are using the adapter pattern a double adapter pattern if you will with devices so devices where a connection is to a particular piece of hardware like a Raspberry Pi or a BeagleBone black or an Arduino

devices are things like buttons or LEDs or digital accelerometers so our devices have drivers which allow them to share the connections in other words the same LED driver will work on a BeagleBone block a Raspberry Pi or any a number of different platforms

so that's a really important idea then we're also using the Polish and subscribe' pattern when events occur that are detected by these different devices they then nullify that robot so that we can do things pushing buttons detecting collisions

launching attacks you know whatever you so a robot that's connected to the Internet would be no good without an API of course so applications can communicate using our API with something we call the master control program or the mCP so you can either use

a restful HTTP style of interface or you can use web sockets or server-side events so as a and there's other protocols that we're having support for like MQTT so you communicate through the mCP and then you couldn't talk to your entire swarm of

robots we'll see some of that in a minute Driven robotics is another one of the themes if you own a Toyota like I do you wish they had used that but but if you're designing a sprinkler system that's supposed to go off once a week you're going

to need to do something to make sure it actually works without waiting in the toilet week unless you're together so command-line interface you don't want to be using GUI tools to configure your hardware we actually have an entire separate project called

Gort which is a programming command-line interface with all the different tools that you need for robot ops and the robot ops is DevOps for robots it's another movement that we are trying to start go to our website robot ops comm so you participate but

this talks not about robot ops it's about robots so let's see a demo you guys can't really see some real robots right okay so of course we start with an Arduino the Arduino is kind of the Minimum Viable microcontroller they saw them at RadioShack

probably everybody here has one or two or ten stacked up somewhere gathering dust so let's take a look at some code to hopefully yes alright so forgive me that I have to kind of squint and lean so this is a very simple go bot program of course it uses

the main package and we import the GoBot package which is kind of the main framework and then each of the different adapters and drivers are implemented in collections with other separate packages so in this case we're using the GoBot firmata package firmata

is a universal serial protocol that's supported by arduino and other compatible microcontrollers so it lets you communicate with the arduino via a serial interface and then the GoBot GPIO package that is our general purpose i/o if anybody here is a Linux

[ ... ]

Nota: se han omitido las otras 2.902 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.