flybots 1.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- flybots-1.0.0.dist-info/METADATA +222 -0
- flybots-1.0.0.dist-info/RECORD +323 -0
- flybots-1.0.0.dist-info/WHEEL +4 -0
- flybots-1.0.0.dist-info/entry_points.txt +3 -0
- flybots-1.0.0.dist-info/licenses/LICENSE +21 -0
- uav_sim/__init__.py +16 -0
- uav_sim/cli/__init__.py +6 -0
- uav_sim/cli/catalogue.py +156 -0
- uav_sim/cli/console.py +77 -0
- uav_sim/cli/main.py +565 -0
- uav_sim/control/__init__.py +27 -0
- uav_sim/control/attitude_controller.py +72 -0
- uav_sim/control/fixed_wing_autopilot.py +461 -0
- uav_sim/control/flight_controller.py +104 -0
- uav_sim/control/position_controller.py +58 -0
- uav_sim/control/rate_controller.py +52 -0
- uav_sim/control/state_machine.py +327 -0
- uav_sim/control/velocity_controller.py +78 -0
- uav_sim/control/vtol_controller.py +369 -0
- uav_sim/costmap/__init__.py +18 -0
- uav_sim/costmap/costmap.py +97 -0
- uav_sim/costmap/footprint_layer.py +58 -0
- uav_sim/costmap/inflation_layer.py +57 -0
- uav_sim/costmap/occupancy_grid.py +283 -0
- uav_sim/costmap/social_layer.py +71 -0
- uav_sim/costmap/velocity_layer.py +28 -0
- uav_sim/environment/__init__.py +31 -0
- uav_sim/environment/buildings.py +99 -0
- uav_sim/environment/default_world.py +136 -0
- uav_sim/environment/obstacles.py +95 -0
- uav_sim/environment/world.py +83 -0
- uav_sim/estimation/__init__.py +17 -0
- uav_sim/estimation/complementary_filter.py +67 -0
- uav_sim/estimation/ekf.py +101 -0
- uav_sim/estimation/particle_filter.py +122 -0
- uav_sim/estimation/process_noise.py +104 -0
- uav_sim/estimation/ukf.py +130 -0
- uav_sim/frames/__init__.py +35 -0
- uav_sim/frames/transforms.py +267 -0
- uav_sim/guidance/__init__.py +59 -0
- uav_sim/guidance/fixed_wing_mission.py +766 -0
- uav_sim/guidance/fixed_wing_paths.py +581 -0
- uav_sim/gym/__init__.py +77 -0
- uav_sim/gym/base.py +212 -0
- uav_sim/gym/fixed_wing_envs.py +321 -0
- uav_sim/gym/optimizers.py +216 -0
- uav_sim/gym/policy.py +196 -0
- uav_sim/gym/quadrotor_envs.py +411 -0
- uav_sim/gym/registry.py +214 -0
- uav_sim/gym/render.py +168 -0
- uav_sim/gym/spaces.py +86 -0
- uav_sim/gym/train.py +329 -0
- uav_sim/logging/__init__.py +5 -0
- uav_sim/logging/sim_logger.py +127 -0
- uav_sim/path_planning/__init__.py +19 -0
- uav_sim/path_planning/astar_3d.py +105 -0
- uav_sim/path_planning/coverage_planner.py +116 -0
- uav_sim/path_planning/plan_through_obstacles.py +70 -0
- uav_sim/path_planning/potential_field_3d.py +107 -0
- uav_sim/path_planning/prm_3d.py +174 -0
- uav_sim/path_planning/rrt_3d.py +225 -0
- uav_sim/path_tracking/__init__.py +21 -0
- uav_sim/path_tracking/flight_ops.py +282 -0
- uav_sim/path_tracking/geometric_controller.py +189 -0
- uav_sim/path_tracking/lqr_controller.py +135 -0
- uav_sim/path_tracking/lqr_path_tracker.py +112 -0
- uav_sim/path_tracking/mpc_controller.py +251 -0
- uav_sim/path_tracking/path_smoothing.py +141 -0
- uav_sim/path_tracking/pid_controller.py +219 -0
- uav_sim/path_tracking/pure_pursuit_3d.py +195 -0
- uav_sim/perception/__init__.py +28 -0
- uav_sim/perception/bbox_tracker.py +192 -0
- uav_sim/perception/obstacle_detection.py +45 -0
- uav_sim/perception/occupancy_mapping.py +82 -0
- uav_sim/perception/point_cloud.py +43 -0
- uav_sim/sensors/__init__.py +34 -0
- uav_sim/sensors/base.py +71 -0
- uav_sim/sensors/camera.py +119 -0
- uav_sim/sensors/gimbal.py +137 -0
- uav_sim/sensors/gimbal_controller.py +190 -0
- uav_sim/sensors/gps.py +34 -0
- uav_sim/sensors/imu.py +112 -0
- uav_sim/sensors/lidar.py +198 -0
- uav_sim/sensors/range_finder.py +33 -0
- uav_sim/simulations/__init__.py +39 -0
- uav_sim/simulations/api.py +89 -0
- uav_sim/simulations/common.py +131 -0
- uav_sim/simulations/contracts.py +84 -0
- uav_sim/simulations/environment/__init__.py +0 -0
- uav_sim/simulations/environment/costmap_navigation/README.md +32 -0
- uav_sim/simulations/environment/costmap_navigation/__init__.py +0 -0
- uav_sim/simulations/environment/costmap_navigation/__main__.py +3 -0
- uav_sim/simulations/environment/costmap_navigation/run.py +256 -0
- uav_sim/simulations/estimation/__init__.py +0 -0
- uav_sim/simulations/estimation/complementary_filter/README.md +21 -0
- uav_sim/simulations/estimation/complementary_filter/__init__.py +0 -0
- uav_sim/simulations/estimation/complementary_filter/__main__.py +3 -0
- uav_sim/simulations/estimation/complementary_filter/run.py +200 -0
- uav_sim/simulations/estimation/ekf/README.md +21 -0
- uav_sim/simulations/estimation/ekf/__init__.py +0 -0
- uav_sim/simulations/estimation/ekf/__main__.py +3 -0
- uav_sim/simulations/estimation/ekf/run.py +249 -0
- uav_sim/simulations/estimation/gps_imu_fusion/README.md +21 -0
- uav_sim/simulations/estimation/gps_imu_fusion/__init__.py +0 -0
- uav_sim/simulations/estimation/gps_imu_fusion/__main__.py +3 -0
- uav_sim/simulations/estimation/gps_imu_fusion/run.py +260 -0
- uav_sim/simulations/estimation/particle_filter/README.md +21 -0
- uav_sim/simulations/estimation/particle_filter/__init__.py +0 -0
- uav_sim/simulations/estimation/particle_filter/__main__.py +3 -0
- uav_sim/simulations/estimation/particle_filter/run.py +265 -0
- uav_sim/simulations/estimation/ukf/README.md +36 -0
- uav_sim/simulations/estimation/ukf/__init__.py +0 -0
- uav_sim/simulations/estimation/ukf/__main__.py +3 -0
- uav_sim/simulations/estimation/ukf/run.py +262 -0
- uav_sim/simulations/mission_runner.py +230 -0
- uav_sim/simulations/path_planning/__init__.py +0 -0
- uav_sim/simulations/path_planning/astar_3d/README.md +21 -0
- uav_sim/simulations/path_planning/astar_3d/__init__.py +0 -0
- uav_sim/simulations/path_planning/astar_3d/__main__.py +3 -0
- uav_sim/simulations/path_planning/astar_3d/run.py +235 -0
- uav_sim/simulations/path_planning/coverage_planning/README.md +21 -0
- uav_sim/simulations/path_planning/coverage_planning/__init__.py +0 -0
- uav_sim/simulations/path_planning/coverage_planning/__main__.py +3 -0
- uav_sim/simulations/path_planning/coverage_planning/run.py +177 -0
- uav_sim/simulations/path_planning/potential_field_3d/README.md +21 -0
- uav_sim/simulations/path_planning/potential_field_3d/__init__.py +0 -0
- uav_sim/simulations/path_planning/potential_field_3d/__main__.py +3 -0
- uav_sim/simulations/path_planning/potential_field_3d/run.py +193 -0
- uav_sim/simulations/path_planning/prm_3d/README.md +21 -0
- uav_sim/simulations/path_planning/prm_3d/__init__.py +0 -0
- uav_sim/simulations/path_planning/prm_3d/__main__.py +3 -0
- uav_sim/simulations/path_planning/prm_3d/run.py +248 -0
- uav_sim/simulations/path_planning/rrt_star_3d/README.md +21 -0
- uav_sim/simulations/path_planning/rrt_star_3d/__init__.py +0 -0
- uav_sim/simulations/path_planning/rrt_star_3d/__main__.py +3 -0
- uav_sim/simulations/path_planning/rrt_star_3d/run.py +212 -0
- uav_sim/simulations/path_tracking/__init__.py +0 -0
- uav_sim/simulations/path_tracking/fixed_wing_mission/README.md +60 -0
- uav_sim/simulations/path_tracking/fixed_wing_mission/__init__.py +0 -0
- uav_sim/simulations/path_tracking/fixed_wing_mission/__main__.py +3 -0
- uav_sim/simulations/path_tracking/fixed_wing_mission/run.py +343 -0
- uav_sim/simulations/path_tracking/flight_ops_demo/README.md +21 -0
- uav_sim/simulations/path_tracking/flight_ops_demo/__init__.py +0 -0
- uav_sim/simulations/path_tracking/flight_ops_demo/__main__.py +3 -0
- uav_sim/simulations/path_tracking/flight_ops_demo/run.py +138 -0
- uav_sim/simulations/path_tracking/geometric_control/README.md +21 -0
- uav_sim/simulations/path_tracking/geometric_control/__init__.py +0 -0
- uav_sim/simulations/path_tracking/geometric_control/__main__.py +3 -0
- uav_sim/simulations/path_tracking/geometric_control/run.py +136 -0
- uav_sim/simulations/path_tracking/lqr_hover/README.md +21 -0
- uav_sim/simulations/path_tracking/lqr_hover/__init__.py +0 -0
- uav_sim/simulations/path_tracking/lqr_hover/__main__.py +3 -0
- uav_sim/simulations/path_tracking/lqr_hover/run.py +123 -0
- uav_sim/simulations/path_tracking/lqr_tracking/README.md +21 -0
- uav_sim/simulations/path_tracking/lqr_tracking/__init__.py +0 -0
- uav_sim/simulations/path_tracking/lqr_tracking/__main__.py +3 -0
- uav_sim/simulations/path_tracking/lqr_tracking/run.py +142 -0
- uav_sim/simulations/path_tracking/mpc_tracking/README.md +21 -0
- uav_sim/simulations/path_tracking/mpc_tracking/__init__.py +0 -0
- uav_sim/simulations/path_tracking/mpc_tracking/__main__.py +3 -0
- uav_sim/simulations/path_tracking/mpc_tracking/run.py +145 -0
- uav_sim/simulations/path_tracking/path_smoothing_demo/README.md +21 -0
- uav_sim/simulations/path_tracking/path_smoothing_demo/__init__.py +0 -0
- uav_sim/simulations/path_tracking/path_smoothing_demo/__main__.py +3 -0
- uav_sim/simulations/path_tracking/path_smoothing_demo/run.py +197 -0
- uav_sim/simulations/path_tracking/pid_hover/README.md +21 -0
- uav_sim/simulations/path_tracking/pid_hover/__init__.py +0 -0
- uav_sim/simulations/path_tracking/pid_hover/__main__.py +3 -0
- uav_sim/simulations/path_tracking/pid_hover/run.py +112 -0
- uav_sim/simulations/path_tracking/pure_pursuit/README.md +21 -0
- uav_sim/simulations/path_tracking/pure_pursuit/__init__.py +0 -0
- uav_sim/simulations/path_tracking/pure_pursuit/__main__.py +3 -0
- uav_sim/simulations/path_tracking/pure_pursuit/run.py +138 -0
- uav_sim/simulations/perception/__init__.py +0 -0
- uav_sim/simulations/perception/ekf_slam/README.md +21 -0
- uav_sim/simulations/perception/ekf_slam/__init__.py +0 -0
- uav_sim/simulations/perception/ekf_slam/__main__.py +3 -0
- uav_sim/simulations/perception/ekf_slam/run.py +373 -0
- uav_sim/simulations/perception/occupancy_mapping/README.md +21 -0
- uav_sim/simulations/perception/occupancy_mapping/__init__.py +0 -0
- uav_sim/simulations/perception/occupancy_mapping/__main__.py +3 -0
- uav_sim/simulations/perception/occupancy_mapping/run.py +290 -0
- uav_sim/simulations/perception/sensor_suite_demo/README.md +21 -0
- uav_sim/simulations/perception/sensor_suite_demo/__init__.py +0 -0
- uav_sim/simulations/perception/sensor_suite_demo/__main__.py +3 -0
- uav_sim/simulations/perception/sensor_suite_demo/run.py +282 -0
- uav_sim/simulations/perception/visual_servoing/README.md +30 -0
- uav_sim/simulations/perception/visual_servoing/__init__.py +0 -0
- uav_sim/simulations/perception/visual_servoing/__main__.py +5 -0
- uav_sim/simulations/perception/visual_servoing/_core.py +286 -0
- uav_sim/simulations/perception/visual_servoing/run.py +24 -0
- uav_sim/simulations/perception/visual_servoing_fixed/README.md +42 -0
- uav_sim/simulations/perception/visual_servoing_fixed/__init__.py +0 -0
- uav_sim/simulations/perception/visual_servoing_fixed/__main__.py +5 -0
- uav_sim/simulations/perception/visual_servoing_fixed/run.py +19 -0
- uav_sim/simulations/perception/visual_servoing_gimbal/README.md +42 -0
- uav_sim/simulations/perception/visual_servoing_gimbal/__init__.py +0 -0
- uav_sim/simulations/perception/visual_servoing_gimbal/__main__.py +5 -0
- uav_sim/simulations/perception/visual_servoing_gimbal/run.py +19 -0
- uav_sim/simulations/plugins.py +55 -0
- uav_sim/simulations/sensors/__init__.py +0 -0
- uav_sim/simulations/sensors/gimbal_bbox_tracking/README.md +30 -0
- uav_sim/simulations/sensors/gimbal_bbox_tracking/__init__.py +0 -0
- uav_sim/simulations/sensors/gimbal_bbox_tracking/__main__.py +5 -0
- uav_sim/simulations/sensors/gimbal_bbox_tracking/run.py +302 -0
- uav_sim/simulations/sensors/gimbal_tracking/README.md +21 -0
- uav_sim/simulations/sensors/gimbal_tracking/__init__.py +0 -0
- uav_sim/simulations/sensors/gimbal_tracking/__main__.py +3 -0
- uav_sim/simulations/sensors/gimbal_tracking/run.py +246 -0
- uav_sim/simulations/setup_helpers.py +86 -0
- uav_sim/simulations/standards.py +265 -0
- uav_sim/simulations/swarm/__init__.py +0 -0
- uav_sim/simulations/swarm/consensus_formation/README.md +21 -0
- uav_sim/simulations/swarm/consensus_formation/__init__.py +0 -0
- uav_sim/simulations/swarm/consensus_formation/__main__.py +3 -0
- uav_sim/simulations/swarm/consensus_formation/run.py +184 -0
- uav_sim/simulations/swarm/leader_follower/README.md +21 -0
- uav_sim/simulations/swarm/leader_follower/__init__.py +0 -0
- uav_sim/simulations/swarm/leader_follower/__main__.py +3 -0
- uav_sim/simulations/swarm/leader_follower/run.py +198 -0
- uav_sim/simulations/swarm/potential_swarm/README.md +21 -0
- uav_sim/simulations/swarm/potential_swarm/__init__.py +0 -0
- uav_sim/simulations/swarm/potential_swarm/__main__.py +3 -0
- uav_sim/simulations/swarm/potential_swarm/run.py +198 -0
- uav_sim/simulations/swarm/reynolds_flocking/README.md +21 -0
- uav_sim/simulations/swarm/reynolds_flocking/__init__.py +0 -0
- uav_sim/simulations/swarm/reynolds_flocking/__main__.py +3 -0
- uav_sim/simulations/swarm/reynolds_flocking/run.py +208 -0
- uav_sim/simulations/swarm/virtual_structure/README.md +21 -0
- uav_sim/simulations/swarm/virtual_structure/__init__.py +0 -0
- uav_sim/simulations/swarm/virtual_structure/__main__.py +3 -0
- uav_sim/simulations/swarm/virtual_structure/run.py +222 -0
- uav_sim/simulations/swarm/voronoi_coverage/README.md +21 -0
- uav_sim/simulations/swarm/voronoi_coverage/__init__.py +0 -0
- uav_sim/simulations/swarm/voronoi_coverage/__main__.py +3 -0
- uav_sim/simulations/swarm/voronoi_coverage/run.py +216 -0
- uav_sim/simulations/trajectory_planning/__init__.py +0 -0
- uav_sim/simulations/trajectory_planning/frenet_optimal/README.md +21 -0
- uav_sim/simulations/trajectory_planning/frenet_optimal/__init__.py +0 -0
- uav_sim/simulations/trajectory_planning/frenet_optimal/__main__.py +3 -0
- uav_sim/simulations/trajectory_planning/frenet_optimal/run.py +306 -0
- uav_sim/simulations/trajectory_planning/min_snap/README.md +21 -0
- uav_sim/simulations/trajectory_planning/min_snap/__init__.py +0 -0
- uav_sim/simulations/trajectory_planning/min_snap/__main__.py +3 -0
- uav_sim/simulations/trajectory_planning/min_snap/run.py +178 -0
- uav_sim/simulations/trajectory_planning/polynomial_trajectory/README.md +21 -0
- uav_sim/simulations/trajectory_planning/polynomial_trajectory/__init__.py +0 -0
- uav_sim/simulations/trajectory_planning/polynomial_trajectory/__main__.py +3 -0
- uav_sim/simulations/trajectory_planning/polynomial_trajectory/run.py +154 -0
- uav_sim/simulations/trajectory_planning/quintic_polynomial_demo/README.md +21 -0
- uav_sim/simulations/trajectory_planning/quintic_polynomial_demo/__init__.py +0 -0
- uav_sim/simulations/trajectory_planning/quintic_polynomial_demo/__main__.py +3 -0
- uav_sim/simulations/trajectory_planning/quintic_polynomial_demo/run.py +169 -0
- uav_sim/simulations/trajectory_tracking/__init__.py +0 -0
- uav_sim/simulations/trajectory_tracking/feedback_linearisation/README.md +21 -0
- uav_sim/simulations/trajectory_tracking/feedback_linearisation/__init__.py +0 -0
- uav_sim/simulations/trajectory_tracking/feedback_linearisation/__main__.py +3 -0
- uav_sim/simulations/trajectory_tracking/feedback_linearisation/run.py +137 -0
- uav_sim/simulations/trajectory_tracking/mppi/README.md +21 -0
- uav_sim/simulations/trajectory_tracking/mppi/__init__.py +0 -0
- uav_sim/simulations/trajectory_tracking/mppi/__main__.py +3 -0
- uav_sim/simulations/trajectory_tracking/mppi/run.py +248 -0
- uav_sim/simulations/trajectory_tracking/nmpc/README.md +21 -0
- uav_sim/simulations/trajectory_tracking/nmpc/__init__.py +0 -0
- uav_sim/simulations/trajectory_tracking/nmpc/__main__.py +3 -0
- uav_sim/simulations/trajectory_tracking/nmpc/run.py +165 -0
- uav_sim/simulations/vehicles/__init__.py +0 -0
- uav_sim/simulations/vehicles/fixed_wing_flight/README.md +21 -0
- uav_sim/simulations/vehicles/fixed_wing_flight/__init__.py +0 -0
- uav_sim/simulations/vehicles/fixed_wing_flight/__main__.py +3 -0
- uav_sim/simulations/vehicles/fixed_wing_flight/run.py +194 -0
- uav_sim/simulations/vehicles/multirotor_mixer/README.md +69 -0
- uav_sim/simulations/vehicles/multirotor_mixer/__init__.py +0 -0
- uav_sim/simulations/vehicles/multirotor_mixer/__main__.py +3 -0
- uav_sim/simulations/vehicles/multirotor_mixer/run.py +302 -0
- uav_sim/simulations/vehicles/vtol_transition/README.md +21 -0
- uav_sim/simulations/vehicles/vtol_transition/__init__.py +0 -0
- uav_sim/simulations/vehicles/vtol_transition/__main__.py +3 -0
- uav_sim/simulations/vehicles/vtol_transition/run.py +217 -0
- uav_sim/swarm/__init__.py +18 -0
- uav_sim/swarm/consensus_formation.py +54 -0
- uav_sim/swarm/coverage.py +111 -0
- uav_sim/swarm/leader_follower.py +60 -0
- uav_sim/swarm/potential_swarm.py +129 -0
- uav_sim/swarm/reynolds_flocking.py +138 -0
- uav_sim/swarm/virtual_structure.py +104 -0
- uav_sim/trajectory_planning/__init__.py +14 -0
- uav_sim/trajectory_planning/frenet_optimal.py +228 -0
- uav_sim/trajectory_planning/min_snap.py +190 -0
- uav_sim/trajectory_planning/polynomial_trajectory.py +122 -0
- uav_sim/trajectory_planning/quintic_polynomial.py +134 -0
- uav_sim/trajectory_tracking/__init__.py +10 -0
- uav_sim/trajectory_tracking/feedback_linearisation.py +119 -0
- uav_sim/trajectory_tracking/mppi.py +176 -0
- uav_sim/trajectory_tracking/nmpc.py +304 -0
- uav_sim/vehicles/__init__.py +55 -0
- uav_sim/vehicles/base.py +96 -0
- uav_sim/vehicles/components/__init__.py +2 -0
- uav_sim/vehicles/components/allocation.py +594 -0
- uav_sim/vehicles/components/mixer.py +78 -0
- uav_sim/vehicles/components/motor.py +85 -0
- uav_sim/vehicles/fixed_wing/__init__.py +31 -0
- uav_sim/vehicles/fixed_wing/aerodynamics.py +403 -0
- uav_sim/vehicles/fixed_wing/fixed_wing.py +356 -0
- uav_sim/vehicles/fixed_wing/presets.py +181 -0
- uav_sim/vehicles/fixed_wing/trim.py +192 -0
- uav_sim/vehicles/footprint.py +124 -0
- uav_sim/vehicles/multirotor/__init__.py +28 -0
- uav_sim/vehicles/multirotor/multirotor.py +393 -0
- uav_sim/vehicles/multirotor/quadrotor.py +125 -0
- uav_sim/vehicles/payloads/__init__.py +2 -0
- uav_sim/vehicles/payloads/gimbal.py +58 -0
- uav_sim/vehicles/presets.py +235 -0
- uav_sim/vehicles/vtol/__init__.py +6 -0
- uav_sim/vehicles/vtol/tiltrotor.py +346 -0
- uav_sim/visualization/__init__.py +84 -0
- uav_sim/visualization/animator.py +210 -0
- uav_sim/visualization/costmap_viz.py +171 -0
- uav_sim/visualization/data_panel.py +220 -0
- uav_sim/visualization/plotting.py +156 -0
- uav_sim/visualization/sensor_viz.py +438 -0
- uav_sim/visualization/three_panel.py +255 -0
- uav_sim/visualization/vehicle_artists.py +421 -0
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: flybots
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: From-scratch autonomous UAV algorithms: multirotor, fixed-wing and VTOL flight models, 42 runnable simulations and reinforcement-learning environments.
|
|
5
|
+
Project-URL: Homepage, https://guilyx.github.io/flybots/
|
|
6
|
+
Project-URL: Documentation, https://guilyx.github.io/flybots/
|
|
7
|
+
Project-URL: Repository, https://github.com/guilyx/flybots
|
|
8
|
+
Project-URL: Changelog, https://github.com/guilyx/flybots/blob/main/CHANGELOG.md
|
|
9
|
+
Project-URL: Issues, https://github.com/guilyx/flybots/issues
|
|
10
|
+
Author-email: Erwin Lejeune <erwin.lejeune15@gmail.com>
|
|
11
|
+
License-Expression: MIT
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Keywords: control,drone,fixed-wing,path-planning,quadrotor,reinforcement-learning,robotics,simulation,state-estimation,uav,vtol
|
|
14
|
+
Classifier: Development Status :: 4 - Beta
|
|
15
|
+
Classifier: Intended Audience :: Education
|
|
16
|
+
Classifier: Intended Audience :: Science/Research
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Topic :: Education
|
|
21
|
+
Classifier: Topic :: Scientific/Engineering
|
|
22
|
+
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
23
|
+
Classifier: Typing :: Typed
|
|
24
|
+
Requires-Python: >=3.12
|
|
25
|
+
Requires-Dist: matplotlib>=3.9
|
|
26
|
+
Requires-Dist: numpy>=2.0
|
|
27
|
+
Requires-Dist: scipy>=1.14
|
|
28
|
+
Provides-Extra: gym
|
|
29
|
+
Requires-Dist: gymnasium>=1.0; extra == 'gym'
|
|
30
|
+
Provides-Extra: video
|
|
31
|
+
Requires-Dist: imageio-ffmpeg>=0.5; extra == 'video'
|
|
32
|
+
Description-Content-Type: text/markdown
|
|
33
|
+
|
|
34
|
+
<div align="center">
|
|
35
|
+
|
|
36
|
+
# flybots
|
|
37
|
+
|
|
38
|
+
**Flight algorithms, from scratch.**
|
|
39
|
+
|
|
40
|
+
Multirotor, fixed-wing and VTOL flight models with the physics written out
|
|
41
|
+
in full — plus 42 runnable simulations and a gym for teaching a drone to
|
|
42
|
+
fly itself.
|
|
43
|
+
|
|
44
|
+
[**Documentation**](https://guilyx.github.io/flybots/) ·
|
|
45
|
+
[Getting started](https://guilyx.github.io/flybots/guide/getting-started) ·
|
|
46
|
+
[Flight models](https://guilyx.github.io/flybots/vehicles/) ·
|
|
47
|
+
[Reinforcement learning](https://guilyx.github.io/flybots/learning/) ·
|
|
48
|
+
[Algorithm atlas](https://guilyx.github.io/flybots/simulations/)
|
|
49
|
+
|
|
50
|
+
[](https://github.com/guilyx/flybots/actions/workflows/ci.yml)
|
|
51
|
+
[](https://guilyx.github.io/flybots/)
|
|
52
|
+
[](https://pypi.org/project/flybots/)
|
|
53
|
+
[](https://www.python.org/downloads/)
|
|
54
|
+
[](https://github.com/guilyx/flybots/blob/main/LICENSE)
|
|
55
|
+
[](https://github.com/astral-sh/ruff)
|
|
56
|
+
[](https://pre-commit.com/)
|
|
57
|
+
[](https://github.com/astral-sh/uv)
|
|
58
|
+
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
<a href="https://guilyx.github.io/flybots/#see-it-fly">
|
|
62
|
+
<img src="https://raw.githubusercontent.com/guilyx/flybots/main/docs/public/media/promo.gif" alt="flybots — quadrotor, fixed-wing, VTOL, planning, trajectory generation, estimation, mapping, swarms and reinforcement learning" width="820"/>
|
|
63
|
+
</a>
|
|
64
|
+
|
|
65
|
+
<sub>Quadrotor, fixed-wing, VTOL, planning, trajectory generation, estimation, mapping, swarms and reinforcement learning, closing on all 42 simulations. Every frame is simulated at render time by <a href="https://github.com/guilyx/flybots/blob/main/scripts/make_promo.py"><code>scripts/make_promo.py</code></a> — no stock footage, and nothing that can drift out of sync with the code. Above is a sample of each scene; the full seventy-eight seconds, at full resolution, is <a href="https://guilyx.github.io/flybots/#see-it-fly">on the docs site</a>.</sub>
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Install
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
pip install flybots
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
flybots doctor # verify the install, run the physics self-checks
|
|
77
|
+
flybots list # browse 42 simulations
|
|
78
|
+
flybots run pid_hover # render one to a GIF
|
|
79
|
+
flybots train hover # teach a quadrotor to hold position
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Sixty seconds in
|
|
83
|
+
|
|
84
|
+
A fixed wing, trimmed and flown to a new altitude and heading:
|
|
85
|
+
|
|
86
|
+
```python
|
|
87
|
+
from uav_sim.vehicles.fixed_wing import create_fixed_wing, FixedWingPreset
|
|
88
|
+
from uav_sim.control.fixed_wing_autopilot import FixedWingAutopilot, AutopilotCommand
|
|
89
|
+
|
|
90
|
+
aircraft = create_fixed_wing(FixedWingPreset.SKYWALKER_X8)
|
|
91
|
+
aircraft.reset_trimmed(altitude=120.0) # solve for equilibrium flight
|
|
92
|
+
|
|
93
|
+
pilot = FixedWingAutopilot(aircraft.fw_params) # gains derived from the airframe
|
|
94
|
+
command = AutopilotCommand(altitude=160.0, airspeed=20.0, course=1.0)
|
|
95
|
+
|
|
96
|
+
for _ in range(12_000):
|
|
97
|
+
aircraft.step(pilot.compute(aircraft.state, command, 0.01), 0.01)
|
|
98
|
+
|
|
99
|
+
print(aircraft.state[2]) # 160.0
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## What is here
|
|
103
|
+
|
|
104
|
+
| | |
|
|
105
|
+
|---|---|
|
|
106
|
+
| **Vehicles** | 6DOF quadrotor with motor dynamics · full Beard & McLain fixed-wing · tilt-rotor VTOL that transitions |
|
|
107
|
+
| **Control** | Cascaded PID · LQR · MPC · pure pursuit · geometric SO(3) · fixed-wing autopilot · VTOL mode scheduler |
|
|
108
|
+
| **Planning** | A* · RRT* · PRM · potential field · coverage · min-snap · Frenet · quintic |
|
|
109
|
+
| **Estimation** | EKF · UKF · particle filter · complementary filter · EKF-SLAM |
|
|
110
|
+
| **Perception** | Occupancy mapping · obstacle detection · visual servoing · gimbal tracking |
|
|
111
|
+
| **Swarm** | Reynolds flocking · consensus · virtual structure · leader-follower · Voronoi coverage |
|
|
112
|
+
| **Learning** | 6 RL environments · pure-NumPy trainer (ARS, CEM) · optional Gymnasium integration |
|
|
113
|
+
|
|
114
|
+
Nothing here wraps a solver. The Newton-Euler equations, the aerodynamic
|
|
115
|
+
coefficient build-up, the Kalman recursions and the sampling-based planners
|
|
116
|
+
are written out in NumPy next to the citation they came from.
|
|
117
|
+
|
|
118
|
+
## Flight models
|
|
119
|
+
|
|
120
|
+
Three airframes, one frame convention, so they compose.
|
|
121
|
+
|
|
122
|
+
```python
|
|
123
|
+
from uav_sim.vehicles.fixed_wing import create_fixed_wing, FixedWingPreset
|
|
124
|
+
|
|
125
|
+
aircraft = create_fixed_wing(FixedWingPreset.AEROSONDE)
|
|
126
|
+
controls = aircraft.reset_trimmed(airspeed=35.0, altitude=200.0)
|
|
127
|
+
|
|
128
|
+
for _ in range(6000):
|
|
129
|
+
aircraft.step(controls, 0.005)
|
|
130
|
+
|
|
131
|
+
aircraft.state[2] # 200.0 — thirty seconds, open loop, no drift
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
That is the acceptance test for the whole aerodynamic model: if any force
|
|
135
|
+
or moment is inconsistent, trim is not an equilibrium and the aircraft
|
|
136
|
+
wanders. Every stability derivative is live, and there is a test that fails
|
|
137
|
+
if you zero any of them.
|
|
138
|
+
|
|
139
|
+
- [Fixed-wing](https://guilyx.github.io/flybots/vehicles/fixed-wing) — coefficient build-up, stall, trim solver
|
|
140
|
+
- [VTOL tilt-rotor](https://guilyx.github.io/flybots/vehicles/vtol) — hover → cruise → hover with altitude held
|
|
141
|
+
- [Quadrotor](https://guilyx.github.io/flybots/vehicles/quadrotor) — mixer and per-motor dynamics
|
|
142
|
+
|
|
143
|
+
## Teach one to fly
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
flybots envs # 6 tasks: hover, waypoint, trajectory, landing, 2 fixed-wing
|
|
147
|
+
flybots train hover # pure NumPy — no deep-learning stack
|
|
148
|
+
flybots play hover --policy policies/hover.npz --gif hover.gif
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
```python
|
|
152
|
+
from uav_sim.gym import make, train, evaluate
|
|
153
|
+
|
|
154
|
+
result = train("hover", iterations=120, seed=0)
|
|
155
|
+
print(evaluate("hover", result.policy, episodes=25))
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Gymnasium's API without the Gymnasium dependency. Install
|
|
159
|
+
`flybots[gym]` and the environments register as `uav_sim/Hover-v0` for use
|
|
160
|
+
with any standard RL library.
|
|
161
|
+
|
|
162
|
+
The interesting part is not the algorithm — it is that
|
|
163
|
+
[four setup choices](https://guilyx.github.io/flybots/learning/design-notes)
|
|
164
|
+
decide whether these tasks are learnable at all. Each is documented with
|
|
165
|
+
the measurement that motivated it.
|
|
166
|
+
|
|
167
|
+
## Simulations
|
|
168
|
+
|
|
169
|
+
Forty-odd runnable demos, each with a three-panel animation, an academic
|
|
170
|
+
reference and a JSON log:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
flybots list
|
|
174
|
+
flybots info astar_3d
|
|
175
|
+
flybots run astar_3d
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Browse them all in the
|
|
179
|
+
[algorithm atlas](https://guilyx.github.io/flybots/simulations/).
|
|
180
|
+
|
|
181
|
+
## Conventions
|
|
182
|
+
|
|
183
|
+
Worth ten minutes before you write a controller:
|
|
184
|
+
|
|
185
|
+
| | Frame | Axes |
|
|
186
|
+
|---|---|---|
|
|
187
|
+
| World | **ENU** | `x` east, `y` north, `z` up |
|
|
188
|
+
| Body | **FLU** | `x` forward, `y` left, `z` up |
|
|
189
|
+
|
|
190
|
+
A consequence of Forward-Left-Up is that **positive pitch is nose-down**,
|
|
191
|
+
and because the world is ENU, **banking right decreases the heading**.
|
|
192
|
+
Aerodynamics texts use Forward-Right-Down; the library converts at the
|
|
193
|
+
boundary rather than rewriting the equations. Full details in
|
|
194
|
+
[Frames and conventions](https://guilyx.github.io/flybots/guide/conventions).
|
|
195
|
+
|
|
196
|
+
## Development
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
git clone https://github.com/guilyx/flybots.git
|
|
200
|
+
cd flybots
|
|
201
|
+
uv sync --all-groups
|
|
202
|
+
|
|
203
|
+
uv run flybots doctor
|
|
204
|
+
uv run pytest
|
|
205
|
+
|
|
206
|
+
pre-commit install && pre-commit install --hook-type commit-msg
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Contributions welcome — see [CONTRIBUTING.md](https://github.com/guilyx/flybots/blob/main/CONTRIBUTING.md) for the bar
|
|
210
|
+
a new algorithm has to clear, and
|
|
211
|
+
[CHANGELOG.md](https://github.com/guilyx/flybots/blob/main/CHANGELOG.md) for what has changed.
|
|
212
|
+
|
|
213
|
+
## Safety
|
|
214
|
+
|
|
215
|
+
These models are simplified, the controllers are not certified, and nothing
|
|
216
|
+
here has been validated against a real airframe. Do not fly hardware on
|
|
217
|
+
control code taken from this repository without independent verification.
|
|
218
|
+
See [SECURITY.md](https://github.com/guilyx/flybots/blob/main/SECURITY.md).
|
|
219
|
+
|
|
220
|
+
## License
|
|
221
|
+
|
|
222
|
+
MIT — see [LICENSE](https://github.com/guilyx/flybots/blob/main/LICENSE).
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
uav_sim/__init__.py,sha256=o7zp3TJKbVXeUeaSV_HTZ3T2w7WT4iYvrGI7l2PugOs,653
|
|
2
|
+
uav_sim/cli/__init__.py,sha256=luwFWLxaJ9oesrw27VG6FEpRvo7gn1wR2xVoFwpwUlQ,160
|
|
3
|
+
uav_sim/cli/catalogue.py,sha256=IFgSGcOpxRDQbhZlGBzsqcXffVvAf3v0BmQOdo8s8o0,5165
|
|
4
|
+
uav_sim/cli/console.py,sha256=G3bxmww1MfKBiGB8X9T4nOK4HdgOR_P5J3WSzh1aG74,2458
|
|
5
|
+
uav_sim/cli/main.py,sha256=AGuiK_-dgYwUIptSBzG5lS_Lcuq9KBb3p-09YaKIw5U,21242
|
|
6
|
+
uav_sim/control/__init__.py,sha256=paT00e_lMem424V6ISXMXsmy82cq1JHs0R6RNuu1UW0,916
|
|
7
|
+
uav_sim/control/attitude_controller.py,sha256=e-oVzUrkCxrKxQDa7o6MR4SN4LP74jL0nXaSUmRHtYs,2139
|
|
8
|
+
uav_sim/control/fixed_wing_autopilot.py,sha256=FX4a_zuAs3C-TPXDlL0hPDYOa_d9l9k8gkULSSgYEfI,21284
|
|
9
|
+
uav_sim/control/flight_controller.py,sha256=dNEPhXy46S7FG__1HKKV2GAk3OYprflHKlq6zNcMYl4,3689
|
|
10
|
+
uav_sim/control/position_controller.py,sha256=K1epnAlSI28sUOmmpqMVfTEHFFm77Zefn7pFlpdMpis,1723
|
|
11
|
+
uav_sim/control/rate_controller.py,sha256=aZ7PnyD9lA_m0RRf8g44ta6H6s1DQWGb6c_AonjObbk,1486
|
|
12
|
+
uav_sim/control/state_machine.py,sha256=1xPOVJ5XEXS98MKerEQee1GLp7fzrjxjDUsoSTUV9_0,10920
|
|
13
|
+
uav_sim/control/velocity_controller.py,sha256=gYSG93xUKKC5W53GuTDlJjPU3oud8jHqBa4xmPwwEVo,2587
|
|
14
|
+
uav_sim/control/vtol_controller.py,sha256=fSG2yCh2l4_TBzlWyMLV_4Dm_IPOzr4tXbQtwGsWgkg,16049
|
|
15
|
+
uav_sim/costmap/__init__.py,sha256=5QlH94uF2KCzXzTAJquygM0n0iMIwwhdedus5F57hug,598
|
|
16
|
+
uav_sim/costmap/costmap.py,sha256=BcxE3FIY82T-1WgD_xTkaLQ1ca2RksdtiDYEyEIFQt4,3107
|
|
17
|
+
uav_sim/costmap/footprint_layer.py,sha256=_x3KQ2GJj2FLeYlqXVnFI09Sfb1bfflEkdsdER9S820,1845
|
|
18
|
+
uav_sim/costmap/inflation_layer.py,sha256=vfdYDIpYZo56oVOUoSy8NfenGZ30TiwsDFSKCMUxQuo,1866
|
|
19
|
+
uav_sim/costmap/occupancy_grid.py,sha256=ym_M1U7-QnkQwgUnugLRj6j4FMoTftxVc4jSoTeiM-8,9882
|
|
20
|
+
uav_sim/costmap/social_layer.py,sha256=R0XpRIPwpUyWLoFJ1M6lTyCSjOM1PBqzbF_RfWnXjVs,2487
|
|
21
|
+
uav_sim/costmap/velocity_layer.py,sha256=z_rI3-3nUua_Cbebp-PjZxD8AiLjGkqVVx-lRoPXP1E,960
|
|
22
|
+
uav_sim/environment/__init__.py,sha256=5hdALj5MecquFjtKVyyw46MlwEI7ZYzwPI9lhQ2erw4,812
|
|
23
|
+
uav_sim/environment/buildings.py,sha256=l9mj-aCz7aRmxUvVJ8QqlMQWKZhBqy1ftykz2uPBaOQ,3137
|
|
24
|
+
uav_sim/environment/default_world.py,sha256=ueyHm45iPAerBxZhb3s0ypa0RHyklMdoUcJnVWGiYGw,3606
|
|
25
|
+
uav_sim/environment/obstacles.py,sha256=EfIeP8FtFrdSNnIHkyv45-RpaY_Asg0GL2il0fCfFZ4,3267
|
|
26
|
+
uav_sim/environment/world.py,sha256=uvkcd2c6vlJLqxmxENocBX9fFeLIv0NUOyr1JGGFMdw,3011
|
|
27
|
+
uav_sim/estimation/__init__.py,sha256=W0CT9JjF_aKAmteOF8V6pdNLSD9cIYPVD--QmPz6V6s,541
|
|
28
|
+
uav_sim/estimation/complementary_filter.py,sha256=8W9DgB2MWmIXxqfl2h6JaRx3LQkkIkbpiuWxyj7yZyw,2273
|
|
29
|
+
uav_sim/estimation/ekf.py,sha256=pwQyVzXFuxhBE0bsFTiP0ywqUBRKClAIhSkY7yzFUhE,2960
|
|
30
|
+
uav_sim/estimation/particle_filter.py,sha256=f9IkBGcOl674mPTbz-nGIHQsotKulmKTkgCgwhhVano,4796
|
|
31
|
+
uav_sim/estimation/process_noise.py,sha256=e9IgB79G5ajuPwM7kmV3-g8SZIIxxZpFk7feLFuQOPk,4182
|
|
32
|
+
uav_sim/estimation/ukf.py,sha256=RM_3qv4rdBiAqDDhRC5QHQHoPKaNCtYT20MjmUJcB98,4454
|
|
33
|
+
uav_sim/frames/__init__.py,sha256=WouyVZsoUOTFpqiDkKn9AdTqtfeR7g7GbjPoJFc0vGQ,846
|
|
34
|
+
uav_sim/frames/transforms.py,sha256=BXRk4LOag-zATjdxYxgCd9f8eyRBQa4KgjtvBoZEYVA,9423
|
|
35
|
+
uav_sim/guidance/__init__.py,sha256=_s6uELVDnTz_hnFsMmZoBHAdOhlJoNxiALF8GNZj1OQ,1607
|
|
36
|
+
uav_sim/guidance/fixed_wing_mission.py,sha256=-2kbUANbjEIwiwOMQ19JYhDMeb1aP_di43KNtdxqwiA,30309
|
|
37
|
+
uav_sim/guidance/fixed_wing_paths.py,sha256=FLeKQ4wE0uDBe8_BIoMd8L8DU4lNIPDsAoLF3G84JUY,25398
|
|
38
|
+
uav_sim/gym/__init__.py,sha256=oxnM6v6m-MeCYxHb1fhL8ZFZeMmXVv6_MB7zYon2pZ8,2120
|
|
39
|
+
uav_sim/gym/base.py,sha256=CsgDwhbesQqtJkSHMmLkBIQSJy9JHx1elvaa9QcgzCo,7760
|
|
40
|
+
uav_sim/gym/fixed_wing_envs.py,sha256=X8C1AUpa1m0xsj4u7B4Kmkcm10G2PbGpqiqafyV8reg,13094
|
|
41
|
+
uav_sim/gym/optimizers.py,sha256=niG2qryckxm5j5zc0dgJqL35MnAQu66q19Lquadp1bg,7712
|
|
42
|
+
uav_sim/gym/policy.py,sha256=O5ezMSxtbxl3rRLTAn4gkH5t3udV0vjFMmKZBSaRdN4,7831
|
|
43
|
+
uav_sim/gym/quadrotor_envs.py,sha256=Zq4FAfd2N1hm79I57lcykCbBYCmFHpPH-z7OOd7nVP8,16369
|
|
44
|
+
uav_sim/gym/registry.py,sha256=JEEyJq8GcRnAs--KdW_HNg8_hOFtpvNzWNH7raxusYs,5591
|
|
45
|
+
uav_sim/gym/render.py,sha256=sxoNcY14cvmkI5V1iJDGe6NCNLIDkQPRydn9zp3EBik,5399
|
|
46
|
+
uav_sim/gym/spaces.py,sha256=AW32n2WpNoK46Oky_XLoJEPrhahtK4vYb9Osa8SFufM,2900
|
|
47
|
+
uav_sim/gym/train.py,sha256=859bpSroAx1WFcyGs9b_C_Lqhj3SCB82tQCkRSDVM5U,11599
|
|
48
|
+
uav_sim/logging/__init__.py,sha256=0eT_ryHA08n5fGeW42wETlg6urCRMgVpwdzk3qeyFWc,111
|
|
49
|
+
uav_sim/logging/sim_logger.py,sha256=iiwqRKE6paVijrJtXAIUyeaaOJQZJE2DgSXenM-SjH8,4357
|
|
50
|
+
uav_sim/path_planning/__init__.py,sha256=30iC-CGkaS13Go1i95YL2PZPrZRzpSw4s-48E_Qshkg,635
|
|
51
|
+
uav_sim/path_planning/astar_3d.py,sha256=Beg_LXR9d8pcdLDWO9v1ZMjOyTg5OMdDcLVtswaT-pI,3222
|
|
52
|
+
uav_sim/path_planning/coverage_planner.py,sha256=Cgo-DQqZixczLPlB3jlay1ey2z7b67dA90b7CAtgsCc,3954
|
|
53
|
+
uav_sim/path_planning/plan_through_obstacles.py,sha256=Brb5o12Uygf_gGM0LE_n9N3fTiLMhyjc1uWFAmIwBjA,2448
|
|
54
|
+
uav_sim/path_planning/potential_field_3d.py,sha256=DiJPu_Nq4KjEAHu4PgGwEw40SV2TUOgunzx0FyZOVoc,3608
|
|
55
|
+
uav_sim/path_planning/prm_3d.py,sha256=91SbEWXDOBVR-9j87Ur9OTt-1_kxsUuYN74O_vyk1EA,6167
|
|
56
|
+
uav_sim/path_planning/rrt_3d.py,sha256=Yy6pO2KGUZJIwkdKlnWW3EnhdtDjuEb4W516kH2VAhs,8232
|
|
57
|
+
uav_sim/path_tracking/__init__.py,sha256=nqLpmwJywxsuWzl9cYRQPRagWBO-UgHv_ehGFD_I-gY,801
|
|
58
|
+
uav_sim/path_tracking/flight_ops.py,sha256=V4wLD0AXeD7eAqQOckHHZ20YWH1k-lnykvq4f2Ras8Q,8846
|
|
59
|
+
uav_sim/path_tracking/geometric_controller.py,sha256=_GhGqEjA_xqwiVDro9quu6DG54l89ONzPvKnyqQ2GnI,6906
|
|
60
|
+
uav_sim/path_tracking/lqr_controller.py,sha256=f6mhIfbexHSPGUwoPySVM27BVqfCDESYOQMQtnNT2mQ,4702
|
|
61
|
+
uav_sim/path_tracking/lqr_path_tracker.py,sha256=P1TvbCH7gTitUF2xVdIQ4MgzMMa3Ai8qh4C9KmdIRI0,3441
|
|
62
|
+
uav_sim/path_tracking/mpc_controller.py,sha256=dk7sEfxuhLkNgLUskj6v24Kv_MDL2lCyIOgDHV3CPoo,8523
|
|
63
|
+
uav_sim/path_tracking/path_smoothing.py,sha256=NvhHpn4gCWt1aBB0afXIYxj708nZoHC3M2Twh-GLKRk,4164
|
|
64
|
+
uav_sim/path_tracking/pid_controller.py,sha256=4U42KZaotNF-qsCdADOaPbK4d0mIZDwYoRY8Q9TMulE,7026
|
|
65
|
+
uav_sim/path_tracking/pure_pursuit_3d.py,sha256=b-Ut8p_qV4DnTJD777jIPPC_ipSlDv6x2ZjlALEWlzM,7114
|
|
66
|
+
uav_sim/perception/__init__.py,sha256=vLu6w254tDdnwK81zfkGbORUQF-90UVwBz8hWqGZtrU,737
|
|
67
|
+
uav_sim/perception/bbox_tracker.py,sha256=7aDSVJLpg9nzYo9HsttjGs8X94-XFaaTfZy4tz6WjsQ,6436
|
|
68
|
+
uav_sim/perception/obstacle_detection.py,sha256=vurH7iZUwzN02GaiaWY7il3HmOZZoF06ZtWMGxhYk0s,1491
|
|
69
|
+
uav_sim/perception/occupancy_mapping.py,sha256=FfJoTC92ThfWupgt8IAudqeo7xzWVd4W7ZGyfKkxtC0,3276
|
|
70
|
+
uav_sim/perception/point_cloud.py,sha256=0v0tpcS5FxtSO5fCKeZfsTd7j4JtVLV-iau_mSzoj6g,1338
|
|
71
|
+
uav_sim/sensors/__init__.py,sha256=dLAop7ajacUkwPgRWpG07vPjqM9zvEycbievr68WtyM,865
|
|
72
|
+
uav_sim/sensors/base.py,sha256=M406DbHM4fjau4yub5TwK90KzRVX7LsaaYBWLlvPtJw,2172
|
|
73
|
+
uav_sim/sensors/camera.py,sha256=2hWxW5K_RqJps2C2wMteB-wt26lf-wQLaL832oR1idA,3596
|
|
74
|
+
uav_sim/sensors/gimbal.py,sha256=E-H8J0py3FdPrDl35HxfZSJXIaCIjS2yHSLYhqoaTWQ,4727
|
|
75
|
+
uav_sim/sensors/gimbal_controller.py,sha256=5mbFy7IQaSSwkUPp9suL0-VqcHnZBoyRWM4Hokug5_s,6226
|
|
76
|
+
uav_sim/sensors/gps.py,sha256=9LPzbnnc2fOVTeEljlCm_N8LV6GY9JfJd9yZZYCSt-4,1033
|
|
77
|
+
uav_sim/sensors/imu.py,sha256=KJ0fJvmy41dson9mwyA2qbIJfoGAafeoWLaJfPZ1mJU,4486
|
|
78
|
+
uav_sim/sensors/lidar.py,sha256=rijAlqSBwE6Q2New-rvAp7NpUC4yh9heFSUqRwPIwnA,6987
|
|
79
|
+
uav_sim/sensors/range_finder.py,sha256=_5J7UW54HMAyZQGKT058sPYwYGJGP7ZJu8JyhW_dS2s,999
|
|
80
|
+
uav_sim/simulations/__init__.py,sha256=Dkcx5NDwKBXALSGt9-HXegjmfBMRbShhWOt0I8nUMPk,913
|
|
81
|
+
uav_sim/simulations/api.py,sha256=oBDPh1qdlorRhilDxE_qCSFXIdfUMYB5-WqNbbChHkA,2805
|
|
82
|
+
uav_sim/simulations/common.py,sha256=9rX3dKl5zW1lMANYpYCC9cz6W9kJvdozdLPGX5lIpME,4370
|
|
83
|
+
uav_sim/simulations/contracts.py,sha256=Tei5BGRYmAapmMN34CGYdUDGrUKZCwXKOv2ABPtYm9E,2073
|
|
84
|
+
uav_sim/simulations/mission_runner.py,sha256=h7vl1BTp1gRYKKWcgmUg-sXIX8zXLQSn7LPzEWdFcWU,8459
|
|
85
|
+
uav_sim/simulations/plugins.py,sha256=JZnF86vkB_XxlSDbmPisJ-ARns23RFyYTXjCTWOvw20,1550
|
|
86
|
+
uav_sim/simulations/setup_helpers.py,sha256=rywcctyCQYQrm0AFBHDaAKrw9mkQOLnzB_tGfgFvSPM,2582
|
|
87
|
+
uav_sim/simulations/standards.py,sha256=UPOx37v0q96Xds4_fKFIynjNOrEF0QaSbcuDtO7cQbQ,8391
|
|
88
|
+
uav_sim/simulations/environment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
89
|
+
uav_sim/simulations/environment/costmap_navigation/README.md,sha256=y4UiZtlf1vJdf3pwGAcd8eIqWYYIFhnwbWy5d-bBHqQ,852
|
|
90
|
+
uav_sim/simulations/environment/costmap_navigation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
91
|
+
uav_sim/simulations/environment/costmap_navigation/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
92
|
+
uav_sim/simulations/environment/costmap_navigation/run.py,sha256=rMNj9hHsVlSa2G7iK17jsrqLyMHqLtMFl7kCsqx1BHY,8560
|
|
93
|
+
uav_sim/simulations/estimation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
94
|
+
uav_sim/simulations/estimation/complementary_filter/README.md,sha256=_ADLR1PKPIdUzrmLvttAySPauT6zHxySz45-mf7JqUI,719
|
|
95
|
+
uav_sim/simulations/estimation/complementary_filter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
96
|
+
uav_sim/simulations/estimation/complementary_filter/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
97
|
+
uav_sim/simulations/estimation/complementary_filter/run.py,sha256=Nw6M9x107SFTGGxkX9VAhKVa5IqWdWssJDYAKzld-XE,6745
|
|
98
|
+
uav_sim/simulations/estimation/ekf/README.md,sha256=AgUgbIHaSjS71UlPdclACsVpLP7lPdYaIhemTeKRoNc,684
|
|
99
|
+
uav_sim/simulations/estimation/ekf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
100
|
+
uav_sim/simulations/estimation/ekf/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
101
|
+
uav_sim/simulations/estimation/ekf/run.py,sha256=G-4D2MI-qsy2XAgPnStaaiFJmVLsC9H8UiQZBk-D960,8471
|
|
102
|
+
uav_sim/simulations/estimation/gps_imu_fusion/README.md,sha256=rNrySbe62gTEswLCAGKo-f91t1kSmkpcsE0GbCod3K0,606
|
|
103
|
+
uav_sim/simulations/estimation/gps_imu_fusion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
104
|
+
uav_sim/simulations/estimation/gps_imu_fusion/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
105
|
+
uav_sim/simulations/estimation/gps_imu_fusion/run.py,sha256=GBQSHkVKA_mjAf4tsX5s3RNBT1Rc8sQ3cYwoNmwKLfw,8998
|
|
106
|
+
uav_sim/simulations/estimation/particle_filter/README.md,sha256=4xnBnpfaEItfGt9VXXf_q0hoVshlT91fg6zGM_AlWOM,662
|
|
107
|
+
uav_sim/simulations/estimation/particle_filter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
108
|
+
uav_sim/simulations/estimation/particle_filter/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
109
|
+
uav_sim/simulations/estimation/particle_filter/run.py,sha256=Ullq-4-jSBzI0Nav6c-F1NJkMWxhjuYwArrx0zFH0G0,8722
|
|
110
|
+
uav_sim/simulations/estimation/ukf/README.md,sha256=O483eP14ECWUDh3kSm632vTCNmFlv9yRUxP8Fe7r6ew,1370
|
|
111
|
+
uav_sim/simulations/estimation/ukf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
112
|
+
uav_sim/simulations/estimation/ukf/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
113
|
+
uav_sim/simulations/estimation/ukf/run.py,sha256=CIKAcQSjBpopaFDFVj9i9jF2jpwgkVV8in5DZrT7mII,8880
|
|
114
|
+
uav_sim/simulations/path_planning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
115
|
+
uav_sim/simulations/path_planning/astar_3d/README.md,sha256=F4nZcec3msglMOzIXKQD-pmGtTs6v9OoP515Wzgx6_M,643
|
|
116
|
+
uav_sim/simulations/path_planning/astar_3d/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
117
|
+
uav_sim/simulations/path_planning/astar_3d/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
118
|
+
uav_sim/simulations/path_planning/astar_3d/run.py,sha256=6qxQAnzEB2VD2h5TkCfM6diuV8mha6Gguof5rJm5_h8,9124
|
|
119
|
+
uav_sim/simulations/path_planning/coverage_planning/README.md,sha256=FQrKrW5e2XvGELMWVaqO_q4gZRfwyTlkYCaD6dvYDGg,688
|
|
120
|
+
uav_sim/simulations/path_planning/coverage_planning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
121
|
+
uav_sim/simulations/path_planning/coverage_planning/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
122
|
+
uav_sim/simulations/path_planning/coverage_planning/run.py,sha256=OrQePpJC9t9yBenxcVpBOYDgdVqOAxB8DcPgpyJ6usc,6688
|
|
123
|
+
uav_sim/simulations/path_planning/potential_field_3d/README.md,sha256=9v3o4mnCzC46IEZLMVRzBHS0jt-feUS8Wa72gAGf_ec,728
|
|
124
|
+
uav_sim/simulations/path_planning/potential_field_3d/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
125
|
+
uav_sim/simulations/path_planning/potential_field_3d/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
126
|
+
uav_sim/simulations/path_planning/potential_field_3d/run.py,sha256=mGgJ8_RXEKXTfMe9iQnXeQA0Hyy3yofNcIesTuH6qPo,7494
|
|
127
|
+
uav_sim/simulations/path_planning/prm_3d/README.md,sha256=n-pS0ifZQy6CQ5jKq5yxAWW5FEgC7Tl_D1imEEzi33k,676
|
|
128
|
+
uav_sim/simulations/path_planning/prm_3d/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
129
|
+
uav_sim/simulations/path_planning/prm_3d/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
130
|
+
uav_sim/simulations/path_planning/prm_3d/run.py,sha256=k1c7yJbk9qVeKy_Up-agjYZobn1rN8KDsPBPMmR-TJk,9087
|
|
131
|
+
uav_sim/simulations/path_planning/rrt_star_3d/README.md,sha256=km_jNKhVvguO8vnUerurB_r7N6-ZZb3Mp_rq_BbtEVM,625
|
|
132
|
+
uav_sim/simulations/path_planning/rrt_star_3d/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
133
|
+
uav_sim/simulations/path_planning/rrt_star_3d/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
134
|
+
uav_sim/simulations/path_planning/rrt_star_3d/run.py,sha256=hLjf2kGS9LgiSUK0iJ63k8Jer1KmzbbOxmRNJwM1saI,7792
|
|
135
|
+
uav_sim/simulations/path_tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
136
|
+
uav_sim/simulations/path_tracking/fixed_wing_mission/README.md,sha256=FRuKVzJiZLA753oubSyx3cJUqhMqCQCJuuzsxTyGJEo,2218
|
|
137
|
+
uav_sim/simulations/path_tracking/fixed_wing_mission/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
138
|
+
uav_sim/simulations/path_tracking/fixed_wing_mission/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
139
|
+
uav_sim/simulations/path_tracking/fixed_wing_mission/run.py,sha256=55AttZGlZWI2a6V11HVa5dUPbiudVcCW2GFHl5ZrZ1M,13786
|
|
140
|
+
uav_sim/simulations/path_tracking/flight_ops_demo/README.md,sha256=YUonU9nHpFAZX29ejgXHELpYOlEq2qKOWDKj7lPJLdI,595
|
|
141
|
+
uav_sim/simulations/path_tracking/flight_ops_demo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
142
|
+
uav_sim/simulations/path_tracking/flight_ops_demo/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
143
|
+
uav_sim/simulations/path_tracking/flight_ops_demo/run.py,sha256=i9z2hT0edB1ffZUIDbNelzVuqEvVB8KLCzPxrQ6Nd2c,4627
|
|
144
|
+
uav_sim/simulations/path_tracking/geometric_control/README.md,sha256=sZxaFEVuYhnxzgLeoirj25km4yzbeyqWrrSPfNrvpYQ,724
|
|
145
|
+
uav_sim/simulations/path_tracking/geometric_control/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
146
|
+
uav_sim/simulations/path_tracking/geometric_control/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
147
|
+
uav_sim/simulations/path_tracking/geometric_control/run.py,sha256=uoGMCBUISvCGbzx3zqQ9Rc88jio0zBmprhj8b5EdlQ0,4874
|
|
148
|
+
uav_sim/simulations/path_tracking/lqr_hover/README.md,sha256=T7W1MpDotr1nZIJhxa85FgdUfAU2xwKq0LXK_urH5wQ,628
|
|
149
|
+
uav_sim/simulations/path_tracking/lqr_hover/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
150
|
+
uav_sim/simulations/path_tracking/lqr_hover/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
151
|
+
uav_sim/simulations/path_tracking/lqr_hover/run.py,sha256=pT36QfuHsuF_EefQ1T_fvOGl-nAEL0e6LSo8KlcMCmY,4066
|
|
152
|
+
uav_sim/simulations/path_tracking/lqr_tracking/README.md,sha256=VGVqIPXRjOIvD1-RUXLkGf8ci_lSFPK7GfXWXblAMzg,524
|
|
153
|
+
uav_sim/simulations/path_tracking/lqr_tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
154
|
+
uav_sim/simulations/path_tracking/lqr_tracking/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
155
|
+
uav_sim/simulations/path_tracking/lqr_tracking/run.py,sha256=upB6MmnIqNrNOvlJ7q580XT6MFQr_ko5JzSdKgzb944,4729
|
|
156
|
+
uav_sim/simulations/path_tracking/mpc_tracking/README.md,sha256=a5D0a3EK4xXwoYPSIMsVc5Av_LBxNQLA3ubmtvz3-2k,730
|
|
157
|
+
uav_sim/simulations/path_tracking/mpc_tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
158
|
+
uav_sim/simulations/path_tracking/mpc_tracking/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
159
|
+
uav_sim/simulations/path_tracking/mpc_tracking/run.py,sha256=Z1AL3HX9DyL7PapfQ5MAhwm4q1FiUi9g_kcgy5gD6wE,5046
|
|
160
|
+
uav_sim/simulations/path_tracking/path_smoothing_demo/README.md,sha256=IY-8f9kZg1MrFltwHAOZ_T6313Y3AWjf4tUjvBeCuGo,699
|
|
161
|
+
uav_sim/simulations/path_tracking/path_smoothing_demo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
162
|
+
uav_sim/simulations/path_tracking/path_smoothing_demo/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
163
|
+
uav_sim/simulations/path_tracking/path_smoothing_demo/run.py,sha256=lHWtkUBryb4yhsIxxXRYsHrML2uptyrk04_RKOEJz6s,7708
|
|
164
|
+
uav_sim/simulations/path_tracking/pid_hover/README.md,sha256=ASBOgjfAtjyorjM0KnnUUG4DHH5_mQVPBEd9WLuh6_g,617
|
|
165
|
+
uav_sim/simulations/path_tracking/pid_hover/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
166
|
+
uav_sim/simulations/path_tracking/pid_hover/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
167
|
+
uav_sim/simulations/path_tracking/pid_hover/run.py,sha256=rHtDjOy645hISlM5Y2l5cjQVFI9HlHokm5UEqEZclLk,3900
|
|
168
|
+
uav_sim/simulations/path_tracking/pure_pursuit/README.md,sha256=BR_sB3nOsS3ur84gxGRuAtSfJSEd-GZxPncMmg0SIJ8,670
|
|
169
|
+
uav_sim/simulations/path_tracking/pure_pursuit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
170
|
+
uav_sim/simulations/path_tracking/pure_pursuit/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
171
|
+
uav_sim/simulations/path_tracking/pure_pursuit/run.py,sha256=aJxnqUIMrPW1D_Por2dp4WmLbfKtT3POEEszxW3HYmE,5141
|
|
172
|
+
uav_sim/simulations/perception/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
173
|
+
uav_sim/simulations/perception/ekf_slam/README.md,sha256=LmkRJqjYFrmRK3ywF5AX_nISXJeJfyVcZKFrZFS6-pE,606
|
|
174
|
+
uav_sim/simulations/perception/ekf_slam/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
175
|
+
uav_sim/simulations/perception/ekf_slam/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
176
|
+
uav_sim/simulations/perception/ekf_slam/run.py,sha256=dXminik6zWSiqtl9lhFNmAD62NbuaZc_5j5PWbIb_Os,12739
|
|
177
|
+
uav_sim/simulations/perception/occupancy_mapping/README.md,sha256=HQmEA4ZUxM1UCVpfM4ord0Qp0qzHQXuVgY6wweA5PBs,713
|
|
178
|
+
uav_sim/simulations/perception/occupancy_mapping/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
179
|
+
uav_sim/simulations/perception/occupancy_mapping/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
180
|
+
uav_sim/simulations/perception/occupancy_mapping/run.py,sha256=iI_PK-lBYkhIxs3HKP0TeyNNAD58Qbk7fhz99SBrR1U,10133
|
|
181
|
+
uav_sim/simulations/perception/sensor_suite_demo/README.md,sha256=sne4HwuimbC8Yd3bcGpqHkTdrOMhQN-DwaakEnHlVfo,538
|
|
182
|
+
uav_sim/simulations/perception/sensor_suite_demo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
183
|
+
uav_sim/simulations/perception/sensor_suite_demo/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
184
|
+
uav_sim/simulations/perception/sensor_suite_demo/run.py,sha256=ntjyhltOJCxjtJItAIf-Aaiuq9oWrCtW797wRl-JkEs,8838
|
|
185
|
+
uav_sim/simulations/perception/visual_servoing/README.md,sha256=Mfjc_Z64TcgFh4BrxscawbOFmVzkJLRxHJcpbqroj8U,766
|
|
186
|
+
uav_sim/simulations/perception/visual_servoing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
187
|
+
uav_sim/simulations/perception/visual_servoing/__main__.py,sha256=eU1J003vEJse69oNEr9BDR00vaF8vdbP7cDOYkIe5jw,109
|
|
188
|
+
uav_sim/simulations/perception/visual_servoing/_core.py,sha256=dISdZFSav9edK_WXNXAlLRdnzSkkwJ7PAcl8zSCFEEs,11280
|
|
189
|
+
uav_sim/simulations/perception/visual_servoing/run.py,sha256=T86FPiTqsRL1mUDv90v7LyqgGYy63JtXRaEGvWuv5YM,496
|
|
190
|
+
uav_sim/simulations/perception/visual_servoing_fixed/README.md,sha256=aWUUTf7kQcy2FtG1ELHQ_b_g35mPRmHbV-Pybkhg1xI,1390
|
|
191
|
+
uav_sim/simulations/perception/visual_servoing_fixed/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
192
|
+
uav_sim/simulations/perception/visual_servoing_fixed/__main__.py,sha256=L6VEEpP2VWUsEmeWi5yB63VVXFrF0BeK2uHk3cK2Qac,137
|
|
193
|
+
uav_sim/simulations/perception/visual_servoing_fixed/run.py,sha256=-4aYkOTuaSQfyyf49x3OBObmHQ2tGW9PAtc3HLTM1KM,415
|
|
194
|
+
uav_sim/simulations/perception/visual_servoing_gimbal/README.md,sha256=V6HQVGVuAad5aYZtiNBvktE8oBBhQL3WDowmOEbHjMY,1401
|
|
195
|
+
uav_sim/simulations/perception/visual_servoing_gimbal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
196
|
+
uav_sim/simulations/perception/visual_servoing_gimbal/__main__.py,sha256=Zr3-aIsuUvqR7PDBYjWBNj_7xmyyY4ksqbaPuyexSPY,139
|
|
197
|
+
uav_sim/simulations/perception/visual_servoing_gimbal/run.py,sha256=zO5MLTJYI_f-lB8liDTEgxTnwWM8K88mnc6S636rqJI,403
|
|
198
|
+
uav_sim/simulations/sensors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
199
|
+
uav_sim/simulations/sensors/gimbal_bbox_tracking/README.md,sha256=gkhycPl3S2xhGOmier_1wbcbhCfs6a2CGfvHUpvFA4Q,809
|
|
200
|
+
uav_sim/simulations/sensors/gimbal_bbox_tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
201
|
+
uav_sim/simulations/sensors/gimbal_bbox_tracking/__main__.py,sha256=L_X3LKgifb80Lv_mKZercGcRVWYyS4kpPMMXmms5Omg,124
|
|
202
|
+
uav_sim/simulations/sensors/gimbal_bbox_tracking/run.py,sha256=o2BTFljRNFwMnzpsEBBxhQ-WDKDXaKKKNBDyFO3ENgw,10375
|
|
203
|
+
uav_sim/simulations/sensors/gimbal_tracking/README.md,sha256=OMlSff6pofQ9dCWZGMkP-pF3raO56bSzwr41nDTdRng,698
|
|
204
|
+
uav_sim/simulations/sensors/gimbal_tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
205
|
+
uav_sim/simulations/sensors/gimbal_tracking/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
206
|
+
uav_sim/simulations/sensors/gimbal_tracking/run.py,sha256=_sSoV5Nv__pMHN2oUAwfqNDmNSFlrYTR6MEytHZeLNw,8305
|
|
207
|
+
uav_sim/simulations/swarm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
208
|
+
uav_sim/simulations/swarm/consensus_formation/README.md,sha256=VvYNLdyfoU0HIZb9M3_eNprmteOaYVTtdOEJgayE1Wk,646
|
|
209
|
+
uav_sim/simulations/swarm/consensus_formation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
210
|
+
uav_sim/simulations/swarm/consensus_formation/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
211
|
+
uav_sim/simulations/swarm/consensus_formation/run.py,sha256=Hamxebui5jHTSp1XyBXw8cqoDSUNRdBgZVXo8_3lMnc,5935
|
|
212
|
+
uav_sim/simulations/swarm/leader_follower/README.md,sha256=rZromVNttFz0KvhVrMa0Ns0k_-DHbHgnbV23bXufizc,657
|
|
213
|
+
uav_sim/simulations/swarm/leader_follower/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
214
|
+
uav_sim/simulations/swarm/leader_follower/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
215
|
+
uav_sim/simulations/swarm/leader_follower/run.py,sha256=A6_Y-hGEplYYADa8fujTkcOoo6vb_H-xu0HKHYi4sdE,6926
|
|
216
|
+
uav_sim/simulations/swarm/potential_swarm/README.md,sha256=WWhMC10VFaex49JOezP8Kf-EB8az6-CJ5ht2pbTbT-w,604
|
|
217
|
+
uav_sim/simulations/swarm/potential_swarm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
218
|
+
uav_sim/simulations/swarm/potential_swarm/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
219
|
+
uav_sim/simulations/swarm/potential_swarm/run.py,sha256=hW5jsgVj-jNTL3JrPjnqlwOUyX8BMFLrz4ewAXVdpYM,7113
|
|
220
|
+
uav_sim/simulations/swarm/reynolds_flocking/README.md,sha256=CG_g5tBEuCeZkSa3iNLca07n52ol37ChnvVd8Z2Z574,637
|
|
221
|
+
uav_sim/simulations/swarm/reynolds_flocking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
222
|
+
uav_sim/simulations/swarm/reynolds_flocking/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
223
|
+
uav_sim/simulations/swarm/reynolds_flocking/run.py,sha256=NvXgSvD4TID-oNBUQRK8Sq7lVcV57q092_3lF1Rma38,6764
|
|
224
|
+
uav_sim/simulations/swarm/virtual_structure/README.md,sha256=nQVRLUV6L2uShCvdkAOPjerFjY64sAACguGKHKsceg8,589
|
|
225
|
+
uav_sim/simulations/swarm/virtual_structure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
226
|
+
uav_sim/simulations/swarm/virtual_structure/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
227
|
+
uav_sim/simulations/swarm/virtual_structure/run.py,sha256=lyOtvQclbO332-RtMNXXgt8YwJB43Hv1APmEYOtnpZY,7509
|
|
228
|
+
uav_sim/simulations/swarm/voronoi_coverage/README.md,sha256=VXEtaacxavJgjAIYs7wTwDd4CIgUzwChz51G6m7VWTA,665
|
|
229
|
+
uav_sim/simulations/swarm/voronoi_coverage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
230
|
+
uav_sim/simulations/swarm/voronoi_coverage/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
231
|
+
uav_sim/simulations/swarm/voronoi_coverage/run.py,sha256=ld8zMGRv7AJ0rUj1SIgvLlL7LJGrBzTbrQFIjcwenkk,7479
|
|
232
|
+
uav_sim/simulations/trajectory_planning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
233
|
+
uav_sim/simulations/trajectory_planning/frenet_optimal/README.md,sha256=2XfYIcZpJncU5YmYvxwf6zm6ip08IaQLrs6gB1al-Ww,669
|
|
234
|
+
uav_sim/simulations/trajectory_planning/frenet_optimal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
235
|
+
uav_sim/simulations/trajectory_planning/frenet_optimal/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
236
|
+
uav_sim/simulations/trajectory_planning/frenet_optimal/run.py,sha256=4T8YJSSYNGlTjCh5JPt0NNGjt9R67QHOKCC8ztNGaPg,11411
|
|
237
|
+
uav_sim/simulations/trajectory_planning/min_snap/README.md,sha256=xLBLmUPE9geByMOPYG-MFUgdaPjRCUbxeWU-47gRTf0,638
|
|
238
|
+
uav_sim/simulations/trajectory_planning/min_snap/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
239
|
+
uav_sim/simulations/trajectory_planning/min_snap/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
240
|
+
uav_sim/simulations/trajectory_planning/min_snap/run.py,sha256=kxrHl089v_9I1GXkd90LFc0R18h6ga2Fe0DuHjxwWMM,7660
|
|
241
|
+
uav_sim/simulations/trajectory_planning/polynomial_trajectory/README.md,sha256=juabOhKiWfVDfPlAvM1C2g3yC1h9CVYX4O_LsRXestA,735
|
|
242
|
+
uav_sim/simulations/trajectory_planning/polynomial_trajectory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
243
|
+
uav_sim/simulations/trajectory_planning/polynomial_trajectory/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
244
|
+
uav_sim/simulations/trajectory_planning/polynomial_trajectory/run.py,sha256=CLT9xQin4Qr9VagRZbHSQfD8yzKlpnHw7gmWYMOJBgw,5984
|
|
245
|
+
uav_sim/simulations/trajectory_planning/quintic_polynomial_demo/README.md,sha256=uSN4nhaPHr34xDA8Spp3JdOtvwIDfoce1cvFkd5LX9A,677
|
|
246
|
+
uav_sim/simulations/trajectory_planning/quintic_polynomial_demo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
247
|
+
uav_sim/simulations/trajectory_planning/quintic_polynomial_demo/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
248
|
+
uav_sim/simulations/trajectory_planning/quintic_polynomial_demo/run.py,sha256=jqgKbGLUaz_oLVy2dy7xlX0NzdGD69Xg-CIL9NGRFLw,6267
|
|
249
|
+
uav_sim/simulations/trajectory_tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
250
|
+
uav_sim/simulations/trajectory_tracking/feedback_linearisation/README.md,sha256=q9xvC1LQp0tohYF6w1nKdjNu8BTnhFBnuQ9E_Zv9xWY,603
|
|
251
|
+
uav_sim/simulations/trajectory_tracking/feedback_linearisation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
252
|
+
uav_sim/simulations/trajectory_tracking/feedback_linearisation/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
253
|
+
uav_sim/simulations/trajectory_tracking/feedback_linearisation/run.py,sha256=s4PMbHkvKTR5mzuA5Bn3tK4PTBctiFuNQqCjj8CgN-k,4780
|
|
254
|
+
uav_sim/simulations/trajectory_tracking/mppi/README.md,sha256=ZCix8b-IwOv7TuGjjoBW-QFH2DeeVKTseGV8L_2qI3o,719
|
|
255
|
+
uav_sim/simulations/trajectory_tracking/mppi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
256
|
+
uav_sim/simulations/trajectory_tracking/mppi/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
257
|
+
uav_sim/simulations/trajectory_tracking/mppi/run.py,sha256=skalbXsLaVKVYj5RX3YNHuGfsO4XsG8_wMjqP23ghv8,9160
|
|
258
|
+
uav_sim/simulations/trajectory_tracking/nmpc/README.md,sha256=zeVqDTZSD-vi7MOXlqwMe0SU_Vcn6etAUfIwxm1IA5Y,720
|
|
259
|
+
uav_sim/simulations/trajectory_tracking/nmpc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
260
|
+
uav_sim/simulations/trajectory_tracking/nmpc/__main__.py,sha256=NXICH5E5iv9JyhxvGXyMNbFDcm27QN1U_B2DIRu5wlk,74
|
|
261
|
+
uav_sim/simulations/trajectory_tracking/nmpc/run.py,sha256=bWFGIwh-qEntUNkjA9opp1UHPUpcy6XRKkhyc_l-5Ic,5862
|
|
262
|
+
uav_sim/simulations/vehicles/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
263
|
+
uav_sim/simulations/vehicles/fixed_wing_flight/README.md,sha256=UTkQ6OaXOXbljbj4xm3LT4LnKAVr2bJYzabogc0JR2I,539
|
|
264
|
+
uav_sim/simulations/vehicles/fixed_wing_flight/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
265
|
+
uav_sim/simulations/vehicles/fixed_wing_flight/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
266
|
+
uav_sim/simulations/vehicles/fixed_wing_flight/run.py,sha256=uj80ppocfmx85hlTTIERT7i3_I1FDyDSFeFX1GATqTQ,7434
|
|
267
|
+
uav_sim/simulations/vehicles/multirotor_mixer/README.md,sha256=X9-D3t4l11sU9K7sKbETMRNNo27vby4KHjy0tGT5rso,2407
|
|
268
|
+
uav_sim/simulations/vehicles/multirotor_mixer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
269
|
+
uav_sim/simulations/vehicles/multirotor_mixer/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
270
|
+
uav_sim/simulations/vehicles/multirotor_mixer/run.py,sha256=bFUQkGFIgXTKO-lR9XxFv5cpEEpnimX4Bh29c5C5P3g,12448
|
|
271
|
+
uav_sim/simulations/vehicles/vtol_transition/README.md,sha256=7hcyeMiFK2Tl_oojmLeUSuObVlFDNGzZsNIJRgxalmI,643
|
|
272
|
+
uav_sim/simulations/vehicles/vtol_transition/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
273
|
+
uav_sim/simulations/vehicles/vtol_transition/__main__.py,sha256=5qW4qbD1vDD4Y6D4jbDRrPalasQUFdnf00Z0imOgFb4,30
|
|
274
|
+
uav_sim/simulations/vehicles/vtol_transition/run.py,sha256=PbAZ-EKUlrWsVNNgYG5g6-GAwHBv7hWjsXwj6skd9Oo,7556
|
|
275
|
+
uav_sim/swarm/__init__.py,sha256=yQxFuS4EXDhJ4Go2o3ROtwwuoEX7D6d6i_4X8MnySNs,566
|
|
276
|
+
uav_sim/swarm/consensus_formation.py,sha256=DMKWs09jXgaVdVZwBsaaXZ-_mBkkqy22Awqe6fE-1EM,1704
|
|
277
|
+
uav_sim/swarm/coverage.py,sha256=qaMZUBclQ3BZUzFrYksEKSpUH8WvppwX-UJ-Wy-_Lh8,3778
|
|
278
|
+
uav_sim/swarm/leader_follower.py,sha256=GOSbFA8wp1dcSuJw2o4G0GaMssAdjEhLaYo-6TvCaVM,1846
|
|
279
|
+
uav_sim/swarm/potential_swarm.py,sha256=sUEgPshUI1AVLEBHKMpDY1ypIvVuufq6QxsJmD5M4N4,4734
|
|
280
|
+
uav_sim/swarm/reynolds_flocking.py,sha256=tSY29vdGvvH-gCZj3fr1qSgWDXPSpcktkoNIX6yYd24,5035
|
|
281
|
+
uav_sim/swarm/virtual_structure.py,sha256=nPpsiORwS4nMW6D_lmn9QGLvuRaB0HsX0EWUWYGq0Dc,3735
|
|
282
|
+
uav_sim/trajectory_planning/__init__.py,sha256=LfAbQOfXGOWVvc9NhxNema74qYUEvPDQqwZJxYilka8,546
|
|
283
|
+
uav_sim/trajectory_planning/frenet_optimal.py,sha256=Cf5YrCnGW_EYQhyvlyN4DbgHKBnqtjHKWGOgxVw9KUc,8507
|
|
284
|
+
uav_sim/trajectory_planning/min_snap.py,sha256=bk7gvr0Zmo9J6iVZ31OTK55WHfrRVwN7CV-HIEJAJvo,6207
|
|
285
|
+
uav_sim/trajectory_planning/polynomial_trajectory.py,sha256=G6aO4qi6_ALHS097CYYyomZDmuWFS_fLeePjHHB-KvI,4195
|
|
286
|
+
uav_sim/trajectory_planning/quintic_polynomial.py,sha256=hxlYd5S9a59t0DGly3AwRnvijYRdRVtG3pPkZr2BIlo,3695
|
|
287
|
+
uav_sim/trajectory_tracking/__init__.py,sha256=OOuCgX9Cmkzq15XmjcM2gB8jtQH3bVcQxKAPVwj6cPc,382
|
|
288
|
+
uav_sim/trajectory_tracking/feedback_linearisation.py,sha256=_v-nn7LzEu4HOXBT7M0MPAU5d0LvnVppRrn-aa2txQ0,4075
|
|
289
|
+
uav_sim/trajectory_tracking/mppi.py,sha256=ctJ1oQSZahEBnHLq1jzLK-B9ixM_eW8i3PJIjUuphWY,6760
|
|
290
|
+
uav_sim/trajectory_tracking/nmpc.py,sha256=BDhzElIJvY3XSYG759kQOSRBtWB7TS7a6_Gpdmzfdbw,11840
|
|
291
|
+
uav_sim/vehicles/__init__.py,sha256=ynx07QTMsx6aZ768GWIaVdqEH0MFmA9nVawgb2eYp8w,1129
|
|
292
|
+
uav_sim/vehicles/base.py,sha256=szAOe71UUdjvy6aa4uSIyayJLtcwzaOi-AiarE-jOlE,3177
|
|
293
|
+
uav_sim/vehicles/footprint.py,sha256=eTlOIJyPjG3zbl4waA93mEoTf0Kj8j41vJrhe1UNz8I,3726
|
|
294
|
+
uav_sim/vehicles/presets.py,sha256=CGyGn5Br61OiBoVkiSg7FoJEx0b9pKq9-Ypfc4TsrXY,8182
|
|
295
|
+
uav_sim/vehicles/components/__init__.py,sha256=Dc8iE9cQIzcuSPURPqh77D-Pc3AZV4-eY1imtXEYtyU,90
|
|
296
|
+
uav_sim/vehicles/components/allocation.py,sha256=7MU1-40ukJ2DRpd98dBAoaEWcwhMXT2RsWskFGdqfUU,24691
|
|
297
|
+
uav_sim/vehicles/components/mixer.py,sha256=f11wslQMT4RshQx9KGgWYEsEiNTogeSG9iqpHXoQdbA,2990
|
|
298
|
+
uav_sim/vehicles/components/motor.py,sha256=1zWnoXT0ysJPRaOcTKhbprFvbQZzaLi4c1Rf-ka0ulo,2866
|
|
299
|
+
uav_sim/vehicles/fixed_wing/__init__.py,sha256=_c_udKcw-1FxyLieC_-y7_VbSAxjWRrDeNbusYHay74,781
|
|
300
|
+
uav_sim/vehicles/fixed_wing/aerodynamics.py,sha256=jAsFb5cPyGMDixfLpBPcfnxcUhw_ZTiSlsgMWNPQDH4,13950
|
|
301
|
+
uav_sim/vehicles/fixed_wing/fixed_wing.py,sha256=nbnt9MMn-n_vX8dDB9RETXD2zmI73EHNWvM_GXjDfwo,12957
|
|
302
|
+
uav_sim/vehicles/fixed_wing/presets.py,sha256=BoXMTfH3shnM2jNQ5-fofy0SY2wjL-Rvb6O1TLgY2hE,5055
|
|
303
|
+
uav_sim/vehicles/fixed_wing/trim.py,sha256=VpKMaXN9q1jHko-K3S2qku2plQ_E_hLDpY4dq7yel1Y,6369
|
|
304
|
+
uav_sim/vehicles/multirotor/__init__.py,sha256=lhqpbf27Zbii1k29MLD01e56tLqv7_iI_R2NztEY79A,622
|
|
305
|
+
uav_sim/vehicles/multirotor/multirotor.py,sha256=3uY7Y7LnRlTl2F-qlcfS8nGL49FkIqlq8VwgK5pjdfo,15171
|
|
306
|
+
uav_sim/vehicles/multirotor/quadrotor.py,sha256=NRP10z_EPahO73o7ASAkXBLMJKWftQZwGI9mhg17pxE,4355
|
|
307
|
+
uav_sim/vehicles/payloads/__init__.py,sha256=2wbpQDoaRB3mlU3k8hvUrF3uCs7WAYXLc7ioWJMjEdA,82
|
|
308
|
+
uav_sim/vehicles/payloads/gimbal.py,sha256=vnLmSTTZ1yYSKeQ0-MyoUUGUh4TcEQ3W2va-iPi5F4Y,1913
|
|
309
|
+
uav_sim/vehicles/vtol/__init__.py,sha256=8f1XW6F8Plkxu62yGOaEbVQE7ksZLAzSiZVA9DMZ8Sk,173
|
|
310
|
+
uav_sim/vehicles/vtol/tiltrotor.py,sha256=YZtbovpt_OURgqHJfyfdSEipawd2bsRkLokw0W34w2U,13085
|
|
311
|
+
uav_sim/visualization/__init__.py,sha256=-aq2CWDGRQmBZgaTgKbRdjlMz-4HftGB1d9TN9EWcds,2148
|
|
312
|
+
uav_sim/visualization/animator.py,sha256=kVnxWl4KA9RO6lQGSxB6hI3ytunj9UowGODMryV7gMc,7429
|
|
313
|
+
uav_sim/visualization/costmap_viz.py,sha256=VGxzVLF8exNH9H1C1A-26OZU-Gb-v2Yx4Mz9gwAv2qA,4666
|
|
314
|
+
uav_sim/visualization/data_panel.py,sha256=j1JVUuvhO7EUQduWq8Wc6IP9M73zAbmSo12nCIS1B8c,7826
|
|
315
|
+
uav_sim/visualization/plotting.py,sha256=Zb5Fh3Y7fHPaZ6zQaqS6ch3egKtXzeMebXoJsdX88SM,3912
|
|
316
|
+
uav_sim/visualization/sensor_viz.py,sha256=rxZKQngKWbnCk4kZRyg8daiVSaORq0csJqJe9HKJ7R8,12749
|
|
317
|
+
uav_sim/visualization/three_panel.py,sha256=BKtt8ACzyWhPyaJ1MyPX73pIvRIDJAqYpxT40MEvTrA,8908
|
|
318
|
+
uav_sim/visualization/vehicle_artists.py,sha256=mv_g3j6Us22ARofRn4o2BqjePCCkae6o-5GgcHJ2EII,13019
|
|
319
|
+
flybots-1.0.0.dist-info/METADATA,sha256=rGOrT21j9si9DmAgvoT-Aflj3nmPNxAGW_0MsGbY7V4,9461
|
|
320
|
+
flybots-1.0.0.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
|
|
321
|
+
flybots-1.0.0.dist-info/entry_points.txt,sha256=YHTMflKnF0qmAuOZSoDZZaP4EBfBx2p-6lKa16ta7ls,99
|
|
322
|
+
flybots-1.0.0.dist-info/licenses/LICENSE,sha256=43m0JCNQfcdOOM4hovBlmah1nr7S1Ge9tNMzrAPYE-s,1070
|
|
323
|
+
flybots-1.0.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Erwin Lejeune
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
uav_sim/__init__.py
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Erwin Lejeune - 2026-02-17
|
|
2
|
+
"""flybots — from-scratch algorithms for autonomous UAVs.
|
|
3
|
+
|
|
4
|
+
Published on PyPI as ``flybots``; the import package is still ``uav_sim``
|
|
5
|
+
and will be renamed to match in a later release.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
9
|
+
|
|
10
|
+
try:
|
|
11
|
+
__version__ = version("flybots")
|
|
12
|
+
except PackageNotFoundError: # pragma: no cover - only when run from a bare checkout
|
|
13
|
+
# Not installed, so there is no metadata to read. Better an honest
|
|
14
|
+
# placeholder than a number hard-coded here that can disagree with
|
|
15
|
+
# pyproject -- a disagreement nothing catches until a release fails.
|
|
16
|
+
__version__ = "0+unknown"
|