Comments (3)
After some investigation and tests concerning my questions, I came to the conclusion that, indeed, if you specify state bounds (e.g. limit max and min joint positions and angular velocities for a manipulator), crocoddyl seems to automatically includes self-collision avoidance in terms of those soft constraints. This is quite interesting since, at least for me, I didnt saw a hint to that anywhere? Did I miss something? Or am I completely mislead?
from crocoddyl.
Hi @ThorbenPultke,
We are happy that you find useful Crocoddyl and we welcome you to contribute to our project.
I am not sure if you have sorted out your doubts; however, let me explain you a few things.
The above-mentioned example adds a quadratic penalisation (soft constraint) to the robot's state limits. It encourages the solver to find solutions that don't violate the joint limits, for instance, but I wouldn't say its purpose is to model self-collision (soft-)constraints. Self-collision involves checking whether two or more geometries are colliding.
Crocoddyl also supports the evaluation of self-collision constraints. This can be done through the ResidualModelPairCollision
class (see https://github.com/loco-3d/crocoddyl/blob/master/include/crocoddyl/multibody/residuals/pair-collision.hpp). Note that this class is compiled when you have installed Pinocchio with HPP-FCL support.
Finally, we are working on novel solvers to handle efficiently any type of constraint.
If this reply answers your questions, then I would ask you to kindly close this issue.
Thanks,
Carlos
from crocoddyl.
Hi Carlos!
Thank you so much for your detailed explaination. I indeed was quite confused with the comment "cost for self-collision"
while doing my research on how one would include self-collision avoidance.
I now managed to include soft constraints via the cost function with your mentioned class to avoid those self-collisions. Thanks again for your help! :)
Thorben
from crocoddyl.
Related Issues (20)
- What are activations and residuals? HOT 4
- Confusion with the cost function for the impulse model in the quadruped example HOT 2
- Compatibility with Numpy 1.23.0 HOT 4
- I want a C++ example HOT 1
- Crocoddyl/unicycle.py - where is it located? HOT 1
- Python: ShootingProblemTpl -> no set_x0() function HOT 1
- Optimize the [F]DDP Line Search for MPC HOT 13
- Crocoddyl does not work with numpy anymore (np.__version__ >= 2.23) HOT 3
- State regularization HOT 2
- FDDP for MPC and Implementation of a custom loss function HOT 6
- DifferentialActionModelFreeFwdDynamicsTpl does not update data.pinocchio HOT 4
- Python binding `Solver.solve()` inflexible argument handling and exception translation. HOT 3
- Trajectory optimization of a wheeled robot HOT 3
- `ActivationModelQuadraticBarrier` does not respect upper and lower bounds when one of the bounds is `np.inf` HOT 6
- Some errors happen when importing crocoddyl HOT 11
- SIGABRT in Custom DifferentialActionModel HOT 1
- SIGABRT in ActionModelFull HOT 2
- Crocoddyl with pinocchio3-preview branch tests fail HOT 2
- Obstacle avoidance utilizing pairCollision HOT 3
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 crocoddyl.