|
1 | | -# B.L.I.T.Z (Battle-Linked Intelligent Tactical Pi Swarm) |
| 1 | +## B.L.I.T.Z |
2 | 2 |
|
3 | | -BLITZ is a robotics project designed to create a swarm of intelligent tactical Pi-based robots that can work together collaboratively. |
| 3 | +Multi-process robotics stack with a Python watchdog, codegen, and deploy tooling. |
4 | 4 |
|
5 | | -## Overview |
| 5 | +## Docs |
6 | 6 |
|
7 | | -The BLITZ system combines multiple components for sensing, positioning, AI detection, and coordinated movement. It uses a hybrid approach with both Python and Rust for different system components. |
| 7 | +Start here: `docs/README.md` |
8 | 8 |
|
9 | | -## Features |
10 | | - |
11 | | -- LiDAR-based obstacle detection and mapping (2D and 3D) |
12 | | -- Computer vision for object recognition |
13 | | -- AprilTag-based positioning system |
14 | | -- Position extrapolation |
15 | | -- Watchdog monitoring |
16 | | - |
17 | | -## Technologies |
18 | | - |
19 | | -### Languages |
20 | | -- Python |
21 | | -- Rust |
22 | | -- TypeScript/JavaScript |
23 | | - |
24 | | -### Major Dependencies |
25 | | -- Python: PyTorch, OpenCV, Flask, NumPy, UltraLytics |
26 | | -- Rust: Tokio, Nalgebra, Kiss3D |
27 | | -- Communication: Protobuf, Thrift |
28 | | - |
29 | | -## Getting Started |
30 | | - |
31 | | -### Prerequisites |
32 | | -- Python 3.x |
33 | | -- Rust and Cargo |
34 | | -- npm/Node.js |
35 | | - |
36 | | -### Installation |
37 | | - |
38 | | -Set up the Python environment and install dependencies: |
| 9 | +## Quickstart (local) |
39 | 10 |
|
40 | 11 | ```bash |
41 | 12 | make initiate-project |
| 13 | +echo "dev" > system_data/name.txt |
| 14 | +make generate |
| 15 | +make watchdog |
42 | 16 | ``` |
43 | 17 |
|
44 | | -### Code Generation |
45 | | - |
46 | | -Generate required protocol buffer and Thrift files: |
| 18 | +## Tests |
47 | 19 |
|
48 | 20 | ```bash |
49 | | -make generate |
| 21 | +make test |
50 | 22 | ``` |
51 | 23 |
|
52 | | -## Usage |
53 | | - |
54 | | -Start the various system components: |
| 24 | +## Deploy to a target machine |
55 | 25 |
|
56 | 26 | ```bash |
57 | | -# AI detection server |
58 | | -make ai-server |
59 | | - |
60 | | -# AprilTag positioning server |
61 | | -make april-server |
62 | | - |
63 | | -# 2D LiDAR reader |
64 | | -make lidar-reader-2d |
65 | | - |
66 | | -# LiDAR point processor |
67 | | -make lidar-point-processor |
68 | | - |
69 | | -# Position extrapolation system |
70 | | -make position-extrapolator |
71 | | - |
72 | | -# System monitoring watchdog |
73 | | -make watchdog |
| 27 | +make send-to-target |
| 28 | +make deploy-to-target |
74 | 29 | ``` |
75 | | - |
76 | | -## Development |
77 | | - |
78 | | -- Run linting: `make check-all` |
79 | | -- Run tests: `make test` |
80 | | -- Deploy to a target: `make send-to-target ARGS=<target-id>` |
81 | | - |
82 | | -## Project Structure |
83 | | - |
84 | | -- `project/`: Main source code |
85 | | - - `lidar/`: LiDAR data processing components |
86 | | - - `recognition/`: Computer vision and positioning |
87 | | - - `pos_extrapolator/`: Position prediction system |
88 | | - - `watchdog/`: System monitoring |
89 | | - - `rust/`: Rust components for performance-critical operations |
90 | | -- `proto/`: Protocol buffer definitions |
91 | | -- `config/`: System configuration |
92 | | -- `generated/`: Generated code (Protobuf, Thrift) |
93 | | -- `scripts/`: Utility scripts |
94 | | - |
95 | | -## License |
96 | | - |
97 | | -ISC License |
98 | | - |
99 | | -## Repository |
100 | | - |
101 | | -GitHub: [https://github.com/PinewoodRobotics/B.L.I.T.Z](https://github.com/PinewoodRobotics/B.L.I.T.Z) |
0 commit comments