starting in 2007 there was a robotics r d
company in the san francisco bay area called willow garage
our goal was to advance the state of the art
in robotics as quickly as possible to that end we built a state-of-the-art
robotics research platform that was made available to labs around
the world in academia and in companies that robot is
the pr2 which you see pictured here it's a human scale wheeled robot with
two arms and lots of sensors and it was designed to support the kinds of
advanced scientific experiments that people
needed to do with robots in order to develop new capabilities and
discover new algorithms but we didn't stop with the hardware we
also developed an extensive software platform that we called ross
for robot operating system if we hadn't done that then everyone who
got one of these robots would have built their own software and we wanted to
avoid that duplication of effort so we made this open source
software platform and we made it available to the whole
world in a way that it could be used on other robots as well
in the end wheel garage lasted about half a dozen years
but its work lives on and not just through the technology but through the
people so the group that you see here clustered
around the pr2 are one of the early intern cohorts this
is from the summer of 2009 and these people are the majority of
them are now spread throughout the robotics industry
running robot companies working for big tech companies
on robotics projects and working in academia
so what is ross first of all despite the name it's not actually an operating
system it is a set of software tools and
libraries that run on top of an operating system
often linux but we support other os's as well
and it provides all the components that you
need to build robot applications so there's a message passing system at the
core which we call often referred to as plumbing
and it helps you to get data from for example a camera
to an object recognition algorithm to a motion planner and then back to some
motors so you can tell the robot where to go it also has
developer tools and these let you launch the system
introspect it find out what's going on visualize the data that's flowing
through the system log the data play it back debug it and
so on we also have capabilities which are
implementations of commonly used algorithms like building maps
keeping track of where we are avoiding obstacles
and then because it's open source we also have a global ecosystem of users
developers and software that everyone can build on when they're
developing robot applications in a way you can think of ross as for
robotics what android or ios do for mobile device
app development it gives you the bits and pieces that you need to build
an application without starting from scratch
and like in the mobile app development world where you often
test your software your new application in an
emulator so that you can try it out in software before pushing it onto the
mobile device hardware you need to do the same thing in robotics
you want to be able to develop and test your algorithms in software
before and also after and during the transition to actual robot hardware
and arguably this is even more important for robots than it is for
mobile devices because the logistics of testing
on mobile robots that are out in the world
taking on difficult tasks is quite a bit harder
so we part of the ross ecosystem is an open source simulator called
gazebo it's a 3d physics based simulation
and it lets you model uh full rich 3d environments and then put
robots in those environments they could be
wheeled legged they could be flying they've got sensors
and what we're doing with gazebo is providing
through all those affordances the best possible stand-in for the physical robot
our goal with gazebo is that you can take you can develop your entire
rust-based control system test it all in gazebo and then take it
to the hardware and then you can also if you are
diligent about it you can keep testing your software on a
regular basis as part of your continuous integration loop
in simulation
we've now been developing and releasing new versions of ross for over a decade
and in that time we've gathered quite a lot of the global robotics
community behind this platform it's fair to say that ross is now a de facto
standard in areas from academia all the way
through to product development looking back there were two key
decisions that we made early on that enabled the establishment of that
critical mass within the community and have led to the long-term success of the
project first of all we chose to develop the
project in a federated way if you ask where is ross there's not one
repository that contains all the ros code
we knew early on that this was too big of a project for any one group
much less any one person to to take on and
be in charge of and we wanted to make it as easy as possible for experts
in particular areas to jump in and make their own contributions
so early on we said well we're going to have
a central index of all of the ros software that's out there but if you
want to contribute to ross you just put your code in a repo let's
say you put it on github you tell us where it is
and then we have all the distributed infrastructure and all the examples and
the norms and the tools that will let the whole
community find and install and build on your
software and that has led to an explosion in the
amount of raw software that's out there the second key decision that we made
early on was in licensing when we knew we were going to make the
software open source and then of course within open source software you have a
choice of many many different licenses and in the
early days we decided that we wanted to see this software
picked up and used in earnest commercially so we chose permissive
licensing early on we use the three clause bsd
license for new software now we use the apache ii license
in both cases those licenses allow you the user to take the software to modify
it to incorporate it into your product and frankly to do almost anything that
you want with it and that has led to ross being deployed
widely in products around the world
looking to the future i think it's fair to say that robotics and automation are
becoming increasingly visible and important in
our lives we're now encountering robots in
supermarkets in hotels and offices and hospitals
and as those uh as the importance of robotics and
automation increases i believe it's vital that we are
building that industry on a co on an open source commons
something that everyone can contribute to something
that everyone can access and something that democratizes the
ability to enter into the robotics field i'm
thinking here of something analogous to the the so-called lamp stack that
existed in the 1990s that really enabled the internet revolution
by having linux apache mysql and perl php or python it was possible for
internet entrepreneurs to quickly develop new applications on
the internet that's exactly what we're trying to do
with ross we want to make it possible for you if you have a great idea for
what a robot could usefully do to come in take all
this amazing infrastructure that's available open source
and then build your product or your service
i'd like to focus on a couple of uh application areas that i think are
particularly promising for robotics in general and ross in particular
one of them is autonomous driving we've seen a lot of interest over the past
decade and more in self-driving cars of various kinds
and i think it's well established now that to get to the point where we trust
those cars to really drive themselves in the highways
we we need to do a lot of the testing to prove that they're
good and ready for use in simulation and i believe that that testing should
be done in an open source system we should have
an open source introspectible simulation environment combined with
open source data sets that allow the public to gain confidence
in the results of that testing and i'm showing you here some examples
of simulating autonomous vehicles using gazebo and ross
another area that is very close to my heart is space
i went to space camp when i was in eighth grade
and i'll never be an astronaut i'll never get to go to space myself but i
can take some solace in the fact that some of the software that we developed
is actually now running in space so on the left hand side there you've got the
astro b which is developed at nasa ames research center it's a
free-floating assistant robot that is now
on the international space station and it runs ross
on board and on the right side you see a rendering of a forthcoming mission
called viper where nasa will send this rover to the moon
to do some exploratory work on the moon and i'm happy to say that
the newest version of ross ross 2 as we call it is
and plan to be an integral part of the software
system for that robot so i'm i couldn't be more excited about the
possible space applications for the software that we built
you