(16 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | == | + | == FIxtureless DEburring of wheeLs by human demonstratIOn (FIDELIO) == |
− | [[image: | + | [[image:ECHORD-logo.jpg|right|150px]][[image:FIDELIO-logo.png|right|150px]] |
− | FIDELIO | + | |
[[image:FIDELIO-expsetup1.jpg|left|thumb|The experimental setup]] | [[image:FIDELIO-expsetup1.jpg|left|thumb|The experimental setup]] | ||
Modern industrial robots are complex and powerful machines, able to execute a wide range of different tasks with high speed and accuracy. Nevertheless, they still have a low degree of autonomy and adaptability, and need a human operator to learn new tasks or tune existing ones. | Modern industrial robots are complex and powerful machines, able to execute a wide range of different tasks with high speed and accuracy. Nevertheless, they still have a low degree of autonomy and adaptability, and need a human operator to learn new tasks or tune existing ones. | ||
+ | [[image:FIDELIO-expsetup2.jpg|left|thumb|The experimental setup]] | ||
− | In the last twenty years robotic researchers have been focusing on the Learning From Observation paradigm, developing prototypic robotic systems able to observe and learn from human operations. In this new paradigm, the information coming from a range of observations is analysed and transformed into an abstract representation of the task. By using such information, and exploiting the abstraction capabilities of a suitable cognitive system, the robot | + | In the last twenty years robotic researchers have been focusing on the Learning From Observation paradigm, developing prototypic robotic systems able to observe and learn from human operations. In this new paradigm, the information coming from a range of observations is analysed and transformed into an abstract representation of the task. By using such information, and exploiting the abstraction capabilities of a suitable cognitive system, the robot can autonomously generate a program to reproduce the task, even if the environment is different from the one observed during the learning phase. |
− | + | ||
− | The FIDELIO project | + | The FIDELIO project's aim is the research into the feasibility (and the related advantages) of this innovative approach in an industrial application scenario, exemplified by a fixtureless wheel deburring task. To this end, a robotized cell has been set up, composed of a Comau SmartSix industrial manipulator and a workstation where aluminium wheels are placed for deburring. On top of the workstation a camera frames the workspace in order to locate the wheel. The arm is equipped with a pneumatic deburring tool connected to the robot end-effector through a force/torque sensor. In addition, an eye-in-hand camera is mounted at the robot end-effector, framing the cutting tool and the deburring edge. |
− | The experiment focused on three main topics: an innovative programming technique based on walk-through programming, an eye-in-hand inspection system to measure burrs characteristics, and a methodology to autonomously learn the deburring skill. | + | The experiment has been focused on three main topics: an innovative programming technique based on walk-through programming, an eye-in-hand inspection system to measure burrs characteristics, and a methodology to autonomously learn the deburring skill. |
+ | |||
+ | FIDELIO is one of the experiments of the FP7 project ECHORD (FP7/2007-2013 - Challenge 2 - Cognitive Systems, Interaction, Robotics - under grant agreement No. 231143). | ||
=== Walk-through programming === | === Walk-through programming === | ||
− | <div style="float: | + | <div style="float: right; margin-right: 15px; margin-bottom: 15px;">{{#ev:youtube|temqVkLl55c|300}}</div> |
− | In | + | In walk-through programming the human operator plays the role of a teacher that physically walks the robot through the desired path. Furthermore, in an industrial application, like metal finishing or spray painting, the physical interaction between the human operator and the robot should be conceived in such a way that the teacher has the impression to grab a real tool, e.g. a deburring tool or a spray gun, instead of the robot end-effector. |
<div style="float: right; margin-right: 15px; margin-bottom: 15px;">{{#ev:youtube|Rp-TXxZTE-g|300}}</div> | <div style="float: right; margin-right: 15px; margin-bottom: 15px;">{{#ev:youtube|Rp-TXxZTE-g|300}}</div> | ||
− | The role of the control system is thus to accommodate for the motion commanded by the teacher, mimicking the same dynamic behavior of the real tool, i.e. behaving like a virtual tool that | + | The role of the control system is thus to accommodate for the motion commanded by the teacher, mimicking the same dynamic behavior of the real tool, i.e. behaving like a virtual tool that has the same mechanical properties of the real tool. At the same time, the admittance controller allows to introduce two active safety tools that contribute to make human-robot interaction safe during the programming operation. On one hand, an adaptive nonlinear viscous friction limits the maximum end-effector velocity. On the other hand, virtual fences create a separation between the human body and the robot work-space. |
The walk-through programming has been implemented and tested on a Comau SmartSix industrial manipulator, equipped with an ATI 6-axis wrist force torque sensor, exploiting the open version of the COMAU C4G controller. | The walk-through programming has been implemented and tested on a Comau SmartSix industrial manipulator, equipped with an ATI 6-axis wrist force torque sensor, exploiting the open version of the COMAU C4G controller. | ||
− | The tests revealed that one of the most challenging problem in walk-through programming is the execution of a motion keeping the tool in | + | The tests revealed that one of the most challenging problem in walk-through programming is the execution of a motion keeping the tool in contact with a hard surface. |
− | + | ||
− | + | ||
=== An inspection system to characterize burrs === | === An inspection system to characterize burrs === | ||
[[image:FIDELIO-expsetup3.jpg|left|thumb|The inspection system]] | [[image:FIDELIO-expsetup3.jpg|left|thumb|The inspection system]] | ||
<div style="float: right; margin-right: 15px; margin-bottom: 15px;">{{#ev:youtube|wsip43B62qs|300}}</div> | <div style="float: right; margin-right: 15px; margin-bottom: 15px;">{{#ev:youtube|wsip43B62qs|300}}</div> | ||
− | + | A visual triangulation system has been set up to measure the work-piece profile, to determine the presence of burrs and to measure the length and depth of each burr. The system is composed of a camera and a linear laser projector, whose pose with respect to the camera frame is determined by a calibration process. | |
− | The inspection device is mounted at the robot end-effector and a visual servoing algorithm allows to track the work-piece profile, so that the inspection can be automatically executed. The robot tracks the profile and periodically stops its motion in order to perform a sequence of image acquisitions, | + | The inspection device is mounted at the robot end-effector and a visual servoing algorithm allows to track the work-piece profile, so that the inspection can be automatically executed. The robot tracks the profile and periodically stops its motion in order to perform a sequence of image acquisitions, by which the work-piece profile is determined. The result of this process is a 3D profile of the deburring edge measured with an accuracy of a tenth of millimeter. |
A further camera, mounted on the robot elbow or on a tripod, is used to localize the work-piece and refer the profile positions to a work-piece local frame. This allows to easily compare acquisitions of different work-pieces and to use the profile data to compute a robot path with respect to the world frame even for work-pieces located in a different position. | A further camera, mounted on the robot elbow or on a tripod, is used to localize the work-piece and refer the profile positions to a work-piece local frame. This allows to easily compare acquisitions of different work-pieces and to use the profile data to compute a robot path with respect to the world frame even for work-pieces located in a different position. | ||
=== Autonomously learning the deburring skill === | === Autonomously learning the deburring skill === | ||
− | + | A deburring task can be completely specified considering a cutting path and a set of variables (feed-rate, cutting pressure, etc.) that determine the amount of material removed by the tool. The learning problem can be thus divided into two sub-problems: path learning and deburring skill learning. The latter concerns the development of a policy to select the cutting variables in such a way as to execute the machining process as fast and precise as possible. | |
− | A deburring task can be completely specified considering a cutting path and a set of variables (feed-rate, cutting pressure, etc.) that determine the amount of material removed by the tool. The learning problem can be thus | + | <div style="float: right; margin-right: 15px; margin-bottom: 15px;">{{#ev:youtube|9tPTLNxfxFo|300}}</div> |
− | The idea behind the path learning algorithm is the following: considering different work-pieces characterized by the same shape and dimension, and thus the same nominal path, but affected by burrs in different | + | The idea behind the path learning algorithm is the following: considering different work-pieces characterized by the same shape and dimension, and thus the same nominal path, but affected by burrs in different positions and of different length/depth, one should be able to combine all the information collected on these work-pieces in order to recover the nominal path. In particular, assuming that the burrs act like small and randomly distributed disturbances, the nominal path can be reconstructed computing the mean or the median curve among all the available paths. |
− | On the other hand, reinforcement learning was | + | On the other hand, reinforcement learning was used to automatically develop a policy to select the best values for the cutting variables, allowing for a fast removal of the excess of material together with a good finishing quality. To be more specific, a natural policy gradient algorithm was used to determine the deburring path from the work-piece profile. The policy was trained using a process simulator, that generates artificial profiles on the basis of a set of burr models acquired from an actual work-piece. This allow to rapidly converge to a good, though sub-optimal, parametrization without the need of a time-consuming and dangerous experimentation. This policy was then successfully used to execute a deburring task on a real work-piece. |
== QUADRIVIO == | == QUADRIVIO == | ||
− | [[image:AeroSekur-Abrate-27092012-1.jpg| | + | [[image:AeroSekur-Abrate-27092012-1.jpg|left|thumb|The Remote Control Station during an exhibition in the presence of the Gen. Biagio Abrate, Chief of Staff, Italian Defense General]] |
− | [[image:AeroSekur-Abrate-27092012-2.jpg| | + | [[image:AeroSekur-Abrate-27092012-2.jpg|left|thumb|Our vehicle during an exhibition in the presence of the Gen. Biagio Abrate, Chief of Staff, Italian Defense General]] |
The popularity of the research on unmanned ground vehicles has been recently increasing due to their usefulness in different operating environments. Planetary explorations, search and rescue missions in hazardous areas, surveillance, humanitarian demining, as well as agriculture applications such as pruning vine and fruit trees, are examples of potential applications of autonomous vehicles in natural environments. Unlike indoor mobile robotics, where only flat terrains are considered, outdoor robotics deals with all possible natural terrains. The unstructured environment and the terrain roughness including moving obstacles and poorly traversable terrains make the problem extremely challenging. | The popularity of the research on unmanned ground vehicles has been recently increasing due to their usefulness in different operating environments. Planetary explorations, search and rescue missions in hazardous areas, surveillance, humanitarian demining, as well as agriculture applications such as pruning vine and fruit trees, are examples of potential applications of autonomous vehicles in natural environments. Unlike indoor mobile robotics, where only flat terrains are considered, outdoor robotics deals with all possible natural terrains. The unstructured environment and the terrain roughness including moving obstacles and poorly traversable terrains make the problem extremely challenging. | ||
− | All-Terrain Vehicles (ATVs) are suitable to drive in outdoor environments and through poorly traversable terrains, and compared to other mobile platforms can | + | All-Terrain Vehicles (ATVs) are suitable to drive in outdoor environments and through poorly traversable terrains, and compared to other mobile platforms can drive at higher speed. ATVs, however, are also characterized by poor stability, roll- and tip-over phenomena, and excessive side slip. Those are the main drawbacks of these vehicles. |
+ | |||
The QUADRIVIO project aims at developing a low-cost unmanned ground vehicle for search and rescue missions in hazardous areas, possibly after a natural disaster. To achieve this challenging goal the project develops: | The QUADRIVIO project aims at developing a low-cost unmanned ground vehicle for search and rescue missions in hazardous areas, possibly after a natural disaster. To achieve this challenging goal the project develops: | ||
* a virtual rider, a low-level stabilization system, including roll/tip-over prevention and obstacle avoidance mechanisms, that makes the vehicle autonomous at least for short range navigation | * a virtual rider, a low-level stabilization system, including roll/tip-over prevention and obstacle avoidance mechanisms, that makes the vehicle autonomous at least for short range navigation | ||
− | * a path planner that finds the best path in presence of rough | + | * a path planner that finds the best path in presence of rough and sloping terrains, taking into account the vehicle kinematic and dynamic constraints |
* an ATV tracking controller that, acting on steer, throttle and brakes, tracks the desired path, ensuring the vehicle stability | * an ATV tracking controller that, acting on steer, throttle and brakes, tracks the desired path, ensuring the vehicle stability | ||
− | + | ||
− | <div style="float: | + | QUADRIVIO is a national project founded by the Lazio region (FILAS program). |
+ | |||
+ | === From the commercial ATV to the All-Terrain Mobile Robot === | ||
+ | |||
+ | <div style="float: right; margin-right: 15px; margin-bottom: 15px;">{{#ev:youtube|LrdS9Bl6fsY|300}}</div> | ||
+ | <div style="float: right; margin-right: 15px; margin-bottom: 15px;">{{#ev:youtube|xkJdWesq9Ms|300}}</div> | ||
+ | <div style="float: right; margin-right: 15px; margin-bottom: 15px;">{{#ev:youtube|vx9gSCNew8g|300}}</div> |
Latest revision as of 12:24, 12 December 2014
FIxtureless DEburring of wheeLs by human demonstratIOn (FIDELIO)
Modern industrial robots are complex and powerful machines, able to execute a wide range of different tasks with high speed and accuracy. Nevertheless, they still have a low degree of autonomy and adaptability, and need a human operator to learn new tasks or tune existing ones.
In the last twenty years robotic researchers have been focusing on the Learning From Observation paradigm, developing prototypic robotic systems able to observe and learn from human operations. In this new paradigm, the information coming from a range of observations is analysed and transformed into an abstract representation of the task. By using such information, and exploiting the abstraction capabilities of a suitable cognitive system, the robot can autonomously generate a program to reproduce the task, even if the environment is different from the one observed during the learning phase.
The FIDELIO project's aim is the research into the feasibility (and the related advantages) of this innovative approach in an industrial application scenario, exemplified by a fixtureless wheel deburring task. To this end, a robotized cell has been set up, composed of a Comau SmartSix industrial manipulator and a workstation where aluminium wheels are placed for deburring. On top of the workstation a camera frames the workspace in order to locate the wheel. The arm is equipped with a pneumatic deburring tool connected to the robot end-effector through a force/torque sensor. In addition, an eye-in-hand camera is mounted at the robot end-effector, framing the cutting tool and the deburring edge.
The experiment has been focused on three main topics: an innovative programming technique based on walk-through programming, an eye-in-hand inspection system to measure burrs characteristics, and a methodology to autonomously learn the deburring skill.
FIDELIO is one of the experiments of the FP7 project ECHORD (FP7/2007-2013 - Challenge 2 - Cognitive Systems, Interaction, Robotics - under grant agreement No. 231143).
Walk-through programming
In walk-through programming the human operator plays the role of a teacher that physically walks the robot through the desired path. Furthermore, in an industrial application, like metal finishing or spray painting, the physical interaction between the human operator and the robot should be conceived in such a way that the teacher has the impression to grab a real tool, e.g. a deburring tool or a spray gun, instead of the robot end-effector.
The role of the control system is thus to accommodate for the motion commanded by the teacher, mimicking the same dynamic behavior of the real tool, i.e. behaving like a virtual tool that has the same mechanical properties of the real tool. At the same time, the admittance controller allows to introduce two active safety tools that contribute to make human-robot interaction safe during the programming operation. On one hand, an adaptive nonlinear viscous friction limits the maximum end-effector velocity. On the other hand, virtual fences create a separation between the human body and the robot work-space.
The walk-through programming has been implemented and tested on a Comau SmartSix industrial manipulator, equipped with an ATI 6-axis wrist force torque sensor, exploiting the open version of the COMAU C4G controller.
The tests revealed that one of the most challenging problem in walk-through programming is the execution of a motion keeping the tool in contact with a hard surface.
An inspection system to characterize burrs
A visual triangulation system has been set up to measure the work-piece profile, to determine the presence of burrs and to measure the length and depth of each burr. The system is composed of a camera and a linear laser projector, whose pose with respect to the camera frame is determined by a calibration process.
The inspection device is mounted at the robot end-effector and a visual servoing algorithm allows to track the work-piece profile, so that the inspection can be automatically executed. The robot tracks the profile and periodically stops its motion in order to perform a sequence of image acquisitions, by which the work-piece profile is determined. The result of this process is a 3D profile of the deburring edge measured with an accuracy of a tenth of millimeter.
A further camera, mounted on the robot elbow or on a tripod, is used to localize the work-piece and refer the profile positions to a work-piece local frame. This allows to easily compare acquisitions of different work-pieces and to use the profile data to compute a robot path with respect to the world frame even for work-pieces located in a different position.
Autonomously learning the deburring skill
A deburring task can be completely specified considering a cutting path and a set of variables (feed-rate, cutting pressure, etc.) that determine the amount of material removed by the tool. The learning problem can be thus divided into two sub-problems: path learning and deburring skill learning. The latter concerns the development of a policy to select the cutting variables in such a way as to execute the machining process as fast and precise as possible.
The idea behind the path learning algorithm is the following: considering different work-pieces characterized by the same shape and dimension, and thus the same nominal path, but affected by burrs in different positions and of different length/depth, one should be able to combine all the information collected on these work-pieces in order to recover the nominal path. In particular, assuming that the burrs act like small and randomly distributed disturbances, the nominal path can be reconstructed computing the mean or the median curve among all the available paths.
On the other hand, reinforcement learning was used to automatically develop a policy to select the best values for the cutting variables, allowing for a fast removal of the excess of material together with a good finishing quality. To be more specific, a natural policy gradient algorithm was used to determine the deburring path from the work-piece profile. The policy was trained using a process simulator, that generates artificial profiles on the basis of a set of burr models acquired from an actual work-piece. This allow to rapidly converge to a good, though sub-optimal, parametrization without the need of a time-consuming and dangerous experimentation. This policy was then successfully used to execute a deburring task on a real work-piece.
QUADRIVIO
The popularity of the research on unmanned ground vehicles has been recently increasing due to their usefulness in different operating environments. Planetary explorations, search and rescue missions in hazardous areas, surveillance, humanitarian demining, as well as agriculture applications such as pruning vine and fruit trees, are examples of potential applications of autonomous vehicles in natural environments. Unlike indoor mobile robotics, where only flat terrains are considered, outdoor robotics deals with all possible natural terrains. The unstructured environment and the terrain roughness including moving obstacles and poorly traversable terrains make the problem extremely challenging. All-Terrain Vehicles (ATVs) are suitable to drive in outdoor environments and through poorly traversable terrains, and compared to other mobile platforms can drive at higher speed. ATVs, however, are also characterized by poor stability, roll- and tip-over phenomena, and excessive side slip. Those are the main drawbacks of these vehicles.
The QUADRIVIO project aims at developing a low-cost unmanned ground vehicle for search and rescue missions in hazardous areas, possibly after a natural disaster. To achieve this challenging goal the project develops:
- a virtual rider, a low-level stabilization system, including roll/tip-over prevention and obstacle avoidance mechanisms, that makes the vehicle autonomous at least for short range navigation
- a path planner that finds the best path in presence of rough and sloping terrains, taking into account the vehicle kinematic and dynamic constraints
- an ATV tracking controller that, acting on steer, throttle and brakes, tracks the desired path, ensuring the vehicle stability
QUADRIVIO is a national project founded by the Lazio region (FILAS program).