{"id":4466,"date":"2017-09-26T15:32:07","date_gmt":"2017-09-26T13:32:07","guid":{"rendered":"https:\/\/blog.generationrobots.com\/?p=4466"},"modified":"2025-03-24T12:28:17","modified_gmt":"2025-03-24T11:28:17","slug":"case-study-serval-project-teleoperated-robotic-arm-for-nuclear-decommissioning","status":"publish","type":"post","link":"https:\/\/www.generationrobots.com\/blog\/en\/case-study-serval-project-teleoperated-robotic-arm-for-nuclear-decommissioning\/","title":{"rendered":"Case study: SERVAL project (teleoperated robotic arm for nuclear decommissioning)"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"h-context-robotics-in-a-high-risk-area\">\n   <b>\n    Context: Robotics in a high-risk area\n   <\/b>\n  <\/h2>\n\n\n\n<p>\n   One good example of when robots are needed to replace humans is when it comes to intervening in high-risk areas, for example at the bottom of the sea, in space or in extreme terrain conditions (climate, topography, radioactivity, etc.).\n  <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"\/blog\/wp-content\/uploads\/2017\/08\/robot-zone-haut-risque.jpg\"><img fetchpriority=\"high\" decoding=\"async\" width=\"484\" height=\"464\" src=\"http:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/robot-zone-haut-risque.jpg\" alt=\"Robots operating in extreme environments\" class=\"wp-image-4238\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/robot-zone-haut-risque.jpg 484w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/robot-zone-haut-risque-300x288.jpg 300w\" sizes=\"(max-width: 484px) 100vw, 484px\" \/><\/a><\/figure><\/div>\n\n\n<p class=\"has-text-align-center\">\n   <b>\n    Robots operating in extreme environments\n   <\/b>\n  <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-cea-commissioned-generation-robots-to-lead-a-robotics-project-in-a-radioactive-environment\">\n   <b>\n    The CEA commissioned G\u00e9n\u00e9ration Robots to lead a robotics project in a radioactive environment\n   <\/b>\n  <\/h2>\n\n\n\n<p>\n   <b>\n    As a result, we worked with the\n    <a class=\"catalogue\" href=\"http:\/\/www.cea.fr\/english\" rel=\"noopener\" target=\"_blank\" title=\"The French Alternative Energies and Atomic Energy Commission\">\n     CEA (French Alternative Energies and Atomic Energy Commission)\n    <\/a>\n    for several years\n   <\/b>\n   , helping them to improve the working conditions of employees in the nuclear industry.\n  <\/p>\n\n\n\n<p>\n   In 2015 and 2016, the CEA asked\n   <a href=\"https:\/\/grlab.fr\/en\/\">\n    <br \/>\n    G\u00e9n\u00e9ration Robots\n   <\/a>\n   to create a behaviour package for\n   <b>\n    \u201cinspection\u201d, \u00ab\u00a0handling of radioactive materials\u201d and \u00ab\u00a0nuclear incident\u201d type scenarios\n   <\/b>\n   .\n  <\/p>\n\n\n\n<p>\n   You can find out more about our Nuclear Humanoid Inspection and Clean-Up Glove Box Robot project in the following document (in French):\n   <a class=\"catalogue\" href=\"https:\/\/hal.archives-ouvertes.fr\/hal-01254972\/document\" rel=\"noopener\" target=\"_blank\" title=\"Nuclear Humanoid Inspection and Clean-Up Glove Box Robot\">\n    Nuclear Humanoid Inspection and Clean-Up Glove Box Robot\n   <\/a>\n  <\/p>\n\n\n\n<p>\n   Extract: This research assesses the suitability of using humanoid robots in a nuclear environment. The DARwIn-OP platform was used and modified to enable it to intervene in a nuclear context.\n  <\/p>\n\n\n\n<p>\n   The work consisted in equipping the humanoid with both a radiological sensor and depth-camera arm control.\n  <\/p>\n\n\n\n<p>\n   The tests carried out show that it is possible to take radiological measurements using the integrated sensor and to take smears to assess object contamination.\n  <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"\/blog\/wp-content\/uploads\/2017\/08\/robot-hari-gerentaion-robots-cea-nucleaire.jpg\"><img decoding=\"async\" width=\"800\" height=\"449\" src=\"http:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/robot-hari-gerentaion-robots-cea-nucleaire.jpg\" alt=\"Nuclear Humanoid Inspection and Clean-Up Glove Box Robot\" class=\"wp-image-4240\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/robot-hari-gerentaion-robots-cea-nucleaire.jpg 800w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/robot-hari-gerentaion-robots-cea-nucleaire-300x168.jpg 300w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/robot-hari-gerentaion-robots-cea-nucleaire-687x386.jpg 687w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/figure><\/div>\n\n\n<p>\n   <b>\n    The Darwin-OP robot taking a smear to assess object contamination\n   <\/b>\n  <\/p>\n\n\n\n<p>\n   Our robotics engineering department (the GR Lab) had already carried out a similar study involving a robot with legs, the PhantomX hexapod.\n  <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"\/blog\/wp-content\/uploads\/2017\/08\/phantomx-ax-metal-hexapod-mark-iii-kit-full-kit-with-ax-12a-servomotors.jpg\"><img decoding=\"async\" width=\"800\" height=\"800\" src=\"http:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/phantomx-ax-metal-hexapod-mark-iii-kit-full-kit-with-ax-12a-servomotors.jpg\" alt=\"PhantomX hexapod robot\" class=\"wp-image-4241\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/phantomx-ax-metal-hexapod-mark-iii-kit-full-kit-with-ax-12a-servomotors.jpg 800w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/phantomx-ax-metal-hexapod-mark-iii-kit-full-kit-with-ax-12a-servomotors-150x150.jpg 150w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/phantomx-ax-metal-hexapod-mark-iii-kit-full-kit-with-ax-12a-servomotors-300x300.jpg 300w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/phantomx-ax-metal-hexapod-mark-iii-kit-full-kit-with-ax-12a-servomotors-140x140.jpg 140w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/phantomx-ax-metal-hexapod-mark-iii-kit-full-kit-with-ax-12a-servomotors-687x687.jpg 687w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-latest-cea-generation-robots-project-teleoperation-of-a-robotic-arm-for-nuclear-decommissioning\">\n   <b>\n    The latest CEA\/G\u00e9n\u00e9ration Robots project: Teleoperation of a robotic arm for nuclear decommissioning\n   <\/b>\n  <\/h2>\n\n\n\n<p>\n   For this new 2017 project, we had to\n   <b>\n    make it possible for a remote operator to perform dismantling operations using a teleoperated robotic arm mounted on a mobile platform.\n   <\/b>\n  <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-we-were-set-three-objectives-for-this-project-corresponding-to-three-different-types-of-tasks\">\n   <b>\n    We were set three objectives for this project, corresponding to three different types of tasks:\n   <\/b>\n  <\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\n    <b>\n     Teleoperation\n    <\/b>\n    : joint and Cartesian control of the robot arm using a graphical interface and 6D joystick.\n   <\/li>\n\n\n\n<li>\n    <b>\n     Sequences\n    <\/b>\n    :&nbsp;recording and playback of complex sequences of operations and trajectories\n   <\/li>\n\n\n\n<li>\n    <b>\n     Monitoring:\n    <\/b>\n    video feedback using a tool and ambiance camera, 6D force sensor and 3D model planning\n   <\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-this-project-was-broken-down-into-2-phases\">\n   <b>\n    This project was broken down into 2 phases:\n   <\/b>\n  <\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\n    <b>\n     Hardware\n    <\/b>\n    part (hardware architecture)\n   <\/li>\n\n\n\n<li>\n    <b>\n     Software\n    <\/b>\n    part (software architecture)\n   <\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-robotic-arm-assembly-and-customisation-hardware-architecture\">\n   <b>\n    Robotic arm assembly and customisation (hardware architecture)\n   <\/b>\n  <\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-robotic-arm-for-nuclear-decommissioning\">\n   <b>\n    Robotic arm for nuclear decommissioning\n   <\/b>\n  <\/h4>\n\n\n\n<p>\n   We used an arm with\n   <b>\n    6 degrees of freedom\n   <\/b>\n   , necessary for decommissioning operations (in particular tasks involving use of a circular saw fitted to the end of the arm for cutting operations).\n  <\/p>\n\n\n\n<p>\n   We used Schunk PRL modules to create this arm with 6 degrees of freedom. Why?\n   <b>\n    Because they offer a very high power-to-weight ratio compared to the other robotic arms on the market.\n   <\/b>\n  <\/p>\n\n\n\n<p>\n   <b>\n    It is controlled using a CAN bus\n   <\/b>\n   , which is a system that allows the different sensors and actuators on a robotic platform to communicate with each other via integrated electronic boards. This greatly reduces the amount of required cable (essential for an articulated arm to ensure the cables do not get tangled up or pulled off).\n  <\/p>\n\n\n\n<p>\n   To be able to detect obstacles in real time, our team\n   <b>\n    developed a script that calculates the value of the torque exerted on each of the Schunk arm\u2019s joints\n   <\/b>\n   . If the value is too high, it means the arm has come up against an obstacle.\n  <\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-we-installed-two-cameras-on-the-platform\">\n   <b>\n    We installed two cameras on the platform\n   <\/b>\n  <\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\n    A\n    <b>\n     tool camera\n    <\/b>\n    on the robot arm, including zoom\/focus\/iris control, necessary for effectively carrying out the required tasks.\n   <\/li>\n\n\n\n<li>\n    A dome-type\n    <b>\n     ambiance camera\n    <\/b>\n    , allowing the operator to observe the environment in which the mobile robot is operating.\n    <b>\n     This camera can be fixed either to the ceiling of the room being explored or to the end of a rod mounted on the robot.\n    <\/b>\n   <\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"\/blog\/wp-content\/uploads\/2017\/08\/robot-dementelement-nucleaire-cea-serval-camera.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"675\" height=\"900\" src=\"http:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/robot-dementelement-nucleaire-cea-serval-camera.jpg\" alt=\"The CEA commissioned G\u00e9n\u00e9ration Robots to lead a robotics project in a radioactive environment\" class=\"wp-image-4244\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/robot-dementelement-nucleaire-cea-serval-camera.jpg 675w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/robot-dementelement-nucleaire-cea-serval-camera-225x300.jpg 225w\" sizes=\"(max-width: 675px) 100vw, 675px\" \/><\/a><\/figure><\/div>\n\n\n<h4 class=\"wp-block-heading\" id=\"h-an-additional-force-sensor\">\n   <b>\n    An additional force sensor\n   <\/b>\n  <\/h4>\n\n\n\n<p>\n   We\n   <b>\n    installed a force sensor\n   <\/b>\n   to measure the X\/Y\/Z forces and MX\/MY\/MZ moments on the tool.\n  <\/p>\n\n\n\n<p>\n   <b>\n    This allows adjustments to be made to the robotic arm\u2019s movements according to its environment (obstacle, type of material, etc.).\n   <\/b>\n  <\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-we-set-up-two-types-of-teleoperation\">\n   <b>\n    We set up two types of teleoperation:\n   <\/b>\n  <\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\n    <b>\n     Graphical interface\n    <\/b>\n    (HMI, or Human-Machine Interface): allowing joint and Cartesian control (position\/speed)\n   <\/li>\n\n\n\n<li>\n    <b>\n     6D&nbsp;joystick\n    <\/b>\n    (with 6 degrees of freedom, like the robotic arm): for Cartesian teleoperation (to determine the position of a point in space using a system of Cartesian coordinates).\n    <b>\n     We also created a real-time force feedback system (haptic system)\n    <\/b>\n    , allowing the user to know when the robot is nearing its physical limits, which are pre-defined in the interface.\n   <\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-lights-and-safety\">\n   <b>\n    Lights and safety\n   <\/b>\n  <\/h4>\n\n\n\n<p>\n   The robot must be able to illuminate its environment, so we installed\n   <b>\n    controllable lights\n   <\/b>\n   on the tool and base.\n  <\/p>\n\n\n\n<p>\n   Our engineers also installed several\n   <b>\n    safety devices\n   <\/b>\n   , including a\n   <b>\n    heartbeat\n   <\/b>\n   system to check that the control PC remains constantly connected to the robotic arm. They also added an\n   <b>\n    emergency stop button\n   <\/b>\n   .\n   <b>\n    The end users added a\n   <\/b>\n   <b>\n    door contactor\n   <\/b>\n   to check whether or not the door is open (open or closed).\n  <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-creation-of-the-software-architecture-software-architecture\">\n   <b>\n    Creation of the software architecture (software architecture)\n   <\/b>\n  <\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-ros-middleware\">\n   <b>\n    ROS middleware\n   <\/b>\n  <\/h4>\n\n\n\n<p>\n   This remotely operated arm, designed for use in a radioactive environment, was developed entirely using\n   <b>\n    ROS middleware\n   <\/b>\n   , to optimise the system\u2019s modularity and speed up developments by drawing on the existing library ecosystem.\n  <\/p>\n\n\n\n<p>\n   <b>\n    If you want to know more about ROS middleware, which we work with a lot, take a look at our feature article:\n    <a class=\"catalogue\" href=\"\/blog\/en\/ros-robot-operating-system-2\/\" title=\"What is ROS?\">\n     What is ROS?\n    <\/a>\n   <\/b>\n  <\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-low-level-communication\">\n   <b>\n    Low-level communication\n   <\/b>\n  <\/h4>\n\n\n\n<p>\n   <b>\n    Low-level communication compartmentalises and simplifies data transmission between the main computer and the various components\n   <\/b>\n   , such as the actuators, LEDs, sensors and other electronic components. We used the\n   <b>\n    ros_canopen protocol\n   <\/b>\n   to communicate with the robotic arm.\n  <\/p>\n\n\n\n<p>\n   We worked with\n   <b>\n    MoveIt,&nbsp;the standard motion planning library used by ROS\n   <\/b>\n   ,&nbsp;for the inverse kinematics and trajectory planning. It is a library developed by Willow Garage (also responsible for ROS). MoveIt is fully integrated with ROS.\n  <\/p>\n\n\n\n<p>\n   <b>\n    We introduced some changes in order to more effectively plan difficult Cartesian trajectories and to better anticipate and avoid obstacles.\n   <\/b>\n  <\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-control-interface\">\n   <b>\n    Control interface\n   <\/b>\n  <\/h4>\n\n\n\n<p>\n   We used the\n   <b>\n    PySide&nbsp;library\n   <\/b>\n   to develop the graphical interface, with ROS communication with all the C++ modules managing the critical aspects.&nbsp;PySide\n   <b>\n    is a free module that allows you to connect the Python language with the Qt library\n   <\/b>\n   .\n   <b>\n    Qt is an object-oriented API developed in C++ that offers for example graphical interface\n   <\/b>\n   , data access and network connection components.\n  <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\n    <b>\n     Sequence recording and playback\n    <\/b>\n    : it is possible to record and replay points and trajectories, and to create complex sequences of operations involving use of the tool and the force sensor.\n    \n   \n<ul class=\"wp-block-list\">\n<li>\n      <b>\n       Reflex mechanisms\n      <\/b>\n      : to automatically monitor force sensor values and joint torques and trigger pre-configured reflex trajectories (returning to a target time or distance).\n     <\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"\/blog\/wp-content\/uploads\/2017\/08\/interface-cas-client-cea-serval.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"453\" src=\"http:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/interface-cas-client-cea-serval.jpg\" alt=\"interface-cea-serval\" class=\"wp-image-4242\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/interface-cas-client-cea-serval.jpg 800w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/interface-cas-client-cea-serval-300x170.jpg 300w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/interface-cas-client-cea-serval-687x389.jpg 687w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-mobile-base-husky-robot\">\n   <b>\n    Mobile base: Husky robot\n   <\/b>\n  <\/h3>\n\n\n\n<p>\n   We chose the Husky robot as the mobile base for this project, a robotic platform that performs extremely well, even under difficult conditions. Equipped with a powerful four-wheel drive chassis, it can be rapidly customised and can move over rough terrain in extreme conditions (IP44 protection rating).\n  <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"\/blog\/wp-content\/uploads\/2017\/08\/husky-mobile-base.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"313\" height=\"175\" src=\"http:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/husky-mobile-base.jpg\" alt=\"husky-mobile-base\" class=\"wp-image-4250\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/husky-mobile-base.jpg 313w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2017\/08\/husky-mobile-base-300x168.jpg 300w\" sizes=\"(max-width: 313px) 100vw, 313px\" \/><\/a><\/figure><\/div>\n\n\n<p>\n   Our GR Lab engineers specialise in developing innovative, customised robotics and artificial intelligence solutions for professionals, like the robot created for EDF.\n  <\/p>\n\n\n\n<p>\n   If you have an idea for a project, feel free to contact us so we can help you bring it to life. Our service and software will make the difference!\n  <\/p>\n\n\n\n<p>\n   Contact us at\n   <strong>\n    <span style=\"color: #ff6600;\">\n     contact@generationrobots.com\n    <\/span>\n   <\/strong>\n   or by phone at\n   <strong>\n    <span style=\"color: #ff6600;\">\n     05 56 39 37 05\n    <\/span>\n   <\/strong>\n   .\n  <\/p>\n\n\n<p><br \/>\n<\/p>","protected":false},"excerpt":{"rendered":"<p>Context: Robotics in a high-risk area One good example of when robots are needed to replace humans is when it comes to intervening in high-risk areas, for example at the bottom of the sea, in space or in extreme terrain conditions (climate, topography, radioactivity, etc.). Robots operating in extreme environments The CEA commissioned G\u00e9n\u00e9ration Robots[&#8230;]<br \/> <a class=\"button\" href=\"https:\/\/www.generationrobots.com\/blog\/en\/case-study-serval-project-teleoperated-robotic-arm-for-nuclear-decommissioning\/\" style=\"float:right;\">Read this article &gt;&gt;<\/a><\/p>\n","protected":false},"author":188,"featured_media":4451,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10541],"tags":[],"class_list":["post-4466","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-customer-cases-applications"],"_links":{"self":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/4466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/users\/188"}],"replies":[{"embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/comments?post=4466"}],"version-history":[{"count":4,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/4466\/revisions"}],"predecessor-version":[{"id":19902,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/4466\/revisions\/19902"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/media\/4451"}],"wp:attachment":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/media?parent=4466"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/categories?post=4466"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/tags?post=4466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}