Softbody Simulation In Gazebo For Satellite Servicing

4m ago
1.91 MB
8 Pages
Last View : 16d ago
Last Download : n/a
Upload by : Albert Barnett

Softbody Simulation in Gazebo for Satellite ServicingHudson Thomas and Simon LeonardLab for Computational Sensing and Medical Robotics,Johns Hopkins University, Baltimore, MD(Dated: August 18, 2016)AbstractThe purpose of this project was to incorporate soft body simulation provided by the Bulletphysics engine into the Gazebo simulation environment for a satellite servicing robot. The tasksof simulating and rendering the soft body were divided into two separate Gazebo plugins. Theseplugins, along with minor modifications to the gazebo source code, enabled us to simulate andrender a realistic soft body that could interact with native Gazebo objects as well as with physicalforces like gravity. This capability may also have applications in other fields like surgical roboticssimulation.1

I.INTRODUCTIONA.The Problem of Satellite ServicingSatellites have revolutionized what human society can do as well as what it knows. Inthe coming age of cheap space flight, the technological and scientific benefits that satellitesprovide will only increase at a faster and faster pace.However, the capabilities of satellites will always be limited by their cost. Millions if notbillions of dollars are invested into each of these machines which can only operate until itcollides with space junk or runs out of fuel. In the past, some high value satellites like theHubble have been repaired via space-walks, but even these high-risk missions are no longerpossible due to the termination of the space shuttle program.1 The goal of NASA’s RestoreLmission is to re-enable satellite servicing using robots.One of the major technological challenges associated with robotic satellite servicing is thetelemetry delay that occurs between the robot operator and the on-orbit servicing robot.This delay (1-7 seconds) greatly decreases the performance of the telerobotic task.B.The Problem of the Time delayThe goal of the satellite servicing research at JHU is to “develop new methods for telerobotic on- orbit servicing of spacecraft under ground-based supervisory control of humanoperators to perform tasks in the presence of uncertainty and telemetry time delay of severalseconds.”2The general setup of the lab’s teleoperation solution to satellite servicing is shown inFig. 1. The problems of uncertainty and telemetry time delay are addressed by each of thethree components of the setup: the human operator uses a da Vinci surgical robot mastercontroller for intuitive and precise robot control; the on-orbit servicing robot uses dynamicforce sensing and image processing to check for errors in real time; and the simulationdisplays a live model of the satellite-robot system to eliminate the effects of the time delayfrom the operator’s commands. As shown in the diagram, the pose information of thesatellite-robot system in the simulation is sent to the robot which acts to match the realenvironment to the environment in the simulation.The accuracy of the simulation is vital for minimizing unforeseen errors and increasing2

FIG. 1. The telerobotic satellite servicing project setup used by the Teleoperation Lab at JHUhas three main parts, the robot operator on the ground, the on-orbit servicing robot, and thesimulation with which the robot operator interacts.precision. The goal of the project addressed in this paper was to further develop the realnessof the simulation by adding the ability to model non-rigid objects (or soft bodies). Soft bodysimulation is important for modeling several parts satellite-robot system, including the softmulit-layer insulation on the outside of the satellite (which needs to be cut for refueling andrepair), as well as the refueling hose (which needs to not be cut accidentally during robotoperation).C.The problem with GazeboWe used the Gazebo simulation software for our robot-satellite model, but althoughGazebo is very useful for most robot simulation applications because of its support for ROS,it is limited by the fact that it cannot yet simulate deformable objects.Gazebo has two main parts, the server and the client. The server processes the physics ofthe environment, which involves calculating the full state of each body involved in the sim3

ulation taking into account the forces and velocities on each object as well as any additionaldata inputted from external controllers. The client receives pose data in messages from theserver and displays the environment in a neat graphical user interface that adds convenientfunctionality and visualization.The server allows for the use of several different physics engines, each of which is optimizedfor different kinds of simulations.3 We chose to use the Bullet physics engine because it cansimulate deformable objects. However, while Gazebo supports Bullet , it does not yetsupport Bullet’s soft body libraries specifically. Gazebo does, however, support third partyplugins that allow for hard coded customization. We used these plugins to add Bullet softbody functionality to Gazebo.D.Soft BodiesBullet simulates soft bodies as collections of nodes, links, and faces. Nodes contain thepose, mass, force, and velocity information of each vertex in the soft body. The links actas springs between the nodes and allows for customization of deformation constants likebending and stretching. The faces give the soft body surface area allowing it to interactwith fluid forces like wind.Collision shapes are commonly used in simulations to allow the user to simplify thesimulated object in order to cut back on computational strain. Bullet processes rigid bodycollisions by determining the proximity of each body’s collision shape. However, this shapeis determined at compile-time, which is problematic for soft objects because their shapechanges during the simulation.Bullet handles collisions between a soft body and another body by iterating through thesoft body’s nodes any checking if any of them are in contact with the other body’s collisionobject.II.PROJECT DESIGNWe decided to follow Gazebo’s two part model by adding two gazebo plugins to thesimulation in order to handle the physics and collisions of the soft body as well as itsvisualization. The project setup is shown bellow in FIG. 2.4

FIG. 2. The overall structure of the project: the model plugin handles the physics and collision ofthe soft body and the visual plugin handles the graphicsThe model plugin is attached to an object already in the Gazebo world. This objectis very useful because it connects the Gazebo world and the soft body that is hard codedinto the plugin. (We acknowledge that having an extra object is not ideal because it addscomputational strain on the simulation. In our project, we minimized this by making itvery small (not graphically intensive) and by eliminating its collision element so it doesn’tunintentionally collide with another object.) We were then able to create a Bullet softbody in the plugin and add it directly to the Gazebo world to allow for collision with otherobjects. The model plugin then copies the location of each of the nodes in the soft bodyinto a Gazebo message and sent it to the visual plugin.The visual plugin was attached to the visual component of the same object as the modelplugin. In the same way that the model plugin needs this connection to get access tothe physical simulation, the visual plugin needs this connection to access the pre-renderingevent necessary for adding graphics. Because Gazebo does not have graphic support fordeformable objects, we created a mesh in Ogre and added it to the 3D space Gazebo wasusing to display the other objects. The visual plugin then updated the position of each of thenodes in the mesh according to the node poses sent in the message from the model plugin.The message update callback function that was used to read the position of the soft bodyfrom the model plugin was not called contemporaneously with the pre-rendering event, sowe used an ordering variable to ensure that the pre-render function was only called once the5

message had been completely read from the model plugin in order to avoid ”index out ofbounds” errors.In addition to these plugins, minor changes had to be made to the Gazebo source codeto enable soft-rigid collision. The entire project as well as these changes to Gazebo will bemade public in our Git repository.With this setup we expected the soft body to be able to interact with other native rigidgazebo objects as well as other soft bodies, and to be affected by physical forces like gravityand electromagnetism. We predict that these characteristics of the soft body would make itsufficiently realistic for the satellite servicing simulation.III.RESULTSWe were able to create a visually realistic simulation of a cloth that could interact withnative gazebo objects as well as with gravity. Snapshots of the simulation are shown belowin FIG. 3.FIG. 3. The snapshot on the left shows the Bullet soft body that we created simply swinging dueto the effects of gravity. The snapshot on the right shows the soft body colliding with rigid cubesnative to gazebo.IV.FUTURE WORKOne of the problems with our simulation (apparent in the rightmost image in FIG. 3)is that, although the major collision bodies are behaving physically, there are also placeswhere some corners of the cubes penetrate the cloth. This is most likely due to the relativelycoarse resolution of the nodes in the soft body and of the vertices in the cube, and we expectto be able to solve this problem with increased node/vertex count.6

A second goal for future work is to be able to model other types of soft bodies beyond asimple cloth. We predict that the model plugin should be able to support the other types ofsoft bodies provided by Bullet like tetrahedral meshes and point clouds. However, becausethe Gazebo doesn’t support visualization of any of these bodies, it will by necessary to createnew visual plugins for each of these types of objects or a single more general plugin thatcan handle all types of Bullet soft bodies. Support for these other types of soft bodies maybe useful for modeling volumetric soft bodies like the refueling hose in a satellite refuelingmission and even soft tissue in a robotic surgery application.In addition to creating visual support for volumetric soft bodies, we also plan to developcutting methods for simulating cutting the soft multi-layer insulation surrounding the satellite. We have already made some progress in this direction, and are testing several differentcutting methods to maximize realism and minimize computational effort.V.CONCLUSIONWe have demonstrated the ability to realistically model and visualize non-rigid bodiesin Gazebo. This capability will increase the accuracy of the satellite-robot simulation,hopefully decreasing the probability for unforeseen errors during satellite servicing. Moreeffective robotic satellite servicing will decrease the overall cost of maintaining a satelliteand hopefully encourage future satellite innovation, helping us to continue to revolutionizeour society and learn more about our world and the universe beyond.ACKNOWLEDGMENTSThis work is supported by NSF grant #EEC-1460674. The authors gratefully acknowledges Jonathan Bohren and the rest of the Teleoperation Lab at Johns Hopkins Universityfor their help and support during this project. [email protected]

1“On-orbit satellite servicing study project report. Technical report” NASA GoddardSpace Flight Center, Satellite\%20ServicingProject Report 0511.pdf, 2010.2Tian Xia, Simon Leonard, Isha Kandaswamy, Amy Blank, Louis L. Whitcomb and PeterKazanzides, “Model-Based Telerobotic Control with Virtual Fixtures For Satellite ServicingTasks” 2013 IEEE International Conference on Robotics and Automation (ICRA 2013), 1479 1484, May 2013.3Steven Peters, John Hsu ,“Comparison of Rigid Body Dynamic Simulators for Robotic Simulation in Gazebo”, /uploads/2015/04/roscon2014 scpeters.pdf, 2014.8

Aug 18, 2016 · body functionality to Gazebo. D. Soft Bodies Bullet simulates soft bodies as collections of nodes, links, and faces. Nodes contain the pose, mass, force, and velocity information of each vertex in the soft body. Th