20110309¶
Essential¶
- What is aborting a task (highly task / application dependent)
- High-level task queue in the top API level
- Asynchronous and synchronous nodes in data-flow
- Layers / blocks / node groups in the data-flow graph with identical timing
- Control Mode (on API level) activates / deactivates subgraphs / paths in data-flow graph
All nodes¶
- What to do if tasks sets command for only a subset of nodes:
- Other nodes do nothing
- What is doing nothing?
- Keeping last command?
- What to do in case of velocity control (keeping last velocity? or velocity to zero?)
- API provides task queue and task sequence (e.g. trajectory) queue
- Everything above (planning etc.) is out of scope of the control API
Data-flow¶
- Different timing and asynchronous nodes
- Need to handle package underflow and overflow
- Queuing strategies
- Warning, errors
- Do we want to have layers / blocks / groups in the data-flow graph?
- A layer / block has synchronous timing (in one cycle, each node is computed)
- Barrier between layers cares for data transition
- Barrier may have conditions (such as a certain control mode has to be active / inactive)
- Control Mode (on API level)
- activates / deactivates subgraphs / paths in data-flow graph
- activates / deactivates layers / blocks
- Execution of data-flow and introspection / visualization of data-flow is separated
- Base cycle time of the data-flow has to be synchronizable with the sample time of the robot interface
- to be able to execute controllers in one update cycle of the robot interface
- Data-flow graph is modelled
Arbitration¶
- Make it simple at the beginning
- Version (very simple): Robot is idle (can execute tasks), or tasks get queued for later execution
- Does not allow controlling two arms separately through one API
- Version: Named controllers - Client explicitly selects controller / control path by name (explicit arbitration / selection on client-side)
- Version (final): Automatic arbitration based on used resources
Ideas¶
- RCCL-Controller and -Tasks
Loading...