 Good morning! My name is Katie Levinson and this is all the ways you are doing robots wrong. I can't operate a computer. Too much hangover. All right, so who am I? I have done four years of competitive robotics. I've done six seasons of coaching. Five of them were first year teams and first year teams have extra excitement with retardation. Two years at NASA, you can read. Fuck this. I am currently the director of development at Hacker Dojo which is kind of being shut down by the city of Mountain View because they are anti-awesome. So if you would care, like, to help us in reopening our building, we'd really appreciate that. And my phone makes a cha-ching noise whenever you donate at hackerdojo.com slash Kickstarter and I will drink when that happens. I'm sorry. If I can find more alcohol, I would love to give you a shot too. And then my best qualification is the experience of doing shit wrong. I'm sure as you know, all DEF CON speakers are only accepted if they are exceptionally qualified. And I feel like I've done my homework in this department. Speaking of which, this is the trip to Vegas. And this is why. This is a photo of my grandma in 1937. She was 19 and graduating from rice for math. And she's going to die really soon. So I figured I'd, you know, kind of do a nice thing. She's, yeah. And I got a lot of shit last year for doing a talk and a dress. And so this year I wore a fancier dress. But I'd like to take a second to remind this community. The reason I do this is to remind this community what we spent so many years teaching our bosses and our, like, you know, feds and all of those people is that it doesn't matter how you dress or do your hair or what you do on the weekends. What matters is you are fucking good at your job. And the rest of it is all water under the bridge. So that'll be the end of my stupid idealism for the day. If you have a question, come on up and ask it. I'd like this to be a nice kind of casual light talk. And if we run out of time, I will have to ignore you and then you can hassle me in Q and A. But we're going to go through a lot of topic really fast. And so it would be easier if you just stop me and ask your question. And there are a lot of bright lights preventing me from seeing that far into the audience. So please feel free to shout. I may regret saying that. All right. Outline. Input is hard. Output is hard. I fucked up last year. And here are some bad ideas. Input is hard. All right. The infrared. Infrared is a type of sensor you use on robots. It works with a laser. Lasers are sick. So basically you send out an infrared signal and it bounces back off the target and comes back and you measure that distance. So it's really bad with mirrors. Because mirrors are reflective and shiny and things don't bounce quite right and you get kind of vague weird shit. And these are the fucking bane of your existence. Because most cameras have an infrared sensor which determines the focusing length of the camera. And so I can't tell you how many teams I've seen that like all those little news clips are like oh it works great when the camera is not rolling. It literally works when the camera is not rolling because the camera is bathing the robot in infrared light. So yeah. Bad. This is actually a problem for normal cameras as well. The solution is yeah. So sunglasses. Yes. Thank you sir. So you can put sunglasses on your robot and it will filter out the infrared light. And that's fucking phenomenal. And so that's great. Don't do it on your infrared sensor or you're going to detect the back of your glasses. And the great thing about this is it's not entirely obvious because infrared sensors have a minimum distance. And then like past that it's like fuck all. So it's going to come out as like oh you're about 200 meters away and you're like can you not see the wall? What the hell? So read the specs of your infrared sensors and put it in the range that it's supposed to detect. Rocket science. I know right? This is an ultrasonic range finder that's being this little thing that looks like people always identify it as the robot's head. Basically noise comes out of one and bounces off the wall and comes back into the other. And this works kind of like sonar. It's pretty sick. This is my friend's robot. He made tons of money on Kickstarter because fuck him. It's called hexi if anyone, they're really cool actually. They're bad with fuzzy things. Because fuzzy things don't reflect sound quite right. So you can actually put two of these together and then this will detect the mirror things and the ultrasonic range finder and the infrared mechanism will detect the fuzzy things and that's pretty pimp. This is straight vodka. That's cool. Fuck yeah Defcon. Okay. Oh this is a puppy. So I talk fast and so when we have a new idea I'm going to show you an adorable picture. Because that's a great way to transition because I talk too fast and we need a break for ideas. All right. So perception of reality is hard shit. Like even for humans it's not that bad to fuck up. And for robots this is pretty difficult. So this is our robot and it's near the wall and it would like to measure how far it is from the wall. So it's always measuring like how far we're right now and then I'll take like I'll know that and then I'll know my velocity. But the thing is your sensors aren't perfect. And so your measurement is going to vary by you know you know I had a couple inches or so and you're sampling that you know kill hurts range and it looks like you're oscillating at 200 miles per hour away from the wall. So you want to take your raw sensor measurement with a grain of salt, go to Wikipedia, there's tons of shit on this. But just don't take it raw. It's kind of the big takeaway message here. Ah. So speaking of like fear and loathing in Las Vegas, the walls bend. And this is actually really kind of trippy the first time you see it. So you're shining a little laser into that corner and the corners are doing one of these things. And that's like whoa. And why does it do that? It's because the little arrows indicate the thing coming in and as you can see it bounces its way down the corner and then comes back which makes the end of the corner look farther away. And so you get this like weird wall curvy shit. There are a bunch of ways to fix this. The dumbest one is to assume that all of your walls are square. And that isn't too terrible of an assumption. There have been tons of ways I've seen people look at the ceiling and use those little lights. They know a light is supposed to be every ceiling tile so they measure out how the room warps. There are other people who basically do a 360 scan and then they assume like I know you don't think I'm the whole way around but I am. So we're going to assume all of these points I found are points and then I have a spring which represents my confidence in that point and then you assume that the first point equals the last point and you let the spring, it's really actually cool to visualize. What is it? Crap. OpenCV. OpenCV has a great library that does this and it's really cool to watch visualization because it's like room, room, room, and it snaps together and actually looks like a room. It's really sick. And yeah, that's awesome. This is the only movie where Keanu Reeves was appropriately cast. I fucking love it. Okay. LiDAR is awesome and expensive and I want to fix that second bit because right now the only people who can afford LiDAR are the military and so like Durpas, LiDAR is like three grand whereas people who have developed them privately put them on stupid robots and want to buy for like $400 and it's like fuck. Hey, thank you someone for donating. I will pour you a drink later, whoever that is. So yeah, so we want to fix that second bit where LiDARs are really expensive. There's some really cool open source work which could bring them down to like $30 and if you're interested in making the world more awesome and full of robots, talk to me in Q and A. All right. This is one of those expectations versus reality. So you can see at the top our little green shifting into blue thing is our range finder and you're like, oh look, I'm going to scan the wall and it's going to be fucking awesome as I drop my robot along. And what you're really doing is you're scanning while you're moving and you're actually taking the sampling of the wall in three different places. And so it looks like your wall is like this. And that's a problem. So you can sit still while you scan, you can do math for how fast you're going, you can do lots of things. But the takeaway here is don't use your data raw. There's a little bit of thought that has to go into this. Oh, and this makes sad robot. Sad robot is sad. Oh, and then you can do this in 3D is what you can do is you can set up a whole array of little dudes along the bottom and then you just scan it up and down. I actually met like a crazy lady at an interview I had. She was in like HR and she was like, yes, these are the yes, yeses and the no-no's. And it's because the ones that scan this way are the yes, yeses and the ones that scan this way are the no-no's. So these are used frequently with LiDAR. It's very rare to have a full 3D field LiDAR because it's fucking expensive. And so you can get a good floor level. But the scans will come in and you have to do the math to pull the scan. Hey, thank you someone. You have to do the scans in 3D. So that's how that is. Oh, compasses, compasses work on magnetic fields. Motor's involve rotating magnets. So don't mount your compass next to your motor. That will get very exciting, very fast. They're actually a number of sensors which are very sensitive to electromagnetic interference. Certain variants of gyros, certain variants of accelerometers. So read your data sheet or at least understand what the fuck you're doing. Or you know, if something's really not working, just move it away from the motors and test it just when in doubt. This is a kitty. Yay kittens. Next item, output is also hard shit. Alright, this is a little kid waving. Robots like to wave too but it's not because they're happy to see you, it's because they're retarded. So, I'd not, anyways, look at that, it's more along. So this is, the concept here is a pit. P stands for proportion, I stands for integration, D stands for derivative. So the proportion is how close you are to your target, to the proportion of that. The integral is you take an integral of like how far away you are and then that's a number. And then the derivative is how fast the distance to your target is changing. And so what you do is you put, you slap a constant on each of these and then you combine them for your target output speed. And sometimes there's a dividing factor here. This is kind of like big O-ish notation, like the scaling of it doesn't matter. The only reasons A, B and C matter is relative to each other. So you can't make them all 400 and have it be fucking magic. I'm sorry, it's not how science works. So this is the proportional term. Alright, so it goes, this is a horrendous graph. I'm really sorry, I couldn't find a better one. So the green line is the normal and then the black is if you lower the proportional term and then the red is if you raise the proportional term and you can see that this actually, it doesn't, and then the graphs represent like how close it is to the blue line. So over time you can see this actually levels out pretty quickly to its target. But it doesn't rise particularly fast. And when you, it is, hey, thank you. It doesn't rise particularly fast. So like compare it to like integral which rises much faster as the term increases. So it rises slower. Sorry, it rises faster because red is more, God, this is an awful fucking, no, it rises faster. I can read. So it rises much faster with the integral term but like it's going to continue to do like the itty bitty waves for longer. And then this is the derivative term which rises wicked fucking slow but stabilizes really fast. And so you're basically combining these to get the arm to do approximately what you want to do because in reality the arm has mass momentum. When you're like go to specifically like this particular degree, the momentum will cause it to overshoot and then it will go back and then it will go forward and then it will go back. And like that's why robots wave at you. They're just like, um, so these are ways that you slow down the robot so that it stops twitching on you. The other thing you can do which is really derp is what your thermostat does. It's using a dead band which is the, ah, fuck it close enough band. And if you are lazy, that's a great way to start debugging. The upside of doing shit like this is if you load up the arm without any code at all, it will resist the load and continue to try to be in that position. So you can lean on it, you can push on it and the robot will actually gear up the motors to resist you without you writing code, which is awesome. Um, but it's also the beginning of the robot resistance to beware. Um, this is a magic fucking table for Wikipedia. So don't remember anything I said if you are really hungover and look at this table on Wikipedia for PID controllers and if your shit isn't doing it, increase the term that relates to the problem you're having. Um, because science is complicated, it's half the clock in the morning and here we are. Um, so velocity control. Um, so the inner world doesn't really work when you're trying to set a target velocity. So just fucking drop it, set it to zero, and then you can use the P and the D. Thank you, someone. I appreciate you. We're gonna get a lot of it. This is straight vodka. God. Jesus Christ. At least I had a mixer last year. All right. So set the I target to zero and then just set your velocity and this is like an okay way to set velocity. Um, I'm gonna need a feedback loop. So put like maybe encoders on your wheels. Um, I don't want to go too much into stuff from last year because I know that some people saw the talk from last year, but the slides are all online if you search my name and the word DEF CON. Um, ah, this is a cute adorable photo of a goonson fixing a neck gear router. Um, so this is our puppy photo just as we transition. Servos. Servos are limited to just one rotation, but servos have a lot of software actually already in them. Um, so like you just set a position between zero and two fifty five and it just goes. It's fucking magic. There's some like physics behind it. Um, there's some applications like they aren't just interchangeable for motors. Um, but they're pretty cool. Uh, and programming servos is wicked simple. Numatics are cool. They use air obviously. They're open air system and, uh, and you can't really stop the, the pneumatics shaft halfway. Like you can spend a lot of money and they have special ones with like magnetic positions that are between open and closed. But like you and me and mere mortals like pneumatics are up or they're down and that's just how they are. Um, you need a pump on there or you need a big reserve tank and if you run out of the reserve tank then that's, sorry guys, um, then that's, uh, then that, then your pneumatics don't work anymore. And, uh, if you decide to put a pump on there then you really wrap and, uh, and your battery life goes in the toilet. Um, consider that. Um, hydraulics are so fucking messy when you break them. Uh, so, have fun. Um, but the good thing about it is an inch of non-compressible fluid equals an inch of movement and you have much more granular control. Um, and it is a closed system. You can't just pump it out in the air and then pull more in and expect it. You're going to carry the entirety of your hydraulic fluid with you, the entirety of your whatever the hell you're doing. Uh, ah, this is Casey's Crotch. Um, so, cool trick. Um, not involving Casey's Crotch. Um, cool trick is, uh, is, so let's say that you're debugging an infrared circuit and your life doesn't work, I don't fucking know. Um, and you can really smash your head against the wall with this. Um, most camera phones don't have a good IR filter on them cause they're not like, yeah, with like the sunglasses. Um, so, you can hold up the circuit that when you think it should be lit with your camera phone and see if the circuit is blinking. Um, and this is like, I mean, most of us carry camera phones in our pockets. This is a really easy way to debugging it for red circuit before like, you know, my sensors aren't working is like, is the thing even lighting up. Um, check that your camera phone is shit and doesn't have an IR filter before you get angry. Um, a great way to do this is I tested this last night is those little, um, 3D keyboards on that, on that TV thing in the Rio hotel rooms. Those work on infrared. TV remotes work on infrared. All kinds of shit works on infrared. You can even just put the, put the, um, put a LED into, you know, into a bench power supply with a resistor and just like that shit up. But, um, but do check because camera phones are getting better and better and better and better and they're starting to use IR filters and I don't know what I'm going to do with myself. So, um, so cool debugging trick. This is a polar bear. It's so cute. Ah, that vodka. Ah, fuck it. That's still straight vodka. Corrections from last year. This is some shit I did wrong. Threaded bolts. How do they work? Okay, this you're just going to rip the head off the bolt or rip the, um, oh my God, I forgot this word last year too. What's the twerries? Threads. Yeah. All right. You're going to rip the threads off your bolts and that would suck. Don't do that. This is a machine that does nothing but bend bolts. Don't do this either. It's actually okay if you go out and buy expensive special bolts that are made for sheer loads. They do make them. Thank you to all you lovely people who sent me angry emails. Now I've corrected it. Awesome. This is still the right way in general is you're actually not, um, relying on the bolts for the holding force but instead holding two pieces of metal together and relying on the static friction to be your primary holding force because bolts are zinc plated shits. Um, and you don't want to rely on them. Four raw linkages. These things are pimp. Um, so let's imagine that like you just can't mount a big ass pneumatic on the front where it's going to run into everybody but you need things to go up and around and back. So what you can actually do is imagine you're either driving the orange linkage or you put a motor on the orange bolt and you're actually getting a very complicated, uh, motion out of that little red ball at the top that normally wouldn't be possible without a lot of fucking effort. Uh, does everybody understand this slide? Yeah. Yay. A motion like this, you would be like, holy balls I need two motors with two dimensions and a lot of code to make sure it never goes out of these things because I want my little red thing on the top to go exactly this track and I go wrong bitches. Check that shit out. Theme punk kids shit themselves over this. Things are really awesome and there's all kinds of shit you can do here. Here you're transferring. If you assume that that circle represents a motor that's driving that around, you're translating a like pretty rotational motion into a semi linear motion. That's really pimp. Linear motions are hard shit. I hate pneumatics. I hate hydraulics. They're messy and they're awful and they're like just like this is amazing. Like I could do a whole like 50 minutes on four bar linkages and you guys should go look this shit up at Wikipedia and a bunch of mathematicians went in there and made that look like intimidating shit but it's not. Um, if nothing else, we like, we never did math for ours. We would always just take out cardboard and push pins and just be like, is it working now? Like, you know, and once you get it right, you just stab it out in metal. Like, you know, but so think about this before you start doing, if you have a motion and also you can change orientations here. So like let's say you have like, I'm a little claw here. I'm a little claw here. Okay. Um, and you want to go here and then you want to be up here and rotated. You can also do rotations by, by, by having this part of the claw, a bolt here and a bolt here. You can have like the claw like rotate as part of it. It's really cool. If you're really a baller, you can have, you can make a curve which hits any three points of your choosing, but two points of your choosing is so easy. I do not want to see anyone having like soft coated like things anymore that are like, when it gets to this position stop, when it gets to this position stop for a motor. That's awful. That's, that's bad. Use, use a four bar linkage. Use what you have. Um, also this is a great way to gear down a motor because the arms are long and long arms are levers and that's lazy ass gearing. Awesome. This is a bearing. Um, so I'm so ashamed to have to go through this guys. You don't even know, but um, so when you want to have one, uh, uh, a rotating thing and a non-rotating thing or two rotating things that are independent, don't just fucking drill a hole and put a bolt in it. Cause friction exists. Okay guys, like this is a ball bearing. You buy them from the internet, especially if there's any significant torque. Uh, they're really dead simple. This is a, this is a fucking blank slide. I'm sorry guys. Oh well. Thank you for donating. I'm out of vodka. Sorry guys. If anyone's got any more, it's right there. Um, so bushings are the lazy ass bearings. Um, it's just a low friction piece of metal, um, that you use and they just rub up against each other. But they're less rubby than doing like just flat out like aluminum on aluminum. Like, like don't, no, please, please baby Jesus cries. All right. Thinking things through the whole way. All right. So not all plastics play together nicely. This is Loctite with a non-compatible plastic. This was my friend's senior project. It was so funny. Um, so when you're, when you're gluing plastics or when you're, or, uh, Loctite, we're going to count that in as a kind of glue. Check that your, your plastics are compatible. Um, there's lots of data sheets on this. You will not drive it empirically. You will look it up online. Um, unless you are crazier than me. And that's fucking impressive. Um, gearbox is versatile. If anyone driven a manual car will know if you're going with your autonomous code a hundred percent forward and then a hundred percent backward, that's going to be some funny shit. Uh, so give yourself, like the difference between theory and reality is much smaller in theory than it is in reality. Give yourself a little room for momentum and shit and Murphy's law. Um, this is sad robot going backwards while it's leaning forwards. Oh, don't push robot. Don't push him. Cause you know what? You use your battery to power your computer, to tell your motors to rotate forward. And when you push your motors, you push your robot forward, the motors rotate and then feed current back into your very expensive computer. And then you're sad. Please no. Um, this is so easy to fix. You can have diodes. You can have cut offs. Oh, hello. What are you doing here? Um, you can have diodes. You can have cut offs. You can have tons of ways. Um, you can have even a little shitty disengaged. It just unplugged like, just a little, you know, like jacked I've switched. It just unplugged the motors from the rest of the things, but please think about this. Um, I have seen too much expensive shit die, uh, due to people not thinking about this because, you know, robots are heavy and you don't want to carry them because you're lazy like me. All right, acknowledgments. I didn't have to learn all of this the hard way. My mentor is when I was in high school and retired. I'm amazing. He didn't kill me. Former co-workers from NASA Ames LMR project, my very tolerant housemates, an IRC channel where I'm retarded, Hacker Dojo and my college which is spelled or pronounced Worcester or Worcester for the locals, not Worchester. Uh, this presentation is Creative Commons by Attribution non-commercial share alike. I am Katie Levinson. I live on the fucking internet. You should talk to me with corrections or whatever else or questions. I don't give a fuck and save the Hacker Dojo because I love that place. Big questions. Sorry man. I told you I talk fast. All right, so I'm going to repeat what that man said is James Watt was more proud of the four bar linkage than the fact of the entire steam engine. That's bor. Thank you for that history. Ah Jesus. So this is a dirty secret. Is mechanical engineers think MATLAB is software? And that's a really unfortunate thing. So while MATLAB sucks a giant dick, all of the libraries that you want are actually made out in MATLAB and provided by universities. So it kind of sucks but like being lazy is awesome so I don't know if you want to choose to bite the bullet or what. But that's about your options. Anybody else? It's like electrical engineers think C is the only programming language which you know C is an awesome programming language but they're like I know C. I'll do whatever the fuck this isn't C. All right FPGA is in C. It doesn't matter. I know C. So it's how the cards dealt. Anybody else got questions? Hi Elliott. Thank you. Oh I got to see Elliott at this conference. That's awesome. Anybody else got a question? Like hobby shit. Most of what I did was I worked on a lunar rover prototype at NASA. Unfortunately President Obama was like fuck the moon. This is actually a really good story because President Bush was like man what do popular presidents do? I know I'm going to challenge India and China to a space race. We was like hey bitches we're going to the moon in 2020 and we're going to Mars in 2030. And he called NASA and was like guess what I did. And NASA was like well you're going to foot the bill for that and he's like fuck no you figure it out. And so everything so everyone's like why does NASA suck now? It's because NASA was pretty much like we can't do this and Bush is like I don't know what I keep you around for if you can't even go back to the moon. You did that shit in the 70s. And so basically they had to throw every project under the bus to try to get back to the moon in 2020 and Obama was like what the fuck are we doing here. And then in 2009 he canceled project constellation and that was all the layoffs. They minimized the like oh there were only so many layoffs but like they don't count all the payload teams. They only count the teams doing the rockets and so that was unfortunately the end of my adorable lunar rover. Which is so cute. It was like 10 kilograms and I hold it in my arms. It was so cute. But yeah. Any other questions? I found it in my hotel room. No. I just found it this morning. I just go with my fancy ass dress. I love Vegas. Next question. Go at once. Go and twight. Oh hey. It was so cute. Sorry what? So it was meant as a scouting mission because like the moon such a bitch. Like it's really ridiculous. Like basically the surface of the moon is like it gets hot and cooks all this shit together and then these meteors come in and they bang it up and then they break it all up into itty bitty bits and then you have like these razor sharp things that stick to you with the same mechanism as Velcro does and they hold electrostatic charge and then like they'll discharge electrostatic charge all over you and they'll also hold radiation and dump that all over you and a day is 28 days on the moon. So like you have a what's that math? I'm drunk. So it's like a 14 day day and a 14 day night so the temperature swing is ridiculous. No one actually I know that everyone's like oh we put a buggy on the moon but like no one is actually put a long term mission on the moon because the moon is so crazy. We put our movers rovers on Mars. The only one that's ever put a rover on the moon is the Russians and they put like a tank on there. Like the Lunar Croft was crazy. So like it's actually amazing how little we've spent on the surface of the moon because the surface of the moon is crazy. So this was a little shitty scouting mission. It basically had a camera in the front and the goal was just to drive that fucker until the sun cooked it. Because the surface is like if you can imagine the temperature switch during a 14 day day with no atmosphere and nothing to protect you it's ridiculous. Like if you look at the original Lunar extra outside of the mission drive buggy shit they used piano wires on the wheels because they couldn't use rubber because it would boil. Holy balls. They couldn't use metal because the first rock would pull it up so they actually took piano wire and tuned it around and then they let the rocks get absorbed up into the piano wire and then like the and then the rocks would just fall out later. Like the the science like it's so crazy. Like I understand why Mars is so important and so awesome and someplace we might actually live someday. But like the moon is such an ultimate engineering challenge. I think that people really underestimate the moon because of the distance involved. But the moon is such an awesome engineering challenge for thermal engineers, for mechanical engineers. I mean basically on a Lunar mission software is the like we'll fix it in software and support team. We clean up everybody else's messes. Like someone wanted me to overclock and underclock the processor to function as a heater. Like we are so secondary it's not even fucking funny. Like it's very very humbling to realize that like despite the fact that you have to have a mathematically foolproof system, you are not the one holding the hard challenges on this team. And that's an incredibly humbling experience. I'm sorry. I don't even remember what your original question was. Did I answer it? Any other questions? Oh my God. I can tell you so many stories of Epic Fail. So one time, I know I put this in last year but it's so good. So like one time I we were making a robot and it was two nights before the ship date because this was for competition where they take away the robot. And so we were just testing the robot and you know the battery is whatever. Like you know it needs to stay in there. So we bolted it down with some metal C clamps. That seems reasonable. And then as we were driving around the metal C clamps like waggled themselves out and got over the contacts and like arched it right into the steel frame. And now I advise you to use Velcro on your batteries. Because fire is bad. Most important formula for robots black plus red equals fire. So Velcro is great shit. We also I was once on the Carnegie Mellon. That was actually really humiliating because I graduated. I was like chilling with Carnegie Mellon and then my alma mater is the one that wins the half a million dollars for the Lunar X Prize. Fuck I graduated too early. And so they were great. They had no suspension on the robot. They were doing a Lunar Regolith Excavation Challenge. And they decided to carry the robot around because like I'll tell you during like when the shit hits the floor or the fan or wherever it hits like people are really rough on robots. And so they dropped it into the pit where it was supposed to compete. And the electronics board did this little flexy shit while it was live. And it did this little arcing shit and then it didn't work as well. When you let the magic spoke out of the computer bad things happen. So that was bad. Let's see what. Oh I ruined two walls in my high school. I had an angry nun chase me down the hallway. Fun fact kids when you get out of range of your wireless you need to have the robot stop. When it detects it is not getting anything it needs to stop because otherwise you will have no way to bring it back. This is really important if anyone does UAVs. Just put that out there. If you lose like piece like tie out just have it start landing slowly or you will never get that shit back until the batteries run out and it plummets like a rock. Let's see what else. Oh goodness I've broken so many things. Yeah that's all I can think of right now. Anybody else got questions? So like I know. He says that's the best most people here are getting. So you know the question was one way of robots we can have sex with. So that's hard question. You would either have to tether it or finish fast I'm sure isn't a problem around here. Because right now like the really limiting factor that's keeping robots out of our daily life is battery consumption. I actually wanted to put a slide on this but I got you drunk. So it's actually 100 times more efficient if you're allocating about 30 pounds for energy, for your energy budget to put a generator on there with gasoline than to put a lithium ion battery even pretending that cost wasn't a problem. Battery technology is really not keeping up with robots and that's why the only robots that you see right now are either domestic bullshit like the Roomba or things that have like a very controlled environment have the capacity to plug themselves back in or you see something that's tethered to the floor like automation machinery or you see military shit and they don't care how loud it is. So unless you get turned on by a generator going rrrr. I would say that's one of the more serious barriers to robots in our everyday lives for sexy times or whatever else. And it's really great because cell phones are now like really up against the wall in battery life and they're putting a lot of money behind this. On the other hand, I cried inside when I saw the Apple and they were like, like, Apple has so much money and they're like, oh my God, guys, we made it so much better. I'm making the battery bigger and I'm like, no, make me a better battery. I want robots everywhere. So if any of you happen to be billionaires that want to be like philanthropists and don't want to give it to the hacker dojo, and want to make the world a better place, I would say that the place where you can really make a difference is by improving battery technology because that's what's really holding us back from the robotic revolution. Is it's just not energy efficient and people don't want generators and horrible gas smells and the rat noise in their house. I go off topic a lot. What's up, dude? Baller? My thoughts on self driving cars is they are baller. They are an example of a gas fueled engine, as previously stated. They're amazing. I really hope that they get good at what they're doing before the legislature goes, oh fuck, guys, we have to stop this. They're really cool. On the other hand, I'm really sad because Google's solution to running a self driving car is to be like, we're doing a $30,000 car and strap a $70,000 lighter on the top. This is scalable shit. It's like, fuck, no, I'll buy a Tesla for $100,000. So I'm really looking forward to lightars coming down in cost and I believe it can be done. I believe the technology is out there. The problem is the only place we're selling lightars right now is to the military and as you know, the military gives fuck all about the price. So I really want to see commercial lightars because I believe that that is what will hasten self driving cars into the reality that you and I live with. By the way, I'm really not good about the future. I love these questions but like, I'm as much of an expert as this microphone makes me. So please take me with a grain of salt. I'll give you my best effort. What's up? So what languages do I like to program in for robotics? I would say the big, so the robots are really divided into, as I said before, batteries are really a limiting factor on robotics and so energy consumption is serious shit. And you actually look at like the computers we have on robots and they're awful. So there's usually actually two computers that are seriously involved. One is the embedded system on the robot itself which is extremely bare bones, extremely power sensitive and that is all embedded C. And then you have the off board computation that does like sensing, because like I mean fuck off board you can plug it into a wall, fuck electricity, like this shit is easy. So that is written in a variety of languages. There are excellent libraries for Python, excellent Python support. Another friend who's doing amazing work, if you think I'm good at robots this man I think will be the next father of modern robotics. And his name is Kevin Harrington and he works at Neuronrobotics.com. They have phenomenal Python libraries. There are a lot of good Python libraries. A lot of it depends on OpenCV. OpenCV is varied if you want to do vision stuff. Let's say embedded C and embedded Python for the off board computing side are probably the general tools of choice. Although I've seen everything. Because robots is such a new field. Like Microsoft made this like embedded crazy robot shit. I don't know if anyone's going to use it. But like everyone's trying to get into being the operating system of modern robotics which is bullshit. Until we get batteries you don't have fucking rooms to run an operating system. Fuck when I ran a rover we didn't have virtual memory. Fuck that shit. Like operating system modern robotics until we get proper batteries on there is a joke. And everyone will hate me for saying that but fuck them because I'm right. Next question. What's up? Can you shout a little louder? Ah Jesus. Neuronrobotics has one. Willow garage is trying RTOS A for effort. Sorry. Ross not RTOS. RTOS is something different. Ross. Thank you sir. It's trying Ross A for effort. They assume that you have this like magical infinite battery life. But they are shiny. And when the battery industry catches up they'll be kind of hot. I don't know if they'll be outdated before then. OpenCV is baller. It's actually used by a much broader community including general computer vision. I can definitely answer that question better by posting something online. So if you ping me at Katie Levinson on Twitter I'll go actually research this question and have an answer that's not pulled out of my ass. If that's cool with you. Next question. What's up dude? Not intensively. You mean the arm? Is there's a robot on the international space station? Are you familiar with that? Are you meaning the arms or? What? Yeah I don't know shit about that. Sorry dude. Assholes make shit up man. I'm not gonna make shit up. I'm gonna give you my best educated guess. And I think that's the only way to keep respect is you say when you don't know what the fuck you're talking about. What's up dude? What kind of programming languages and design strategy is going to lunar reverse? So this is actually a really complicated shit. Because NASA is obsessed with flight heritage. Which means like fuck the risk. Someone else flew it. They obviously did their homework. It's like conference papers. It's like I'm qualified to speak this conference because the people who spoke at the conference before think I'm qualified. Not this conference. I mean like bullshit conferences. Because this one the goons decide. I mean they don't talk. So it is complicated. People use VX works which is... I have nightmares about VX works. I really hate that system. And they also use it on your wireless modems and oh those work so well. I'm never getting a job from them. Fuck them. I don't wanna work for them. So there was a low earth orbit. So there's a big differentiation between low earth orbit and higher earth orbit because the van ellen belt is like pew radiation. You're fucked. Because imagine when you're designing your programming system any bit can be flipped. Like your stat counter oh I just changed that. Oh your PC counter oh I just changed that. And they expect you to design around that and it's like fuck you. So VX works is what spirit and opportunity run is what a lot of the computers run. I mean Rad Harden computers are... Rad Harden computers is a really hard thing because anything that can go into space can be used as an intercontinental missile and military gets all up in that shit. Because they don't like intercontinental missiles. I don't know why. So like if you wanna buy like a computer that has less power than my cell phone it's generally like $20,000 for the motherboard, $20,000 for the IO board, $10,000 for the power board and that's for the prototype and then they'll sell you a one that's guaranteed to be exactly like the one you're gonna ship into space and that's $40,000 for the motherboard, $40,000 for the IO board and $20,000 for the power board and then if you wanna actually ship one to space they'll sell you one for 80, 80 and 40 and that one comes in a magic plastic bag and if you don't open it in a clean room and you don't do the magic voodoo and it breaks they're not fucking liable. Defense I mean like this is getting into my political belief but defense contractors have gutted the American public's capacity to do science with their hardware and it's really frustrating and I'm sure that many people in the audience hate me for saying that but it's the nature of things. I feel. Are you throwing me off? I will not throw you I will gently take you. Alright thank you so much you guys