Open sjwo opened 3 years ago
.test
or .map
file formatted incorrectly? Try one of AFB's, and see if my wrapper correctly constructs the world.test_scenario_runner
populate the dynamic obstacles differently than the sim_local.launch
does?Ok issue happens even with AFB's map/test file (cannon_wait_1.test) with BIT*, but works fine with RBPC planner, so assuming it's my code not my map/test files.
Ok, looks like Executive::planLoop
makes deep copy before Executive::updateDynamicObstacle
is called for the first time:
path_planner: Initializing planner
path_planner: Setting running state
path_planner: 1630427420.412017822: Executive.planLoop() starting
path_planner: DEBUG: Executive.planLoop(): m_GaussianDynamicObstaclesManager.size(): 0
path_planner: DEBUG: Executive.planLoop(): m_GaussianDynamicObstaclesManager.get_deep_copy().size(): 0
path_planner: 1630427420.412017822: Executive.planLoop() about to call planner.plan()
path_planner: DEBUG: BitStarPlanner.plan(): dynamic_obstacles_copy.size(): 0
path_planner: DEBUG: BitStarPlanner constructed world:
path_planner: 10.000000000
path_planner: ##___##########
path_planner: ##___##########
path_planner: ##___##########
path_planner: ##___##########
path_planner: ##___##########
path_planner: ##___##########
path_planner: ##_____________
path_planner: ##_____________
path_planner: ##_____________
path_planner: ##_____________
path_planner: dynamic_obstacles 0
path_planner: DEBUG: Executive.updateDynamicObstacle() called
path_planner: DEBUG: Executive.updateDynamicObstacle() has acquired m_GaussianDynamicObstaclesManagerMutex
path_planner: DEBUG: Executive.updateDynamicObstacle(): PRIOR to update, m_GaussianDynamicObstaclesManager.size(): 0
path_planner: DEBUG: GaussianDynamicObstaclesManager.update() called with non-ignored mmsi; INITIAL size is 0
path_planner: DEBUG: GaussianDynamicObstaclesManager.update(): FINAL size is 1
path_planner: DEBUG: Executive.updateDynamicObstacle(): AFTER update, m_GaussianDynamicObstaclesManager.size(): 1
path_planner: thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: "\xB0\xB8%\u{7f}\x8AU"', library/std/src/env
~ .rs:792:51
path_planner: note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
path_planner: DEBUG: Executive.updateDynamicObstacle() called
path_planner: DEBUG: Executive.updateDynamicObstacle() has acquired m_GaussianDynamicObstaclesManagerMutex
path_planner: DEBUG: Executive.updateDynamicObstacle(): PRIOR to update, m_GaussianDynamicObstaclesManager.size(): 1
path_planner: DEBUG: GaussianDynamicObstaclesManager.update() called with non-ignored mmsi; INITIAL size is 1
path_planner: DEBUG: GaussianDynamicObstaclesManager.update(): FINAL size is 1
path_planner: DEBUG: Executive.updateDynamicObstacle(): AFTER update, m_GaussianDynamicObstaclesManager.size(): 1
Looks like dynamic obstacle deep copy in Executive and ASCII world construction BitStarPlanner wrapper worked fine back at f65a1ba2060274598b8d17139de1f0de16b7f4e3. Which means something in one or more of the following three commits introduced the regression:
commit 87b56ac8074ead8e0adbf041603ef4033c113379 (origin/master, master)
Author: Stephen Josef Wissow <sjw1000@wildcats.unh.edu>
Date: Tue Aug 31 12:51:35 2021 -0400
Add debug output (#22)
commit 567d94ea347ca99fd85995a993bb2ff2b9f2dedb
Author: Stephen Josef Wissow <sjw1000@wildcats.unh.edu>
Date: Mon Aug 30 13:21:37 2021 -0400
Handle BIT*'s Gaussian parameters in Project 11, and parameterize which solution number to use (#21, sjwo/planner#25)
commit 75e0a0fa928eeaffea014e1a756fd089ac054fbb
Author: Stephen Josef Wissow <sjw1000@wildcats.unh.edu>
Date: Mon Aug 30 13:19:10 2021 -0400
Ignore results folder
However, planner takes so long to return that no plan is available within cycle.
So, impossible to test within Project 11...
Only from sim_local.launch.
I.e., see "dynamic_obstacles 0" on last line of ASCII world being passed to BIT*.