Articles
There are many experts and people out there with important knowledge and interesting views – and perhaps you are one of these. If you would like your articles published on this site, please send us an email. You can subscribe to the Planet Robotics articles.
-
RoboCup@HOME 2013
von Frederic Siepmann am 25.04.2013 um 21:25 Uhr
Since the RoboCup German Open are happening right now in Magdeburg and many people are asking me what the different robots actually have to do in the @HOME league, I thought I might give you a small overview of the 2013 RoboCup@HOME tasks. The teams that are qualified for the German Open are:
b-it-bots, Hochschule Bonn-Rhein-Sieg (Germany)
Blue Bots, Hochschule Mannheim (Germany)
BORG, University of Groningen (The Netherlands)
homer@UniKoblenz, Universität Koblenz-Landau (Germany)
NimbRo@Home, University of Bonn (Germany)
Reem@IRI, Pal Robotics (Spain)*
SmartBots@Ulm, University of Applied Sciences Ulm (Germany)
Tech United, TU/e, Technische Universiteit Eindhoven (The Netherlands)
ToBI (Team of Bielefeld), Bielefeld University (Germany)
This is a little less than the 21 qulified teams for the world cup but the German Open have the current world champion (NimbRo) and two more top 5 teams (ToBI & homer) of the last year.
The first specialty of the @HOME league is that the rules change regularly. This is to keep the competition a real challenge for all robots and to avoid that teams are specializing on single aspects and skip others.
The competition is divided into 3 stages, which makes stage 2 a sort of semi-final where only the best 10 teams will qualify for. Hence, stage 3 is the final where only the top 5 teams will qualify for. Over the last years it has become almost a tradition that there are 3 German teams among the top 5 at the world cup and we all hope that it stays that way...
For different parts during the various tasks the referees will award points for each team which combined over all tasks provide the ranking of the teams. This can be something like correctly grasping an object or correctly understanding a speech command. There are also extra points for completing the whole task because each task has a strikt time limit. And obviously there are also penalties for e.g. grasping the wrong object or making contact with the surrounding (e.g. furniture), but the minimum is 0 points so that teams can not get a negative score for a task. In 2013 the stage 1 time limit is 5(!) minutes. The following tasks will be part of stage 1:
Robot Inspection and Poster Session
Each robot has to autonomously register itself and the team to the competition. The start signal for all tasks is the opening of a door. The robots have to be able to detect that and start the task. After that the robot drives into the arena (predefined position of the registration desk) and has to hand over a registration form there. Afterwards the robot has to leave the arena through the opposite door (there are always 2 doors to the arena). At the same time the teams have to present the team poster and the referees will check the E-Stop button of every robot on the way out.
Robot Inspection and Poster Session
Robot Inspection and Poster SessionFollow me
During this task the robot has to follow a previously unknown person through a public space. This is normally done outside of the arena, which means literally through the audience. To be able to identify the correct operator the robot has to memorize the guiding person (face recognition) and correctly re-identify the guide at different steps of the task.
Follow meCocktail party
As the name suggests, the robot has to learn and recognize multiple previously unknown persons, and deliver the correct drinks to the according person. The order is given via speech commands and the persons are waiting somewhere in the arena. The robot has to get the drinks and find the correct persons standing or sitting in the arena. There will be 5 persons in the arena but only 3 of them will have ordered a drink...
Cocktail partyClean up
The robot has to clean up a room in the arena, which means objects will be placed around the room that have to be brought to a previously defined position (bin). The robot gets a speech command where to clean up and where to bring the objects and than has to find/grasp/deliver the objects. The main focus here is navigation and object recognition. As far as object recognition is concerned, the referees provide an official list of objects for all tasks (in all stages) and their names at the beginning of the tournament. Normally about 20 different objects including stuff like cables and of course pringles chips. The teams have to name 10 objects that they can manipulate but no team knows which of the objects will be placed in the arena. There can be objects that are not in the list of 10 in the arena! All teams are allowed to use the objects to train their recognition software in advance.
Clean upEmergency situation: fire in the apartment
A new task in 2013! In this scenario all robots have to react to an emergency situation that may occur in normal house hold. This year there will be a fire in the kitchen (smoke!) and the robot has to discover it and then search for people in the environment, notify them and guide them to one of the doors (emergency exit). Main difficulties here are navigation, finding people and obviously detecting the smoke!
Open Challenge
In this test all the teams can demonstrate recent research results and/or the scenario in which the robots’ abilities can be presented best. It focuses on the demonstration of new approaches/applications for e.g. human-robot interaction and scientific value and it is very interesting to see what the teams come up with every year.
There is also a technical challenge for a particular capability of a domestic service robot with a changing topic every year which is selected from current state-of-the-art research problems. This year the challenge is "Furniture-Type Object Perception", an important capability for mobile manipulation robots in everyday environments.
Open ChallengeThe stage 2, or semi final, has a time limit of 10 minutes for all tasks. There will be only 3 tests in this stage but they are more complex than in stage 1:
Enduring General Purpose Service Robot
In this test the robot has to solve multiple tasks upon request over an extended period of time (approx. 45 minutes). The abilities cover all aspects of tests in stage 1. The necessary actions are organized in three categories with different complexity, which means the scoring depends on the complexity of the action. Category 1 features a speech command of 3 actions which the robot has to show it has recognized, e.g. by repeating the according actions and asking for confirmation. If the robot fails to recognize the command correctly, it can also ask the speaker to repeat the complete command. Category 2 features a command that does not include all necessary information for fulfilling the task, e.g. by giving an object to fetch but not its location. The robot can ask questions to get the missing information about the task but the questions must indicate that the robot has already understood the main objective. Category 3 is similar but the command may contain false information which the robot must clearify while executing the task and indicate why it can not perform the task.
Restaurant
Here the focus is on mobile manipulation in a real environment, such as a restaurant or shopping mall. The robots have never been to the environment before and typically REAL scenarios are used, e.g. a REAL restaurant or a REAL shopping mall. In a first step the robot must be guided through the environment (mapping) and locations for taking orders or object shelves are introduced. After that the robot has to take orders at the according position and deliver the correct objects.
Demo Challenge
This challenge is similar to the Open Challenge in stage 1 but a scenario is given beforehand. The teams are encouraged to demonstrate recent research results and the best of the robots’ capabilities in the given scenario, which is "health care" for 2013. Possible scenarios are e.g. eating aid, mobility aid, hair washing, making the bed or playing with children (baby-sitting).
Last but not least the final features one major challenge for every team where they can show whatever they want. Every demonstration may take 10 minutes plus additional 5 minutes for questions by the jury, which consists of a league-internal (e.g. the team leaders) and a league-external jury.
So, now you know what all the different robots are doing in the @HOME league. You can also check out the G+ community for RoboCup@HOME. Many teams also have videos of the different tasks on their websites or on youtube. Some example videos:
Youtube videos: Official RoboCup@HOME promo video
Frederic Siepmann is researcher at the Cognitive Interaction Technology Center of Excellence (CITEC) at the Bielefeld University, Germany. He is also co-founder and former team leader of the German RoboCup team ToBi. His main research field is behavior coordination in interactive robotics.
See article and comments -
Elastic Robot Links: Curse or Blessing?
von Jörn Malzahn am 04.03.2013 um 21:56 Uhr
It is a demanding challenge to avoid unwanted structural elasticity during the design of lightweight robot mechanisms. Link elasticity aggravates the precise position control of the robot due to configuration dependent static deflections and prolong settling times because of long lasting oscillations. Apart from robotics we find similar design criteria in e. g. in fire-rescue turntable ladders as well as construction machines such as concrete pumps or cherry pickers.
What if the requirements for high stiffness in lightweight links could be relaxed because the undesired effects can be compensated by means of advanced control concepts? Perhaps such control concepts could turn link elasticity from a problem into novel opportunities. More lightweight mechanisms could be developed just by using less material. As a consequence actuators could have smaller dimensions and rated power.
This is actually the idea behind my research project. Within this project we developed the 3 degree-of-freedom flexible link experimental setup TUDOR, depicted in the neighboring figure.
The experimental setup TUDORTUDOR comprises of three brushless DC motors and two spring steel blades as flexible links. After typical point to point movements oscillation amplitudes range up to 10 cm. Currently many scientific papers are published dealing with structural elasticity in robots. The majority focuses on the elasticity integrated in the joints or generally the actuation mechanisms. In this regard actuators with variable stiffness are a really hot topic at the moment. The elasticity enables the decoupling of the relatively low link inertias to the large actuator inertias. This way the reflected inertia which a human would effectively experience during a physical human robot contact as well as hopefully the injury potential of the robot may be reduced. On the other hand elastic components can store and release potential energy. If this energy is released at the wrong moment and in the wrong way this could lead to a wipe like effect and even increase the injury potential of a robot in a contact situation with a human operator. Nevertheless if this happens in a controlled way it has been shown that more natural and dynamic movements can be generated with artificial mechanisms. As a conclusion sophisticated control concepts are required to exploit the various potentials of structural elasticity in robots.
From a control theoretical point of view the elastic properties in the robot joints are easier to deal with. The elasticity is concentrated along the same axis of action as the actuator. In contrast a dominant elasticity in the robot links is distributed along the link body so that deflection waves travel along the structure in finite time introducing delays into the control system. This may be the reason why the majority of publications concerning structural elasticity focus on elastic joints.
With TUDOR we investigated if it is possible to precisely fulfill a time critical task in spite of oscillations and load as well as configuration dependent static deflections. As a demonstrator we thought of the ball catching scenario depicted below:
Ball catching scenarioA human throws a ball towards the robot. A Kinect camera is utilized to detect and track the ball and further predict the intercept point within the robot workspace. The robot then positions a net mounted at the tip at this intercept point. Our results are summarized in the following video:
A multi-link-flexible robot arm catching thrown softballs.As soon as oscillations can be rapidly damped and static deflections are compensated we no longer have to understand link elasticity „just as a problem“. Moreover the link compliance can be exploited to sense contact forces, detect collisions and to react accordingly. With moderately flexible joints has already been imposingly exemplified. Regarding flexible links oscillation damping is still an open challenge. This holds especially for multi-link chains.
During the last few days we might have been able to make first steps beyond pure oscillation damping. Based on strain measurements we developed a force control scheme which simultaneously dampens oscillations introduced by joint motions as well as external disturbances and allows to actively influence the reflected arm compliance in joint space. We collected some experiments in the following video:
Force control with a multi-link flexible robot arm.The control concept behind the video follows an independent joint control strategy. The joint angles of each actuator are controlled by a cascaded position controller with an inner velocity and a motor-current loop. The torques acting on the individual joints due to oscillations, gravitational influences and physical interactions of the robot with its environment are inferred via strain measurements on each link. This information is fed back to each independent joint motion controller to actively influence the reflected joint compliance while simultaneously damping oscillations. The control concept allows reducing the reflected compliance such that the probability of breaking even fragile objects in case of accidental collisions is significantly reduced. Just a small force is necessary to push the robot away from its initial position.
What now? Link elasticity: curse or blessing? There are still many open challenges to solve and questions to answer before a binding statement can be given. For me it seems as if there are also some opportunities slumbering in elastic robot links and I`m looking forward to see where the journey takes us.
Jörn Malzahn is researcher at the Institute for Control Theory and Systems Engineering at the TU Dortmund University, Germany. His main research field is modeling and control of leightweight multi-link flexible robot arms.
See article and comments -
How infants tell us how to control the Bionic Handling Assistant
von Matthias Rolf am 05.02.2013 um 09:58 Uhr
Festo’s Bionic Handling Assistant (BHA) was revealed to the public in 2010 and got quite some media coverage. Its bionic features make it especially cool, yet at the same time they make control especially hard as we already covered in our last article: Simulation of the Bionic Handling Assistant.
The structure and functioning of the Bionic Handling Assistant was inspired by an elephant’s trunk. It is manufactured with rapid-prototyping methods by means of 3D-printing. Its main material is Polyamide which makes the entire robot deformable and very lightweight: Essentially, the robot consists of plastic and a lot of air. It is actuated by thirteen pneumatic bellow actuators (chambers): each three of them in parallel to form the three main segments and the wrist, and one for the gripper. The chambers are inflated and deflated to move the robot, which allows the entire robot to bend and stretch.
Kinematic structure of the BHAWe showed in our last article how we managed to get a pretty good approximation for the position of the gripper based in sensing the actuator lengths with the cable potentiometers. We showed that based on this model, we can simulate the robot well and really fast.
But if you to want to use the gripper to pick up and manipulate stuff, you need to invest a lot more. In fact, we looked at how infants approach similar problems when learning to move their limbs.
Challenge: inverse kinematics for the BHA
A lot has happened since this last article. A couple of research papers, a trade fair, and a Ph.D. thesis later, we want to focus on the control of the BHA’s end-effector in this post. There are a lot of basic things that one needs to thinks about when starting to operate such a unique and off-standard robot platform. Yet, after all one wants to use the BHA’s gripper to pick up and manipulate something. The BHA can be moved by controlling the lengths of the nine actuators in the main segments (difficult enough stuff for another article, see [Neumann et al., 2013] [1] , [Nordmann et al., 2012] [2] ). Hence, to pick up an object at a certain position in space with the gripper, you need to know:
Which motor commands (actuator lengths) must be applied to move the gripper to the object position?
How to get the gripper to the object?This problem is known as inverse kinematics: Finding a posture for the robot that brings the effector to some desired coordinate. For standard robots with revolute joints this problem is solved, although in practice it can still be annoying. The typical approach is to start with the (exactly) known forward kinematics, do some fancy math on it (matrix-inverses of the kinematic’s derivatives), and approach the goal step by step. So since we have a nice approximation of the BHA’s forward kinematics, we're done.
Not? No!
For the BHA, this approach is not suitable for a couple of reasons:
The forward kinematics are not exactly known. The simulation’s (average) mis-prediction of 1cm would instantaneously impair the control accuracy. We could cope with this, if it was the only, or even the most significant problem.
What is substantially worse is that the limits in which the actuator lengths can be changed are very narrow, and have strong interdependencies which are essentially unknown. One never certainly knowns in advance whether a motor command (a set of lengths for all actuators) can be achieved at all. We actually have a data-driven approximation for these limits, but the impact of even minor errors is huge: the deviation between a model with just slightly wrong limits and the physical BHA can easily be 10cm deviation of the effector-position.
Both issues together are really hard, but at least in principle solvable by the widely used feedback control schemes that, step-by-step, approach the right solution. Yet, the BHA comprises strong sensory noise and quite some delays in the actuation. Standard feedback control on such hardware can only be done for very slow movements (or „low gains“ in control-slang). And „slow“ here means painfully slow on the BHA. Control theory describes some approaches to circumvent this problem, but which only require more analytic knowledge that we don’t have.
The final, and even more show-stopping, reason is: the BHA changes over time, due to wear-out effects and visco-elasticity of the elastic material. Even if was possible to know all the necessary stuff about the BHA analytically and exactly, it would be void in the very next moment. In particular the actuation limits, which cause the largest prediction errors, change a lot even on short and medium time scales.
A consequent approach (not only for us) is to fill up these huge gaps of knowledge with artificial learning. Motor learning in indeed a widely investigated topic both from a machine learning and actual control perspective. There is a sheer endless number of approaches that has been suggested, see [Nguyen and Peters, 2011] for a recent review. So lets apply them, and finally we're done.
Not? No!
Learning is not the problem. The problem is that data for learning has to be generated by exploration. Enough data! The standard approaches to motor learning require full knowledge about the space of possible motor commands. That means that essentially all motor command needs to be explored exhaustively on the robot. Of course there is not a „countable“ number of actuator lengths, but one could, for instance, try out ten different lengths per actuator and then go through all combination. How difficult can it be? Well, ten different lengths for nine actuators brings up one billion combinations! Often this is done in practice by „motor babbling“: try out a lot (!) of random actions. This superficially conceals the demand to explore really all actions, but changes nothing of the exhaustive character. In any way, there are way too many actions to be explored in the lifetime of a robot or any learning agent. The problem is even more drastic when the system changes over time, like the BHA does. If one cannot even probe the necessary exploratory data once, then how to react to ongoing changes? Try (and fail) to explore everything again? Pointless. This approach does not scale.
What babies can tell us
This is when infants come into play.
Learning to coordinate many degrees of freedom on a changing body is indeed challenging. Yet, the problem is not unique to technical artifacts. To the opposite, we humans face the very same problem when we are born and not even capable of the most simple coordinated movements. If only one could mimic the tremendous efficiency of human learning, it should be possible to successfully learn on platforms like the BHA as well.
Our human body possesses more than 600 skeletal muscles which we need to coordinate for purposeful actions. It is completely hopeless to just explore all ways to move 600 muscles, or even to track the ongoing change induced by the rapid growth of our bodies. So what is the trick that organizes our own sensorimotor learning? The movements of a newborns do not appear to follow any coordinated pattern at first sight. In fact, it was believed for a long time that during our first months of life we only perform (essentially) random movements – a believe that dates back to the earliest, and most seminal developmental theories such as Piaget’s.
Random movements essentially correspond to an exhaustive exploration. Hence it does neither provide a real explanation to the success of human learning, nor guidelines for artificial learning on robots like the BHA. Not much hope to solve the challenge so far …
… until a remarkable infant study came up. In 1982, Claes von Hosten investigated the way newborns react to flashy objects closely in front of them. He found that the newborns’ movements are indeed not very coordinated, but at the same time far, far away from being random. The newborns, as young as two days after birth, tried to reach for the objects!
Bang!
Newborns aren’t random, but already move in goal-directed ways!
Few days old newborn already try to reach (image from [von Hofsten and Rönnqvist, 1994])This finding is remarkable, because infants consistently fail to get the hand to the object. Why would they do it if they fail? It is even more remarkable for two other reasons:
It has been overlooked for three decades by developmental psychology after Piaget’s seminal work. Mostly because infants only try, but fail in the end.
It has been overlooked for another three decades by robotics and machine learning after it was found. Was there nothing to learn from this study?
In the early days of my Ph.D. work I stumbled across von Hofsten’s study. I was both intrigued by the question what these early goal-directed movements are good for, and increasingly annoyed by repeated claims of how awesome (and, absurdly, even „biologically plausible“) random motor babbling is. Today, there are some answers. Goal babbling, our short-notion for goal-directed exploration from the very beginning, is indeed different from exhaustive exploration: this kind of exploration rapidly seeks solutions for behavioral goals and sticks to them if appropriate.
Most motor-tasks, like the BHA’s inverse kinematics, contain huge redundancy: any possible goal (e.g. an end-effector position) can be achieved in infinitely many ways. While exhaustive or random exploration searches all of them, goal babbling seeks few of them, just enough to solve the task. Hence, „enough“ data can be generated more efficiently. This is complemented by another finding from developmental psychology: it seems that infants only learn one single solution in the very beginning, that is applied even without feedback or corrections. This is not as versatile as all our modern control stuff, but it can be efficiently explored with goal babbling.
We mimicked this combination of goal babbling, and the representation of just a single solution in simulation, at least to start with [Rolf et al., 2011] [4] . It turns out:
It scales! We found that this approach does not even take more time for 50 degrees of freedom than it takes for two degrees of freedom. This is remarkable compared to exhaustive exploration, where the cost (or time) needed to gather data increases exponentially with the dimension.
It is fast, actually comparable to the speed of human learning. Useful results require only a few hundred movements, which also we (humans) need [Sailer and Flanagan, 2005] when we solve previously unknown sensorimotor tasks.
Both aspects are very good news, and a nice example how biology inspires solutions to previously intractable problems. Time to combine award-winning, bio-inspired hardware with award-winning, bio-inspired learning;
Time for practice!
Learning and Exploitation on the BHA
When we started with goal babbling on the BHA, we made some rapid progress in the beginning. Yet, we had to learn a lot about the platform itself (for instance the narrow and changing actuation limits), and had quite some remaining problems with the underlying (pressure and length) control. As we increasingly mastered the basic control stuff also goal babbling matured …
… and worked nicely!
Bionic Learning for the Control of the Bionic Handling AssistantThe first working version was to just learn left / right movements of the effector in space. Not very useful, but awesome stuff for live-demonstrations because it only takes around two minutes of goal babbling to learn this task from scratch, even though nine actuators need to be coordinated. We quickly discovered how nicely it worked when one of the BHA’s actuators was physically broken. The actuator could not inflate anymore and, even worse, was still passively moving like a spring in the middle robot segment. Learning didn’t even care and just learned to use these passive movements together with the remaining, functioning actuators. We did not plan to do such experiments, we were just hit by reality. True story.
A likewise positive aspect came up when, let’s say, „someone“ started to touch and push the robot while it was exploring and learning. Imagine a Ph.D. student’s nervous face when a professor (oops) starts to interfere with the robot … The nervousness did not last for more than a few seconds. It was awesome to see that one could just teach the robot on the fly. We had a visualization of the robot’s current goal, and could physically push it into the right direction. Learning then was so quick that there wasn’t even resistance of the controller, given one pushes in the right direction. An ability that is only possible by having goals and very rapid, ongoing learning and a very compliant, light-weight robot.
During goal babbling on the physical BHA, the simulation library is used to predict and visualize the performance.Although all the learning and exploration was done physically on the robot, the kinematics simulation has become an important tool for the learning experiments. The mere ability to visualize the robot in relation to its current, self-generated goals was crucial to understand what learning currently does, and how well it performs. This was very important, and informative when we started to work on the 3D control of the effector (not just left/right). Similar to our very initial, pure simulation experiments we could make estimates of how accurate the controller already is and see a lot of its properties. This was most important to understand how important, and difficult the narrow and changing actuation limits are.
After all learning could deal with all the problems mentioned above. Just after learning, our controller reached accuracies around 2-3 cm error. Not perfect, but almost enough since the BHA’s flexible fin-gripper does not require millimeter-accuracy to pick up an object. An important aspect of the learned controller is that it is feed-forward. It does not have to wait for delayed sensory feedback to perform a movement, but directly „knows“ how to go to the goal, which allows quite fast movements. This comes with the cost of residual errors. If needed, however, we still managed to incorporate feedback and become more accurate. The very last sequence of the video shows how the controller slowly approaches and grasps the cup. This is done with an additional feedback controller on top of the learning. And yes, this is the low speed possible when feedback comes to play. However, things become much more accurate: we reached accuracies around 6-8 mm, where about 5 mm is the absolute baseline in which the BHA is controllable at all.
It is worth to highlight that all this stuff does not just work in the video. We made some very time-consuming experiments (more than 30 hours robot-time) that show the consistent success of learning, which is backed up by simulation experiments that explicitly show that goal babbling deals with the changing body very effectively. What is even more conclusive is that we made a lot of live-demonstrations in our lab, in all of which learning worked nicely, and actually showed live-learning on the Automatica 2012 trade fair in Munich. On the fair the robot, the learning, and the controller were operated four days for eight hours each.
It works!
Festo’s Bionic Handling Assistant is a fancy robot indeed. Its elephant’s trunk-inspired look and nature and its intrinsic safety for interaction are striking features. However, with facing the completely new kinematic structure, its new materials and actuation scheme, and without any kinematic model at all, we came a long way controlling it.
We started with a robot without any model and just really basic pressure control. Bit by bit we added a forward model, a simulation and prediction tool and length control. The key to success though were to use machine learning techniques and especially the infant-inspired Goal Babbling, which turned out to be able to learn the control of the robot really fast.
So now that we can move it properly to grasp and manipulate objects: Which task would you like to see it doing?
Contact:
Dr.-Ing. Matthias Rolf, CoR-Lab - Bielefeld University, mrolf@cor-lab.uni-bielefeld.de
Prof. Jochen Steil, CoR-Lab - Bielefeld University, jsteil@cor-lab.uni-bielefeld.de
- 1
- Neumann, K., M. Rolf, and J. J. Steil. „Reliable Integration of Continuous Constraints into Extreme Learning Machines“, Journal of Uncertainty, Fuzziness and Knowledge-Based Systems (in press).
- 2
- Nordmann, A., M. Rolf, and S. Wrede. „Software Abstractions for Simulation and Control of a Continuum Robot“, Simulation, Modeling, and Programming for Autonomous Robots (Simpar), 2012
- 3
- Rolf, M., and J. J. Steil. „Constant curvature continuum kinematics as fast approximate model for the Bionic Handling Assistant“, IEEE/RSJ Int. Conf. Intelligent Robots and Systems (IROS), 2012
- 4
- Rolf, M., J. J. Steil, and M. Gienger. „Online Goal Babbling for rapid bootstrapping of inverse models in high dimensions“, IEEE Int. Conf. Development and Learning and on Epigenetic Robotics (ICDL-EpiRob), 2011 (Best Student Paper Award)
Matthias Rolf is researcher at the Research Institute for Cognition and Robotics at the Bielefeld University, Germany. His main research field is motor learning in developmental robotics.
See article and comments -
Simulation of the Bionic Handling Assistant
von Matthias Rolf am 16.04.2012 um 12:59 Uhr
In April 2010 the Bionic Handling Assistant (BHA) from Festo was revealed to public at the Hannover Fair 2010 [1] and won several prices like the German Future Award 2010 [2] . In February 2011 we got our own BHA and were pretty excited because we knew at that time no-one could do with it what we wanted to do with it: controlling it.
The structure and functioning of the Bionic Handling Assistant was inspired by an elephant’s trunk. The structure is manufactured with rapid-prototyping methods by means of 3D-printing. Its main material is Polyamide which makes the entire robot deformable and very lightweight: Essentially, the robot consists of plastic and a lot of air. It is actuated by thirteen pneumatic bellow actuators that are inflated and deflated to move the robot. They allow to bend and stretch the entire robot.
Inspired by an elephant’s trunkFesto envisions the BHA to serve as a light, free-moving third hand system. Thanks to its structural compliance, direct contact between humans and machines humans and inherently safe, which brings a lot of opportunities for collaborative tasks as well as physical teaching of the robot. In industrial environments, the Bionic Handling Assistant can be used as a handling system to support assembly processes or to deal with physically damageable goods like food.
When we decided to purchase a Bionic Handling Assistant, we were aware that not much of common or approved methodology would work to deal with such a platform. Still it was striking that the robot was delivered without any software.
No software.
Nothing.
Until (almost exactly) one year ago the only thing we could do was to manually open valves and supply either full or zero pressure to the bellow actuators by hand. This was already fun to play with but nothing to do serious stuff with it, except showing a robot that can indeed move (somehow). As promised by Festo, we received electronic valve units so that we could, more or less precisely, control the pressure automatically. That was all we could do. Controlling the pressure.
To put it mildly, the gap from controlling the pressure to doing anything useful with the BHA is huge. The actual tool you want to work with is the Fin Gripper at the end of the trunk. But positioning this very gripper, first of all, requires to control the posture of the BHA in a precise way. That is to give the actuators defined shapes. Just relying on the pressure is doomed to fail. That was a lesson we learned on other platforms already before getting the BHA: take a pneumatic robot, supply the same pressure ten times … and you will get ten different postures. Friction, hysteresis and non-stationarities cause different outcomes every time.
Kinematic structure of the BHAThe BHA has length sensors to circumvent this problem. Cable potentiometers on the outside of the arm provide information on how long each actuator is extended (see illustration above). Of course, you do not only want to know that length. You want to control it. This is possible with standard PID control approaches, but this performs very badly. Of course one could use all the available knowledge about the BHA to do a lot of advanced control-stuff. If only one had a lot of knowledge about the BHA's behavior …
A short list of things that no one really knows about it:
The precise relation between pressure and geometric length in a mechanical equilibrium (when it stands still).
Any sort of dynamics (not only that pneumatics itself is slow, the interplay of geometry and pneumatics is much slower!).
What actuator length can be achieved at all. Where are the limits?
How exactly all of this interacts between different actuators (bellows) of the robot. It does. Strongly!
Challenging … but not impossible! Suppose you can control the actuator lengths. You can also sense them. Now, try to control the endeffector position …
You need to know the current effector-position!
Computing the effector-position from geometric information about the actuators is known as forward kinematics problem. For standard, stiff robots with revolute or prismatic joints that is not a big deal. It is the most basic trigonometry: angle, offset, angle, offset, … and so on. The BHA belongs to a completely different kind of morphologies called continuum kinematics. Due to its mechanical flexibility it has an infinitely many degrees of freedom, since any point of the material might bend or stretch differently. Infinitely many degrees of freedom can neither be sensed, nor computed.
When we started working with the BHA we were not much interested in simulating this continuum kinematics. Since our research is mostly focused on machine learning, we wanted to sense the effector position and then use these sensations. And we do so.
We first realized that we need a simulation, when we had a visualization problem. We wanted to visualize how some spatial coordinates are related to the current BHA movement. But how, if you don't have a visualization for the BHA?
Since visualization requires to know the kinematics, we started working on that topic. Even if you can not compute the bending of infinitely many degrees of freedom, you can take the three length-sensors per segment and make some assumptions on how bending might occur. The most simple kind of bending is a circular shape. In three dimensions this corresponds to a torus:
Torus model to simulate BHA`s kinematic structureThe image shows how one segment with three actuator lengths (grey tubes) bends with a torus shape. Such a geometric transformation can be described by three parameters: two angles (shown in blue) and the radius of torus (shown in red). These three parameters can be reconstructed from the three actuator lengths. Once you have them, calculating the forward kinematics is simple. The only problem occurs when all lengths are equal, i.e. when the actuator is stretched. There is no torus to describe such behavior. This is a particular problem for the BHA since it allows 'pure stretching' movements without any bending. Yet, we found a nice, simple, and numerically safe way to deal with that 'singularity'. Now, one can model the BHA by stacking multiple of such segments on top of each other.
Torus deformations are very, very simple compared to the real physics underlying continuum deformations. That is why they do typically not work as model for continuum robots, as found by several researchers (e.g. Trivedi 2008 [3] ).
Not so for the BHA! It works nicely.
Our evaluation shows that it reaches an average error of 1cm, opposed to a robot length on 1m. That is not perfect, but absolutely good enough for our purposes, and fully competitive with other continuum kinematics studies found in robotics literature.
This video shows how the model works, plus it gives some introduction about the actuation of the BHA:
BHA simulationThe striking advantage of having a simple model is that it is really fast to execute. Our software library easily allows to compute the forward kinematics of the BHA with several 10kHz, even on a single CPU core. Although we didn't plan to have such a model when we started working with the BHA, it has now become an essential tool for our work. Still, we do all important things on the real BHA, but can visualize and predict a lot of things in parallel now.
The kinematics simulation is written in C++ and available as open source. If you want to play around with it, do it. Just follow the instructions here to get library with the forward kinematics and the OpenGL-based 3D visualization shown above: http://www.cor-lab.de/software-continuum-kinematics-simulation
Just to give an impression … the following piece of code is all you need to compute the BHA's kinematics:
// create robot morphology with segment radii 0.1, 0.09 and 0.08 meters ContinuumRobotKinematics kinematics(RealVector(0.1, 0.09, 0.08)); // specify an end effector offset kinematics.setEndEffectorOffset(RealVector(0.0, 0.0, 0.14)); // this is the forward kinematics function: Mapping<RealVector,RealVector> fwdKin = kinematics.getForwardPositionKinematics(); // try out some posture (a combination of actuator lengths) RealVector posture = {0.2,0.24,0.24,0.2,0.24,0.24,0.2,0.24,0.24}; // this is the resulting end-effector position RealVector position = fwdKin(posture); // [-0.3808, 0, 0.686287]And we got even more exciting stuff to show: To see our the real Bionic Handling Assistant and to see how we solved the above control problems with machine learning and managed to do cartesian control with the BHA, visit us at out booth on the Automatic fair in Munich: Booth 427 and 429 in exhibition hall B3, from May 22nd to 25th.
Contact:
Dipl.-Inform. Matthias Rolf, CoR-Lab - Bielefeld University, mrolf@cor-lab.uni-bielefeld.de
Prof. Jochen Steil, CoR-Lab - Bielefeld University, jsteil@cor-lab.uni-bielefeld.de
Matthias Rolf is researcher at the Research Institute for Cognition and Robotics at the Bielefeld University, Germany. His main research field is motor learning in developmental robotics.
See article and comments -
Thank you for 1000 twitter followers
von planet-robotics.net am 01.04.2012 um 12:16 Uhr
Not only is this planet aggregating the coolest robotics blogs around and can subscribe to. We also have a pretty cool twitter account daily tweeting and retweeting the most exciting robotics news and tweets: @planetrobotics
Yesterday our account hit the 1000 followers mark, so thank you all for following!
Keep the suggestions coming. And if you know awesome robotics twitter accounts we should follow, too, tell us!
See article and comments -
Robot Quadrotors Perform James Bond Theme
von planet-robotics.net am 29.02.2012 um 22:26 Uhr
Robot quadrocopters did so many cool things over the last weeks and months. A not too scientific performance they do now is the James Bond Theme.
Quadrocopters! Playing music!
It`s plain brilliant!
Robot Quadrotors Perform James Bond ThemeReally cool.
Quadrotors designed and built at the University of Pennsylvania perform the James Bond Theme by playing various instruments including the keyboard, drums and maracas, a cymbal, and the debut of an adapted guitar built from a couch frame. The quadrotors play this "couch guitar" by flying over guitar strings stretched across a couch frame; plucking the strings with a stiff wire attached to the base of the quadrotor. A special microphone attached to the frame records the notes made by the "couch guitar".
More at http://upenn.edu/spotlights.
See article and comments -
How safe are Medical Robots?
von planet-robotics.net am 02.08.2010 um 11:35 Uhr
They’re path-breakers in medical technology no doubt, but how safe are robots that are used in the field of medicine? Truth be told, we’re advancing faster than we ever dreamed we would, and even though medical robots are being touted as the next big wave in medicine, there are still some areas where they leave much to be desired – like safety. Today, robots (or automated machines) are being used increasingly in not just in the operating room, but also to perform routine diagnoses. They are extremely advantageous in surgical specialties where accuracy and precision are important and also facilitate surgeries where there is less pain and faster recovery.
Man has been using machines to guide and augment the practice of medicine for some time now, but the problem today is that machines are no longer the submissive components they once were, waiting to be guided by the surgeon and used exactly as commanded. They’re more sophisticated, and surgeons have to be trained to use them correctly if they want error and complication-free operations. The safety aspect of using medical robots depends entirely on the person using them to perform the surgeries, and if they’re not adept at programming the machine and using its features accurately and according to the patients’ needs, then there is a high probability of something going wrong.
In the field of diagnosis too, robots hold great promise because they can easily assimilate tons of information and analyze patterns to find symptoms of disease and chronic conditions. Unlike human beings, they can work for hours together without feeling fatigue, irritation or stress. But then, they lack a few qualities that are inherent in most human doctors – warmth, sensitivity, intuition and ethical responsibility.
For robots to find a place of value in the field of medicine and cement it firmly without any hint of negativity:
Doctors and surgeons who use them regularly must be thoroughly trained to wield them safely and effectively.
They should know both the limitations and advantages of robots and use them accordingly and as per the needs of the patient.
The use of the machines should not serve to increase medical costs for the patient.
Doctors should know when and how much to use them and be able to judge how effective their decision-making skills are instead of relying on them blindly to make the right decision for the patient.
The field of medical robotics is still nascent, and in time, further advances will definitely pave the way for more revolutionary treatments and discoveries in medical science. But even with the most sophisticated advancement, caution must be exercised and safety focused on if medical robots are to be accepted without the hint of a doubt.
This article is contributed by Susan White, who regularly writes on the subject of Online Radiology Technician Schools. She invites your questions, comments at her email address: susan.white33@gmail.com
See article and comments
subscribe