- Mar 16, 2022
-
-
Le Quang Anh authored
Before adding another constraint to a solver, check if it already has the stricter version of the constraint. `constraint/hold` is stricter than `constraint` and stricter than `constraint/complement`.
-
- Mar 07, 2022
-
-
Le Quang Anh authored
The expected behavior of solveOptimizationProblem () function is that, if it manages to compute configurations for all waypoints, it will return that sequence of configurations. In case when it fails, it should return the longest sequence of valid configurations. The previous implementation saves each configuration computed, even if it is invalid. Also, when backtracking to a previous waypoint, the new points computed will overwrite some of the waypoint in the longest sequence. So indeed, the final sequence kept is not valid, and not consistent (not generated in successful consecutive solves). This has now been fixed by saving the longest sequence of valid configurations in a separate variable, and only update it when a longer sequence is found.
-
- Mar 03, 2022
-
-
Le Quang Anh authored
For the parametrizable constraints, we should initialize them before using the solver to check if the initial configuration satisfies all the propagated constraints.
-
- Mar 01, 2022
-
-
Le Quang Anh authored
-
- Feb 24, 2022
-
-
Le Quang Anh authored
Propagate the constraints from intermediate nodes as well, so that we have a higher chance of filtering out invalid state sequences. Direction of propagation should be from the final node to the first node, so that we don't miss out the constraints that don't reach the final node but are still relevant for the first portion of the transitions.
-
Le Quang Anh authored
This is currently done by propagating the constraints from the last state to the initial state if the joints involved in each constraint are constrained during all transitions between the initial state and the last state. Checking the initial configuration to see if it satisfies these constraints will help to eliminate some state sequences.
-
- Feb 11, 2022
-
-
Le Quang Anh authored
-
- Feb 10, 2022
-
-
Le Quang Anh authored
Able to build now, but code is probably useless
-
- Feb 07, 2022
-
-
Le Quang Anh authored
-
- Feb 02, 2022
-
-
Le Quang Anh authored
Currently for most of the problems we look at, loops (an edge going into the same state) are not useful. However, these loops appear in a lot of state sequences considered by the algorithm and slow it down significantly. Until we encounter a problem where loops are necessary to accomplish the task, we should just ignore them.
-
- Feb 01, 2022
-
-
Florent Lamiraux authored
-
- Jan 31, 2022
-
-
Florent Lamiraux authored
-
- Jan 20, 2022
-
-
Florent Lamiraux authored
-
- Nov 05, 2021
-
-
Guilhem Saurel authored
fix submodule url
-
- Nov 02, 2021
-
-
Guilhem Saurel authored
-
- Sep 30, 2021
-
-
Guilhem Saurel authored
- Sep 23, 2021
-
-
Florent Lamiraux authored
-
Florent Lamiraux authored
- Use parent implementation for method solve, - reimplement tryToConnectInitAndGoals, - remove InStatePath class and call core::DiffusingPlanner instead. - optimize paths on sub-manifolds with random shortcut and insert path in roadmap.
-
- Sep 14, 2021
-
-
Florent Lamiraux authored
when calling a path planner in hpp-core. Throw core::path_planning_failed when interrupted.
-
- Sep 10, 2021
-
-
Florent Lamiraux authored
-
alexandrethiault authored
-
- May 06, 2021
-
-
Florent Lamiraux authored
Fix steeringMethod::CrossStateOptimization
-
- Apr 30, 2021
-
-
Florent Lamiraux authored
- do not copy constraints from graph solvers, - in solver construction, use target constraints of transitions instead of merging solvers of edge, graph and target state. In target constraints, constraints and complements are merged when necessary.
-
Florent Lamiraux authored
Do not clear constraintsAndComplements_ after graph initialization, Add method clearConstraintsAndComplement(), call this method in ProblemSolver::initConstraintGraph().
-
Florent Lamiraux authored
- add parameter "CrossStateOptimization/nRandomConfig" to specify the number of trials to generate each waypoint configuration.
-
- Apr 28, 2021
-
-
Florent Lamiraux authored
-
- Apr 21, 2021
-
-
Guilhem Saurel authored
-
Guilhem Saurel authored
- Apr 09, 2021
-
-
Florent Lamiraux authored
if starting configuration slightly violates the constraint. Return false instead.
-
- Feb 19, 2021
-
-
Joseph Mirabel authored
-
- Feb 12, 2021
-
-
Joseph Mirabel authored
-
Joseph Mirabel authored
-
- Feb 09, 2021
-
-
Florent Lamiraux authored
This reverts commit 0d81bac3.
-
- Feb 05, 2021
-
-
Florent Lamiraux authored
- only before initialization.
-
Florent Lamiraux authored
- remove duplicate loop.
-
Florent Lamiraux authored
- GraphComponent::numericalConstraints is virtual, - reimplemented in Edge a follows: - if edge is not initialized, call parent implementation, - otherwise return constraints that are in the solver. - The differences are that: 1. constraints and complements are replaced by explicit constraints, 2. constraints of the containing node are also returned.
-
- Feb 04, 2021
-
-
Florent Lamiraux authored
- Methods of class Implicit that use member rhs_ have been made deprecated.
-
- Feb 03, 2021
-
-
Florent Lamiraux authored
- when inserting them. Throw if they are. - Add a test.
-