-
Notifications
You must be signed in to change notification settings - Fork 7
Unattended Behavior
What we really want to do is leave the robot alone for long periods of time while interacts with the world, gathering data and eventually performing useful tasks.
A basic unattended behavior is mapping the environment, finding known objects, and trying to pick them.
To pick objects with a single generic class, issue
endArgs "kr_dash2" setClassLabels createCachedClassifierFromClassLabels
mapAndPickL
To change the replacement of objects, issue
1 setRandomPositionAfterPick /* set to 0 to put it back where it was found, which is default */
It is nice to close the gripper automatically during grasps when an effort is sensed, rather than rely on height or the range finder:
1 setSnapToFlushGrasp /* set to 0 to use pre-set height, which is default */
If you are using a single object class, it makes sense to skip classification because it takes time and the answer will always be the same. To do this, issue this command:
2 setMapServoMode /* set to 0 for default behavior */
To pick immediately after pose estimation of each object during mappingPatrol rather than finishing pose estimation for the entire map before picking any objects, issue
1 setMapAutoPick /* set to 0 for default behavior */
This substantially decreased the likelihood of messing up the pose of an object between pose detection and picking.
To save images directly above pick attempts, issue
enableDiskStreaming 1 setStreamPicks /* on */
disableDiskStreaming 0 setStreamPicks /* off */
See Reference for more details about streaming.
All together now, this is a good one-liner:
endArgs "kr_dash2" setClassLabels 2 setGradientServoSoftMaxIterations 2 setGradientServoHardMaxIterations 1 mappingServoTimeout createCachedClassifierFromClassLabels 1 setMapAutoPick 2 setMapServoMode 1 setSnapToFlushGrasp 1 setRandomPositionAfterPick mapAndPickL