PGCD
Autor: | Damien Zufferey, Gregor B. Banusić, Rupak Majumdar, Anne-Kathrin Schmuck, Marcus Pirron |
---|---|
Rok vydání: | 2019 |
Předmět: |
Model checking
0209 industrial biotechnology Domain-specific language Computer science business.industry Concurrency Robotics Geometry 02 engineering and technology 020901 industrial engineering & automation Imperative programming Synchronization (computer science) Programming paradigm Artificial intelligence business Robotic arm |
Zdroj: | ICCPS |
DOI: | 10.1145/3302509.3311052 |
Popis: | Robotics applications are typically programmed in low-level imperative programming languages, leaving the programmer to deal with dynamic controllers affecting the physical state, geometric constraints on components, and concurrency and synchronization. The combination of these features -dynamics, geometry, and concurrency- makes developing robotic applications difficult. We present PGCD, a programming model for robotics applications consisting of assemblies of robotic components, together with its runtime and a verifier. PGCD combines message-passing concurrent processes with motion primitives, which represent continuous evolution of trajectories in geometric space under the action of dynamic controllers, and explicit modeling of geometric frame shifts, which allow relative coordinate transformations between components evolving in space. We describe a verification algorithm for PGCD programs based on model checking and SMT solvers that statically verifies concurrency-related properties such as absence of deadlocks and geometric invariants such as absence of collision during motion. We have implemented a runtime for PGCD programs that compiles down to imperative code on top of ROS and runs directly on robotic hardware. We illustrate the programming model and reasoning principles by building a number of statically verified robotic manipulation programs on top of 3D-printed robotic arm and cart assemblies. |
Databáze: | OpenAIRE |
Externí odkaz: |