crocoddyl merge requestshttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests2019-11-07T23:00:17Zhttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/261Cleanup and minor bugs (boxddp plot and exposition of data_x/u in DAMNumDiff)2019-11-07T23:00:17ZCarlos MastalliCleanup and minor bugs (boxddp plot and exposition of data_x/u in DAMNumDiff)This PR does:
- solved #282,
- fixed problem with plot in quadruped-boxddp example
- added feature to the plotter
fyi @proyanThis PR does:
- solved #282,
- fixed problem with plot in quadruped-boxddp example
- added feature to the plotter
fyi @proyanCrocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/251Python integration of UAV & UAM2019-11-14T17:11:46ZPep Marti SaumellPython integration of UAV & UAMPython code to use Crocoddyl with UAVs (unmanned aerial vehicles) and UAMs (unmanned aerial manipulators)Python code to use Crocoddyl with UAVs (unmanned aerial vehicles) and UAMs (unmanned aerial manipulators)DocumentationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/250Improved regularizations in quadruped problem + example used ANYmal robot2019-10-24T15:04:17ZCarlos MastalliImproved regularizations in quadruped problem + example used ANYmal robotThis PR makes a tiny modification in the formulation of the quadrupedal problem, just changes the weight for the state and control regularization. This modification is done in both: c++ and Python versions.
Additionally, the quadrupedal...This PR makes a tiny modification in the formulation of the quadrupedal problem, just changes the weight for the state and control regularization. This modification is done in both: c++ and Python versions.
Additionally, the quadrupedal-gait example uses the ANYmal robot since this is more interesting for our partners.
@wxmerkt you might be interesting in trying these values. With I modified version of the box-script, I achieved convergence within 35 iterations. I could push this code if you want it.Crocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/246Added quadrupedal walking benchmark in c++2019-10-14T17:24:51ZCarlos MastalliAdded quadrupedal walking benchmark in c++This PR includes the c++ benchmark of the quadrupedal walking #261. The main purpose of this benchmark is to start debugging #250 #256. @proyan could you start to work on issue #250?
Additionally, it includes other changed in the API ...This PR includes the c++ benchmark of the quadrupedal walking #261. The main purpose of this benchmark is to start debugging #250 #256. @proyan could you start to work on issue #250?
Additionally, it includes other changed in the API based on shared_ptrs (with this we complete the !245). Finally, this PR adds missing registration of shared pointers needed in the Python bindings (reported in #266).Crocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/245Simplified API by using shared pointers2019-10-13T18:15:14ZCarlos MastalliSimplified API by using shared pointersWriting a complex optimal control problem can be very hard if the user needs to handle carefully all raw pointers. Paying this expensive lunch for just a bit of memory overhead (counter pointer) of shared pointers cannot be justified.
W...Writing a complex optimal control problem can be very hard if the user needs to handle carefully all raw pointers. Paying this expensive lunch for just a bit of memory overhead (counter pointer) of shared pointers cannot be justified.
With this code, I ensure that we don't create runtime overhead.
Additionally, I simplified the unittest by using shared pointers. Please have a look of this code @mnaveau.
Finally, I have figured out how to expose custom data in Python. I included all these datas.
In conclusion this PR includes:
1. Simpler API which uses shared pointers for abstracts (i.e. state, contacts, impulses, costs, actions, callbacks and shooting problem)
2. benchmarks and unittest according 1.
3. unittest code which uses shared pointers, removed custom management of memory
4. exposition of custom data structures in PythonCrocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/237Added the smooth-abs activation with Python bindings2019-10-04T11:29:12ZCarlos MastalliAdded the smooth-abs activation with Python bindingsCrocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/229Created activation model with quadratic barrier2019-09-30T16:17:08ZCarlos MastalliCreated activation model with quadratic barrierThis PR tackles #205. It also includes the Python bindings.This PR tackles #205. It also includes the Python bindings.Crocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/227Added cost for frame rotations + extras2019-09-30T08:39:32ZCarlos MastalliAdded cost for frame rotations + extrasThis PR contains the following tasks:
- Added frame rotation and its Python bindings
- Added cost for frame rotation and its Python bindings
- Renamed function to quasiStatic (make all the corresponding changes in examples)
- Use...This PR contains the following tasks:
- Added frame rotation and its Python bindings
- Added cost for frame rotation and its Python bindings
- Renamed function to quasiStatic (make all the corresponding changes in examples)
- Used example-robot-data for unittest with Python bindings
- Added an extra unittest for shooting problem using Talos arm
I need to include the unittest before merging it!Crocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/220Added the action model for impulse forward dynamics + various improvements2019-09-19T18:34:04ZCarlos MastalliAdded the action model for impulse forward dynamics + various improvementsThis PR tackles issue #242. However, it improved the library in many terms, e.g.
- Refactored the way of sharing memory with cost sum. Now it can be used for both differential action and action models.
- Removed `qcur` and `vcur` in ...This PR tackles issue #242. However, it improved the library in many terms, e.g.
- Refactored the way of sharing memory with cost sum. Now it can be used for both differential action and action models.
- Removed `qcur` and `vcur` in differential action models. These variables are not needed by using properly Eigen.
- Introduced the concept of autonomous systems (nu = 0), note that impulse dynamics are autonomous systems.
- Changed notation of variables in contact and impulse models. It's compatible with impulses and easier to understand.
- Added function to update forces, accelerations (or next velocity) and their derivatives for using later in cost functions. This is ongoing work.
These functions is a partial works that handles #96.Crocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/216Added the impulse 3d/6d and multiple + bindings + bindings unit-test2019-09-08T16:19:13ZCarlos MastalliAdded the impulse 3d/6d and multiple + bindings + bindings unit-testThis PR tackles mainly #233 and #240.This PR tackles mainly #233 and #240.Crocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/210Rename force_aba + extra binds functions of SolverDDP2019-08-29T15:12:34ZCarlos MastalliRename force_aba + extra binds functions of SolverDDPThis PR fixes issue #236.This PR fixes issue #236.Crocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/209Added the 6d contact model + updated the bipedal example + benchmark for quad...2019-08-29T13:27:57ZCarlos MastalliAdded the 6d contact model + updated the bipedal example + benchmark for quadruped and bipedIn this PR, I solved the following issues #230, #234 and #235. I have additionally solve a bug in the DDP solver (i.e. Vxx symmetric).In this PR, I solved the following issues #230, #234 and #235. I have additionally solve a bug in the DDP solver (i.e. Vxx symmetric).Crocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/207Fixed NumDiff classes and fully adaptation of cartpole notebook2019-08-27T17:37:32ZCarlos MastalliFixed NumDiff classes and fully adaptation of cartpole notebook1. it includes few extra methods to get data from NumDiff action classes
2. it includes an increment in the regularization1. it includes few extra methods to get data from NumDiff action classes
2. it includes an increment in the regularizationCrocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/206Updated some other examples + NumDiff action classes and their Python bindings2019-08-29T13:10:54ZCarlos MastalliUpdated some other examples + NumDiff action classes and their Python bindingsThere is still needed extra work to adapt all the examples and notebooks. Additionally, I includes some information in the README file.There is still needed extra work to adapt all the examples and notebooks. Additionally, I includes some information in the README file.Crocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/205Partial update of examples and notebooks2019-08-26T13:03:25ZCarlos MastalliPartial update of examples and notebooksCrocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/204Added the DAM for contact forward dynamics + quadruped example working2019-08-23T18:31:56ZCarlos MastalliAdded the DAM for contact forward dynamics + quadruped example workingIn this PR it's mainly developed a novel contact forward dynamics DAM. Additionally, it includes plenty of other tasks:
- Added NoProxy paramenter for binding std containers.
- `CostModelSum` is not a derived class of `CostModelAbstrac...In this PR it's mainly developed a novel contact forward dynamics DAM. Additionally, it includes plenty of other tasks:
- Added NoProxy paramenter for binding std containers.
- `CostModelSum` is not a derived class of `CostModelAbstract`
- `ContactModelMultiple` is not a derived class of `ContactModelAbstract`
- Proper custodian ward for all references in the constructors (Python bindings)
- Fixed an error in the floating-base actuation
- Fixed an error in StateMultibody::Jdiff
- Added plenty of nice asserts for debuggers
- Fixed error in the construction of Python-binds of CostModelStum
- Added raisedIfNaN in `SolverDDP`
- Improved the algorithm efficient of `SolverDDP`: do not compute derivatives if the step lenght fails
- Added Python code for GV display + its callback function.
- Added a WIP example of quadrupedCrocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/202Added floating-base, full and abstract actuation models + bindings2019-08-15T22:20:23ZCarlos MastalliAdded floating-base, full and abstract actuation models + bindingsThis PR tackles two issues: #216 and #229.This PR tackles two issues: #216 and #229.Crocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/201Added the frame velocity cost model + bindings2019-08-15T12:44:14ZCarlos MastalliAdded the frame velocity cost model + bindingsThis PR solves #226. Additionally, it proposes to use `pinocchio.utils.rand` or `pinocchio.utils.zero` instead of NumPy for Pinocchio-based Python code.This PR solves #226. Additionally, it proposes to use `pinocchio.utils.rand` or `pinocchio.utils.zero` instead of NumPy for Pinocchio-based Python code.Crocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/200Added CoM position cost model2019-08-15T09:44:35ZCarlos MastalliAdded CoM position cost modelThis PR tackles the issue #209. Additionally, it merges the latest changes in the legacy Python code from devel branch.This PR tackles the issue #209. Additionally, it merges the latest changes in the legacy Python code from devel branch.Crocoddyl c++ implementationCarlos MastalliCarlos Mastallihttps://gepgitlab.laas.fr/loco-3d/crocoddyl/-/merge_requests/198Removed computeForwardKinematicsDerivatives as reported in #1012019-08-25T11:02:58ZCarlos MastalliRemoved computeForwardKinematicsDerivatives as reported in #101Now it's been fixed the issue https://github.com/stack-of-tasks/pinocchio/issues/639 from Pinocchio. This should be OK, could you confirm it @jcarpent?Now it's been fixed the issue https://github.com/stack-of-tasks/pinocchio/issues/639 from Pinocchio. This should be OK, could you confirm it @jcarpent?Carlos MastalliCarlos Mastalli