We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Aldebaran Robotics and Open Source

00:00

Formal Metadata

Title
Aldebaran Robotics and Open Source
Title of Series
Number of Parts
90
Author
License
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.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
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).
User interfaceOpen sourceDecision theoryQuicksortOpen setArithmetic meanRoboticsBuildingOpen sourceComputer animation
No free lunch in search and optimizationWordOffice suiteUniverse (mathematics)PrototypeSet (mathematics)RoboticsComputing platformComputer hardwareControl flowGroup actionWebsiteAuthorizationHypermediaVotingMultiplication signPosition operatorVideo gameQuicksortComputer animation
Degrees of freedom (physics and chemistry)Software developerDisk read-and-write headRoboticsHydraulic motorNeuroinformatikDegree (graph theory)
Fuzzy logicProgrammable read-only memoryDifferent (Kate Ryan album)Speech synthesisDivision (mathematics)Key (cryptography)Traffic reportingState observerVotingBoss CorporationMobile WebCurveProjective planeCategory of beingWordCommutatorProcess (computing)CASE <Informatik>Connected spaceOpen sourceRoboticsPhysical systemVolume (thermodynamics)Revision controlSoftwareFiber bundleStatement (computer science)ResultantDependent and independent variablesInstance (computer science)CausalityDecision theoryQuicksortDisk read-and-write headMoving averagePatch (Unix)Observational study1 (number)AuthorizationCondition numberInheritance (object-oriented programming)WeightNetwork topologyFood energyArithmetic meanHeegaard splittingCodeModule (mathematics)MetreScripting languageMultiplication signCore dumpSoftware developerMachine visionFirmwareCartesian coordinate systemLevel (video gaming)CuboidMechatronicsBitWeb pageProgramming languageMessage passingLibrary (computing)Order (biology)SimulationDevice driverGraphical user interfaceElectronic program guideOnline helpWireless LANConfiguration spaceOffice suiteDemonCarry (arithmetic)Gastropod shellTelecommunicationOpen setComputer animation
Smith chartCodeDrum memoryUser interfacePhysical systemWeb pageRoboticsCartesian coordinate systemOpen sourceLibrary (computing)Software testingDescriptive statisticsBitEmailComputing platformVirtual machineCompilerType theoryIntegrated development environmentGoodness of fitQR codeOpen setWindowBinary codeDevice driverVisualization (computer graphics)Projective planeBuildingCodeMultiplication signVideoconferencingLine (geometry)Total S.A.Game controllerSoftwareMereologyDistribution (mathematics)Point (geometry)Sinc functionNumberNetwork topologyExtension (kinesiology)Instance (computer science)Archaeological field surveyTerm (mathematics)Decision theoryPhysical lawRight angleCoefficient of determinationTouchscreen2 (number)Group actionFreezingRoundness (object)WordWhiteboardMedical imagingSource codeData storage deviceSemiconductor memoryRing (mathematics)OrbitAssociative propertyActive contour modelMetropolitan area networkProcess (computing)Source code
Projective planeOpen setMultiplication signInstance (computer science)Physical systemOpen sourceOffice suiteKey (cryptography)WordMessage passingCore dumpSoftware frameworkTelecommunicationKernel (computing)Software developerRoboticsMereologyDistribution (mathematics)Patch (Unix)Library (computing)Computing platform
InformationMIDIFisher informationNetwork topologyWhiteboardDigital photographyCartesian coordinate systemSource codeRoboticsForm (programming)SoftwareSoftware developerComputer animation
Reading (process)Disk read-and-write headEvent horizonProjective planeShared memoryVotingGoodness of fitMessage passingMultiplication signGoogolTouch typingBitWebsiteUltraviolet photoelectron spectroscopyInstance (computer science)Beta functionSoftware developerRoboticsTraffic reportingInternet forumCartesian coordinate systemDemo (music)Software bug
Process (computing)MultilaterationShape (magazine)Descriptive statisticsMultiplication signComputer animation
Open setBuildingExplosionOrder (biology)MathematicsDigital photographyCategory of beingExecution unitPrototypeNP-hardComputer animation
RoboticsBitRobotHoaxForcing (mathematics)System administratorStatuteComputer animation
Multiplication signSpeech synthesisTelecommunicationFile formatCore dumpOpen sourceStack (abstract data type)Library (computing)ImplementationElectronic mailing listQuicksortComputer animation
Source codeProfil (magazine)RoboticsCuboidService (economics)Functional (mathematics)Source codeComputer animationLecture/Conference
Service (economics)Configuration spaceGodSlide ruleCrash (computing)Wave packetAreaRight angleCondition numberComputer animation
Source codeMessage passingWebsiteKey (cryptography)Source codeProjective planeProcess (computing)EmailXMLLecture/Conference
Source codeEmailOpen sourceCodeService (economics)DemosceneGoodness of fitData managementLevel (video gaming)RoboticsService (economics)Observational studyXMLComputer animation
Event horizonInformationSource codeEmailCodeLink (knot theory)Multiplication signGoodness of fitWeightWater vaporRight angleComa BerenicesDegrees of freedom (physics and chemistry)Forcing (mathematics)Complex (psychology)Network topologyArithmetic meanRule of inferenceOrder (biology)CausalityMusical ensembleProcess (computing)System administratorEndliche ModelltheorieCartesian coordinate systemGroup actionGraph coloringDenial-of-service attackAdditionBitOval2 (number)Numbering schemeSoftwareInstance (computer science)Point (geometry)RoboticsCondition numberTask (computing)WritingSpeech synthesisOpen sourceTotal S.A.Game controlleroutputSign (mathematics)Hydraulic motorLevel (video gaming)Real-time operating systemOperating systemMechanism designConvex hullSoftware developerComputer hardwarePhysical systemComputer programmingInformation securityMereologyCore dumpCoprocessorFirmwareProjective planeWorkstation <Musikinstrument>Food energyFeedbackAreaTable (information)Video gameAkkumulator <Informatik>Control systemLoop (music)TelecommunicationLibrary (computing)Bit rateComputer animation
Streaming mediaRoutingRow (database)Group actionData structureUtility softwarePressureStrategy gameDifferent (Kate Ryan album)Axiom of choiceFitness functionAreaReading (process)RoboticsOrbitRight angleDigital photographySoftwareUniform resource locatorCondition numberRobotWordSheaf (mathematics)Instance (computer science)Open sourceBoss CorporationControl systemShape (magazine)SurfaceHypermediaCuboidGoodness of fitPlanningMereologyTheoryVideoconferencingArithmetic progressionTouchscreenNoise (electronics)Observational studyAdditionMultiplication signInformation privacyCartesian coordinate systemPoint (geometry)Closed setRule of inferenceBlock (periodic table)WebsitePattern recognitionBitLatent heatDynamical systemModule (mathematics)Android (robot)Open setRootRevision controlLoop (music)ImplementationFlow separationCubeSource codeComputer hardwareCode
Transcript: English(auto-generated)
All right, 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 Marichkovski, 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 AWU, 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's
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 two or three hundred universities. So a few words about the robot. So actually, this is the picture of the first humanoid robot 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 to be the next standard platform league. So the idea is that since the third prototype you see over there, the narrow robot is used by the robot for the standard platform.
So this means that you have two teams, each one has five nodes, and the nodes are being secured together. And since 2008, we've improved the hardware. So now we've got a very robust robot. I can fall like 1,000 times, although it's on its side and it doesn't break.
So that's where we are now. So a few words about the robot. So there are tons of captors. So there are four microphones here, here, here, and there. So he can do a sound localization and know where people are, when people are talking, where they are,
and look at them. He's got two cameras, one over here and one at the bottom, so I can see in front of him and can also see his feet to avoid working on obstacles and so on. Also to avoid obstacles, he has two two sets of He also has an inertial sensor, so when it does like this, he knows it,
and also uses it to know when it's falling, and he 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 sensors also here.
And again, he uses it to stabilize his working. He has 25 degrees of freedom. You can control the motors one by one, or you can do very advanced stuff like just set the robot go to there, and we need to compute all the steps and do the working 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 Earth, and so you can just program the robot by dragging boxes and connecting 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 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 your firmware, and so on. On the head, so the head is a big, it's supposed to be on a head. And at the bottom you've got Linux, so it's based on Gen 2, so it's a real Linux. We give you a shell access and so on.
Above the Linux, there is a daemon 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 key messaging. So key messaging is just a core library that is used to make process communicate together.
Above key messaging, there is a lot of various modules. So we offer you a huge API, and it's split across various modules. So you've got the module for motion, a module for walking, a module for speaking, and so on. So the whole stack with the HAL key messaging and the module is called Naoki.
So this is our main framework, and Naoki is able to run on the robot, but also on your desktop for simulation. So of course when it runs on the desktop, there are a few things you don't have, like the hardware, or proprietary third-party library, like text-to-speech, but you've got the same API.
Above Naoki, you've got lots of various applications. So for instance, there was one guide that was this application where the robot had an alarm clock, and when it rang, the robot walked away. So you have to get up the bed and follow the robot and turn the alarm off.
Yeah, one last thing. So the key messaging core library is also available on desktop, so Linux, Mac, Windows, and so that's how you can write code on your desktop that is going to communicate with the robot. And of course, we've got this SDK and the documentation available, too.
So one last thing. So Allegro and Robotic do not only do this on our robot. We also are involved in a European project called Romeo. So this big humanoid robot is one meter 40, and this one is really going to be in supposed to be in the people's homes. So it has been designed to be able to do stuff like
carry heavy stuff, open doors, walking stairs, and so on. Next to Romeo, we've got the Jazz robot. So Jazz is a robot that is designed to
be a telepresence robot. So basically you can be in your home, and you have the robot walking around the office with a little camera on top, so people can see you and talk to the robot, and you can see them from your house. So if someone is here seen as a big bang theory,
there is an episode where Sheldon doesn't exactly use this kind of tools, and so the fiction has become reality. That's a bit funny. So what do we do at Allegro and why do we have these robots? So the main idea is that we want to bring robots to people's homes and help mankind.
So we want to have robots that will help people. So the big goal is to have this companion robot that is at home and is, I don't know, doing your dishes, watching elderly people, helping blind people, this kind of thing. So this is a really big goal, and to do that
we chose to start with a smaller one, but a robot that is designed so that it's easy to interact with him. It's, that's why we have all these sensors and so on, and that's why we are building this huge community, both with a researcher for all the artificial intelligence we need, all the
research we need in order to achieve this goal, and also this is why we work with lots of developers like you to create the applications that are going to run on this robot in the future. So that's the main vision of Allegro.
So of course we are at first aim, so we are going to talk about open source, and I'm just going to take a little time to tell you two stories. So by the way, this was taken at the Linux tag. So we do like going to this kind of conference with lots of developers and talk to them.
We are, I really think we've got lots of energy to share between the community of developers at Allegro and the other committees. So the first story is now in the Wi-Fi. So maybe some of you, some of you know
WPA's applicants. So it's a really low level tool, and in the first version of the robot, we had a very strange web page with some old scripts that were trying to configure WPA's applicants. It was a big mess. We couldn't do roaming and so on. It was very hard, and we had this
Wi-Fi driver that was a bit buggy, and we were a bit stuck. So that was three years ago. So what happened? What happened is that there was some really nice people working on the kernel, and so they patch
the driver, and now we have a really nice driver that works very well. We've got also this community that is maintaining the wireless combat layer for us, and we use that. And we also have a guy at Allebron who is working actively on
a project called Conman. So Conman is a bit like network manager, but for embedded systems. And if my desktop is able to be connected to the robot by now, you can see it's auto-linked. That's because of a contribution of Allebron to Conman.
So next up, we are going to talk about build system. I know there are lots of build systems around here and lots of talks, so we've got our story too, because obviously that's something we have to do. We have to maintain a description for the robot. We have an SDK to have on three different platforms and so on.
So that's really a big topic for us. So at the very beginning, we were using Bitterroot. So it was the first attempt we made, and the good part was that we had a very fine control about computation, and it was easy to use.
But there was not that much package at the time. It was in 2007. And yeah, so we stopped using Bitterroot, but we still have people at Allebron that are very enthusiasts about this project, and they are still contributing to Bitterroot.
Next, we use OpenEmbedded. So OpenEmbedded is a real distribution. We liked it, but the thing with OpenEmbedded is that it's really targeted for cross-compilation, and actually, we don't really need cross-compilation because the robot has an Intel inside,
x86, and so it was actually not that useful to use OpenEmbedded for that. And also, there are no support for binary packages, so we had to recompile everything every time we wanted to do an image. And yeah, just for the fun, some people consider putting Windows Embedded on the narrow. They tried to develop
a video driver for three months, and then they came back and said, no, it doesn't work. So since 2012, we switched to Gen2, and we are really happy with Gen2 because it's a source solution,
so we can control how we compile. We can optimize stuff. It's really nice. It has a nice community. The recipes we use are very close to what upstream does, which is always a good thing. And there is support for binary packages, so we can really use that and avoid recompiling everything all the time.
Yeah, so far so good. We are really happy. This is a picture of now just saying hello to the Gen2 guys, again, at Linux tag. This is something that came up really recently, the last release made by Al Leberon. So we've got this open now 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 out on the VM, and you've got your binary package. 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 application for the robot using sort-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 point in people trying to recompile that all the time, and you can you can just
use the Gen2 work, do the binary package, and then sell it on the robot. And of course, if you take the total number of lines of code we have today at Al Leberon that we wrote ourselves, both for the
embedded system and for the desktop tools. It's a total of six millions lines of code, and that's something like 30,000 lines of CMake code, because CMake is called Pulsom, and we need that. And we wrote a very nice layer on top of that, which was QBuild. So it's yet another build system for C++ and CMake. 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 a cross-compilation. It supports Linux, Mac, Windows. It also supports Visual Studio. It also supports binary packages for the desktop, too.
Something you seldom 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 CMake layer on top. It's available on GitHub, so you can check it out if you want. And the last feature we added was QBuild 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 remote debugging for you.
So that's very nice. So I want to take the time, because I'm here for 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 communities, from CMake to Python, obviously.
The guys from Qt Cracker, 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 and use it every day. That is very nice. And we also use lots of tools that the open source projects are using too, like Gerit for the code review, and Jenkins.
So Jenkins does everything for us, from the automatic testing to the automatization of the deliveries and so on.
So what we want to achieve is to give back to the community a bit of what we've taken. So the Bing motto 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 a 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. T-Bill is released under our BSD absence. Yeah, just check out our web page on GitHub, our account is just in Aldebaran.
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, everything,
every time we use a GPL library, we give you access to the patch we've made, and also even the Git project. 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 platform because Aldebaran doesn't have to pre-compile it for everyone. It's easier to adapt it to other build systems. It's easier to adapt it to other framework. We know there are tons of open robotics framework in the wild, like Keras for instance, and
what we did with key messaging is to have this open library, open format, open wiring format, so that 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 phone, so you can put your software here.
You can share the source code with everyone. If you go to see our stand, you'll see many demonstrations. All the source codes for this demonstration 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 of the robot is 12,000 euros. And so by sending you at this price, we want you to create application for the robot.
So if you are about now Dev Days, so that's something we do quite often. We invite all the members from the developer forum to come and see us at Allebron 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 write 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 can do 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 Allebron, the guy that makes the demo and so on to improve his application. It was
such a nice experience. Yeah, a few stuff now. What's really nice with the developer forum and Allebron 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 already sending bug reports and so on. So that's really great. So if you join the developer forum, 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 Allebron 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 shape the world,
so just shapetheworld.fr. You can see all the job descriptions 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.
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. And again, one of our photos, so this is work hard. So here you can see people working on the prototype for the
Romeo. So it was the first prototype. Here you can see people fixing robots, and the bottom, it was during the universal expeditions. So we have often big changes to it, and that's also really exciting. But we also know how to party, so this is a few photos.
So here you've got a picture of Nao during Christmas. Here's a Nao de Beauvoir. So there was a RoboCup in Germany, and so we sent some people officially from Aldebaran for support and
so on. And there was a few geeks inside the company saying, oh, we want to come too. And so they just took a bus and drank 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. He's 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 are going to see is the first time we have an open stack. So everything that is on my desktop is open source. And the only stuff that is closed in open source are really the implementation like the text-to-speech that is proprietary or really a few stuff, but all the
core libraries and the communication format are open. So let me show that just to switch to a
profile. 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 Pero. So we've got a nice array of 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 let's start with Hello World. So the example is in Python, but again C++, Java, and so on.
Hello World. Yeah. So that was the god of the promotion with us. So we can start seeing something else. So let's try for them because we are in for them and that would be a shame.
Hello FastM. 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 tooling, so we've got a documentation available
so you can browse source code. So the example you are going to see, I'm not using key messaging because key messaging is not finished yet, but soon. We've got the Aldebaran 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 shapetheworld.fr website you can join to see our job offers and look around. So come and see us at the stone six. Come and see me afterwards. We've got
badges, we've got brochures, we've got everything. And if you have a question, I think maybe in advance we can take them. Oh yeah, I didn't.
So everyone applaud so I did not. 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 really 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 behavior on the
robot and just play them. So we can try to do that too. Hello world. I won't make it work
live on the table like that because I'm taking enough risk already. But if you want to see
the robot work, you can go to our stand. I've got this really nice simple demonstration. So the robot with his hands, you can just took 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. Yep. Do they have any other purpose than waving hands or some impressive stuff like that? I mean are they for some functionality or are they just some kind of fabric relation? I'm not sure I'm following but the question was
what the robot can do apart from moving. I mean 25 degrees of freedom sound spectacular. I even think, well 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 walk and so on. It was really important for us to
have this humanoid robot. For tourism first the fact that he looks 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 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 worked to make the work this way or
all this high level and complex way of making the robot move. Okay we have another question. Hi, how long the battery last? I mean what's the autonomy of the robot's average? Yeah,
so the battery, the life of the battery is two or three hours depending on what you are doing with the robot obviously. And yeah that's it. 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.
And then it can just get away and continue. So we did, Aliben did the hardware part, the mechanical design and so on because that's what you are good at. And then we started
working on all the navigation program and so on 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 Aliben is doing the part of the energy station, the hardware, sending 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 kind of understand that you have an application processor and a real time part to control it, right? So my question is how many degrees of freedom are you able to
control at each each time? I think it's not 25, right? Yeah, actually yes. So what's happening is that at the core of the in the torso there is a ham processor so there is no operating system on it and its only job is to take all the inputs from every sensors and send it back to
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, the real-time motor controller the software that
that's running is that open source or at least is it technically possible to replace it? You mean the part that controls the hardware or the low level motor 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 we've got people doing that so
10 minutes 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 our 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 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? Sorry? Does it have the three laws? Oh yeah. Okay so that so the answer is no but
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 labyrinth 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 human and so on. There's 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 a different robotics something like two or three years ago
there were people using the robot to help autistic children because the point 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 then 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 the video stream for the robot and so on. So the strategy we have is that we come to we give you the basic blocks but also now we
we started adding more stuff like for instance in the 1.12 version you got nothing like that in 1.14 you've got a C++ module that is using the camera to make sure the robot works right and so this is happening actually so it's I know it's some subject 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 bit of both. My question is that here does your control system have this
capability of walking on rough surfaces? So the the work of the robot so it works on very different kind of floors like for instance wood or carpet or something like that and can switch from carpet to wood without falling because we've got a closed loop
so he can also work on his own cord things like that but obviously if you start having some big slopes or yeah 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 on your right are you competing or planning to compete in a Robocop competition?
So what we do at Allemand is that we sell the robot for the Robocop teams so we don't it would 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 yeah 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
so for your robot is there any specific safety regulatory rules you have to follow and 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 is you just showed them out 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 so 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 we 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 and so it's still a work in progress actually I don't have any good answer for that we want to have something a bit like a dynamics a bit like between apple apple and android where in the
apple market you have to submit an audit your source code by apple and so on and the android market you've got lots of different applications so it's it's still a work in progress obviously don't want to have a dangerous application or so fair just the streams which is going to happen in your house to the website without you knowing so it's again a work in progress
so I'm still with the 25 doff and the humanoid behavior the humanoid movements if I would scramble my rubik's cube would it would it be would now be able to to handle it I mean mechanically not not a strategy the holes are not that advanced actually
so just just a mechanical device you can just close and open them but my other answer is why 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 uh not twice now uh that's okay okay so thank you for your time and uh