Aldebaran Robotics and Open Source
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Merejkowsky, Dimitri
How Aldebaran Robotics is using open source on their NAO robot. The talk starts with a generic introduction to Aldebaran and its flagship product, the humanoid robot NAO. We then give a small demo of what the robot can do, and how you can program it, all with open source software. Then we talk a little about the history of open source at Aldebaran: how it was first chosen as a tool; the decision to use linux; the way we went from openembedded to buildbot and gentoo; the way we went from CDash to Jenkins, and so on. After this, we will discuss the current open source projects Aldebaran is contributing to (connman for instance) and the tools Aldebaran decided to open source (like qiBuild).
 Good afternoon everybody, this is Dimitri. He's going to talk to you about Aldebaran robotics and open source. Okay, so thanks for being here. So I'm Dimitri Marechkovsky and I work at Aldebaran robotics since four and a half days. So we are the company building this robot. So we have a stand in AWS, so don't hesitate to go to our stand and talk with us. We've got more robots doing more crazy stuff. So let's get started. So just a few words about my company. So it started six years ago and now we have more than 200 people working at Aldebaran. 50 just for the R&D. We have offices in Boston, in Shanghai and in Paris, but all the R&D is done in Paris. We have more than 2,000 robots in the world and it's used by something like 200 or 300 universities. So a few words about the robot. So actually this is the picture of the first humanoid ever to be in the South Pole. And that's someone from... and so those are real penguins. So a few words about the robot. So in 2006 we only had a very basic prototype. And the second you see over there is the one we used to add the robot cup to be the next standard platform league. So the idea is that since the third prototype you see over there, the robot is used by the robot cup for the standard platform. So this means that you have two teams, each one has five nodes and the nodes are being socared together. And since 2008 we've improved the hardware. So now we've got a very robust robot. It can fall like 1,000 times over its own side and it doesn't break. So that's where we are now. So a few words about the robots. So there are tons of captors. So there are four microphones here, here, here and there. So you can do some localization and know where people are, when people are talking, where they are and look at them. It's got two cameras, one over here and one at the bottom. So I can see in front of him and can also see its feet to avoid walking on obstacles and so on. Also to avoid obstacles, he has two sets of ultrasounds. He also has an inertial sensor so when it does like this, he knows it. And also you see it to know when it's falling and it can protect himself and then get up. He also got lots of tactile sensors so the head has tactile sensors, the hands also, some bumpers here and there. And some pressure sensor also here. And again, you use it to stabilize his walking. He has 25 degrees of freedoms. You can control the motors one by one or you can do very advanced stuff like just set the robot to there. And then you need to compute all the steps and do the walking and so on. So the robot comes also with a lot of tools. So we've got a big community of developers and users. We've got a developer program. I'll say more about this later. And we also have lots of tools to help you program the robot. So we have a graphical environment called Core Graph. And so you can just program the robot by dragging boxes and connected them. And we also have SDK in a lot of various programming languages like C++, Python, Java,.NET and so on. So this is an overview of the software that we wrote. So we do everything from the mechatronics and the low level firmware code up to all the embedded software and the desktop software. So here we have a stack. So we've got the embedded software like the firmware and so on on the head. So the head is supposed to be on the head. And at the bottom, you've got a Linux with the base. So it's a real Linux. We give you a shed access and so on. Above the Linux, there is a demo called HAL, which is used to control the hardware and so on. So it handles all the communication between the motors, the sensors, and so on. Above that, there is a layer called ChimneySaging. So ChimneySaging is just a core library that is used to make process communicate together. Above ChimneySaging, there is a lot of various modules. So we have for you a huge API and it's split across various modules. So we've got a module for motion, a module for walking, a module for speaking, and so on. So the whole stack with the HAL<|de|><|translate|> on your desktop for simulation. And above Naoki, you've got a lot of various applications. So the HAL is also available on the desktop. So the HAL is also available on the desktop. So the HAL is also available on the desktop. So the HAL is also available on the desktop. So the HAL is also available on the desktop. So the HAL is also available on the desktop. So the HAL is also available on the desktop. So the HAL is also available on the desktop. So the HAL is also available on the desktop. So the HAL is also available on the desktop. So the HAL is also available on the desktop. So the HAL is also available on the desktop. So the HAL is also available on the desktop. So the HAL is also available on the desktop. So the HAL is also available on the desktop. So we've got this OpenLao virtual machine. So the idea is that you get exactly the same environment as the robot, but it's running on your desktop, and you have all the compilation tools inside the VM. So you can just type email to the VM, and you've got your binary package, and you can just deploy it to the robot. So that's really nice. And one reason we did that is that we wanted to make sure it was easy to write applications for the robot using third-party libraries. Say for instance, you want to write an application for the robot that is doing QR code. There are lots of libraries for doing that already, so there are no points in people trying to recompile that all the time, and you can just use the Gen2 work, do the binary package, and then save it on the robot. And of course, if you take the total number of lines of code we have today at Alibam, that we wrote ourselves, both for the embedded system and for the desktop tools, it's a total of six million lines of code, and there's something like 30,000 lines of CMEK code, because CMEK is called perform, and we need that. And we wrote a very nice layer on top of that, which shows key build. So it's yet another build system for C++ and CMEK. I know there are tons of them, but this one is better. So why is it better? So it's open source, of course. It supports cross-compilation. It supports clinics, mac windows. It also supports Visual Studio. It also supports binary packages for the desktop, too, something you sell them, see. And it also supports making software that you can redistribute later. So you can just compile your software and put all the library together and give the pre-compiled stuff to other people to use. So it's all written in Python with the CMEK layer on top. It's available on GitHub, so you can check it out if you want. And the last feature we added was a key build deploy, so you can just type this command. It's going to cross compile your source code, send it to the robot, and configure the ring code debugging for you. So that's really nice. So I want to take the time, because I'm careful of them to just say a big thank you to the community. There are tons of great, great tools that are done by the open source committees from CMEK to Python, obviously. The guy from Qtcrator, I just went to see them yesterday to say thanks. That's one of the good things for them, that you can just go to people and put a name in front of the software you use every day. That is really nice. And we also use lots of tools that the open source project are using, too, like Gerrit for the code review and Jenkins. So Jenkins does everything for us from the automatic testing to the automatization of the delivery and so on. And so what we want to achieve is to give back to the community a bit of what we've taken. So the Bing model is created by us, improved by everybody, which is such a nice slogan for open source. So we are officially showing code since May 2011. We've got GitHub web page where you can see all the projects that we opened. So there are a few of them right now, but many more to come. Tbil is released under our BSD essence. And just check out our web page on GitHub, our account just in Aldeban. So next I'm going to say a few words about what is going on in the future. So right now, the parts that are open source in the robot are the distribution. Of course, every time we use a GPL library, we give you access to the patch we've made and also even the Git project. So there is, for instance, there is our fork of the kernel on GitHub if you want to check it out. But right now, the core library, the communication library is closed, and we want to open that. We want to open that for many reasons that you already know, like it's easier to support new platforms because Aldeban doesn't have to precompile it for everyone. It's easier to adapt it to other build systems. It's easier to adapt it to other frameworks. We know there are tons of open robotics frameworks in the wild like KOROS, for instance. And what we did with KMSGing is to have this open library, open format, open wiring format, it's easy to tweak it or to plug it with other frameworks and so on. So I was talking about the developer problem before. So what we have here is that we have a very nice environment for developers. So there is a form so you can put your software here. You can share the source code with a run. If you go to see our stand, you'll see many demonstrations. All the source codes for these demonstrations are here. There is also a store so you can publish applications or sell applications and download them. And so how you get in is you fill a form to prove you are able to program, and then you buy your robot for 3,000 euros. So what you need to know is that the public price for the robot is 12,000 euros. And by selling you at this price, we want you to create applications for the robot. So if you're all about the now Dev Days, so that's something we do quite often. We invite all the members from the developer form to come and see us at a LeBron in Paris to just hack with us. So this is a picture from one of these events. And so there was something like 50 people just hacking on the robot all weekend, staying very late on the Saturday and so on. And there was a competition and the goal was to wild the best application possible. And here you are seeing a picture of that. So it was a physical coach, so the robot was doing push-ups on the ground, and then you get to it and say, oh, does the same. So the guy who won the prize had the opportunity to come work with us for two days. So he spent two days with the people from LeBron, the guy that was called out, the guy that makes the demo and so on to improve his application. And it was such a nice experience. Yeah, a few stuff now. What's really nice with the developer form and Al de Varon is that it's really close. So we do some beta releases, for instance, and I remember one time we sent a message to the forum saying the beta is available. And the next two hours we've got tons and tons of downloads and people are listening bug reports and so on. So that's really great. So if you join the developer form, you can just ask someone and you can be in touch with the guy that is responsible for this feature. It's really open and easy to share ideas and so on. We are also hiring. So Al de Varon is still working on very big projects. All these robots, all these huge goals achieved. We've got lots of various topics, lots of job offers. So everything is on the website called shapes the world. So just shapes the world.fr. You can see all the just description here. And don't worry, send your resume anyway because sometimes we just get a resume and then we know we want to hire this guy and we find out a job description later. So don't worry. And yes, come and join us. We are a very happy company. We have a very young and enthusiastic team. So this is an example of our building. So we have this very nice terrace open in the air. So it's a great place to be in summer. So yeah. And again, one of our motors. So this is work hard. So here you can see people working on the. Yeah, so it's they are working on the prototype for the Romeo. So it was the first prototype. Here you can see people fixing robots and the bottom. It's it was during the unit of an exposition. So we have often big changes to make. And that's that's also really exciting. But we also know how to party. So there are a few photos. So here you've got a picture of now during Christmas. Here's a now labor force. So it was so there was a rubber cup in Germany. And so we send some people officially from my debut on for support and so on. And there was a few geek in inside the company says, oh, we want to come too. And so they just took a bus and drink some beer and being the audience and just. Making sure everyone was happy and having this really weird fake hair. And the guy you see here with the big smile and the big hair looks a bit. Like having a big time is the CEO of Aldebaran robotics. So that's the end for this talk. So I'm just going to show you a little demonstration. So what you're going to see is the first time we have an open stack. So everything that is online is top is open source. And the only stuff that is closed in open source are really the implementation like the test to speed that is proprietary or really a system. But all the core libraries and the communication format are open. So let me show you that. So here is what the source code looks like. So you create a session and then you connect to robots. So this one is called Pedro's. We've got a nice, heavy functionality working out of the box. And then you create a service and then you make it say something. So let's start with just to prove I'm not making it up. Let's start with Hello World because... Sorry. Let's start with Hello World. So as an example, it's in Python but again, C++ Java and so on. Hello World. So that was a good of the permission with us so we can start seeing something else. So let's try... That's right for them because we are in for them and that would be a shame. Hello, Foster. Yeah. Okay, so that was it for this talk. So we can just put my last slide. If I can do that. Yeah, so of two links. So we've got a documentation available so you can browse source code. So the example you are going to see are not using KMSG because KMSG is not finished yet, but soon. We've got Aldebran GitHub available so you can see all the projects we have. Here's my email if you want, if you have any questions. And again, there is this shape the world.fr website you can join to see our job offers and look around. So comments here at the stand six. Comments here afterwards we've got badges, we've got brochures, we've got everything. And if you have questions, I think I'm a bit in advance we can take them. Oh, yeah, I didn't... So everyone applauded so I didn't... So I've got another example. So here we are using various services. So we've got a service called motion. So you can see there is some high level stuff like wake up and rest. We've got the text to speech we've seen and we've got the behavior manager. So basically you can install the under both and just play them. So we can try to do that too. Let's do this. Hello world. I don't make it work live on it. Unattainable like that because I'm taking enough risk already. But if you want to see the bot works you can go to our stand. So the bot has with his hands you can just click him by hand and he follows you. So that's a really nice way to see him work. Look to your left. You said in the beginning something about 25 degrees of freedom. Do they have any other purpose than waving hands or some impressive stuff like that? I mean are there for some functionality or are they just some kind of public relation? I'm not sure I'm following but the question was what the robot can do about from moving. I mean 25 degrees of freedom sound spectacular. I agree that it's quite a task to coordinate them. But do you really need that many degrees of freedom to perform the task you are wanting to do with your robot? Yeah I see your point. So the question is why do we have so many degrees of freedom? So the answer is that because we wanted a humanoid robot so we wanted the head, wanted it to be able to sit down and to work and so on. It was really important for us to have this humanoid robot. For tourism first the fact that he's looked like this and he's a bit like a child and so on makes it very easy to interact with him. And also the fact that we want to have robots in the people's home in the future. So we need to have a humanoid robot because your home is designed for humans. If you think about stuff like taking off the garbage or opening a door and so on you have to be like a humanoid robot to do that. So that's why we choose to have all this complexity and that's why we work to make the work this way or all this high level and complex way of making the robot move. I have another question. Hi. How long the battery lasts? I mean what's the autonomy of the robot's average? Yeah so the battery is two or three hours depending on what you are doing with the robot obviously. And has it a cradle so the robot can go by himself to the recharge area or something like that? There is a project like this so it's called the now energy station. So the idea is that you have a pod and the robot can just walk backward and there is a magnet and so it connects to the magnet. So it can just move around freely because there is a little cord and then we want to get out to just do that. Click click click and then it can just get away and continue. So we did a little bit of the hardware part so you can call design and so on because that's what you are good at. And then we started working on all the navigation programs and we just give the hardware to people from the developer program and said to them okay just make it happen make the navigation system work. Make the robot realize the battery is empty and just go back to the next station and so on. So that's what I was saying earlier. We've got this huge goal which is having robot in people's home. And so Aldebar is doing the part of the industry, the hardware, selling it, doing the support and so on. And we work with people like you, like developers to help with us and create with us. Yes. So I understand that you mechanically have 25 degrees of freedom. I can understand that you have an application processor and a real time part to control it. So my question is how many degrees of freedom are you able to control at each time? I think it's not 25 right? Yeah actually yes. So what's happening is that the core of the in the torso, there is a harm processor. So there is no operating system on it and its only job is to take all the inputs from every sensor and send it back to Naoki so that we can do some high level control loop and so on. And then receive the command and send it back to the motors. So this is really simple. It does always the same thing every time. So we can keep the real time loop at a rate that is 10 milliseconds. And then we have a much lower and more precise loop inside the motors. It's an F peak and here you've got some millisecond feedback. So that's how we do it. Thanks. Yeah. That's a real time motor control. Is the... That, real time motor control, the software that that's running is that open source or at least is it technically possible to replace? You mean the part that controls the hardware or the part just above? The low level mode to control, yes. So the firmware is closed mostly for security reasons because we don't want you to burn the motors or things like that. But I was talking about the feedback loop from the hull. And actually you can plug it, you can plug yourself here if you want. So I've got people doing that. So 10 minutes a second is enough if you want to try to redo your own work, for instance. And we've got people doing it. Yeah. And just to elaborate a little bit about your question. So I mentioned earlier that we want to open a SDK. So I'm not sure yet what is going to be open, what is going to be closed. I know the core library for communication is going to be open. And I think what I would like to happen is to have an open API which is cross-robot. And so we could have a proprietary ad-burn implementation and then open implementation. And I think that would be the best way to do it. I think that someone should ask this question. Does it have the three laws? Oh, yeah. Okay. So the answer is no. But obviously, yes, what's really interesting with this kind of robot is that you start seeing stuff that was really in fiction happening in reality. And that's really nice about working in a library is that you can be at the place where things are changing. So I've got people thinking really hard about what is going to happen with this kind of tool and what are the consequences of having a robot interacting with your mind and so on. There are several possible answers to that. One thing I know is that when I start working on that, I was in a mood like, okay, doing robot is fun and I just want to have fun. But there's more to that. And in Alderborn robotics, something like two or three years ago, there were people using the robot to help autistic children because the problem with autistic children is that they have trouble interpreting what people are feeling and reading their feelings. And the nice thing about this robot is that it looks human and that express emotion in a very simple way. And so it was much easier for the autistic children to interact with the robot. And what happened is that once the autistic children was out of his own closed world, thanks to the robot, we've got some doctors who could help him out. So we're really helping people to be better. And that's something I was not expecting at all. Yeah? So does the robot have adaptive, tragic planning coupled to video recognition? Say, for instance, it has to pick up a moving part? Yeah, so you have the basic block to do that because you've got some visual recognition. You can analyze video stream for the robot and so on. So the strategy we're going is that we can give you the basic blocks. But also now we started adding more stuff. Like for instance, in the 1.12 version, you've got nothing like that. In 1.14, you've got a C++ module that is using the camera to make sure the robot works straight. And so this is happening actually. So I know it's some subjects people want to look for and research and do themselves. And we also know that people need some things that works out of the box. So we do a big boss. Excuse me. My question is that here. Does your control system have this capability of working on rough surfaces? So the work of the robot, so it works on very different kind of floors. Like for instance, wood or carpet or things like that and can switch from carpet to wood without falling. Because we've got a closed loop like this. So it can also work on its own cord, things like that. But obviously if you start having some big slopes, you can make the robot fall. But again, the idea is that the robot is robust enough to just get up when it falls. So it's not that hard. Not that a problem. Here? Here? On your right? Yeah. Are you competing or planning to compete in a Robocop competition? So what we do at Alimone is that we sell the robot for the Robocop teams. So we don't... We'd not be very fair if we were playing too. So the answer is no. But as I said earlier, we follow the Robocop. And when it's close to where we are, we just go there to enjoy it and just party with the competition and so on. How many teams are using your robots for the competition? I don't really recall right now, but I don't know. Maybe I really don't know. Thank you. I have a question here. On your left. Left. So for your robot, is there any specific safety regulatory rules you have to follow? If so, how do you expect the software you developed, even the third-party software, to follow such rules? Thank you. So the question was, is there rules when you want to write software for the robot? So the question is that do you need to pass some safety regulatory rules before your robot can be sold? And if that is true, you have to pass some safety regulatory rules. How do you impose such rules in your software? Especially the software that you just showed demoed the Python code, which can be written by someone else, like people here. Yeah, that's a big subject. We don't really have the answer yet. Right now, we just keep everything open so you can even have root access to the robot, actually. We know it's a big topic because obviously you can't afford that if you have a robot on people's home. Because what's new with this robot is that you have lots of privacy issues. So it's still working for us, actually. I don't have any good answer for that. We want to have something a bit like a... a bit like between Apple and Android. Where in the Apple market, you have to submit and audit your source code by Apple and so on. And in the Android market, you've got lots of different applications. So it's still working for us. Obviously, you don't want to have dangerous application or software. You just have to stream what is going to happen in your house to the website we're going to be doing. So it's, again, a working for us. So I'm still with the 25 DOF and the human behavior, the human movements. If I would scramble my Rubik's Cube, would it be... would now be able to handle it? I mean, mechanically, not a strategy. The hubs are not that advanced, actually. So it's just a mechanical device. You can just close and open them. But my other answer is, well, don't you try it now. Okay. Thank you. Hello. Yeah. On the left. I have a question. Do you have any plans of releasing the hardware as open hardware? Not quite now. That's all. Okay. Sorry. Yeah. Okay. So thank you for your time. Thank you.
 Good afternoon everybody, this is Dimitri.  He's going to talk to you about Aldebaran robotics and open source.  Okay, so thanks for being here.  So I'm Dimitri Marechkovsky and I work at Aldebaran robotics  since four and a half days. So we are the company building this robot.  So we have a stand in AWS, so don't hesitate to go to our stand and talk with us.  We've got more robots doing more crazy stuff.  So let's get started.  So just a few words about my company.  So it started six years ago and now we have more than 200 people working at Aldebaran.  50 just for the R&D. We have offices in Boston, in Shanghai and in Paris,  but all the R&D is done in Paris.  We have more than 2,000 robots in the world and it's used by something like 200 or 300 universities.  So a few words about the robot.  So actually this is the picture of the first humanoid ever to be in the South Pole.  And that's someone from... and so those are real penguins.  So a few words about the robot.  So in 2006 we only had a very basic prototype.  And the second you see over there is the one we used to add the robot cup to be the next standard platform league.  So the idea is that since the third prototype you see over there,  the robot is used by the robot cup for the standard platform.  So this means that you have two teams, each one has five nodes and the nodes are being socared together.  And since 2008 we've improved the hardware.  So now we've got a very robust robot.  It can fall like 1,000 times over its own side and it doesn't break.  So that's where we are now.  So a few words about the robots. So there are tons of captors.  So there are four microphones here, here, here and there.  So you can do some localization and know where people are, when people are talking, where they are and look at them.  It's got two cameras, one over here and one at the bottom.  So I can see in front of him and can also see its feet to avoid walking on obstacles and so on.  Also to avoid obstacles, he has two sets of ultrasounds.  He also has an inertial sensor so when it does like this, he knows it.  And also you see it to know when it's falling and it can protect himself and then get up.  He also got lots of tactile sensors so the head has tactile sensors, the hands also, some bumpers here and there.  And some pressure sensor also here.  And again, you use it to stabilize his walking.  He has 25 degrees of freedoms.  You can control the motors one by one or you can do very advanced stuff like just set the robot to there.  And then you need to compute all the steps and do the walking and so on.  So the robot comes also with a lot of tools.  So we've got a big community of developers and users.  We've got a developer program.  I'll say more about this later.  And we also have lots of tools to help you program the robot.  So we have a graphical environment called Core Graph.  And so you can just program the robot by dragging boxes and connected them.  And we also have SDK in a lot of various programming languages like C++, Python, Java,.NET and so on.  So this is an overview of the software that we wrote.  So we do everything from the mechatronics and the low level firmware code up to all the embedded software and the desktop software.  So here we have a stack.  So we've got the embedded software like the firmware and so on on the head.  So the head is supposed to be on the head.  And at the bottom, you've got a Linux with the base.  So it's a real Linux.  We give you a shed access and so on.  Above the Linux, there is a demo called HAL, which is used to control the hardware and so on.  So it handles all the communication between the motors, the sensors, and so on.  Above that, there is a layer called ChimneySaging.  So ChimneySaging is just a core library that is used to make process communicate together.  Above ChimneySaging, there is a lot of various modules.  So we have for you a huge API and it's split across various modules.  So we've got a module for motion, a module for walking, a module for speaking, and so on.  So the whole stack with the HAL  on your desktop for simulation.  And above Naoki, you've got a lot of various applications.  So the HAL is also available on the desktop.  So the HAL is also available on the desktop.  So the HAL is also available on the desktop.  So the HAL is also available on the desktop.  So the HAL is also available on the desktop.  So the HAL is also available on the desktop.  So the HAL is also available on the desktop.  So the HAL is also available on the desktop.  So the HAL is also available on the desktop.  So the HAL is also available on the desktop.  So the HAL is also available on the desktop.  So the HAL is also available on the desktop.  So the HAL is also available on the desktop.  So the HAL is also available on the desktop.  So the HAL is also available on the desktop.  So we've got this OpenLao virtual machine.  So the idea is that you get exactly the same environment as the robot, but it's running on your desktop,  and you have all the compilation tools inside the VM.  So you can just type email to the VM, and you've got your binary package,  and you can just deploy it to the robot.  So that's really nice.  And one reason we did that is that we wanted to make sure it was easy  to write applications for the robot using third-party libraries.  Say for instance, you want to write an application for the robot that is doing QR code.  There are lots of libraries for doing that already,  so there are no points in people trying to recompile that all the time,  and you can just use the Gen2 work, do the binary package, and then save it on the robot.  And of course, if you take the total number of lines of code we have today at Alibam,  that we wrote ourselves, both for the embedded system and for the desktop tools,  it's a total of six million lines of code,  and there's something like 30,000 lines of CMEK code,  because CMEK is called perform, and we need that.  And we wrote a very nice layer on top of that, which shows key build.  So it's yet another build system for C++ and CMEK.  I know there are tons of them, but this one is better.  So why is it better?  So it's open source, of course.  It supports cross-compilation.  It supports clinics, mac windows.  It also supports Visual Studio.  It also supports binary packages for the desktop, too, something you sell them, see.  And it also supports making software that you can redistribute later.  So you can just compile your software and put all the library together  and give the pre-compiled stuff to other people to use.  So it's all written in Python with the CMEK layer on top.  It's available on GitHub, so you can check it out if you want.  And the last feature we added was a key build deploy, so you can just type this command.  It's going to cross compile your source code, send it to the robot,  and configure the ring code debugging for you.  So that's really nice.  So I want to take the time, because I'm careful of them to just say a big thank you to the community.  There are tons of great, great tools that are done by the open source committees  from CMEK to Python, obviously.  The guy from Qtcrator, I just went to see them yesterday to say thanks.  That's one of the good things for them, that you can just go to people  and put a name in front of the software you use every day.  That is really nice.  And we also use lots of tools that the open source project are using, too,  like Gerrit for the code review and Jenkins.  So Jenkins does everything for us from the automatic testing to the  automatization of the delivery and so on.  And so what we want to achieve is to give back to the community a bit of what we've taken.  So the Bing model is created by us, improved by everybody,  which is such a nice slogan for open source.  So we are officially showing code since May 2011.  We've got GitHub web page where you can see all the projects that we opened.  So there are a few of them right now, but many more to come.  Tbil is released under our BSD essence.  And just check out our web page on GitHub, our account just in Aldeban.  So next I'm going to say a few words about what is going on in the future.  So right now, the parts that are open source in the robot are the distribution.  Of course, every time we use a GPL library, we give you access to the patch we've made  and also even the Git project.  So there is, for instance, there is our fork of the kernel on GitHub if you want to check it out.  But right now, the core library, the communication library is closed,  and we want to open that.  We want to open that for many reasons that you already know,  like it's easier to support new platforms because Aldeban doesn't have to precompile it for everyone.  It's easier to adapt it to other build systems.  It's easier to adapt it to other frameworks.  We know there are tons of open robotics frameworks in the wild like KOROS, for instance.  And what we did with KMSGing is to have this open library, open format, open wiring format,  it's easy to tweak it or to plug it with other frameworks and so on.  So I was talking about the developer problem before.  So what we have here is that we have a very nice environment for developers.  So there is a form so you can put your software here.  You can share the source code with a run.  If you go to see our stand, you'll see many demonstrations.  All the source codes for these demonstrations are here.  There is also a store so you can publish applications or sell applications and download them.  And so how you get in is you fill a form to prove you are able to program,  and then you buy your robot for 3,000 euros.  So what you need to know is that the public price for the robot is 12,000 euros.  And by selling you at this price, we want you to create applications for the robot.  So if you're all about the now Dev Days, so that's something we do quite often.  We invite all the members from the developer form to come and see us at a LeBron in Paris to just hack with us.  So this is a picture from one of these events.  And so there was something like 50 people just hacking on the robot all weekend,  staying very late on the Saturday and so on.  And there was a competition and the goal was to wild the best application possible.  And here you are seeing a picture of that.  So it was a physical coach, so the robot was doing push-ups on the ground,  and then you get to it and say, oh, does the same.  So the guy who won the prize had the opportunity to come work with us for two days.  So he spent two days with the people from LeBron,  the guy that was called out, the guy that makes the demo and so on to improve his application.  And it was such a nice experience.  Yeah, a few stuff now.  What's really nice with the developer form and Al de Varon is that it's really close.  So we do some beta releases, for instance, and I remember one time we sent a message to the forum saying the beta is available.  And the next two hours we've got tons and tons of downloads and people are listening bug reports and so on.  So that's really great.  So if you join the developer form, you can just ask someone and you can be in touch with the guy that is responsible for this feature.  It's really open and easy to share ideas and so on.  We are also hiring.  So Al de Varon is still working on very big projects.  All these robots, all these huge goals achieved.  We've got lots of various topics, lots of job offers.  So everything is on the website called shapes the world.  So just shapes the world.fr.  You can see all the just description here.  And don't worry, send your resume anyway because sometimes we just get a resume and then we know we want to hire this guy and we find out a job description later.  So don't worry.  And yes, come and join us. We are a very happy company.  We have a very young and enthusiastic team.  So this is an example of our building.  So we have this very nice terrace open in the air.  So it's a great place to be in summer.  So yeah.  And again, one of our motors.  So this is work hard.  So here you can see people working on the.  Yeah, so it's they are working on the prototype for the Romeo.  So it was the first prototype.  Here you can see people fixing robots and the bottom.  It's it was during the unit of an exposition.  So we have often big changes to make.  And that's that's also really exciting.  But we also know how to party.  So there are a few photos.  So here you've got a picture of now during Christmas.  Here's a now labor force.  So it was so there was a rubber cup in Germany.  And so we send some people officially from my debut on for support and so on.  And there was a few geek in inside the company says, oh, we want to come too.  And so they just took a bus and drink some beer and being the audience and just.  Making sure everyone was happy and having this really weird fake hair.  And the guy you see here with the big smile and the big hair looks a bit.  Like having a big time is the CEO of Aldebaran robotics.  So that's the end for this talk.  So I'm just going to show you a little demonstration.  So what you're going to see is the first time we have an open stack.  So everything that is online is top is open source.  And the only stuff that is closed in open source are really the implementation like the test to speed that is proprietary or really a system.  But all the core libraries and the communication format are open.  So let me show you that.  So here is what the source code looks like.  So you create a session and then you connect to robots.  So this one is called Pedro's.  We've got a nice, heavy functionality working out of the box.  And then you create a service and then you make it say something.  So let's start with just to prove I'm not making it up.  Let's start with Hello World because...  Sorry.  Let's start with Hello World.  So as an example, it's in Python but again, C++ Java and so on.  Hello World.  So that was a good of the permission with us so we can start seeing something else.  So let's try...  That's right for them because we are in for them and that would be a shame.  Hello, Foster.  Yeah.  Okay, so that was it for this talk.  So we can just put my last slide.  If I can do that.  Yeah, so of two links.  So we've got a documentation available so you can browse source code.  So the example you are going to see are not using KMSG because KMSG is not finished yet,  but soon.  We've got Aldebran GitHub available so you can see all the projects we have.  Here's my email if you want, if you have any questions.  And again, there is this shape the world.fr website you can join to see our job offers and look around.  So comments here at the stand six.  Comments here afterwards we've got badges, we've got brochures, we've got everything.  And if you have questions, I think I'm a bit in advance we can take them.  Oh, yeah, I didn't...  So everyone applauded so I didn't...  So I've got another example.  So here we are using various services.  So we've got a service called motion.  So you can see there is some high level stuff like wake up and rest.  We've got the text to speech we've seen and we've got the behavior manager.  So basically you can install the under both and just play them.  So we can try to do that too.  Let's do this.  Hello world.  I don't make it work live on it.  Unattainable like that because I'm taking enough risk already.  But if you want to see the bot works you can go to our stand.  So the bot has with his hands you can just click him by hand and he follows you.  So that's a really nice way to see him work.  Look to your left.  You said in the beginning something about 25 degrees of freedom.  Do they have any other purpose than waving hands or some impressive stuff like that?  I mean are there for some functionality or are they just some kind of public relation?  I'm not sure I'm following but the question was what the robot can do about from moving.  I mean 25 degrees of freedom sound spectacular.  I agree that it's quite a task to coordinate them.  But do you really need that many degrees of freedom to perform the task you are wanting to do with your robot?  Yeah I see your point.  So the question is why do we have so many degrees of freedom?  So the answer is that because we wanted a humanoid robot so we wanted the head, wanted it to be able to sit down and to work and so on.  It was really important for us to have this humanoid robot.  For tourism first the fact that he's looked like this and he's a bit like a child and so on makes it very easy to interact with him.  And also the fact that we want to have robots in the people's home in the future.  So we need to have a humanoid robot because your home is designed for humans.  If you think about stuff like taking off the garbage or opening a door and so on you have to be like a humanoid robot to do that.  So that's why we choose to have all this complexity and that's why we work to make the work this way or all this high level and complex way of making the robot move.  I have another question.  Hi. How long the battery lasts?  I mean what's the autonomy of the robot's average?  Yeah so the battery is two or three hours depending on what you are doing with the robot obviously.  And has it a cradle so the robot can go by himself to the recharge area or something like that?  There is a project like this so it's called the now energy station.  So the idea is that you have a pod and the robot can just walk backward and there is a magnet and so it connects to the magnet.  So it can just move around freely because there is a little cord and then we want to get out to just do that.  Click click click and then it can just get away and continue.  So we did a little bit of the hardware part so you can call design and so on because that's what you are good at.  And then we started working on all the navigation programs and we just give the hardware to people from the developer program  and said to them okay just make it happen make the navigation system work.  Make the robot realize the battery is empty and just go back to the next station and so on.  So that's what I was saying earlier.  We've got this huge goal which is having robot in people's home.  And so Aldebar is doing the part of the industry, the hardware, selling it, doing the support and so on.  And we work with people like you, like developers to help with us and create with us.  Yes.  So I understand that you mechanically have 25 degrees of freedom.  I can understand that you have an application processor and a real time part to control it.  So my question is how many degrees of freedom are you able to control at each time?  I think it's not 25 right?  Yeah actually yes.  So what's happening is that the core of the in the torso, there is a harm processor.  So there is no operating system on it and its only job is to take all the inputs from every sensor  and send it back to Naoki so that we can do some high level control loop and so on.  And then receive the command and send it back to the motors.  So this is really simple.  It does always the same thing every time.  So we can keep the real time loop at a rate that is 10 milliseconds.  And then we have a much lower and more precise loop inside the motors.  It's an F peak and here you've got some millisecond feedback.  So that's how we do it.  Thanks.  Yeah.  That's a real time motor control.  Is the...  That, real time motor control, the software that that's running is that open source  or at least is it technically possible to replace?  You mean the part that controls the hardware or the part just above?  The low level mode to control, yes.  So the firmware is closed mostly for security reasons because we don't want you to burn the motors or things like that.  But I was talking about the feedback loop from the hull.  And actually you can plug it, you can plug yourself here if you want.  So I've got people doing that.  So 10 minutes a second is enough if you want to try to redo your own work, for instance.  And we've got people doing it.  Yeah.  And just to elaborate a little bit about your question.  So I mentioned earlier that we want to open a SDK.  So I'm not sure yet what is going to be open, what is going to be closed.  I know the core library for communication is going to be open.  And I think what I would like to happen is to have an open API which is cross-robot.  And so we could have a proprietary ad-burn implementation and then open implementation.  And I think that would be the best way to do it.  I think that someone should ask this question.  Does it have the three laws?  Oh, yeah.  Okay.  So the answer is no.  But obviously, yes, what's really interesting with this kind of robot is that you start  seeing stuff that was really in fiction happening in reality.  And that's really nice about working in a library is that you can be at the place where things  are changing.  So I've got people thinking really hard about what is going to happen with this kind of tool  and what are the consequences of having a robot interacting with your mind and so on.  There are several possible answers to that.  One thing I know is that when I start working on that, I was in a mood like, okay, doing  robot is fun and I just want to have fun.  But there's more to that.  And in Alderborn robotics, something like two or three years ago, there were people using  the robot to help autistic children because the problem with autistic children is that  they have trouble interpreting what people are feeling and reading their feelings.  And the nice thing about this robot is that it looks human and that express emotion in  a very simple way.  And so it was much easier for the autistic children to interact with the robot.  And what happened is that once the autistic children was out of his own closed world, thanks  to the robot, we've got some doctors who could help him out.  So we're really helping people to be better.  And that's something I was not expecting at all.  Yeah?  So does the robot have adaptive, tragic planning coupled to video recognition?  Say, for instance, it has to pick up a moving part?  Yeah, so you have the basic block to do that because you've got some visual recognition.  You can analyze video stream for the robot and so on.  So the strategy we're going is that we can give you the basic blocks.  But also now we started adding more stuff.  Like for instance, in the 1.12 version, you've got nothing like that.  In 1.14, you've got a C++ module that is using the camera to make sure the robot works straight.  And so this is happening actually.  So I know it's some subjects people want to look for and research and do themselves.  And we also know that people need some things that works out of the box.  So we do a big boss.  Excuse me.  My question is that here.  Does your control system have this capability of working on rough surfaces?  So the work of the robot, so it works on very different kind of floors.  Like for instance, wood or carpet or things like that and can switch from carpet to wood without falling.  Because we've got a closed loop like this.  So it can also work on its own cord, things like that.  But obviously if you start having some big slopes, you can make the robot fall.  But again, the idea is that the robot is robust enough to just get up when it falls.  So it's not that hard. Not that a problem.  Here? Here? On your right?  Yeah.  Are you competing or planning to compete in a Robocop competition?  So what we do at Alimone is that we sell the robot for the Robocop teams.  So we don't... We'd not be very fair if we were playing too.  So the answer is no.  But as I said earlier, we follow the Robocop.  And when it's close to where we are, we just go there to enjoy it and just party with the competition and so on.  How many teams are using your robots for the competition?  I don't really recall right now, but I don't know. Maybe I really don't know.  Thank you.  I have a question here. On your left.  Left.  So for your robot, is there any specific safety regulatory rules you have to follow?  If so, how do you expect the software you developed, even the third-party software, to follow such rules?  Thank you.  So the question was, is there rules when you want to write software for the robot?  So the question is that do you need to pass some safety regulatory rules before your robot can be sold?  And if that is true, you have to pass some safety regulatory rules.  How do you impose such rules in your software?  Especially the software that you just showed demoed the Python code, which can be written by someone else, like people here.  Yeah, that's a big subject.  We don't really have the answer yet.  Right now, we just keep everything open so you can even have root access to the robot, actually.  We know it's a big topic because obviously you can't afford that if you have a robot on people's home.  Because what's new with this robot is that you have lots of privacy issues.  So it's still working for us, actually. I don't have any good answer for that.  We want to have something a bit like a... a bit like between Apple and Android.  Where in the Apple market, you have to submit and audit your source code by Apple and so on.  And in the Android market, you've got lots of different applications.  So it's still working for us.  Obviously, you don't want to have dangerous application or software.  You just have to stream what is going to happen in your house to the website we're going to be doing.  So it's, again, a working for us.  So I'm still with the 25 DOF and the human behavior, the human movements.  If I would scramble my Rubik's Cube, would it be... would now be able to handle it?  I mean, mechanically, not a strategy.  The hubs are not that advanced, actually.  So it's just a mechanical device. You can just close and open them.  But my other answer is, well, don't you try it now.  Okay. Thank you.  Hello.  Yeah.  On the left.  I have a question. Do you have any plans of releasing the hardware as open hardware?  Not quite now.  That's all.  Okay.  Sorry.  Yeah. Okay.  So thank you for your time.  Thank you.
Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_0_4523.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_4524_4667.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_4668_4787.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_4788_4931.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_4932_5003.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_5004_5051.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_5052_5807.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_5808_26639.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_26640_28511.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_28512_37847.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_37848_37943.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_37944_38615.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_38616_38783.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_38784_39023.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_39024_39095.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_39096_41363.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_41364_41471.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_41472_53327.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_53328_53423.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_53424_53603.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_53604_54095.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_54096_54155.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_54156_54515.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_54516_54695.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_54696_55019.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_55020_55571.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_55572_56111.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_56112_56159.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_56160_56675.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_56676_56927.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_56928_57395.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_57396_57551.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_57552_57647.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_57648_57803.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_57804_57875.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_57876_57959.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_57960_58079.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_58080_58199.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_58200_58691.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_58692_59339.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_59340_62759.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_62760_62975.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_62976_65207.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_65208_65327.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_65328_65975.png Aldebaran_Robotics_and_Open_Source_L89xeGt9PuA_2_65976_66002.png