Robotics, like many other technologies, suffered from an inflated set of expectations resulting in a decrease of the developments and results during the 90s. Over the last years, several groups thought that flying robots, commonly known as drones, would address these limitations however it seems unlikely that the popularity of these flying machines will drive and push the robot growth as expected. This article aims to summarize traditional techniques used to build and program robots together with new trends that aim to simplify and enhance the progress in the field.
It’s a rather popular thought that building a robot and programing its behavior remain two highly complicated tasks. Recent advances in adopting ROS as a standardized software framework for developing robot applications helped with the latter, however building a robot remains a challenge. The lack of compatible systems in terms of hardware, the non existing marketplace of reusable modules, or the expertise required to develop the most basic behaviors are some of the few listed hurdles.
The integration-oriented approach
Robots are typically built by following the step-by-step process described below:
1. Buy parts: We typically decide on what components our robot will need. A mobile base, a range finder, a processing device, etc. Once decided we fetch those that match our requirements and proceed towards integration.
2. Integration: Making different components speak to each other and cooperate towards achieving the end goal of the robot. Surprisingly, that’s where most of our time is spent.
3. “build the robot”: Assembling all of the components into joints and mechanically linking them. This step might also get executed together with step
4. Programming the robot: Making the robot do what it’s meant to do.
5. Test & adapt: Robots are typically programmed in predictable scenarios. Testing the pre-programmed behavior in real scenarios is always critical. Generally, these tests deliver results that indicate where adaptations are needed, which in many cases pushes de process of building a robot down to step 2 again, integration.
6. Deploy: Ship it!
It’s well understood that building a robot is a technically challenging task. Engineers often face situations where the integration effort of the robot, generally composed by diverse sub-components, supersedes many other tasks. Furthermore, every hardware modification/adaptation while programming or building the robot demands further integration.
This method for building robots produces results that become obsolete within a short period.
Moreover, modules within the robots aren’t reusable in most of the cases since the integration effort makes reusability an incredibly expensive (manpower-wise) and time-consuming task.
The modular approach
The existing trend in robotics is producing a significant number of hardware devices. Although there’s an existing trend towards using the Robot Operating System (ROS), when compared to each other, these components typically consist of incompatible electronic components with different software interfaces.
Now, imagine building robots by connecting interoperable modules together. Actuator, sensors, communication modules, UI devices,… provided everything interoperates together, the whole integration effort could be eliminated. The overall process of building robots could be simplified and the development effort and time will be reduced significantly.
Modular components could be reused among robots and that’s exactly what we’re working on with H-ROS, the Hardware Robot Operating System.
H-ROS is a vendor-agnostic infrastructure for the creation of robot modules that interoperate and can be exchanged between robots. H-ROS builds on top of ROS, the Robot Operating System, which is used to define a set of standardized logical interfaces that each physical robot component must meet if compliant with H-ROS.
The robotics control pipeline
Traditionally, the process of programming a robot for a given task T is described as follows:
Observation: Robot’s sensors produce measurements. All these measurements receive the name of “observations” and are the inputs that the robot receives to execute task T.
State estimation: Given the observations of step 1, we describe the robot’s motion over time by inferring a set of characteristics of the robot such as its position, its orientation or its velocity. Obviously, mistakes in the observations will lead to errors in the state estimation.
Modeling & Prediction: Determine the dynamics of the robot (rules for how to move it around) using a) the robot model (typically the URDF of the robot in the ROS world) and b) the state estimation. Similarly to what happened with the previous step, errors in “state estimation” will impact the results obtained in this step.
Planning: this step determines the actions required to execute task T and uses both the state estimation and the dynamical model from previous steps in the pipeline.
Low level control: the final step in the pipeline consists of transforming the “plan” into low level control commands that steer the robot actuators.
Artificial Intelligence methods and, particularly, bio-inspired techniques such as artificial neural networks (ANNs) are becoming more and more relevant in robotics. Starting from 2009, ANNs gained popularity and started delivering good results in the fields of computer vision (2012) or machine translation (2014). Nowadays, these fields are completely filled by techniques that simulate the neural/synaptic activity of the brain of a living organism.
During the last years we have seen how these techniques have been translated to robotics for tasks such as robotic grasping (2016). Our team has been putting resources into exploring these techniques
that enable to train a robotic device in a manner conceptually similar to the mode in which one goes about training a domesticated animal such as a dog or cat.
Training robots end-to-end for a given task. This integrated and bio-inspired approach conflicts with the traditional robotics pipeline, however it’s already showing promising results of behaviors that generalize.
We are excited to share that it’s within our expectations to see more active use of these bio-inspired techniques. We are confident that its use will drive innovations with high impact for robotics and we hope to contribute by opening part of our work and results.
All these new approaches for both building and programming robots bring a dilemma to roboticists. What should they focus on? Which approach should they follow for each particular use case? Let’s analyze the different combinations:
Integration-oriented + robotics control pipeline:
This combination represents the “traditional approach” in all senses. It’s the process that most robot solutions use nowadays in industry. Integrated robots that typically belong to a single manufacturer. Such robots are programmed in a structured way to execute a well defined task. Typically achieving high levels of accuracy and repeatability. However, any uncertainty in the environment will typically drive the robot to fail on its task. Expenses related to develop such systems are typically in the range of 10.000–100.000 € for the simplest behaviors and an order of magnitud above for the more complex tasks.
Integration-oriented + bio-inspired:
Behaviors that evolve, but with strong hardware constraints and limitations. Traditional robots enhanced with bio-inspired approaches. Robots using this combination will be able to learn by themselves and adapt to changes in the environment however any modification, repurpose or extension within the robot hardware will require big integration efforts. The expenses for developing these robots are similar to the ones presented for the “traditional approach”.
Modular + robotics control pipeline:
Flexible hardware with structured behaviors. These robots will be built in a modular way. Building, repairing and/or repurposing these robots will be extremely affordable when compared to traditional robots (built with the integration-oriented approach), we estimate an order of magnitude less (1.000–10.000 €). Furthermore, modularity will introduce new opportunities for these robots.
Modular + bio-inspired:
This combination represents the most innovative one and has the potential to disrupt the whole robotics market changing both the way we build and program/train robots. Yet it’s also the most immature one.
Similar to the previous approach group, our team foresees that the expenses for putting together these robots can also be reduced when compared to the more traditional approaches. We estimate that building and training these robots should range in terms of expenses from 1.000 to 10.000 € for simple scenarios and up to 50.000 € for the more elaborated ones.
The team behind Erle Robotics is proud to announce that together with Acutronic Robotics (Switzerland), Sony (Japan) is now also pushing the development of H-ROS, the Hardware Robot Operating System. A technology that aims to change the landscape of robotics by creating an ecosystem where hardware components can be reused among different robots, regardless of the original manufacturer. Our team strongly believe that the future of robotics will be about modular robots that can be easily repaired and reconfigured. H-ROS aims to shape this future. Sony’s leadership and vision in robotics is widely recognized in the community. We are confident that, with the addition of Sony as a supporter, our present innovations will spread even more rapidly.
Our team is focused in exploring these new opportunities and will introduce some results this week in Vancouver during ROSCon. Show your interest and join us in Canada!