Skip to content
Snippets Groups Projects
  1. Mar 17, 2022
    • Le Quang Anh's avatar
      Try all state sequences before finding new ones · d56d5215
      Le Quang Anh authored
      When goal is defined as set of constraints, every state sequence is a
      possible solution. The current implementation grows the list of possible
      state sequences faster than they are attempted: for every time we add all
      neighbors of the front node to queue, we only try out one sequences.
      This could be too space consuming if the graph has large branching factor.
      d56d5215
    • Le Quang Anh's avatar
      Fix: correct order of initialization list · 1e1a6c72
      Le Quang Anh authored
      Non-static data members should be initialized in the order they were declared in
      the class definition. For good practice, we should keep all the data
      members in good order.
      1e1a6c72
    • Le Quang Anh's avatar
      Fix: Initialise weak pointer last · 06713ac6
      Le Quang Anh authored
      06713ac6
  2. Mar 16, 2022
    • Le Quang Anh's avatar
      Check if solver already has stricter constraints · 16ae96b1
      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`.
      16ae96b1
  3. Mar 07, 2022
    • Le Quang Anh's avatar
      Keep longest VALID config seq if cannot solve full · 3a915ccc
      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.
      3a915ccc
  4. Mar 03, 2022
  5. Mar 01, 2022
  6. Feb 24, 2022
    • Le Quang Anh's avatar
      analyseoptprob propagate intermediate node constr · 01c6c2c4
      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.
      01c6c2c4
    • Le Quang Anh's avatar
      Analyse opt prob when goal is set of constraint · 247330bc
      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.
      247330bc
  7. Feb 11, 2022
  8. Feb 10, 2022
  9. Feb 07, 2022
  10. Feb 02, 2022
    • Le Quang Anh's avatar
      [StatesPathFinder] Avoid loops in state sequence · 40b094b9
      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.
      40b094b9
  11. Feb 01, 2022
  12. Jan 31, 2022
  13. Jan 20, 2022
  14. Nov 05, 2021
  15. Nov 02, 2021
  16. Sep 30, 2021
  17. Sep 23, 2021
  18. Sep 14, 2021
  19. Sep 10, 2021
  20. May 06, 2021
  21. Apr 30, 2021
  22. Apr 28, 2021
  23. Apr 21, 2021
  24. Apr 09, 2021
  25. Feb 19, 2021
  26. Feb 12, 2021
  27. Feb 09, 2021
  28. Feb 05, 2021
Loading