Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
tutorials:beginner:process_modules [2016/01/25 11:38] gkazhoyatutorials:beginner:process_modules [2016/01/25 17:13] – [Process modules: an overview] gkazhoya
Line 10: Line 10:
 A process module is a program that controls a robot actuator. Different robots will have different kinds of actuators, requiring different kinds of controllers, and we would like to abstract away such specifics at the high level of task specification. When we ask a robot to clean a kitchen, we don't care that it has two arms or one; rather, as long as it has some capacity to manipulate objects, and some ability to move around, we can issue the cleaning task to it. Process modules allow us this flexibility by providing a well-defined, robot-independent interface to high level planning which works as an abstraction layer over the robot controllers. You can read some more about process modules in the [[http://cram-system.org/doc/package/cram_process_modules|documentation of the package]]. A process module is a program that controls a robot actuator. Different robots will have different kinds of actuators, requiring different kinds of controllers, and we would like to abstract away such specifics at the high level of task specification. When we ask a robot to clean a kitchen, we don't care that it has two arms or one; rather, as long as it has some capacity to manipulate objects, and some ability to move around, we can issue the cleaning task to it. Process modules allow us this flexibility by providing a well-defined, robot-independent interface to high level planning which works as an abstraction layer over the robot controllers. You can read some more about process modules in the [[http://cram-system.org/doc/package/cram_process_modules|documentation of the package]].
  
-For better organization, process modules can also be referenced by aliases that describe what kind of function they can perform. Currently, in the ''cram_pr2'' stack for the PR2 mobile manipulation platform the following aliases are defined:+For better organization, process modules can also be referenced by aliases that describe what kind of function they can perform. For examplecurrently in the ''cram_pr2'' stack for the PR2 mobile manipulation platform the following aliases are defined:
  
   * :navigation   * :navigation