* 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
* fix bugs in check a position inside the polygon
It is possible that the position `(iox, ioy)` to be checked with `iox == min_x`. This will cause a incorrect inside check.
* add a boundary condition for gridmap
* 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 inverted_pendulum_lqr_control
* reorganize document of inverted pendulum control module
* Refactor inverted_pendulum_lqr_control.py
* Add doccument for inverted pendulum control
* Corrected inverted pedulum LQR control doccument
* Refactor inverted pendulum control by mpc and lqr
* Add unit test for inverted_pendulum_lqr_control.py
* 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>
* Added speed limitation of the robot
* Removed leading underscores for global vars
* Added unit test for robot speed limitation
* Modified x/abs(x) to np.sign(x); fixed code style
* Removed 'random' from test func header comment
* Added Robot class for move to pose
* Revert
* Added Robot class for move to pose
* Added a type annotation for Robot class
* Fixed the annotaion comment
* Moved instance varaible outside of the Robot class
* Fixed code style Python 3.9 CI
* Removed whitespaces from the last line
* Applied PR #596 change requests
* Fixed typos
* Update Control/move_to_pose/move_to_pose_robot_class.py
Co-authored-by: Atsushi Sakai <asakai.amsl+github@gmail.com>
* Moved PathFinderController class to move_to_pose
* Fixed issue #600
* Added update_command() to PathFinderController
* Removed trailing whitespaces
* Updated move to pose doc
* Added code and doc comments
* Updated unit test
* Removed trailing whitespaces
* Removed more trailing whitespaces
Co-authored-by: Atsushi Sakai <asakai.amsl+github@gmail.com>
* Added speed limitation of the robot
* Removed leading underscores for global vars
* Added unit test for robot speed limitation
* Modified x/abs(x) to np.sign(x); fixed code style
* Removed 'random' from test func header comment
* 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
* 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
* Add D* Lite.
* Add test. Minor changes
* Modified based on LGTM report
* Fix linter errors
* Fixes and lint.
* Update README.md
Made requested changes
Add transform between world and grid coordinates to allow negative wold coordinates
Modify to allow diagonal motion
* Added display of previous and new computed path
* Add 3d support ICP
* icp_matching function returns R,T corresponding to 2D or 3D set of points
* update_homogeneuous_matrix - general operations for translation and rotation matrixes
* Add test for 3d point cloud (with 2d visualization)
* Separate test for 3d points to main_3d_points
* Add test for ICP 3d
* Correct style
* Add space
* Style correction
* Add more spaces
* Add 3d visualizing for ICP
* Style corrections
* Delete spaces
* Style correction
* remove space
* Separate plot drawing
* plot drawing in a separate function for both 2D and 3D versions
* figure creating before while loop
* Style correction
* Comment 3d plot drawing
Co-authored-by: Shamil GEMUEV <https://github.maf-roda.com/>
* Update greedy_best_first_search.py
parent_index should be pind. other wise it cann't work
* add breadth first search test
* Add greedy best first search test
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* Test code clean up
* a star pr
* a star pr
* a star pr
* fix line excede 79 error
* fix pycodestyle errors, missing a whitespace
* add test file
* add test file
* rerun CI
* rerun CI
* rerun CI
* rerun CI
* rerun CI
* modified test file and rerun CI
* rerun CI
* fix CI error
* modified code resubmit pr
* fixed some minor error
* modified pr as suggested
* dwa pr
* dwa_pr
* dwa_pr
* dwa_pr
* dwa_pr
* make changes rerun CI
* rerun CI...again..
* rerun CI.....
* rerun CI.....
* rerun CI final time!
* modified const to class variable
* put back missing comment
* add test for dwa stuck case
* add test dwa stuck case
* add test dwa stuck case
* add test dwa stuck case
* add stuck test in original test file