Constraint-Based Motion Planning in Deformable Environments
As the physical modeling of deformable objects has improved, developments in motion planning have followed to allow for motion planning with deformable robots. There has been previous work using both PRM planners and a constraint-based approach ([3]). There has, however, been very little work in planning in completely deformable environments ([8]). I propose to extend the constraint-based approach presented in [3] to allow for deformable environments. I also propose to use an FEM simulator to handle the object deformations to improve the accuracy of the simulation and the volume preservation of the objects.
Current state of the art
The previous work in motion planning for deformable robots and environments falls into two categories, constraint-based motion planning and roadmap planning, specifically using RRTs.
The approach of Garber and Lin provides an excellent framework for constraint based approaches. In this framework, the motion planning problem is reformulated as a series of constraints that represent the restrictions required by the motion planning problem (i.e. non-penetration, obstacle avoidance, joint constraints, goal attraction, etc.). This constraint system is then solved using relaxation methods and penalty forces. This method was extended by Gayle, et al ([3]) to allow for deformable robots in a rigid environment. The robot is simplified to a point and then a roadmap is generated Using a PRM. Using this roadmap as a guide, a path is planned and the robot is deformed by contact forces with the obstacles if necessary.
Rodriguez, et al. [8] developed a framework for planning in fully deformable environments using an RRT. The method differs from standard RRTs in that the roadmap is generated in force space not c-obstacle space. This allows them to keep track of the deformations of the robot and environment over time, something that is not possible in c-obstacle space or using a PRM in force space. Their framework is able to solve a large number of problems; however, their runtime is far from real-time.
Motivation
Although the world is not a completely rigid environment, it can often be very successfully approximated as one, making motion planning with deformable robots and environment somewhat superfluous for general real-world applications. The human body, especially the interior, however, is highly deformable and therefore is poorly approximated using rigid models. By modeling the organs within the human body as deformable objects, we are able to plan paths that will cause the least damage for the hand or an organ as it is moved through the body cavity during surgery.
Goals
Although Rodriguez, et al. succeeds in planning motion for deformable environments, their experimental examples were generally simple and did not fully explore the applications in surgery. Their runtimes were also over an hour for complex environments. I propose to extend the work of Gayle, et al. to include fully deformable environments simulated using an FEM simulator. Using an FEM simulator will provide more accurate results than the mass-spring system implemented in the original paper by Gayle, making the implementation more valuable for planning problems that require high accuracy. These extensions will hopefully provide the ability to plan in a deformable environment in real-time or close to real-time, something that cannot be provided by the solution posed by Rodriguez, et al. I also aim to tackle more complex applications including those that might be valuable in surgical settings.
Given more time, I would also like to explore the possibility of cooperation among multiple different robots. Given two robots with different restrictions (or penalties) for deformation, having one robot deform an object so that another may pass through with less deformation would be an interesting test environment. This also has direct applications in surgery, where a very sensitive organ (such as the heart) must be placed back into the body; it may be beneficial to deform some of the other organs with the hand (or other surgical tool) before trying to place the heart back into the body cavity.
Demos/Applications
- Planning a path for the liver (or any other organ) being moved from inside the body out of it (or the reverse).
- Planning a path for a deformable robot through an environment where there is no path to the goal unless the environment is deformed.
- Examples from Rodriguez, et al. for comparison of planning speed.
Tasks
- Implement an FEM simulator (Nov. 13, 2007).
- Replace the mass-spring simulator in Russ' code with the FEM simulator (Dec. 12, 2007).
- Modify the PRM planner to use a heuristic for determining the initial path with the deformable environment (Dec. 12, 2007).
- Modify the obsticles to allow them to deform (Dec. 12, 2007).
October 31st Update
So far I have done the following things for my project:- Read all the papers listed below in the references
- Downloaded and read through the code available at OpenTissue.org, which I plan to use as the framework for my FEM simulator
- Thought about some possibilities for the heuristic that will be used in the PRM planner to determine the guide path for the robot
- I could shrink the size of the objects based on their material properties
- I could use the FEM simulator to determine all the possible deformations of the object and then replace the obstacle with the region of space that always remained covered by the obstacle
November 20th Update
As stated in my task list above, I have implemented an FEM simulator and got it working at interactive rates. I have provided a video of a rubber-like block fixed on the right edge deforming under the weight of gravity. The user then pulls the block around slightly to display the stability and robustness of the simulator. I also created another video with a simular scenerio except that the block is now modeled with a much larger stiffness. The program can also be downloaded here (press 'g' to begin the simulation). While completing this portion of my project I developed a few more goals that I will need to accomplish along with the goals listed above:- Implement collision detection for my FEM simulator. Hopefully using CULLIDE but possibly GIMPACT through Bullet
- Add a preconditioner to my conjugate gradient solver
- Look into whether deformations in the simulations I will be performing will be large enough to warrent implementing stiffness warping
- Look into implementing Shewchuk's isosurface stuffing algorithm if it looks like TetGen is giving me unsatisfactory results
References
[1] A. Witkin and D. Baraff, "Physically Based Modeling: Principles and Practice", ACM Press, 1997, course notes of ACM SIGGRAPH.[2] M. Garber and M. Lin, "Constraint-based motion planning using voronoi diagrams," Proc. Fifth International Workshop on Algorithmic Foundations of Robotics, 2002.
[3] R. Gayle, M.C. Lin, and D. Manocha, "Constrait-Based Motion Planning of Deformable Robots," Proceedings of International Conference of Robotics and Automation (ICRA), 2005.
[4] S.M. LaValle, Planning Algorithms, Cambridge University Press (or http://msl.cs.uiuc.edu/planning/), 2006.
[5] M. Müller, J. Dorsey, L. McMillan, R. Jagnow, B. Cutler, "Stable real-time deformations," Proceedings of the ACM SIGGRAPH/Eurographics symposium on Computer animation, 2002 .
[6] M. Müller, M. Gross, "Interactive virtual materials," Proceedings of Graphics Interface, 2004.
[7] A. Nealen, M. Müller, R. Keiser, E. Boxerman, M. Carlson, "Physically Based Deformable Models in Computer Graphics", Eurographics STAR, 2005.
[8] S. Rodriguez, J. Lien , and N. Amato, "Planning motion in completely deformable environments," Proc. of IEEE Int. Conf. Robot. Autom. (ICRA), 2006.