Comments (5)
Original comment by gipson_b (Bitbucket: gipson_b, ).
(Reply via [email protected]):
I'll give a strong second to this, a state is meaningless without context, and it's often the case that a StateSpace is required when working with States.
For example when distance computations are required.
from ompl.
Original comment by Mark Moll (Bitbucket: mamoll, GitHub: mamoll).
Having a StateSpace pointer in every state would eliminate the need for ScopedState. However, the justification for not having this pointer that in any context where you accessing states you also have access to the state space, directly or indirectly (via SpaceInformation or SimpleSetup). Your math for memory usage is not quite right. If I have a compound state space with n copies of SO(2), the memory usage would double. If I start nesting compound state spaces, it gets even worse. IMO, more raw pointers will lead to more bugs. It's hard to guarantee that a state contains a pointer to the right state space (not just the right type, but the right instance). The semantics of who is responsible for allocation/deletion of states could get a little fuzzy. As you can tell, I am not so keen on it.
from ompl.
Original comment by Ryan Luna (Bitbucket: rluna, GitHub: rluna).
I'm not necessarily against adding the member pointer, but I'm not sure it is actually useful and the change may introduce more problems than it fixes.
Nearly every component has access to the StateSpace via SpaceInformation, and all of the general state operations can already be accessed there. Since the raw pointer would be saved in the state object, there could be some issues if the StateSpace was destroyed but some states were still hanging on to this pointer. We are currently insulated from this by using glorified blobs for states, which are distinct from the instance of StateSpace from which they were created (ScopedState uses StateSpacePtr). Also, creating a state the "easy way" using new may actually require more code since we would still need a handle to the StateSpace to give to the newly created state.
from ompl.
Original comment by Ioan Sucan (Bitbucket: isucan, GitHub: isucan).
This makes sense. We should not do it for now.
from ompl.
Original comment by Mark Moll (Bitbucket: mamoll, GitHub: mamoll).
appveyor fix #6
from ompl.
Related Issues (20)
- PathGeometric::checkAndRepair problem with path composed of two states HOT 6
- Error: RRTstar: There are no valid initial states! HOT 3
- Ompl works on ros2 humble? HOT 1
- Error while running ConstrainedPlanningTorus.py HOT 3
- /usr/bin/ld: ../lib/libompl.so.1.6.0: undefined reference to `dBodyGetQuaternion(dxBody*)' HOT 4
- make: *** No rules to make target 'update_bindings'. stop.
- [update_bindings](make: *** No rules to make target 'update_bindings'. stop.) HOT 3
- FileNotFoundError: [Errno 2] No such file or directory: 'bindings/base HOT 4
- from ompl import base as ob ^ IndentationError: unexpected indent HOT 1
- file INSTALL destination: /usr/local/share/man/man1 is not a directory. HOT 1
- Segmentation Fault on trying to access the vertex state of SPARS HOT 2
- Setting tolerances with the ompl.app SE3RigidBodyPlanning Class HOT 4
- Obstacle checking resolution for RRT and goal orientation matching HOT 15
- Allow reusing PlannerData in EIRM* HOT 1
- Unexpected intepolation with DubinsStateSpace HOT 3
- Reactive Motion Planning for 7 DoF Robot Arm using OMPL HOT 1
- How to take into account max speed joint in motion planning ? HOT 3
- ModuleNotFoundError: No module named 'ompl.app._app' >>> HOT 1
- Breakpoints not working when running demos HOT 1
- The PRMstar planner throws ompl::Exception on infeasible solutions when constructed from previous PlannerData HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ompl.