https://github.com/krmisha/hivexplore
Mapping rooms with drone swarms! Mirror of GitLab project repo: https://gitlab.com/KRMisha/Hivexplore
https://github.com/krmisha/hivexplore
Last synced: 7 months ago
JSON representation
Mapping rooms with drone swarms! Mirror of GitLab project repo: https://gitlab.com/KRMisha/Hivexplore
- Host: GitHub
- URL: https://github.com/krmisha/hivexplore
- Owner: KRMisha
- Created: 2024-11-24T21:56:03.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2024-12-04T03:35:32.000Z (10 months ago)
- Last Synced: 2025-02-03T20:50:33.032Z (8 months ago)
- Language: C
- Size: 10.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Hivexplore
Mapping rooms with drone swarms!
The repo is structured as 4 subprojects:
- [`client`](client/README.md): the web front-end
- [`server`](server/README.md): the back-end server used to communicate with the drone swarm
- [`drone`](drone/README.md): the Crazyflie drone firmware
- [`argos`](argos/README.md): the ARGoS simulation used to test the drones## Setup
Clone the repo with its submodules:
```sh
git clone --recurse-submodules https://gitlab.com/KRMisha/Hivexplore
```Or, if you already cloned the repo but forgot the `--recurse-submodules` option, use the following command to fetch the submodules manually:
```sh
git submodule update --init --recursive
```## Production - single-command startup
### Prerequisites
- Linux
- Bash
- [Docker](https://docs.docker.com/engine/install/)
- [Docker Compose](https://docs.docker.com/compose/install/)
- [x11docker](https://github.com/mviereck/x11docker)### Usage
#### Crazyflie-specific startup steps
1. Setup:
1. Make sure the [USB permissions are correct](server/README.md#usb-radio) for the Crazyradio to function properly
2. Plug in the Crazyradio PA USB dongle
3. Make sure all the [drones are flashed](drone/README.md#flashing) with the latest version of the firmware
4. [Assign a unique address](server/README.md#assign-a-crazyflie's-address) to each Crazyflie
5. [Set each Crazyflie's offset relative to the base](server/README.md#set-a-crazyflie's-offset-relative-to-the-base) in the `server/server/config/crazyflies_config.json` file2. Start Hivexplore in *drone* mode:
```sh
./start.sh drone
```#### ARGoS-specific startup steps
1. Setup - no prior setup is needed
2. Start Hivexplore in *ARGoS* mode:
```sh
./start.sh argos
```#### Common steps
3. Open the web client by heading to `localhost:3995` in your browser's address bar
4. Using another device on the LAN (including a mobile device):
1. Find your host machine's local network IP address with the following command:
```sh
ip route get 1.2.3.4 | awk '{print $7}'
```2. On your other device, head to `:3995`, replacing `` with the IP address you found in the last step
5. Shutdown
1. Press Ctrl+C to perform a graceful shutdown of all the containers
2. The server logs can still be read after shutting down the program by accessing their Docker volume, in `/var/lib/docker/volumes/hivexplore_logs/_data`#### Other commands
- Rebuild containers after an update:
```sh
./start.sh build
```- See help information:
```sh
./start.sh --help
```## Development
### Usage
To open the project in VS Code, use the multi-root workspace for best results:
```sh
code Hivexplore.code-workspace
```This lets you take advantage of integration with extensions, language support, debugging, formatting, linting, and settings directly within VS Code.
Alternatively, you can double-click on the `Hivexplore.code-workspace` file in your file explorer.
---
**See each subproject's README for more information.**