* switched to using utils.angle_mod()
* switched to using utils.angle_mod()
* renamed mod2pi to pi_2_pi
* Removed linting errors
* switched to using utils.angle_mod()
* switched to using utils.angle_mod()
* renamed mod2pi to pi_2_pi
* Removed linting errors
* annotation changes and round precision
* Reverted to mod2pi
---------
Co-authored-by: Videh Patel <videh.patel@fluxauto.xyz>
* Update rrt_star_reeds_shepp.py to fix#550
Add step_size attribute to RRTStarReedsShepp, and a method set_random_seed() to set the random seed, with two test cases.
* Update rewire() of rrt_star.py
Update rewire() of rrt_star.py to fix#550. Since the old version didn't assign path_yaw of edge_node to near_node, the old rewire() doesn't fit rrt_star_reeds_shepp.py
* Update reeds_shepp_path_planning.py
Limit the range of phi for the sake of planning speed, and simplify the the calculation process in straight_left_straight().
* Update reeds_shepp_path_planning.py
* Remove unnecessary cost calculation
Cost of edge_node is calculated in line 221, and self.node_list[i] is replaced to edge_node, so no need to update.
* Update reeds_shepp_path_planning.py
The robot didn't reach the target velocity when running frenet_optimal_trajectory.py.
To fix this, I changed the constraints for determining polynomials that generate longitudinal trajectories.
Expressly, I set the initial acceleration to the current acceleration.
* Add optional robot radius to RRT/RRTStar path planners.
* update __init__ and check_collision to include radius
* during animation, if a robot radius is given then it is drawn
* Add test for robot radius
* Correct import error
* Correct missing robot_radius errors
* Address "expected 2 blank lines, found 1" error
* Address "line too long" errors
* Add missing argument description.
* Remove collision_check_with_xy and replace with check_collision
* Fix "missing whitespace after ','" error
* Update PathPlanning/ClosedLoopRRTStar/closed_loop_rrt_star_car.py
Co-authored-by: Atsushi Sakai <asakai.amsl+github@gmail.com>
Co-authored-by: Atsushi Sakai <asakai.amsl+github@gmail.com>
* clean up clothoidal_paths.py
* add unit tests for clothoid_paths
* add unit tests for clothoid_paths
* add unit tests for clothoid_paths
* code clean up
* code clean up
* code clean up
* code clean up
* code clean up
* code clean up
* code clean up
* code clean up
* Add clothoidal path planner
* Code quality/style fixes
* Open up possibilities a bit by allowing control over theta1 values
* Get line length under 80 chars for code style checks
* Fix ModuleNotFoundError when executing test in the tests folder
Signed-off-by: Trung Kien <letrungkien.k53.hut@gmail.com>
* Improve model_predictive_speed_and_steer_control
- Fix typo
- Using @ for matrix multiplication instead of * with have been deprecated in CVXPY1.1
- Fix missing conftest module in test file
Signed-off-by: Trung Kien <letrungkien.k53.hut@gmail.com>
* Without equals sign, sometimes get points that are in the wrong direction - relative to the points before and after it- when change in x or change in y along path is 0
* Created test script for dubins path generator
* Made len == 0 it's own case, also changed 'l' to 'len' to appease travisCI
* More variable renaming to appease CI
* Broke == 0 into its own case in dubins planner, also Renaming files to appease CI
* Reverting some naming changes
* Turns out theres already a test for dubins.. not sure how I missed that
* Note to self: run the test cases on your own before throwing them at CI
* Added handling of length=0 case in generate_local_course()
* Missed reverting 'mode' back to 'm' in one spot
* Addressing style issues (line length)
* Mostly works, now just need to setup linear regression to solve for weights
* Re-arranged class
* Wrote DMP program and added tests file
* Styling fixes
* More styling
* Missed one indent
* Multi-dimension path learning (e.g. in x and y instead of just x)
* Added potential field obstacle avoidance
* Potential field working much better but has issues with reaching goal state
* Path ending to short not a result of obstacles, should be fix-able
* Mostly working! end won't go to goal
* split DMP and path following
* pretty close
* Okay this is working pretty well
* looks.. okay. was using the wrong vector before
* a plan to fix this mess
* Okay seriously going to pivot to the dubins approach im done with potential field lol
* Finished obstacle circle handling (and merging circles that are closer than their radii)
* Finished circle event finder function
* Some progress in preparing for dubins curves
* Finished angle finding algo, need to test
* Okay getting back to this, going to ignore the navigation and just focus on path generation since that's what DMP is for
* Moved DMP files to path planning
* changed folder name
* Made demo path cooler
* All working and added visualization tools (will remove
* Fixed unit test and handled TODOs
* not gonna handle this one
* demo now scales with data
* CI errors
* CI errors
* Fixing code style issues
* more styling
* fixing CI errors
* formatting
* Removed dead code
* removed unused imports
* removed uneccesary initialization
* Applying PR feedback
* fixing CI errors
* added description to header and removed unused variable
* add support for limiting the play area
* plot the play area
* Update rrt.py
* fix param list
* fix code style
* fix more code style
* fix code style even more
* fix dubins path length bug and clean up codes.
* fix line length CI error
* fix line length CI error
* fix line length CI error
* fix line length CI error
* fix line length CI error
* fix line length CI error
* fix line length CI error
* fix line length CI error
* Without equals sign, sometimes get points that are in the wrong direction - relative to the points before and after it- when change in x or change in y along path is 0
* Created test script for dubins path generator
* Made len == 0 it's own case, also changed 'l' to 'len' to appease travisCI
* More variable renaming to appease CI
* Broke == 0 into its own case in dubins planner, also Renaming files to appease CI
* Reverting some naming changes
* Turns out theres already a test for dubins.. not sure how I missed that
* Note to self: run the test cases on your own before throwing them at CI
* Added handling of length=0 case in generate_local_course()
* Missed reverting 'mode' back to 'm' in one spot
* Addressing style issues (line length)