This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| projects:sandbox_ingo [2013/04/15 14:26] – moved a note to appropriate section kresse | projects:sandbox_ingo [2013/04/15 14:27] (current) – ... kresse | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Ingo's ROS code sandbox ====== | ||
| + | |||
| + | You can check out my public Mercurial repository with: | ||
| + | |||
| + | hg clone http:// | ||
| + | | ||
| + | **NOTE**: The relevant code is being moved to github and bitbucket. Stay tuned. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Among other stuff it contains: | ||
| + | |||
| + | * a system for constraint based task description: | ||
| + | * specify constraints between two objects like height, distance, align, ... | ||
| + | * specify a range of allowed values for each constraint | ||
| + | * orocos realtime component (based on iTaSC) | ||
| + | * python executive, sending ROS messages to that component | ||
| + | * a visualization of constraints for rviz, using the task jacobian | ||
| + | * a visualization of twists for rviz | ||
| + | * a pretty general joystick-to-twist converter | ||
| + | * a little tool that makes your speaker (or soundcard) beep tunes from ROS. | ||
| + | |||
| + | ----- | ||
| + | |||
| + | ==== Console Interface for feature_constraint_controller === | ||
| + | |||
| + | command line script ' | ||
| + | |||
| + | * '' | ||
| + | chi: | ||
| + | 1.1 2.2 -4.44 ... | ||
| + | joints: | ||
| + | 1 2 3 | ||
| + | ... | ||
| + | </ | ||
| + | * '' | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | The semantics of ''// | ||
| + | into a small range around this value, a string becomes 'not important' | ||
| + | the respective weight to zero. The command '' | ||
| + | numeric values. | ||
| + | |||
| + | * '' | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | ----- | ||
| + | |||
| + | Slightly different approach: A rosparam interface. | ||
| + | * state get yaml > | ||
| + | * '' | ||
| + | * '' | ||
| + | * ... | ||
| + | |||
| + | Nothing speaks against supporting both interfaces. | ||
| + | |||
| + | Why not: | ||
| + | * '' | ||
| + | |||
| + | This would be too error-prone to use since the value of /state/chi (which is only a name) would stay on the param server and would influence the next call to '' | ||
| + | |||
| + | ----- | ||
| + | **NOTES**: | ||
| + | |||
| + | * Joint angles and poses are taken from ''/ | ||
| + | * The interface to the feature constraint controller is defined by it's name prefix and the topics < | ||
| + | * When no prefix is specified, the first feature controller that is found is used. | ||
| + | * Joint angle names are are recovered from the URDF using the package ' | ||
| + | |||
| + | ----- | ||
| + | |||
| + | **TODO**: | ||
| + | |||
| + | * When talking to two feature constraint controllers, | ||
| + | * (Future): What shall we do if two arms and/or several constraint sets are active in the same controller? Give names to arms and constraint sets and use these names with every invocation of '' | ||
| + | |||