echandler5956f / Galileo

A light-weight and extensible C++ library for Pseudospectral Collocation of Switched Systems
MIT License
57 stars 5 forks source link

Discuss how to improve Environment Surfaces moving forward. #68

Open Akshay5312 opened 8 months ago

Akshay5312 commented 8 months ago

The main problems I see are

  1. Indexing environment surfaces. Each surface should be provided a hash or key of some sort. Adding naive IDs based on order may provide problems when deleting and updating. Also, are we storing all the surfaces observed? For more complicated robots (dexterity) that might be a lot of un-obvious indices.
  2. Having to update environment surfaces; Currently you need to send a new environment surface to the solver when one is found. When a new observation only updates an existing one, how can we tell / update?
  3. Synchronization. With Galileo ROS, we do not have an easy or accessible surface accessor. There will be a problem with Environment Surface synchronization, where certain surfaces might not exist within a "solver" implementation, but do in an initialization implementation.

These may be simple to solve on their own, but I think in general the Environment Surface implementation could use some sort of (time permitting) creative do-over because otherwise similar problems will persist

Akshay5312 commented 8 months ago

Additionally, how do we make contact surfaces such that it is easy to describe a phase/sequence in a txt file?