An asyncio-based multi-robot (MAV for now) orchestration framework
Project description
Multirobot
An asyncio-based multi-robot (MAV for now) orchestration framework
Serial Device Registry
sudo mkdir /dev/serial/by-name/
sudo ln -s /dev/serial/by-id/usb-Espressif_USB_JTAG_serial_debug_unit_F4\:12\:FA\:DC\:98\:F8-if00 /dev/serial/by-name/m5stamp-forwarder
sudo ln -s /dev/serial/by-id/usb-Espressif_USB_JTAG_serial_debug_unit_48\:CA\:43\:B6\:44\:48-if00 /dev/serial/by-name/m5stamp-uav
sudo ln -s /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 /dev/serial/by-name/elrs-transmitter1
sudo ln -s /dev/serial/by-id/usb-1a86_USB_Single_Serial_5969026050-if00 /dev/serial/by-name/elrs-transmitter2
ELRS
Using the Jumper Aion ELRS 2.4G TX Nano:
- USB does not seem to be powerful enough to power the module
- Attach it to TX (tested with RadioMaster Zorro)
- Go into the currently selected model menu and disable the internal RF, enable external CRSF
- Go into the ELRS menu
- Bind with the model using the Menu
- Enable Wifi in the menu
- Go to
10.0.0.1/hardware.htmlchange pins: RX: 3 TX: 1 (note this will prohibit communication with the TX handset because it will listen on its own USB serial for CRSF communication) - Test using DeckTX (921600 Baud)
- Disable Model Match (bind to normal transmitter with the ELRS Lua script, and disable Model match there).
- Make sure the propeller directions (CW/CCW) are not inverted (front-left: CW, front-right: CCW, back-left: CCW, back-right: CW)
- Use the LED colors if available to check if the Mocap feedback works. Set to mode Color and then modulate by e.g. "Roll" which is the x displacement in our Mocap over ELRS conventions
- Disable Telemetry on the Drone to reduce RF load
PX4
These might not be necessary conditions but this set of settings has been found to be sufficient in aggregate:
- ELRS Receiver: Disable telemetry transmission on the ELRS receiver
- DroneBridge
- Lower the max packet size to 16
- Set Baudrate to 921600
- Don't make contact with the carbon fiber frame
- PX4
- Set
MAV_0_MODEto External Vision - Set
MAV_0_RATEto 500 B/s - Set
SER_TEL1_BAUDto 921600 - Use the
SanDisk 32GB Extreme U3SD card to prevent logging dropouts - Configure just a few topics in the
etc/logging/logger_topics.txt - Check
listener rl_tools_policy_statusfor thevisual_odometry_dt_stdandvisual_odometry_dt_max3000 and ~30000 (uS) are decent values respectively (when feeding Mocap at 100Hz)
- Laptop
- Run forwarding script with
sudo nice -n-20 - Disconnect from Wifi
sudo -E nice -n-20 ./.venv/bin/python choreo/individual_px4.py
- Vicon:
- 100Hz
- Enable tracking
- Make
Tracker.exeReal-time priority
- GL.inet MT300N-v2
- Wifi running on
Mode: Client Channel: 8 (2.447 GHz) HT Mode: HT20(though Channel 1 might be better with ELRS in the same room)
Deadman Switch
Ikkegol footpedal:
sudo gpasswd -a $USER input
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
multirobot-0.0.1.tar.gz
(18.2 kB
view details)
File details
Details for the file multirobot-0.0.1.tar.gz.
File metadata
- Download URL: multirobot-0.0.1.tar.gz
- Upload date:
- Size: 18.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
861ba1a257568b724d67bc4deaddaa8976648a8dd8561f1279c604ff42aa8de5
|
|
| MD5 |
6d313c69d67d9650d643956b46f9ec79
|
|
| BLAKE2b-256 |
c77cc61792a76bd84b0f076e041cd3c3cd57826f3ebdce71e925b72639df8861
|