bluer-ugv 7.665.1__tar.gz → 7.669.1__tar.gz
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.
Potentially problematic release.
This version of bluer-ugv might be problematic. Click here for more details.
- {bluer_ugv-7.665.1/bluer_ugv.egg-info → bluer_ugv-7.669.1}/PKG-INFO +3 -3
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/README.md +2 -2
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/items.py +1 -1
- bluer_ugv-7.669.1/bluer_ugv/README/rangin/__init__.py +19 -0
- bluer_ugv-7.669.1/bluer_ugv/README/rangin/items.py +14 -0
- bluer_ugv-7.669.1/bluer_ugv/README/rangin/mechanical.py +35 -0
- bluer_ugv-7.669.1/bluer_ugv/README/rangin/parts.py +21 -0
- bluer_ugv-7.669.1/bluer_ugv/README/rangin/power.py +5 -0
- bluer_ugv-7.669.1/bluer_ugv/README/rangin/root.py +8 -0
- bluer_ugv-7.669.1/bluer_ugv/README/rangin/schematics.py +14 -0
- bluer_ugv-7.669.1/bluer_ugv/README/rangin/specs.py +14 -0
- bluer_ugv-7.669.1/bluer_ugv/README/rangin/terraform.py +5 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/db.py +3 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/__init__.py +1 -1
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1/bluer_ugv.egg-info}/PKG-INFO +3 -3
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv.egg-info/SOURCES.txt +7 -0
- bluer_ugv-7.665.1/bluer_ugv/README/rangin/__init__.py +0 -82
- bluer_ugv-7.665.1/bluer_ugv/README/rangin/items.py +0 -11
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/LICENSE +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/MANIFEST.in +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/abcli.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/actions.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/aka.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/alias.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/bluer_ugv.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/dataset/combine.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/dataset/download.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/dataset/edit.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/dataset/list.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/dataset/upload.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/dataset.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/debug.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/env/cp.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/env/list.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/env/set.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/env.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/git/rm_keys.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/git.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/keyboard/test.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/keyboard.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/select_target.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/session.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/ultrasonic/review.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/ultrasonic/test.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/ultrasonic.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/video/play.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/video/playlist/cat.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/video/playlist/download.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/video/playlist/edit.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/video/playlist/upload.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/video/playlist.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow/video.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/swallow.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/tests/README.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/tests/help.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_explicit.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_sequence.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/tests/swallow_dataset_download_upload.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/tests/swallow_dataset_edit.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/tests/swallow_dataset_list.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/tests/swallow_video_play.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/tests/swallow_video_playlist.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/tests/ultrasonic_sensor_review.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/tests/version.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/ugv/git.sh +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/alias.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/arzhang/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/arzhang/algo.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/arzhang/consts.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/arzhang/design.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/arzhang/flag.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/arzhang/items.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/beast.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/build.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/computer/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/computer/box.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/computer/docs.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/computer/power.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/computer/schematics.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/computer/shield/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/computer/shield/docs.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/computer/shield/testing.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/computer/shield/v1.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/computer/shield/v2.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/computer/testing.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/consts.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/eagle/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/eagle/consts.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/eagle/items.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/fire/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/fire/consts.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/fire/items.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/rangin/consts.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ravin/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ravin/consts.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ravin/items.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/releases.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/root.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/shortcuts.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/swallow/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/swallow/analog.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/swallow/consts.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/swallow/digital/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/swallow/digital/algo/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/swallow/digital/algo/driving.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/swallow/digital/algo/navigation.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/swallow/digital/algo/tracking.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/swallow/digital/algo/yolo.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/swallow/digital/design/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/swallow/digital/design/mechanical.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/swallow/digital/design/parts.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/swallow/digital/design/ultrasonic_sensor.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/swallow/items.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/build.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/features/DYI.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/features/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/features/classes.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/features/concealment.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/features/control.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/features/cost.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/features/db.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/features/payload.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/features/ps.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/features/range.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/features/sanction_proof.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/features/size.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/features/speed.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/features/swarm.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/features/uv_delivery.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/references/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/references/classes.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/references/db.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/ugvs/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/ugvs/classes.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/comparison/ugvs/db.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/README/ugvs/docs.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/__main__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/assets/comparison.html +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/config.env +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/designs/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/designs/eagle/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/designs/eagle/parts.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/designs/fire/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/designs/fire/parts.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/designs/rangin/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/designs/rangin/parts.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/designs/ravin/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/designs/ravin/ravin3/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/designs/ravin/ravin3/parts.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/designs/ravin/ravin4/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/designs/ravin/ravin4/parts.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/env.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/help/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/help/__main__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/help/functions.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/help/git.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/help/swallow/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/help/swallow/dataset.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/help/swallow/debug.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/help/swallow/env.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/help/swallow/git.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/help/swallow/keyboard.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/help/swallow/select_target.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/help/swallow/ultrasonic_sensor.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/help/swallow/video/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/help/swallow/video/functions.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/help/swallow/video/playlist.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/host.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/logger.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/sample.env +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/__main__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/dataset/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/dataset/__main__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/dataset/combination.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/debug.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/__main__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/camera/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/camera/generic.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/camera/navigation.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/camera/tracking.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/camera/void.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/camera/yolo.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/keyboard/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/keyboard/__main__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/keyboard/classes.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/keyboard/keys.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/keyboard/testing.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/leds.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/mode.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/motor/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/motor/generic.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/motor/left.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/motor/rear.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/motor/right.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/motor/steering.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/mousepad.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/position.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/push_button.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/screen/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/screen/classes.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/screen/video/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/screen/video/__main__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/screen/video/engine.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/screen/video/player.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/screen/video/playlist.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/session.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/setpoint/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/setpoint/classes.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/setpoint/steering.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/__init__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/__main__.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/classes.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/consts.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/detection.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/detection_list.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/log.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/session/functions.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/swallow/targeting.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/urls.py +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv.egg-info/dependency_links.txt +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv.egg-info/requires.txt +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv.egg-info/top_level.txt +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/pyproject.toml +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/requirements.txt +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/setup.cfg +0 -0
- {bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bluer_ugv
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.669.1
|
|
4
4
|
Summary: 🐬 AI x UGV.
|
|
5
5
|
Home-page: https://github.com/kamangir/bluer-ugv
|
|
6
6
|
Author: Arash Abadpour (Kamangir)
|
|
@@ -39,7 +39,7 @@ pip install bluer_ugv
|
|
|
39
39
|
|
|
40
40
|
| | | |
|
|
41
41
|
| --- | --- | --- |
|
|
42
|
-
| [`swallow`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow) based on power wheels. | [`arzhang`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/arzhang) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/arzhang) [swallow](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow)'s little sister. | [`rangin`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/rangin) [ [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow) based on power wheels. | [`arzhang`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/arzhang) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/arzhang) [swallow](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow)'s little sister. | [`rangin`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/rangin) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/rangin) [swallow](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow)'s ad robot. |
|
|
43
43
|
| [`ravin`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/ravin) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/ravin) remote control car kit for teenagers. | [`eagle`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/eagle) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/eagle) a remotely controlled ballon. | [`fire`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/fire) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/fire) based on a used car. |
|
|
44
44
|
| [`beast`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/beast) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/beast) based on [UGV Beast PI ROS2](https://www.waveshare.com/wiki/UGV_Beast_PI_ROS2). | | |
|
|
45
45
|
|
|
@@ -65,7 +65,7 @@ pip install bluer_ugv
|
|
|
65
65
|
|
|
66
66
|
[](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml) [](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml) [](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml) [](https://pypi.org/project/bluer-ugv/) [](https://pypistats.org/packages/bluer-ugv)
|
|
67
67
|
|
|
68
|
-
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.
|
|
68
|
+
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.669.1`](https://github.com/kamangir/bluer-ugv).
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
|
|
@@ -10,7 +10,7 @@ pip install bluer_ugv
|
|
|
10
10
|
|
|
11
11
|
| | | |
|
|
12
12
|
| --- | --- | --- |
|
|
13
|
-
| [`swallow`](./bluer_ugv/docs/swallow) [](./bluer_ugv/docs/swallow) based on power wheels. | [`arzhang`](./bluer_ugv/docs/arzhang) [](./bluer_ugv/docs/arzhang) [swallow](./bluer_ugv/docs/swallow)'s little sister. | [`rangin`](./bluer_ugv/docs/rangin) [ [](./bluer_ugv/docs/swallow) based on power wheels. | [`arzhang`](./bluer_ugv/docs/arzhang) [](./bluer_ugv/docs/arzhang) [swallow](./bluer_ugv/docs/swallow)'s little sister. | [`rangin`](./bluer_ugv/docs/rangin) [](./bluer_ugv/docs/rangin) [swallow](./bluer_ugv/docs/swallow)'s ad robot. |
|
|
14
14
|
| [`ravin`](./bluer_ugv/docs/ravin) [](./bluer_ugv/docs/ravin) remote control car kit for teenagers. | [`eagle`](./bluer_ugv/docs/eagle) [](./bluer_ugv/docs/eagle) a remotely controlled ballon. | [`fire`](./bluer_ugv/docs/fire) [](./bluer_ugv/docs/fire) based on a used car. |
|
|
15
15
|
| [`beast`](./bluer_ugv/docs/beast) [](./bluer_ugv/docs/beast) based on [UGV Beast PI ROS2](https://www.waveshare.com/wiki/UGV_Beast_PI_ROS2). | | |
|
|
16
16
|
|
|
@@ -36,5 +36,5 @@ pip install bluer_ugv
|
|
|
36
36
|
|
|
37
37
|
[](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml) [](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml) [](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml) [](https://pypi.org/project/bluer-ugv/) [](https://pypistats.org/packages/bluer-ugv)
|
|
38
38
|
|
|
39
|
-
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.
|
|
39
|
+
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.669.1`](https://github.com/kamangir/bluer-ugv).
|
|
40
40
|
|
|
@@ -24,7 +24,7 @@ items = README.Items(
|
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"name": "rangin",
|
|
27
|
-
"marquee": f"{rangin_assets2}/
|
|
27
|
+
"marquee": f"{rangin_assets2}/20251222_160737.jpg",
|
|
28
28
|
"description": "[swallow](./bluer_ugv/docs/swallow)'s ad robot.",
|
|
29
29
|
"url": "./bluer_ugv/docs/rangin",
|
|
30
30
|
},
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from bluer_ugv.README.rangin import (
|
|
2
|
+
mechanical,
|
|
3
|
+
parts,
|
|
4
|
+
power,
|
|
5
|
+
root,
|
|
6
|
+
schematics,
|
|
7
|
+
specs,
|
|
8
|
+
terraform,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
docs = (
|
|
12
|
+
mechanical.docs
|
|
13
|
+
+ parts.docs
|
|
14
|
+
+ power.docs
|
|
15
|
+
+ root.docs
|
|
16
|
+
+ schematics.docs
|
|
17
|
+
+ specs.docs
|
|
18
|
+
+ terraform.docs
|
|
19
|
+
)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from bluer_objects.README.items import ImageItems
|
|
2
|
+
|
|
3
|
+
from bluer_ugv.README.rangin.consts import rangin_assets2
|
|
4
|
+
from bluer_ugv.README.ugvs.db import dict_of_ugvs
|
|
5
|
+
|
|
6
|
+
items = ImageItems(
|
|
7
|
+
{
|
|
8
|
+
**{
|
|
9
|
+
f"{rangin_assets2}/concepts/11.png": "",
|
|
10
|
+
f"{rangin_assets2}/concepts/12.png": "",
|
|
11
|
+
},
|
|
12
|
+
**{url: "" for url in dict_of_ugvs["rangin"]["items"]},
|
|
13
|
+
}
|
|
14
|
+
)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
from bluer_objects.README.items import Items
|
|
2
|
+
|
|
3
|
+
from bluer_ugv.README.rangin.consts import rangin_mechanical_design
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
docs = [
|
|
7
|
+
{
|
|
8
|
+
"path": "../docs/rangin/mechanical.md",
|
|
9
|
+
"cols": 2,
|
|
10
|
+
"items": Items(
|
|
11
|
+
[
|
|
12
|
+
{
|
|
13
|
+
"name": "arzhang",
|
|
14
|
+
"marquee": f"{rangin_mechanical_design}/robot.png?raw=true",
|
|
15
|
+
"url": f"{rangin_mechanical_design}/robot.stl",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "90",
|
|
19
|
+
"marquee": f"{rangin_mechanical_design}/robot-90.png?raw=true",
|
|
20
|
+
"url": f"{rangin_mechanical_design}/robot-90.stl",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "90 (without the cage)",
|
|
24
|
+
"marquee": f"{rangin_mechanical_design}/robot-90-2.png?raw=true",
|
|
25
|
+
"url": f"{rangin_mechanical_design}/robot-90.stl",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "90c (curved)",
|
|
29
|
+
"marquee": f"{rangin_mechanical_design}/robot-90c.png?raw=true",
|
|
30
|
+
"url": f"{rangin_mechanical_design}/robot-90c.stl",
|
|
31
|
+
},
|
|
32
|
+
]
|
|
33
|
+
),
|
|
34
|
+
},
|
|
35
|
+
]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from bluer_sbc.parts.db import db_of_parts
|
|
2
|
+
from bluer_sbc.parts.consts import parts_url_prefix
|
|
3
|
+
|
|
4
|
+
from bluer_ugv.designs.rangin.parts import dict_of_parts
|
|
5
|
+
|
|
6
|
+
docs = [
|
|
7
|
+
{
|
|
8
|
+
"path": "../docs/rangin/parts.md",
|
|
9
|
+
"items": db_of_parts.as_images(
|
|
10
|
+
dict_of_parts,
|
|
11
|
+
reference=parts_url_prefix,
|
|
12
|
+
),
|
|
13
|
+
"macros": {
|
|
14
|
+
"parts:::": db_of_parts.as_list(
|
|
15
|
+
dict_of_parts,
|
|
16
|
+
reference=parts_url_prefix,
|
|
17
|
+
log=False,
|
|
18
|
+
),
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
]
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from bluer_objects.README.items import ImageItems
|
|
2
|
+
|
|
3
|
+
from bluer_ugv.README.rangin.consts import rangin_electrical_design
|
|
4
|
+
|
|
5
|
+
docs = [
|
|
6
|
+
{
|
|
7
|
+
"path": "../docs/rangin/schematics.md",
|
|
8
|
+
"items": ImageItems(
|
|
9
|
+
{
|
|
10
|
+
f"{rangin_electrical_design}/electrical.png?raw=true": f"{rangin_electrical_design}/electrical.svg",
|
|
11
|
+
},
|
|
12
|
+
),
|
|
13
|
+
},
|
|
14
|
+
]
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from bluer_objects.README.items import ImageItems
|
|
2
|
+
|
|
3
|
+
from bluer_ugv.README.rangin.consts import rangin_assets2
|
|
4
|
+
|
|
5
|
+
docs = [
|
|
6
|
+
{
|
|
7
|
+
"path": "../docs/rangin/specs.md",
|
|
8
|
+
"items": ImageItems(
|
|
9
|
+
{
|
|
10
|
+
f"{rangin_assets2}/20251116_124842.jpg": "",
|
|
11
|
+
}
|
|
12
|
+
),
|
|
13
|
+
},
|
|
14
|
+
]
|
|
@@ -48,6 +48,9 @@ dict_of_ugvs = {
|
|
|
48
48
|
f"{rangin_assets2}/20251221_125120.jpg",
|
|
49
49
|
f"{rangin_assets2}/20251222_104404.jpg",
|
|
50
50
|
f"{rangin_assets2}/20251222_110634.jpg",
|
|
51
|
+
f"{rangin_assets2}/20251222_160737.jpg",
|
|
52
|
+
f"{rangin_assets2}/20251222_165829.jpg",
|
|
53
|
+
f"{rangin_assets2}/20251222_173509.jpg",
|
|
51
54
|
],
|
|
52
55
|
},
|
|
53
56
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bluer_ugv
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.669.1
|
|
4
4
|
Summary: 🐬 AI x UGV.
|
|
5
5
|
Home-page: https://github.com/kamangir/bluer-ugv
|
|
6
6
|
Author: Arash Abadpour (Kamangir)
|
|
@@ -39,7 +39,7 @@ pip install bluer_ugv
|
|
|
39
39
|
|
|
40
40
|
| | | |
|
|
41
41
|
| --- | --- | --- |
|
|
42
|
-
| [`swallow`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow) based on power wheels. | [`arzhang`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/arzhang) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/arzhang) [swallow](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow)'s little sister. | [`rangin`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/rangin) [ [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow) based on power wheels. | [`arzhang`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/arzhang) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/arzhang) [swallow](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow)'s little sister. | [`rangin`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/rangin) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/rangin) [swallow](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow)'s ad robot. |
|
|
43
43
|
| [`ravin`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/ravin) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/ravin) remote control car kit for teenagers. | [`eagle`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/eagle) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/eagle) a remotely controlled ballon. | [`fire`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/fire) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/fire) based on a used car. |
|
|
44
44
|
| [`beast`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/beast) [](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/beast) based on [UGV Beast PI ROS2](https://www.waveshare.com/wiki/UGV_Beast_PI_ROS2). | | |
|
|
45
45
|
|
|
@@ -65,7 +65,7 @@ pip install bluer_ugv
|
|
|
65
65
|
|
|
66
66
|
[](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml) [](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml) [](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml) [](https://pypi.org/project/bluer-ugv/) [](https://pypistats.org/packages/bluer-ugv)
|
|
67
67
|
|
|
68
|
-
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.
|
|
68
|
+
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.669.1`](https://github.com/kamangir/bluer-ugv).
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
|
|
@@ -99,6 +99,13 @@ bluer_ugv/README/fire/items.py
|
|
|
99
99
|
bluer_ugv/README/rangin/__init__.py
|
|
100
100
|
bluer_ugv/README/rangin/consts.py
|
|
101
101
|
bluer_ugv/README/rangin/items.py
|
|
102
|
+
bluer_ugv/README/rangin/mechanical.py
|
|
103
|
+
bluer_ugv/README/rangin/parts.py
|
|
104
|
+
bluer_ugv/README/rangin/power.py
|
|
105
|
+
bluer_ugv/README/rangin/root.py
|
|
106
|
+
bluer_ugv/README/rangin/schematics.py
|
|
107
|
+
bluer_ugv/README/rangin/specs.py
|
|
108
|
+
bluer_ugv/README/rangin/terraform.py
|
|
102
109
|
bluer_ugv/README/ravin/__init__.py
|
|
103
110
|
bluer_ugv/README/ravin/consts.py
|
|
104
111
|
bluer_ugv/README/ravin/items.py
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
from bluer_objects.README.items import ImageItems, Items
|
|
2
|
-
from bluer_sbc.parts.db import db_of_parts
|
|
3
|
-
from bluer_sbc.parts.consts import parts_url_prefix
|
|
4
|
-
|
|
5
|
-
from bluer_ugv.README.rangin.items import items
|
|
6
|
-
from bluer_ugv.designs.rangin.parts import dict_of_parts
|
|
7
|
-
from bluer_ugv.README.rangin.consts import (
|
|
8
|
-
rangin_assets2,
|
|
9
|
-
rangin_electrical_design,
|
|
10
|
-
rangin_mechanical_design,
|
|
11
|
-
)
|
|
12
|
-
|
|
13
|
-
docs = [
|
|
14
|
-
{
|
|
15
|
-
"items": items,
|
|
16
|
-
"path": "../docs/rangin",
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"path": "../docs/rangin/specs.md",
|
|
20
|
-
"items": ImageItems(
|
|
21
|
-
{
|
|
22
|
-
f"{rangin_assets2}/20251116_124842.jpg": "",
|
|
23
|
-
}
|
|
24
|
-
),
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"path": "../docs/rangin/parts.md",
|
|
28
|
-
"items": db_of_parts.as_images(
|
|
29
|
-
dict_of_parts,
|
|
30
|
-
reference=parts_url_prefix,
|
|
31
|
-
),
|
|
32
|
-
"macros": {
|
|
33
|
-
"parts:::": db_of_parts.as_list(
|
|
34
|
-
dict_of_parts,
|
|
35
|
-
reference=parts_url_prefix,
|
|
36
|
-
log=False,
|
|
37
|
-
),
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"path": "../docs/rangin/power.md",
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"path": "../docs/rangin/schematics.md",
|
|
45
|
-
"items": ImageItems(
|
|
46
|
-
{
|
|
47
|
-
f"{rangin_electrical_design}/electrical.png?raw=true": f"{rangin_electrical_design}/electrical.svg",
|
|
48
|
-
},
|
|
49
|
-
),
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"path": "../docs/rangin/mechanical.md",
|
|
53
|
-
"cols": 2,
|
|
54
|
-
"items": Items(
|
|
55
|
-
[
|
|
56
|
-
{
|
|
57
|
-
"name": "arzhang",
|
|
58
|
-
"marquee": f"{rangin_mechanical_design}/robot.png?raw=true",
|
|
59
|
-
"url": f"{rangin_mechanical_design}/robot.stl",
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"name": "90",
|
|
63
|
-
"marquee": f"{rangin_mechanical_design}/robot-90.png?raw=true",
|
|
64
|
-
"url": f"{rangin_mechanical_design}/robot-90.stl",
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"name": "90 (without the cage)",
|
|
68
|
-
"marquee": f"{rangin_mechanical_design}/robot-90-2.png?raw=true",
|
|
69
|
-
"url": f"{rangin_mechanical_design}/robot-90.stl",
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"name": "90c (curved)",
|
|
73
|
-
"marquee": f"{rangin_mechanical_design}/robot-90c.png?raw=true",
|
|
74
|
-
"url": f"{rangin_mechanical_design}/robot-90c.stl",
|
|
75
|
-
},
|
|
76
|
-
]
|
|
77
|
-
),
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"path": "../docs/rangin/terraform.md",
|
|
81
|
-
},
|
|
82
|
-
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_explicit.sh
RENAMED
|
File without changes
|
{bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_sequence.sh
RENAMED
|
File without changes
|
{bluer_ugv-7.665.1 → bluer_ugv-7.669.1}/bluer_ugv/.abcli/tests/swallow_dataset_download_upload.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|