facebookresearch / facebookresearch/theseus

Features to improve obstacle avoidance functionality

Open
#7 2 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
2.1k
Forks
149
PR merge metrics
No merged PRs in 30d

Description

## 🚀 Feature

- Implicitly handle planar or 3D signed distance fields (SDF).
- Support to initialize from occupancy grid (and calculate SDF internally). Will of course be slow for large and/or 3D grids (and we can put a comment for it).
- Flexibility for passing user defined custom obstacle cost functions (possibly overlaps with learnable cost function api).
- Provide option to pass PlanarSDF if its data is constant, to avoid creating a new one for each factor.
- Ensure that map edges are correctly considered: add a flag for providing user options to decide if out of map bounds is free or occupied. (see context below)
- Evaluate the interplay of different options with outer loop optimization (e.g., when learned initial variables go out of bounds during the outer loop optimization).
## Motivation

## Pitch

## Alternatives

## Additional context

https://github.com/facebookresearch/theseus/blob/main/theseus/embodied/collision/signed_distance_field.py#L59

![image](https://user-images.githubusercontent.com/4759586/144929986-abdecbc6-047e-46d3-a692-6bdf2dbedc29.png)

Contributor guide

Open the contributing guide

Research direction

Start with theseus/embodied/collision/signed_distance_field.py around line 59 and trace the current PlanarSDF usage and obstacle-cost flow. Review the existing collision and optimization entry points before deciding how the listed SDF, occupancy-grid, custom-cost, map-boundary, and outer-loop options should interact. Done means the requested behaviors are implemented and their interactions are evaluated.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
robotics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.