Repository Analysis

AtsushiSakai/PythonRobotics

Python sample codes and textbook for robotics algorithms.

8.1 Low AI signal View on GitHub
8.1
Adjusted Score
8.1
Raw Score
100%
Time Factor
2026-05-26
Last Push
29,639
Stars
Python
Language
37,751
Lines of Code
286
Files
215
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 19MEDIUM 5LOW 191

Pattern Findings

215 matches across 8 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers91 hits · 96 pts
SeverityFileLineSnippet
LOWMapping/gaussian_grid_map/gaussian_grid_map.py19def generate_gaussian_grid_map(ox, oy, xyreso, std):
LOWMapping/lidar_to_grid_map/lidar_to_grid_map.py161def generate_ray_casting_grid_map(ox, oy, xy_resolution, breshen=True):
LOWMapping/ndt_map/ndt_map.py83def create_dummy_observation_data():
LOWMapping/ray_casting_grid_map/ray_casting_grid_map.py78def generate_ray_casting_grid_map(ox, oy, xyreso, yawreso):
LOWMapping/grid_map_lib/grid_map_lib.py158 def calc_grid_index_from_xy_index(self, x_ind, y_ind):
LOWMapping/grid_map_lib/grid_map_lib.py162 def calc_xy_index_from_grid_index(self, grid_ind):
LOWMapping/grid_map_lib/grid_map_lib.py166 def calc_grid_index_from_xy_pos(self, x_pos, y_pos):
LOWMapping/grid_map_lib/grid_map_lib.py179 def calc_grid_central_xy_position_from_grid_index(self, grid_ind):
LOWMapping/grid_map_lib/grid_map_lib.py183 def calc_grid_central_xy_position_from_xy_index(self, x_ind, y_ind):
LOWMapping/grid_map_lib/grid_map_lib.py191 def calc_grid_central_xy_position_from_index(self, index, lower_pos):
LOWMapping/grid_map_lib/grid_map_lib.py194 def calc_xy_index_from_position(self, pos, lower_pos, max_index):
LOWMapping/grid_map_lib/grid_map_lib.py201 def check_occupied_from_xy_index(self, x_ind, y_ind, occupied_val):
LOW…g/normal_vector_estimation/normal_vector_estimation.py66def ransac_normal_vector_estimation(points_3d, inlier_radio_th=0.7,
LOWMapping/rectangle_fitting/rectangle_fitting.py92 def _calc_closeness_criterion(self, c1, c2):
LOWMapping/rectangle_fitting/rectangle_fitting.py173 def _adoptive_range_segmentation(self, ox, oy):
LOWSLAM/GraphBasedSLAM/graphslam/util.py34def solve_for_edge_dimensionality(n):
LOWSLAM/GraphBasedSLAM/graphslam/util.py54def upper_triangular_matrix_to_full_matrix(arr, n):
LOWSLAM/ICPMatching/icp_matching.py75def update_homogeneous_matrix(Hin, R, T):
LOWSLAM/ICPMatching/icp_matching.py90def nearest_neighbor_association(previous_points, current_points):
LOWSLAM/EKFSLAM/ekf_slam.py136def get_landmark_position_from_state(x, ind):
LOWSLAM/EKFSLAM/ekf_slam.py142def search_correspond_landmark_id(xAug, PAug, zi):
LOWPathTracking/pure_pursuit/pure_pursuit.py129def pure_pursuit_steer_control(state, trajectory, pind):
LOW…ing/lqr_speed_steer_control/lqr_speed_steer_control.py96def lqr_speed_steering_control(state, cx, cy, cyaw, ck, pe, pth_e, sp, Q, R):
LOWPathTracking/cgmres_nmpc/cgmres_nmpc.py66 def calc_predict_and_adjoint_state(self, x, y, yaw, v, u_1s, u_2s, N, dt):
LOWPathTracking/cgmres_nmpc/cgmres_nmpc.py111 def _predict_state_with_oylar(x, y, yaw, v, u_1, u_2, dt):
LOWPathTracking/cgmres_nmpc/cgmres_nmpc.py124 def _adjoint_state_with_oylar(yaw, v, lam_1, lam_2, lam_3, lam_4, u_2, dt):
LOW…er_control/model_predictive_speed_and_steer_control.py223def iterative_linear_mpc_control(xref, x0, dref, oa, od):
LOW…_wheel_feedback_control/rear_wheel_feedback_control.py105def rear_wheel_feedback_control(state, e, k, yaw_ref):
LOWtests/test_dubins_path_planning.py72def test_path_plannings_types():
LOWtests/test_rrt_star.py22def test_no_obstacle_and_robot_radius():
LOWtests/test_frenet_optimal_trajectory.py15def high_speed_and_merging_and_stopping_scenario_test():
LOWtests/test_frenet_optimal_trajectory.py23def high_speed_and_velocity_keeping_scenario_test():
LOWtests/test_frenet_optimal_trajectory.py31def low_speed_and_velocity_keeping_scenario_test():
LOWtests/test_frenet_optimal_trajectory.py39def low_speed_and_merging_and_stopping_scenario_test():
LOWtests/test_distance_map.py89def test_compute_udf_invalid_input():
LOWtests/test_grid_map_lib.py28def test_xy_and_grid_index_conversion():
LOWtests/test_rrt_with_pathsmoothing_radius.py6def test_smoothed_path_safety():
LOWdocs/conf.py223def get_relative_path_from_parent(file_path: str, parent_dir: str):
LOWInvertedPendulum/inverted_pendulum_lqr_control.py116def get_numpy_array_from_matrix(x):
LOWInvertedPendulum/inverted_pendulum_mpc_control.py111def get_numpy_array_from_matrix(x):
LOWMissionPlanning/StateMachine/robot_behavior_case.py88 def on_enter_returning_to_base(self):
LOWMissionPlanning/BehaviorTree/behavior_tree.py82 def not_set_children_raise_error(self):
LOWMissionPlanning/BehaviorTree/behavior_tree.py303 def not_set_child_raise_error(self):
LOWMissionPlanning/BehaviorTree/robot_behavior_case.py169def create_robot_behavior_tree():
LOW…thPlanning/ReedsSheppPath/reeds_shepp_path_planning.py177def left_x_right_left_x_right(x, y, phi):
LOW…thPlanning/ReedsSheppPath/reeds_shepp_path_planning.py345def calc_interpolate_dists_list(lengths, step_size):
LOW…thPlanning/ReedsSheppPath/reeds_shepp_path_planning.py427def reeds_shepp_path_planning(sx, sy, syaw, gx, gy, gyaw, maxc, step_size=0.2):
LOW…redictiveTrajectoryGenerator/lookup_table_generator.py37def search_nearest_one_from_lookup_table(tx, ty, tyaw, lookup_table):
LOWPathPlanning/BSplinePath/bspline_path.py19def approximate_b_spline_path(x: list,
LOWPathPlanning/BSplinePath/bspline_path.py66def interpolate_b_spline_path(x, y,
LOWPathPlanning/HybridAStar/hybrid_a_star.py182def update_node_with_analytic_expansion(current, goal,
LOW…g/FrenetOptimalTrajectory/frenet_optimal_trajectory.py129 def calc_cartesian_parameters(self, fp, csp):
LOW…g/FrenetOptimalTrajectory/frenet_optimal_trajectory.py175 def calc_cartesian_parameters(self, fp, csp):
LOW…g/FrenetOptimalTrajectory/frenet_optimal_trajectory.py217 def calc_cartesian_parameters(self, fp, csp):
LOW…g/FrenetOptimalTrajectory/frenet_optimal_trajectory.py241 def calc_longitudinal_trajectory(self, c_speed, c_accel, Ti, s0):
LOW…g/FrenetOptimalTrajectory/frenet_optimal_trajectory.py261 def calc_longitudinal_trajectory(self, c_speed, c_accel, Ti, s0):
LOW…g/FrenetOptimalTrajectory/frenet_optimal_trajectory.py285 def calc_longitudinal_trajectory(self, c_speed, c_accel, Ti, s0):
LOWPathPlanning/VisibilityRoadMap/visibility_road_map.py49 def generate_visibility_nodes(self, start_x, start_y, goal_x, goal_y,
LOWPathPlanning/VisibilityRoadMap/visibility_road_map.py71 def calc_vertexes_in_configuration_space(self, x_list, y_list):
LOW…ning/TimeBasedPathPlanning/GridWithDynamicObstacles.py82 def generate_dynamic_obstacles(self, obs_count: int) -> list[list[Position]]:
31 more matches not shown…
Cross-File Repetition19 hits · 95 pts
SeverityFileLineSnippet
HIGH…ing/lqr_speed_steer_control/lqr_speed_steer_control.py0solve a discrete time_algebraic riccati equation (dare)
HIGHPathTracking/lqr_steer_control/lqr_steer_control.py0solve a discrete time_algebraic riccati equation (dare)
HIGHInvertedPendulum/inverted_pendulum_lqr_control.py0solve a discrete time_algebraic riccati equation (dare)
HIGHPathPlanning/LQRPlanner/lqr_planner.py0solve a discrete time_algebraic riccati equation (dare)
HIGH…ing/lqr_speed_steer_control/lqr_speed_steer_control.py0solve the discrete time lqr controller. x[k+1] = a x[k] + b u[k] cost = sum x[k].t*q*x[k] + u[k].t*r*u[k] # ref bertseka
HIGHPathTracking/lqr_steer_control/lqr_steer_control.py0solve the discrete time lqr controller. x[k+1] = a x[k] + b u[k] cost = sum x[k].t*q*x[k] + u[k].t*r*u[k] # ref bertseka
HIGHInvertedPendulum/inverted_pendulum_lqr_control.py0solve the discrete time lqr controller. x[k+1] = a x[k] + b u[k] cost = sum x[k].t*q*x[k] + u[k].t*r*u[k] # ref bertseka
HIGHPathPlanning/LQRPlanner/lqr_planner.py0solve the discrete time lqr controller. x[k+1] = a x[k] + b u[k] cost = sum x[k].t*q*x[k] + u[k].t*r*u[k] # ref bertseka
HIGHPathPlanning/AStar/a_star.py0calc grid position :param index: :param min_position: :return:
HIGH…eadthFirstSearch/bidirectional_breadth_first_search.py0calc grid position :param index: :param min_position: :return:
HIGHPathPlanning/BidirectionalAStar/bidirectional_a_star.py0calc grid position :param index: :param min_position: :return:
HIGHPathPlanning/ThetaStar/theta_star.py0calc grid position :param index: :param min_position: :return:
HIGHPathPlanning/BreadthFirstSearch/breadth_first_search.py0calc grid position :param index: :param minp: :return:
HIGHPathPlanning/DepthFirstSearch/depth_first_search.py0calc grid position :param index: :param minp: :return:
HIGH…ning/GreedyBestFirstSearch/greedy_best_first_search.py0calc grid position :param index: :param minp: :return:
HIGHPathPlanning/LQRRRTStar/lqr_rrt_star.py0setting parameter start:start position [x,y] goal:goal position [x,y] obstaclelist:obstacle positions [[x,y,size],...] r
HIGHPathPlanning/RRTDubins/rrt_dubins.py0setting parameter start:start position [x,y] goal:goal position [x,y] obstaclelist:obstacle positions [[x,y,size],...] r
HIGHPathPlanning/RRTStarReedsShepp/rrt_star_reeds_shepp.py0setting parameter start:start position [x,y] goal:goal position [x,y] obstaclelist:obstacle positions [[x,y,size],...] r
HIGHPathPlanning/RRTStarDubins/rrt_star_dubins.py0setting parameter start:start position [x,y] goal:goal position [x,y] obstaclelist:obstacle positions [[x,y,size],...] r
Deep Nesting77 hits · 77 pts
SeverityFileLineSnippet
LOWMapping/gaussian_grid_map/gaussian_grid_map.py19
LOWMapping/rectangle_fitting/rectangle_fitting.py233
LOWMapping/rectangle_fitting/rectangle_fitting.py126
LOWSLAM/GraphBasedSLAM/graph_based_slam.py105
LOWPathTracking/pure_pursuit/pure_pursuit.py269
LOWMissionPlanning/BehaviorTree/behavior_tree.py196
LOWMissionPlanning/BehaviorTree/behavior_tree.py613
LOW…thPlanning/ReedsSheppPath/reeds_shepp_path_planning.py287
LOWPathPlanning/AStar/a_star_variants.py56
LOWPathPlanning/AStar/a_star_variants.py180
LOWPathPlanning/AStar/a_star_variants.py267
LOWPathPlanning/AStar/a_star.py51
LOWPathPlanning/AStar/a_star.py170
LOWPathPlanning/AStar/a_star.py189
LOWPathPlanning/AStar/a_star_searching_from_two_side.py131
LOW…hPlanning/HybridAStar/dynamic_programming_heuristic.py45
LOW…hPlanning/HybridAStar/dynamic_programming_heuristic.py120
LOW…hPlanning/HybridAStar/dynamic_programming_heuristic.py136
LOWPathPlanning/FlowField/flowfield.py46
LOWPathPlanning/FlowField/flowfield.py63
LOW…g/FrenetOptimalTrajectory/frenet_optimal_trajectory.py450
LOWPathPlanning/BreadthFirstSearch/breadth_first_search.py146
LOWPathPlanning/BreadthFirstSearch/breadth_first_search.py165
LOW…eadthFirstSearch/bidirectional_breadth_first_search.py204
LOW…eadthFirstSearch/bidirectional_breadth_first_search.py223
LOWPathPlanning/DStar/dstar.py93
LOWPathPlanning/VoronoiRoadMap/dijkstra_search.py34
LOWPathPlanning/DepthFirstSearch/depth_first_search.py143
LOWPathPlanning/DepthFirstSearch/depth_first_search.py162
LOWPathPlanning/VisibilityRoadMap/visibility_road_map.py89
LOW…lanning/Eta3SplineTrajectory/eta3_spline_trajectory.py199
LOWPathPlanning/TimeBasedPathPlanning/Plotting.py53
LOWPathPlanning/TimeBasedPathPlanning/SpaceTimeAStar.py27
LOW…ning/TimeBasedPathPlanning/GridWithDynamicObstacles.py82
LOWPathPlanning/TimeBasedPathPlanning/SafeInterval.py50
LOWPathPlanning/TimeBasedPathPlanning/SafeInterval.py102
LOWPathPlanning/InformedRRTStar/informed_rrt_star.py44
LOWPathPlanning/BidirectionalAStar/bidirectional_a_star.py49
LOWPathPlanning/BidirectionalAStar/bidirectional_a_star.py235
LOWPathPlanning/BidirectionalAStar/bidirectional_a_star.py254
LOW…anning/WavefrontCPP/wavefront_coverage_path_planner.py20
LOW…anning/WavefrontCPP/wavefront_coverage_path_planner.py94
LOW…anning/WavefrontCPP/wavefront_coverage_path_planner.py113
LOWPathPlanning/ElasticBands/elastic_bands.py257
LOWPathPlanning/RRT/sobol/sobol.py218
LOWPathPlanning/ThetaStar/theta_star.py51
LOWPathPlanning/ThetaStar/theta_star.py233
LOWPathPlanning/ThetaStar/theta_star.py252
LOW…gTreeCPP/spiral_spanning_tree_coverage_path_planner.py36
LOW…gTreeCPP/spiral_spanning_tree_coverage_path_planner.py73
LOW…gTreeCPP/spiral_spanning_tree_coverage_path_planner.py132
LOW…gTreeCPP/spiral_spanning_tree_coverage_path_planner.py154
LOW…gTreeCPP/spiral_spanning_tree_coverage_path_planner.py171
LOW…gTreeCPP/spiral_spanning_tree_coverage_path_planner.py187
LOWPathPlanning/BugPlanning/bug.py14
LOWPathPlanning/BugPlanning/bug.py39
LOWPathPlanning/BugPlanning/bug.py55
LOWPathPlanning/BugPlanning/bug.py116
LOWPathPlanning/BugPlanning/bug.py193
LOW…anning/BatchInformedRRTStar/batch_informed_rrt_star.py233
17 more matches not shown…
Redundant / Tautological Comments10 hits · 14 pts
SeverityFileLineSnippet
LOWPathTracking/pure_pursuit/pure_pursuit.py323 if not plt.get_fignums(): # Check if window is closed
LOWtests/test_rrt_with_pathsmoothing_radius.py38 # Check if all points on the smoothed path are safely distant from obstacles
LOWtests/test_move_to_pose.py33 # Check if the speed is changing too much
LOWPathPlanning/TimeBasedPathPlanning/SpaceTimeAStar.py96 # Check if the new node is valid for the next 2 time steps - one step to enter, and another to leave
LOW…ning/TimeBasedPathPlanning/GridWithDynamicObstacles.py199 # Check if position is in grid
LOW…ning/TimeBasedPathPlanning/GridWithDynamicObstacles.py203 # Check if position is not occupied at time t
LOW…rticleSwarmOptimization/particle_swarm_optimization.py132 # Check if start point is inside obstacle
LOW…rticleSwarmOptimization/particle_swarm_optimization.py139 # Check if intersection on segment
LOW…anning/BatchInformedRRTStar/batch_informed_rrt_star.py254 # Check if this can improve the current solution
LOW…anning/BatchInformedRRTStar/batch_informed_rrt_star.py534 # Check if we're at the goal
Excessive Try-Catch Wrapping7 hits · 10 pts
SeverityFileLineSnippet
MEDIUM…er_control/model_predictive_speed_and_steer_control.py297 print("Error: Cannot solve mpc..")
LOWdocs/conf.py217 except Exception:
LOWMissionPlanning/StateMachine/state_machine.py291 except Exception as e:
MEDIUMMissionPlanning/StateMachine/state_machine.py292 print(f"Error showing PlantUML: {e}")
MEDIUMPathPlanning/HybridAStar/hybrid_a_star.py284 print("Error: Cannot find path, No open set")
LOWPathPlanning/ClothoidPath/clothoid_path_planner.py76 except Exception as e:
LOWPathPlanning/ClothoidPath/clothoid_path_planner.py89 except Exception as e:
Over-Commented Block7 hits · 7 pts
SeverityFileLineSnippet
LOWSLAM/GraphBasedSLAM/graphslam/edge/__init__.py1# Copyright (c) 2020 Jeff Irion and contributors
LOWSLAM/GraphBasedSLAM/graphslam/pose/__init__.py1# Copyright (c) 2020 Jeff Irion and contributors
LOWPathTracking/move_to_pose/move_to_pose.py61 v : Command linear velocity
LOWdocs/conf.py1#
LOWdocs/conf.py121# Custom sidebar templates, must be a dictionary that maps document names
LOWdocs/conf.py141 # The paper size ('letterpaper' or 'a4paper').
LOWPathPlanning/DStarLite/d_star_lite.py381 # Obstacles discovered at time = row
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippet
MEDIUMtests/test_distance_map.py8 # Create a simple obstacle map for testing
MEDIUMPathPlanning/ElasticBands/elastic_bands.py289 # Create an elastic band object and optimize
Unused Imports2 hits · 2 pts
SeverityFileLineSnippet
LOWSLAM/ICPMatching/icp_matching.py8
LOWPathPlanning/RRT/sobol/__init__.py1