 Rhaf am newid, Nyg. Rydym a gell ei ddefwn citing perredoedd myllaf ge Arinol Tysgwlad yn agenda- Rydym wedi bod gwech yn cael fy flas pith o'n roes yn her Sagewglua'r Gweithle. Roedd y suppose-繁 yn dod oherwydd du cyffrifoedd y gallwn- Felly yn gwneud yr arieth tro干af. Roeddwn yn mynd i canllewdd eich cyfarwydd ar gyfer, dysgu codi gysylltu gemu yn hawdd. Mae'r gwyfiant dynnu'r wahanol yn ysgrifennu, yw hefyd yn meddwl i'ch bynnag ar y gŵr iddo am y ddechrau, pan oed yn gweithio taeth arall. Mae erbyn chael mae y golygu yn cenderfyn yn adeiladau. Felly gennym i'r meddwl i'r meddwl, ac mae'n meddwl i'r meddwl i'r meddwl i'r meddwl. yn ei wneud i'r ffordd am bobl a dwi'n dda i ddim oedd yn ffordd. Wrth gwrs, mae'r Ross yn ei ffordd i ddim i ddim yn ei wneud i'r robots, ac oeddwn ni'n gweithio'r gweithio'r gweithio'n gweithio'r gweithio. A'r gweithio'r gweithio'r gweithio'r gweithio yw'r robi, mae'r rhoi'r rhaid i'r cwlaffio hefyd i Ross ym mwy o'r ffordd yn ymgyrch ac mae'r robi'n fwy o'r 100% cyfnod. felly wedi bod y bydd y gallwn gweithio, mae yw'n gweithio rhan o'r roboedd ar gyfer y bydd. Ross yw ychydig yw yw'r gweithio ar gyfer y gweithio fel Willow Garage, sy'n gyfnod o'r company ymerach, mae'r cyfnod yn cyffredig yn Ysgol Hassen, mae'r person internetau yn cyfnod o'r gweithio, mae'r cyfnod yn cyfnod y web. Mae'n gweithio, rydw i'r cyffredig. Ond ydy'r gweithio ar gyfer roboedd yn gallu'r gweithio'r gweithio'r gweithio'r gweithio. But what he was interested in was robots that actually did stuff in a commercial space, potentially in a residential space rather than robots that worked in a factory. He was interested in building commercial applications that you could sell robots to him. Usually at that point people stop calling them robots. They started working on a big thing called the PR2, which was a big two-armed robot that could move around. A dyna dwi'n bwysig y cyfrifysgfodd yn gweithio. A fynd ymlaen nhw'n arddangos i'rwyf o'r rhododau rhywbedd ymlaen, ac mae'r cyfrifysgaf hwn yn gweithio'r rhobot ac mae'r rhobot yn gweithio'r rhobot ar y rhobot yn gweithio. A ydych chi'n cyfrifysgaf rhobot yn gweithio'r rhobot ar gyfer mae'n gwneud o'r rhobot yn gweithio'r rhobot, mae'n gweithio'r rhobot yn gweithio'r rhobot, ydych chi'n ddweud allwch ar gael ar gweithio ar ymwneud, a dyn nhw'n ddweud eu bod yn gweithio. Ac mae'n ddweud ei ddweud hynny yn ddweud ein robot. A mae'n ddweud eich robot neu ddweud eich system yn ddweud am gweithio yr adegau y brifysgol i'r adegau. A mae'n ddweud lle i gweithio ar gyfer rhai adegau. A mae'n ddweud y cysylltu i fynd i'r adegau cymryd a'r adegau. Mae'n ddweud i'r adegau ar gyfer rhai adegau. ac maen nhw'n gwneud fe ddych chi'n meddwl gael ddweud hynny. Ond cael ei ddreunio i ddweud eu systema yn gwneud honru mae'n mynd i chi ddiweddwg. Wyddon't wedi chi gallu gwaith ym Melkur Llywodraeth, dwi'n meddwl fod llawer o ni. Fydd li'n meddwl gallwch eich cyfnodd yn cael hwn o'n meddwl, ac mae'n gydig i'r ddweud am hynny. Felly mae hynny'n wneud ar y pryddedig hynny ddim yn ddiawis i'r ysgrifistau. Is That Big Enough? Can People See That? Particularly at the back. Is that okay? It's actually middleware, it's not an operating system, but a robot operating system was too good a name to get in the way of that. Robot middleware system wouldn't sound nearly as interesting. felly mae'r corffwlad yma yw'r system cyffredin iawn ymburth, ond rwy'n meddwl i fynd byddwch yn cyffredin sy screws, gyda hynna'r gyrwch yn rwyfyn. Dy intention yw, yn ddiolch yn gael, yn ddiolch yn gwybod. Mae'r gael yw mae'n bwysig o'r ddechrau hynny, mae'n bach chi'n bwysig o'r ddweud, mae'n bach chi'n fe gweld yma, mae'n bedwe i ymdill i'w gweld. Rwyf yn ddweud yr ymddill Harry cyngor, mae ddweud yn fwyfn yn bwysig. Rwy'r cymohon rydyn ni fod cofwiel ymweld gwiaith ac'r yw'r gondol. Rwy'n dathriad pause a'r gondol yw'r cymohon gyda'r collegriaeth ac'r rhaid yw'r haddogau. A fe allan o occupy cofwiel yw'r rhaid o'r cyfrannu dod a o'r cyfrannu. Mae'n ddweud yn wirach gyda'r rhaid, oherwydd mae'n lle i gael digon am y dyfodol. Ac rhaid o'r rhag o'r ddweud dda wedi'u cyfrannu, Ond dweud problemen critical a oedd oes yn gwrsio'n gweithio'r grfrân o hytrfyniad tymorol y medrych yn y falch. A gofynnwys yr arlofydd yn ymgyrchio'r cyfrifiad yn cyhoeddur, yn cyfarfodau, yn cyfrifol a'r cyfrifiad. Rwyf ymgyrch yn cyfrifol. Mae gael o'ch dweud o ddim yn ddwyng, os ydych chi'n osud, ddywed gan y robot, sy'n lle ogylch yn cyfrifol, ond mae'n dodo'r gweithio'n cyfrifol yn gyfnod liellynedd. een stof gedaan. You want something that has lots of processes running. Have used a fairly common architecture for that, a whole bunch of bits of code that talk to each other. They've defined a way for getting bits of code to talk to each other. I've extended that to make it work across machines as well. A common thing that happens is you start building your robot, You make it more and more complicated, then you suddenly find that the processor that you're using can't deal with all the stuff you're trying to do. And so it's very easy then to move some of those processes onto another machine that's connected over a network, and they pretty much automatically then carry on working. It's just a couple of lines of configuration. It's language independent, so it's not a programming language. Basically all your programming code needs to be able to do is send messages and cyda gweithio mysgau i gwaiththatod Ross i chi'n gwybod ac sydd ydych yn ei pryd cael ei gweithiau i chi. Mae'n ddw i gweithio ei gweithio i gmwybod gwahanol ym yw'r ytheging. Ond yma, Roxy lensyau y C++ ac Python Prydy C++ yn cael ei gweithio i L-level Gweld drifol ac yn cael ei gweithio i'r llun a Python yn cael ei gweithio i ddefnyddio yn cael ei gweithio i gweithio i gwybod ychydig yn erbyn gweld i chi bod yn ddetwi. Wrth fy rawn, rwy'n edrych hollu fo A pob ein gweithio cyrraedd aethol, ni'n cyffredinol gyntaf, ni'n cwestiynau cyfanyddio cyngor, ni'n cyfanyddio cyngor yngiorion, ni'n cwestiynau cyfanyddio cyngor i ni, ni'n gweld rhywbeth a'r gwcwyr yw. Beth yw brifysgwydio? Mae ddim yna'r gwcwyr yw'r gwcwyr yw? Hwylwch chi'n gweithio. Felly gweld rhywbeth yn gweithio. Y cyfnod o'r argychwyn hwylwch, cydych chi'n gweld cofennolau a'r antymu'r mewn cyfnodau, mae'n gweithio sy'n mynd i'r ysgol yn y dyfynodau. Felly mae'n cwestiynau. A'u cyfnod a'r anhygoel efo'r ystafell, mae'n cael bod o'r cyfnod o'r argychwyn hwylwch, yn y bach yn ei gwybod. y dylai sy'n ymwneud o'r edrych, yma'r byd yn oed yn gwneud o'r system sydd wedi'u bwysig o'r event eich ffath, y ffath eich ffath yn y cerdd gyda'r cerdd. Yn ystod o'r cyfarfod cyfrwyd ym mhwyaf? Felly? Felly, ymwneud? Felly, mae'r cyfrwyd yn ystod o'r cyfrwyd ymwneud yn ymwneud. Ond, mae'r wasgwyr yma. Ond mae'r wasgwyr yma, Ac mae'n gwybod i fyfwysgwch a'r ystyried a'r bywb yn cael syniadol ar y cyfwyr yw'r gwaith. Mae'n cyfwyr yn ei wneud yn gorfod, nid oherwydd mae'r system wedi amddangos. A mae'n gweithio'r test yn ystyrwch a'r hyn yn ystyrwch, sydd ymlaen i'r cyfwyr, ydych chi'n gwybod i fyfwysgwch, yn y ffyrdd oes o'r cyfwyr, nid yw? Mae'n gwybod i fyfwysgwch. Roedd y gallwn cyfrannu ychydig yn ystod o'r swerdwyr i'r cyfrannu. Byddai'r ydydd y bach yn eu cyfrannu. Roedd Ross wedi bod nhw'n rhoi'r cyfrannu, boedd yn gweithio'r cyfrannu, ac yn ei wneud, mae'r cyfrannu yn canolodd ei wneud yn credu'r lle mae'r cyfrannu o'r cyfrannu o'r cyfrannu cyffredig. Mae'r gweithio'r byddau sy'n ei hun ychydig o'r problemu gweld y bwysig o'r bwysig yn eu hwn. Mae'r bwysig yn ei gweithio dyddiad gydig i ddechrau'r bwysig a'r ddweud i rosio. Felly mae'n ddysgu'r bwysig o'r bwysig o'r bwysig a mae'n rhaid i rosio i gael. Roedd yma mae'n ddysgu'r bwysig? Roedd yw, mae'n ddweud i gael unignau a phobl. Mi'n ddweud i'r bwysig y ddegwyddiad yn cael ei ddysgu'r bwysig. Mae'n ddysgu'r bwysig i'r cyfrifiadau y gwaith sy'n gweithio'r cyfodol i'r system. A ydy'r ddweud o'r gweithio'r gweithio'r robot-speciolau, o algrwys, o ffraenwyr, o ddweud o'r cyfrwyngau robotig. Mae gennymau o ddweud o'r ddwylo'r gweithio'r computer, mae'n diwylliant, mae mae'n diwylliant ar y gwaith. Mae'n diwylliant ar y gwaith, mae'n diwylliant ac mae'n diwylliant arall, ac mae'n ddweud o'r ddweud o'r ddweud o'r gweithio'r robotig, ac mae'n diwylliant arall, ac mae'n ddiwylliant arall o'r ddweud o'r gweithio'r machine. Mae'n diwylliant arall o'r gweithio'r robotig, a'n diwylliant y ffôl i ni'n dweud y rhan o'r gyflym y rhan o'r rhan o'r cyfodol. Ysigol yn dweud o'r cy lifts i niwn i hyn o'r gweithio'r bobl. Mae'n oes ond ymgyrch o'r cydechau. Mae'n ddefnyddio'r cyfodol, mae'n ddefnyddio'r ddarfyn o'u gwab, ymyrch yn cyfnod ydych chi fynd o'r cyfeirio'r amlwyddoi a lleio gwybod speidiol yn y cyfiawn. Rhyw gyd, rheswch i chi? Rwy'n gofio'r ddoch'u all fryeirwyddedig a'rfynod, yn mynd yn mynd ar y cyfeirio. Gwyd, chi'n mynd i fod yn ar y cyfnod. Ac rydych chi hefyd. Rydych chi'n credu os y cyfnod o'r fighor, gweld y cymunicatiau'r cyfnod, un o'r IPA, llawn gwneud, ac i'r ddreffd stadiumrach. The introspection tools are a really, really useful bit, because the natural state of a robot is what? Natural state of a robot is not working. It doesn't matter how much you prepare it, how much you think it's ready, soon as someone else looks at it and you turn it on it probably isn't going to work. So finding out why it isn't working and fixing it is a really, really useful thing. Ross has a lot of tools that enable you to look at what's going on, while the robot is still functioning. You don't close it down and then try and pick it apart. You can interrogate the system while it's running. On top of that main infrastructure you get a whole bunch of libraries, capabilities and applications is generically what they talk about and there are specific libraries that are very robot centric. There's one called the TF library, I'll talk about that a bit more in a minute, that's really, really useful. OpenCV people are probably familiar with. It's one of the big open source vision libraries. For a while Willow Garage maintained it. And now OSRF maintained and looked after it. PCL, Point Cloud Library, that's really good at working with all the data that comes out of RGBD cameras. So things like Conex that give you the distance, a way that lots and lots of dots are. As well as what colour they are. Mae'r bwysig yn cyd-ddiannod i'r rhaid i'r cyfwyr yw'r sgwrs yw'r dweud y trofodol. Mae'r bwysig yn cael gwybod. Mae'n gwybod i'r gweithio'n ddechrau'r ddweud. Yn y trofod, yma yw'r ddweud o ddweud cyfwyr yn oed yn gwneud y trofodol, ddweud yn cael ei ddweud yn gweithio'n ddweud. Ieithi chi'n gweithio'n ddweud. Efallai ydych chi'n gweithio'n ddweud hynny'n ddweud. gyda'r gweithio cymryd i'ch hunain? Felly mae'r gweithio gyda'r gweithio'r gweithio? Mae oedd hynny wedi gweld yn gofyn. Rhaid i'r gweithio yn roi'r gweithio'r gweithio yn unig wedi bod rhywbeth yn ymddangos. A sy'n ddechrau, mae'n ddweud o'r drwy ffordd ac mae'n ddod o'r gweithio'r gweithio'r gweithio. yng nghwyl yn i'w ddweud, fel dyna'r rhaid yn gwybod. yna'r llwyllt ar y cyfnod, y rhaid yn rhywbeth. Rhaid dweud i'w ddweudio'r llwyll yn ei ddweudio, rydych chi'n gyfnodd, rydych chi'n gyfnodd yn ddweudio'r ddweudio'r gweithio. Felly, nid yw'n ddweudio'r gweithio'r gweithio'r y gweithio'r gweithio. A'r cyflogau'r a'r cyflogau'r cyflogau'r cyflogau'r gweithio, roeddo'r tyfnol. Ross i'r llwyddiad o'r ffordd. Mae'r ddaeth i'r holl ddaeth ar gyfer y cyrffordd. Mae'r ddechrau ar y cyd-wyr wedi'u gael. Mae'r bobl wedi'u gwneud y ffordd. Mae'r bobl wedi'u gwneud. Mae'r bobl wedi'u chyfei'r materialau, i'r bobl yw allan cyfrifio. Mae'r cyfrifio cyfrifio cyfrifio cyfrifio cyfrifio cyfrifio. In Ross we talk about Rosscore and you run a process called Rosscore that launches a thing called Rossmaster and Rossmaster keeps track of what processes have been launched, how they communicate and what information they're interested in receiving. Does that using a centralized XML RPC server and it puts nodes in touch with each other. So when we talk about a bit of code that's running that can communicate, we talk about nodes and they will try and talk to other nodes. And the Rossmaster keeps track of which nodes are probably interested in talking to each other and putting them in touch with each other. There's a parameter server which in effect is global variables for all those nodes so that they can look at a single bit of data that's usually about the robot itself. And Ross out which is a network based standard out to send human readable messages so the robot can tell you things that are going on. And then in terms of the computational graph that gets built we talk about nodes, parameters, topics and services. Nodes are processes so they're a bit of code. Could be written in Python, could be written in C++, could be written in other things. And they produce or consume data. They could do one, they could do both. If they do neither then they're not part of the Ross infrastructure so they won't have any kind of impact on what's going on. In order to communicate they use topics. Topics are asynchronous many to many communication streams that happen in one direction. So you either publish or subscribe to a topic. You can have multiple publishers, multiple subscribers and it's asynchronous so something can start publishing stuff without there necessarily being a subscriber that's listening to it. Something can subscribe to a topic and there isn't necessarily something publishing to it. And that's really useful because it means you can bring stuff up incrementally and you can launch bits to test them without having to launch everything at once. And then services are built on top of topics which is something where you might ask a question and want a reply. And so it ties two topics together so that you publish something on a topic and you get an answer back on another topic. Some of the introspection tools while it's running you can ask it to draw you a graph of things and how they're connected so that you can check that things are going as you expect. Once you get to the point where you're launching lots of these nodes it becomes a pain to launch one after another so you can create a thing called a launch file which is a list of these nodes and how you want them to configure to each other. So you've got topics which is a stream like communication like me talking to you at the moment. Hopefully you're all currently subscribing. I'm publishing. When we start asking questions you'll start publishing and I might subscribe to them. You can have one or more publishers and subscribers to a topic and things can subscribe while the system's running. It's a continuous ongoing process. Services provide a function like communication and then you have actions which are like long running processes. So you might tell the robot I'd like you to try and navigate over to there to this location and it's going to take a significant amount of time. So you don't want to block in code and wait for the reply to that. You want to sort of regularly check and say how are you doing and an action provides that so it's like a service that isn't going to reply very soon. And so you probably want to go away and do something else while it's doing stuff. Rossmaster coordinates all this. So we've got two nodes here. One called camera, one called viewer. When camera launches it advertises itself to Rossmaster and says I'm going to publish on a topic called images. It's going to be a stream of images that come from the camera. So Ross adds that to its list of topics that exist on the system and makes a note of that's a node that publishes that topic. Viewer launches and says I'm called viewer and I'm interested in subscribing to topics that are called images. Rossmaster puts them in touch with each other and then they start to directly communicate with each other. So it isn't all going through the master because that would be a huge bottleneck. Images start going over, they get to viewer. Another node gets launched and it says I'm interested in images as well actually and so it gets them too. We've got a lot of graphical user interface tools that enable us to visualise the data that's on topics so that we can see what's going on and we can visualise images while stuff's happening and we can visualise stuff in 3D space, the robot, the data that it's getting off the sensors. Ross is sent out in distributions similar to Ubuntu and Ubuntu is the main operating system that it exists for at the moment. There's some experimental work about getting windows running on it but mostly that's just been to get a particular sensor to publish data into Ross. They haven't implemented anything like the range of stuff that exists under Ubuntu primarily because most of the build stuff is stuff that works in Linux. I won't talk too much about actions for now. I'll talk a little bit about coordinate frames. So I mentioned a library called TF. That's a library that works out transform frames. So transform frames become very important when you're talking about a robot because what you're usually interested in is the end effector maybe on the end of a robot arm. And we're interested in the position that that is and the orientation of it. Where is it pointing? And we're usually interested in that in relation to something else. So if a robot's got two hands it's interested in where this hand is in relation to that because it may want to grasp something. What the transform frame library gives you is the ability to just say I'm interested in this hand and that hand. Can you tell me how far apart they are? And the transform frame library will go yes at the moment they're this far apart. Okay can you tell me how far this hand is from that top right shoulder and it will go yeah they're this far apart. And the way that it does it is that you need to have a description of the robot. And a robot is described as consisting of links and joints. So if I describe my arm in terms of links and joints the links are the bits that potentially can move. So you know the joints are the bits that can potentially move and the links are the bits between them that are fixed. A joint might not move it might just be where somewhere is connected so you can describe a fixed joint. You can describe a joint that rotates in one plane, a joint that rotates in two planes or a prismatic joint that slides in a linear fashion. Once you've described your robot in this way and you've put that onto the parameter server for Ross so that the whole system can see it. The transform frame library can then use that to calculate where things are. In order to do that it needs to know things like what angle is the joint currently at. So you then need some nodes that are using a sensor inside the joints of your arm to publish information about what angle that's currently at. And the transform frame library amalgamates all that data and starts to make higher level sense of it so that you can ask questions like where is this hand in relation to that hand. All you need to do is define your robot in the way that Ross describes and publish the sensor data for the joints that move. The transform frame library takes care of the rest. In terms of robots that's quite a big chunk of work that it's doing for you now. And you end up with quite a few coordinate frames. It handles it all. The one sort of limiting thing about it is that your robot needs to be described in a particular way. It needs to be described as a tree so there needs to be a single base point and everything radiates out from that. And some robots can't be described in that way. So a delta robot which is like three arms coming down that moves a thing around that can't be described as a tree structure because there's links that are joined in parallel. That's a limitation of Ross so you wouldn't use it to directly control a delta robot. You could potentially send messages to the delta robot from Ross to tell the delta robot how to move but its internal control wouldn't be done using Ross. And the system is distributed so there's no single localised area that is producing all that transform data. It's something that emerges out of the nodes that you have doing various things, the library kind of coordinates it. That's probably enough of that and it's kind of run out. So Ross has been around for about ten years. This website tries to keep up to date with robots that currently work with Ross. There's quite a few now. Each of those robots will have a different sort of level of integration with Ross. So some of them will use Ross right at their fairly base level to control the robot. Some of them may just have an interface that allows their robots to receive messages from Ross and then internally they're running their robot however they want. Either work fine. So they produced a robot that was the sort of reference platform for Ross. So this was the original turtle bot. What do you think the base is based on? Rumbar. It kind of looks rubbery. It's the base of a robot vacuum cleaner but without the vacuum cleaner bit. It's got an ST32 inside there. It's got motors, it's got batteries, it's got a charging unit and it's got various voltages coming out that are handy to plug things into. Originally it was designed to have a laptop put in here because eight, nine years ago when these first came out running it using a single board computer was quite hard. So you shoved a laptop in there and originally it had a connect on which is an RGBD camera, red, green, blue and depth. This would look out into the room and produce data about where things were or data about distances to things. Then trying to work out what they are is potentially a very complicated thing. The description of the robot frame tells it where this camera is so the distance data from here it can then relate to other parts of the robot. Disadvantage of this, it was just over £1000 to buy. Part of that was this base that was about $700-800. What's the most difficult thing for robot vacuum cleaners at the moment? Stairs is a big problem, but in the areas that they work. So if you go on the forums for robot vacuum cleaners, apparently somebody told me this, it might not be true. About once a month they get a question mark on the forum saying, what do you do if you've got a cat or a dog? So machine learning, if machine learning could detect animal poo, the vacuum cleaner manufacturers will be very, very interested. Because at the moment it can detect that the carpet is dirty and so it drives over the animal poo and goes, oh there's some dirt there. I better make sure I get it really, really clean. Oh right, I think I've got it mostly off. I'll now continue to drive around the flat cleaning everywhere else. So machine learning, animal poo, there's a big opportunity there. So one of the disadvantages of this base as well is that you didn't get a lot of information about what's inside there. So there was a protocol for talking to it, but in terms of the guts of how that base bit worked, you didn't get anything. So that was a bit disappointing. They've just released, hot off the press, the new version of the turtle bot, which is a lot smaller. That's deliberate because it's a bit of a pain having to transport quite big ones like that, particularly if you get something close to a classroom set of them. They take up a large amount of space. These are being sold for about 500 quid now, 500, 600 quid, and that includes this on top, which is a 360 degree laser scanner. So originally they used the Kinect because the Kinects were very cheap, and from that they extract a line of data to emulate a laser scanner. Computationally quite intensive, but your little device was cheaper. These they've managed to source, they're not saying how cheaply they'll sell them individually yet, but they will make them available individually once they've done the initial orders of this. They're using Dynamics or Servos as the motors, which are nice little servos that will continuously rotate. You can control the speed, you can control the torque on them, you can work out their position, all kinds of nice things. And they've produced their own board for interfacing between the computer and the motors. And they've released all the details for it, they've actually released all the details before they ship the boards, which is unusual. So they've got this board that they call OCR, OpenCR. So it's got an ST32 of some description on it, I can't remember the very long number after it. It's got an IMU unit in there, so an IMU unit, inertial measurement unit, so it measures rotation, acceleration, and integrates those to try and produce an estimate of the orientation of the robot. Which is a key bit of robots like this, as soon as the robot starts moving around it starts to get lost. And if you keep track of how the wheels rotate to try and estimate where you are, you will still get hopelessly lost. Because there are always errors and those errors will accumulate. And so what you're constantly doing is saying, I think I moved this far, can I just check using my sensors, does that look about right? And can we kind of work out between those two where we think we are? And the IMU is really useful in helping with that. It helps you work out the direction the robot is pointing in. They are also going to make these boards available independently once they've satisfied the initial rush of orders for the turtle bot. The turtle bot's made out of these little plates that bolt together. The 3D printing files for those were available before the turtle bots were, so you can print your own if you want to. If you buy a turtle bot you get the advantage of them being injection welded, so they're a little bit stronger. But all these bits will eventually be individually available so you can source the bits that you want to yourself and build the rest. How long have I got? We're out of time. Oh no. But what do you want to do? Keep talking. I was going to do a demo of the LiDAR but I won't bother doing that because that takes too long. What I will show you is this is a really nice story about somebody using Ross. This is a farmer in America who was trying to use the Navio to drive his tractor around. He was getting a bit stuck and they said go and talk to people on the Ross Forum. So on the Ross Forum started talking to him about some of his initial tests with his tractor. See the cables there where he's hacking to control it? His daughter assisting him, sitting next to him, critical bit of... Okay so in the first instance he's able to press the game controller and get his tractor to drive forward. Now this is a big thing in America, digitally controlled farm machines are not a new thing. They're available commercially, people hate them. The prices of second hand tractors and combine harvesters that don't use digital have gone through the roof as people try to buy them because they don't want to use the digital ones, why not? Because they're closed source and if they go wrong there's nothing you can do with any of it without getting the distributor in to fix it. You can't hit it with a hammer, you can't tweak it, if you're in the middle of getting your crops in that's no good. So people starting to make their own solutions to that is a really, really important step and open source stuff for moving tractors around is really, really exciting. So this was his first stuff that he got working and he was excited, it's driving along, that's great. So with a bit more, a few questions asked, a few people on the forum getting in touch with him. Okay, can you spot the difference between the previous video and this one? There's no driver, he's sitting on the mudguard of the tractor outside filming it, driving along and it's working. It's pulling the stuff behind it. Okay, so he's approaching a ditch which his grandfather crashed a combine harvester in too many years ago. He's still sitting on the mudguard, he's lifted the thing at the back so it's not doing tillage anymore, it's not dragging through the stuff. And then it puts it back down. Okay, he's not happy with the fact that it's not going in a very straight line. What he needs to implement is things like PID control and an IMU unit. So he starts implementing those with help from people on the forum. And then he adds an e-stop using a feather, an age of fruit feather so that if he isn't on the tractor he can stop it. He's got three tractors now that he's set up to do this. Various questions going all the way through. And he talks about he likes boring tractors, he likes boring robots because he just needs them to work. So there's the IMU, there's the PID working and then right at the end here, right at the end, there's his thing. So I slog through planting all of the corn 535 acres, planted the soybeans manually and then barely prepped for the Agbot challenge. So the Agbot challenge is university research departments, various commercial companies going to a field and showing what their robot tractors do and he won it as an individual entering from his own farm. So that's the power of open source and stuff like that. I'll stop at that point then so that people can have some food.