 So hopefully you're all here for actually I'm just going to skip past these These are just pictures of random robots that I Pulled off the internet because for some strange reason they amuse my And they highlight that the amount of computing power that are that's in any of these is probably you know What's in your watch? That one I'm pretty sure doesn't have any computing power So hopefully you're here for the building interesting robotics using complex a x86 computers If you're not you're welcome to stay Or you can leave I mean that's up to you. My name is John Holly. I'm a senior systems engineer at Red Hat at least I'm pretty sure yep, and Just to note everything I'm talking about today is not my day job. My day job is cluster file systems in the cloud Which is also excitingly interesting or boring depending on your perspective So We'll get right to it. What is a robot? So most people actually get this really really excitingly wrong A robot is a machine capable of carrying out a complex series of actions Automatically that's the key word in that sentence especially one programmable by a computer unfortunately all of the Robots in this room are not actually robots. They're glorified remote control cars at least right now In science fiction, they usually look like people and Sometimes this Robot is used to refer to people Specifically public servants are not expected to be mindless robots Check word from the 1920s so But why are robots so hard? Mostly it's the battery issue just to be honest because batteries are heavy and powering these things is impossible CPU are getting enough CPU power to do anything is hard and they're unbelievably complex and expensive and Yeah batteries That there goes, but that's enough random ridiculous background about robots But yeah, I mean the big question here is not why should you build a robot? If you're in this room, you all want to build a robot. That's not a question It's what why you should use an x86 To build a robot as opposed to an Arduino or buying a cheap laptop or buying a Raspberry Pi or pretty much anything else and It's a pretty good question. I mean You know something like the middle board cost 199 dollars and an Arduino you can pick up for 20 bucks So the question is why do you care and the reason is because you get better performance overall per performance per watt and I say that With the full expectation that somebody is going to start a holy war over what I've just said and I apologize for the destruction of many many mailing lists over that But you know you get a couple of water you get a couple of amps of power a couple of watts of power And what can you do in that and that's all that matters? You could the minnow board Which I just had up there draws about two and a half amps of power that's that gives you about 25 watts Yeah, get no 15 watts of power to work with and a Raspberry Pi draws Just a hair less than that and the minnow board trumps it on just about every possible Men's mark you could think of is it two and a half watt Okay, so you can run it barely on the USB spec whereas the minnow board you have to run it on the USB the unofficial USB recharging spec two of them Yeah, that is four times as much, but you still get significantly more performance out of an 32-bit atom a lot I Everything I'm doing on the the robot right now the Raspberry Pi cannot actually do The Raspberry Pi grinds to a halt I did actually try it once and it's mainly because the CPU and the USB controller have Issues Yeah, the performance just sucks, but um, yeah, so yeah, there's a holy war that'll start from that and I mean while the Raspberry Pi is nice Because it's almost like a real off-the-shelf computer that you can start doing You know normal things with you still got a USB port despite the fact that it's almost unusable and I Don't think no it doesn't have a SATA port does it? No, but it's got some GPIOs and it's got some other stuff No RTC that's that could be an issue depending on what you're doing, but um You can basically just use random off-the-shelf components with you know either a Raspberry Pi or Or the minnow board an Arduino you pretty much have to either hope that there's a shield that already exists for it Or you have to make it yourself and that You can go either way on that software is a little bit easier for Off-the-shelf kind of component or for x86 You know you in some cases you can just take whatever is on your laptop and copy it straight over And in fact, that's most of what I've done for my development The only caveat at least with the minnow board is that it needs to be 32 bit as opposed to 64 bit But that's a relatively minor difference sort of I mean if nothing else cross-compiling from 64 bit to 32 bit is significantly simpler then cross-compiling from any x86 type thing to arm or MIPS or Really anything I mean there's some distributions handle that kind of cross compilation better but it You it will you'll still screw up at some point and you'll upload something that's x86 to your Your arm base system and it will explode and cause kernel panics and people will cry and Hopefully nobody dies, but Um But yeah, but you actually get a single platform standard as opposed to like on arm How many different ways can you boot an arm? Can be quite truly answered by how many arms are there? He's trying hard no it He's trying hard to gloss over the fact that arm is almost a completely broken standard from Finding all of your hardware devices to getting it to boot You boot usually sort of mostly works or if you're lucky lie low or I don't think syslinix works on it yet Give them another couple of weeks and that'll be fixed probably Um Oh, yes, yes, you could use the GPU to boot your system. That's a no. That's a horrible idea No, there's no I'd much rather have an x86 where at least I get the Wonderfulness and sarcasm tag that is UEFI Or BIOS Yeah, that's not really any better than UEFI. So but at least it's a single standard. It's it You know my robot Boots exactly the same way that my laptop does it's not I Apparently forgot to disable something on my power management my I Yeah, I've got to remember to turn that off on my robot, too Yeah, but it's it makes it simple. It makes it a lot easier to explain to people. Do you understand how your computer works? Yes, your robot works the exact same way and It's not a microcontroller. I mean and Arduino They're useful. I'm not gonna I'm not gonna knock them. They're cheap. They're useful I've used them in a whole number of applications, but as you can see canines just sitting here right now playing video Not exactly an arduinos forte and I pretty much got The ability to play that video right now for free just because I have a slightly better machine well, okay slightly being eight times the cost and a Vigillion times the performance, but that's neither here nor there And yeah, I kind of glossed over this but our do we know has all those shields? Yep But you don't get to use things like USB PCI Express PCI M-SATA SATA firework Somebody told me isa. I don't know why anybody wants to use isa anymore. Please if you're using isa I've got a new machine for you Yes, there is the Intel Galileo board. It also has USB And it does have access to all of the shields, but the fact that it has USB Means that pretty much you can get anything you want on it. I mean I I mean Yes, the Galileo which came out Two days after I wrote this presentation Yes So the so the Intel Galileo is a Arduino compatible x86 based Little microcontroller thing that you can run Linux on or that you can run a full normal Arduino stack on it's interestingly meshing the two universes. I believe they announced pricing at $59.99 or something along those lines. I believe it was just under you know just under $60 So $59.99, but it's like I said it came out They got announced two days after I wrote the presentation and it's it is an interesting crossover between now You know, I've got a neck. I've got everything set up for my Arduino, but it's not powerful enough Now I'm going to take that Arduino spend twice as much money get an x86 and now I've got all the power in the universe and a USB port because Well, yes and no if you treat the x86 as An Arduino you retain all of the real-time stuff because it's execute. It's there's no operating system The bootloader just loads your code and off to the races you go That is my understanding of the architecture I but again, I work for Red Hat. I'm only reading public specs So I I deferred to the Intel people if they wish to correct me on that statement. I Hear no corrections So either they don't know or But that is my understanding now if you wrote if you load up Linux, yeah, you're gonna lose all of the typical real-time Stuff that you would get out of an Arduino But that's kind of to be expected if you're running anything heavier weight than an Arduino, but But yeah, I mean an x86 platform or in the or in the case of the Raspberry Pi You actually get mostly a standard-looking system So you can just go hey, you know my robot needs to be able to do better on the fly Graphics processing great. I'll go and buy an Nvidia card drop it in and now I can do everything on a graphics card You'll probably need to increase your power supply to something obscene, but you you could do it But um But Arduino's are cheaper That's only actually sort of true when you get down to it If you take a look at an Arduino Uno R3 It starts at about 30 bucks. It's not too bad But then to get audio out you have to add another $22 and then to get ethernet out you have to add another 45 And then to get an SD card you have to add another 19 So by the time you've almost recreated a minnow board using an Arduino You spend a hundred and sixteen dollars and 90 cents at least these are according to the prices. I pulled off of I think at a fruit Two weeks ago now a minnow board on the other hand costs $199 and You get all of that without in one package already plus a bunch of other stuff Like a USB port and not that I really love USB ports, but they do make your life a lot easier and Yeah, an Arduino. Oh, it's actually I did put a Galileo in there See I was getting to it um And yeah an Arduino is not a bad place to start I mean it they are cheap just to get going and you know if you're a High school student or a middle school student. Yeah, go for it. I'd highly recommend an Arduino and a heartbeat but on the upside you now have the Galileo which you can upgrade to When you outgrow the Arduino And you don't have to change everything that you're doing just to do that. So You know what all the ports on the Galileo are There's some stuff you can do things with it But you're not all here to listen to me blather on about x86 you want to hear me talk about canine Uh, why did I actually build this ridiculous robot? Mostly because I felt like it to be honest I mean a friend of mine was really in the doctor who back when I lived in Albuquerque and I had just gotten done building a starship bridge which You know you build a starship bridge and you're going you know, what do I do now and I'm like, oh, you know I'll just build canine And so I started building canine And if nothing else it has some it's really nice at least over here. It's unbelievably iconic I'm not sure that there's an actual Brit that I've run into who has not immediately recognized it or gone I know what that is and I can't Give me a minute It's canine. Um, I I'm not sure I've run into anybody who hasn't been able to recognize it in the US. It's not Apparently nobody watches dr. Who in the US? Because I've taken canine for a walk around my neighborhood and that did not end well Mostly because they're like what the heck are you doing like I'm walking my dog They're like, but but it I'm walking my dog. So yeah, I've become that guy in the neighborhood um I mean, it's just kind of fun. It's got a giant interior which makes it a lot easier to work in and you can do crazy stuff like voice and It's got a TV screen on the side I don't know why they decided to put a CRT on the original canine. It was kind of ridiculous, but they did and That's what I've recreated with an LCD And there's a bunch of vital statistics on what's actually inside of the thing The thing just specifically point as in is the minnow board and I started this entire project with a fish river island to board which is Kind of like a minnow board only significantly more expensive and a pain in the ass to use and Then I got a minnow board and then everything got better and I didn't hate the the Programming for it. It's got a RoboTec motor controller some motors and some tank treads and a bunch of other stuff That's kind of random But yeah, it's got some hardware. It does things. Oh and the the battery packs are not or the number of battery packs Is actually wrong on there? It's got four now because you know, you can't have you can't you can never have enough batteries I Know Yeah, that just goes back to my slide where I was talking about, you know, you need more batteries more batteries so many more batteries But um, yeah, I'm just gonna blather at this point unless people have questions and in the back behind me My computer is gonna start just cycling photos. So so yeah No, so like I said, I was just harping on how much I love USB everything in there's one device that does not talk USB And that is my ridiculous GPS glow-in-ass device And that only talks Bluetooth, but otherwise everything else talks USB the Motor controller the RoboTec motor controller has a 12 megabit USB serial interface. So I'm literally shoving commands down Just a serial protocol from the the minnow board to the motor controller as fast as is humanly possible That's actually that's actually the motor controller right there and completely in utterly blurry vision Which is probably more just the downgrading of the video signal, but yeah so the Like I said, it's a it's more or less a glorified remote control car right now So it's got a an Xbox 360 controller And that's just being fed in as a joystick interface through a USB port The minnow board does a bunch of processing based on that and out and it just outputs everything back to the motor controller via USB The fidgets three-axis accelerometer gyroscope compass thing talks USB The Wi-Fi card that's in it right this minute USB That'll change in a week when I can put the PCI Express card back in it, but Yeah, it's it's all USB. There's nothing fancy here. I'm not doing any bit banging across the GPIO I'm not doing any crazy spy stuff. This is all You know effectively by using USB. I've turned everything into a software problem So as long as Linux had the drive, you know has the drivers for the device Which thankfully everything I've got I've had has had a driver for Linux You know it just makes everything basically trivial open a bunch of serial ports and off to the races Yes, well, I mean the drivers are in kernel space for the most part But yeah, everything I'm doing is in user space. So I Mean the the joystick I just pop open the joystick libraries and just start reading stuff the serial interface. It's just They provide a library, but it's just like a raw Serial interface and you just pop it open and start shoving stuff down the pipe And I mean you can get a lot of it because it's serial I can get a lot of information back from the devices as well like the serial or the motor controller I can ask it how much power each motor is drawing. I can ask it how much power the battery is outputting voltages I've it can read Encoders off of the motors so I can get exactly how fast each Yeah, the head's gigantic I Can get pretty much any kind of information I could want from that the the fidget. I mean it's Outputting data at just a disgustingly. It's almost flooding the USB bus. It's out putting data so quickly so Yeah, it's it's it's all USB and it make it by far Simplifies everything. I mean you can ask Beth, you know how much random little bit banging She's got to do with the GPIOs on hers, and it's it's not as Pleasant as oh look there's a serial interface. Hi make motor one go this fast So any other questions? I Do have prizes for people who ask questions I'm not going to throw it at you because it unfortunately has sharp pointy edges, and I'm sure I'll poke some of these I Canine will not be flying The second generation canine is not canon according to dr. Who as far as I'm concerned so Yes in the future so my plans my immediate plans are to upgrade the motors Because good Lord it can't actually move on carpet very well I may have chosen motors that are only good for about an 8 to 12 pound robot and canine now weighs about 35 40 So um, so that's the immediate plan. The next plan is I've got three connects Sitting on my desk waiting for me to get back to them and Start tearing them apart my intention is to have one in the back one in the front to do collision avoidance and To start being able to hopefully track things And that's going to depend on how much I can get out of the the sensors themselves and out of the software Without having to extend it too much because this is my hobby project, and I don't want to turn this into my life So, you know rewriting free next to to do something else is not on my to-do list Gosh darn it stupid laptop of stupidness. Yeah, that's my that's my workbench now Yeah, I didn't have that when I started building this in Albuquerque I was doing it on a table in my backyard, and it was yeah, it was not pleasant Somebody else asked a question they get a prize Are you going? Come on. There's got to be more questions. I wrote it in C because I'm masochistic and and When I actually it was more along the lines when I started with the fish River Island to Trying to get Yachto and angstrom and everything compiled For it so that I had a real distribution to work from Was a pain and it never actually quite worked right for me So I use the default distribution, which is basically a kernel and a busy box and that's about all you get So I statically compiled binary using C just to get it there and get it up and running and And when I switched to the miniboard, I switched the miniboard about three weeks ago Which was a bit of an exciting time because I was still doing all of this work and having to switch to swap the brains out at the same time and Surprisingly that was pretty painless other than a couple of bugs that Beth was actually helping me with it and Other than a couple of bugs that we ended up filing against the Yachto project itself. It was You know, I took the same binary got it over there Moved on with life and it pretty much just worked and I've extended it a little bit But I'm not as required to be needed to be static because I actually have it libc now So and yes, the body is made out of cardboard and paper tape and paint There are three pieces there are three printed parts on the dog and they're all on this side So you can't actually see it and my skirt fall down There are three there are three printed parts and you can't actually say see them But they are the K a dot and a nine Because it this font doesn't exist any more in the real world that they used in the 1970s At least as far as I can tell and me trying to cut out those shapes was going to be impossible and I have a 3d printer So I just printed them Yeah, it's a little bit like that It might be I haven't I didn't try too hard I had a 3d model that existed with the K and the nine already correct So I just grabbed them throw them into the printer and said print and Two hours later it decided that it was going to print on that might actually be the end of well Quickest that may be the quickest I've ever gone through my slides Really, I'm not talking enough I mean you guys want to see it go downstairs or something ridiculous or what? Well, there's got to be more questions Okay, how many people actually want to build a robot? How many people have built a robot? How many of there how many people in here built a robot that was actually useful? No, you can put your hand down, Beth Okay, yeah, I do have a hoovering robot at home and my girlfriend made fun of me for buying it, but it's I've never actually used it to Hoover Um My intention is is that I'm gonna tear out most of it and I'm gonna build a very small ball like on top of it So I haven't done that yet Mainly because people thought can I was funnier instead of me building a little doomba Little run around screaming exterminate the dirt exterminate the dirt Okay, well Yeah, you can see it. Well people have been watching it move all weekend. I can't imagine you guys want to see it move some more No Like I said, the tank treads are two feet long as they as they touch the ground And like I said the motors are not correctly powered. So you can come in if you want I'm just gonna deflate this balloon because we had a contest last night It wasn't much of a contest honestly I do have the video. It's uploading to YouTube right now as we speak my laptop is doing something vaguely useful As opposed to just blank. I can play the video. Well, you guys were all there last night Right who wasn't there at the thing last night? Oh good. I'm gonna play it anyway, then Well, if you weren't there probably need to do this on That screen because otherwise this isn't gonna work, right? Of course now I can't actually see what I want to do. So that was the race last night and by race I mean a slaughtering because someone So so a valuable lesson was learned last night someone Decided that using an ad hoc wireless network to send XML RPC packets to and from their robot Was a brilliant control mechanism That's her claim anyway, but the short answer is it's a horrible horrible idea and you shouldn't do that So yeah, so there was a complete slaughtering because for some strange reason the wireless didn't work at a conference full of tech geeks Because that never ever Happens ever So yeah, I just decided I got bored and like just sat there waiting for the dog for the blimp to come back and just yeah, it was I Think the only way Beth could have won at that point was to To actually have somebody else carry her blimp down and back Which she did at one point And then I had that then I was just like okay gosh turn it so I just had the the dog drag her all the way down But we didn't detach it well enough so I couldn't drag it back so So yeah, so somebody lost the race and Despite the fact that I get bragging rights for the next year. I'm gonna deflate this stupid thing And then I'm probably gonna talk real funny That is true. I did make a promise. I said I'd just connect it is this What are the promise? No, I'm not huffing it helium said I'd sound funny because I'm sure somebody a lot Sit here and take video of me talking funny and I don't want that on the internet No, I've had enough funny things said about Yeah, the the yacht of blimp. I you know There will be a rematch next year because Beth has declared that She wants to win the title back I believe her plan is to use a swarm of quadricopters because we've proven that flying works so well and Coordinating a swarm of flying objects will totally be easier Than flying a blimp. I Yes, you did participate in the miracle of flight. I will I will grant that so oh Yes, a swarm of interns might actually help her more It's true Cold or not it is true Come on any other I've got dogs to get rid of because I don't want to take them home You may ask me anything Are you guys will suck Don't make me just start throwing dogs at you because they will hurt when they hit you Plans for the ears. So the plans for the ears Haven't quite decided that my original intention was to actually wire them up to the Wi-Fi On the on the system, but I'm not sure I want to do that now Yes, because we've proven that Wi-Fi and XML or PC control mechanisms are brilliant plans. Thank you, Beth, you know Yes voice control would be awesome and that I want to do that but everything I've tried that's Linux and Of voice recognition has not worked. Well, that was the one that sucked the least I know it you know the more bits and the faster processor may not do well. Oh, no, that's when you get a sub-book mic Okay Yeah, I played with pocket sphinx for about a half an hour and One I actually got it to work which was better than pretty much everything else I tried which Everybody else, you know congrats. I actually got one of them to work, but um Yeah, it got about every third word. I tried with it to work, but I Am yeah, I was using its general vocabulary. Oh, okay So I can just cut the dictionary down and okay, that'll help that should help significantly. Oh, yeah Oh my video got done I was gonna say I can show you videos of it wandering around in Mountain View if you want it But that's about the only other thing I can do Going to proper leg robots is really really hard Yes, that yeah, that would be Yeah, that would not be good. No, I love the videos. I've all seen of like the the US DARPA mule thing that it's got the four legs and it runs at like 40 miles an hour or something like that. I love those, but I do not have the six billion dollars to invest in the R&D for having legs. I was gonna say I think canine right now Including his shipping crates because he did get over here in three Pelican cases That somehow customs did not open and that the TSA did not flag for any reason which I Brought 40 amp hours of batteries with me. I'm not entirely sure how that didn't I I have not gotten it home yet, but it's going home via a separate path to me, so We'll see if it makes up No, I you know So the question was is did I have to do anything special to get it here? Basically, right and I showed up at the airline and said hi I have these three Pelican cases and I wish to make them show up in Europe and They're like so that will be two hundred dollars And I paid them two hundred dollars They asked is there anything weird in there, and I said well there's a robotic dog count is weird And they thought about it for a second they said no And so then I got on a plane and the dog got on a plane and then I went to Heathrow and I went through customs and they took my picture four times Then I got another plane and then I showed up in Edinburgh and I wanted to the Edinburgh customs area Which wasn't manned Which was interesting because I didn't expect that and I picked up my cases and I opened them up And I found nothing from the TSA or from Heathrow and I closed them and I came here So clearly flying with robotic dogs is really really easy I flew out of San Francisco actually so No, yeah, if I flew out of Detroit with a robotic dog I think they'd probably freak out and You know I'd be put on some watch list for the rest of my life That is true. Well, my hat goes off to British Airways for actually getting the dog here in one piece I also take my hat off to Pelican for making the most indestructible cases on the planet So any other questions, otherwise you can go mill about or Come up and I'll take them apart or something. I can take the top off Actually, why don't I just take it all the way down to its skivvies so to speak They don't think too many people have actually seen it All the way down to just the mode of unit. Yes, you can totally watch it go downstairs Three stairs right here Conveniently placed Now he can turn assuming he can get some traction Yeah, they're going up the stairs I don't have working because again those motors underpowered problem Yes, let me get okay step one. Let me invent the hover board Step two then I'll replace both tracks with hoverboards What? Yes, there is none of there's some question marks involved and then step four is profit So I was gonna say if you would like to drive it you're welcome to come up We do have robot wars in the US. I think it stopped being broadcast a couple of years ago But we still I think the competition still goes on the rules have changed dramatically because they Everybody figured out like one magic design That couldn't be beat and then they kept trying to replicate that exact same design and then put it against itself effectively So it got really really boring, but I think they've been modifying the rules every year slightly so that it forces actual ingenuity to happen but No I'm pretty sure a good swift kick would not only break your foot, but it would probably destroy it. I Mean it is only you know pine board and a bunch of screws and My blood I think there's some blood still in there. I think I didn't replace those parts yet, but um There you go And if you haven't gotten one of these at least we're showing up I'll give you a dog because I don't want to take them home