moveit_task_constructor/notes.org
Robert Haschke 499fcfb04b cleanup / renaming
* Rename pruneInterface() -> resolveInterface()
* Rename accepted (interface) -> expected
* Improve exception strings
2020-04-10 20:11:51 +02:00

54 lines
1.7 KiB
Org Mode

* scheduling
There are 2 levels of scheduling:
- choosing which state or state pair should be scheduled for execution
- choosing which stage should be scheduled for execution
Main goal is to find small-cost solutions fast.
To this end, we need to find a solution at all, i.e. connect start to end.
Second, we prefer small-cost solutions.
First sort by length of trajectory, second by sum of trajectory costs.
** approach
- scheduling priority for stage (default / assigned by user)
- fallback: sort stages by priority
- evaluate success rate
- expected costs of solutions
- expected computing time
- Container::schedule() -> return ordered list of stages to execute
* containers / interfaces
Basic stages have unique solutions connecting start-end.
Containers allow for several solutions connecting start-end:
- serial: several pathes might exist
- parallel: inherent
* notation
push vs pull connections
* TODO
** modify-ps
- std::function API
- replace templates with sfniae
** eef collision
- requires modification in MoveIt
- disable warnings vs. only consider relevant links (separate function?)
** MoveTo / MoveRelative
- interface: pass goal constraints
- fill goal constraints during setup?
requires transforms to be specified relative to current robot pose
** properties
- fix plan_pick_pa10: forward grasp property
- global type registry for serialization/deserialization functions
- use bits as enums to allow for configureInitFrom(PARENT | INTERFACE)
** incremental GraspPoseGenerator
in pending_ list, store the current angular value
** TaskModels
- move scene_, display_context_ to BaseTaskModel
- use registered property creators for RemoteTaskModel too
- deserialize property
- call creator function