Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Collect, store 3D data persistently while running #14

Open
nickswalker opened this issue Feb 20, 2020 · 1 comment
Open

Collect, store 3D data persistently while running #14

nickswalker opened this issue Feb 20, 2020 · 1 comment

Comments

@nickswalker
Copy link
Member

There are two possible "first-whacks" at picking and placing.

One is doing perception from scratch whenever we need it:

  • Drive to table
  • Collect several point clouds, aggregate, filter, segment
  • Grasp a segmented cloud
  • Throw away all perception data, move to cupboard

The advantage is that the robot is well localized with respect to the point cloud; it hasn't moved since it gathered the data.
The disadvantage is that it takes multiple seconds to repeat this perception and processing each time it approaches the table.

The alternative is to keep a coarse octomap running and integrating point clouds constantly, and to rely on being localized enough :

  • Drive to table
  • Pull out chunk of octomap corresponding to area in front of robot, segment
  • Grasp a segmented cloud
  • Move to cupboard

In practice, the time constraints of tasks mean that it's highly advantageous to avoid re perceiving. It is an open question how well the octomap performs given our sensors and compute. The octomap will probably be based on realsense point clouds, so it'll run on the xavier to avoid transmitting that data to the main computer. We'll need the bringup and launch files to be in place already (homeskies/uw_fetch#7). We also need the realsense to be well calibrated before we try this (homeskies/uw_fetch#4)

@nickswalker
Copy link
Member Author

Update: I extracted a basic version of Villa's pointcloud aggregator/octomap wrapper. It'll need to be hooked up to a 2D bounding box detector (#5) in order for it to be useful. It also contains some of the surface detection, tabletop-perception style extraction, though it isn't exposed well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant