Robot integration runtime for the ARENA
Project description
ARENA-robot
Robot integration runtime for the ARENA.
Installation
Requires Python3.8+ (it probably runs fine on 3.6 and 3.7, but you will need your own NumPy wheels)
From PyPi:
pip install arena-robot
Latest development:
pip install git+https://github.com/conix-center/ARENA-robot#egg=arena-robot
Or for development, clone the repo and from inside the directory:
pip install -e .
Modules
arenarobot
Services that stream to MQTT may be started with the arena-robot-service
command. See examples/service_vl53l5cx_lidar_1.json
for a service file example. All services require the following arguments:
service_type
: Required. Currently onlysensor_vl53l5cx
is supported.instance_name
: Required. The name of this running service.subtopic
: Required. The device subtopic to publish to. For sensors this will always be prefixed withsensors/
.interval_ms
For services that run repeatedly, this is the interval. Set to -1 by default, which will fire the service once. Set to 0 to fire as fast as possible. This option is ignored for async-based services.
sensor_beluga_serial
This is a Beluga UWB sensor connected via serial:
dev_path
: Required. Path to the serial dev file device. For example, a Beluga USB serial device commonly shows up on Linux as/dev/ttyACM[0-9]+
. Hardware serial ports are often/dev/ttyS[0-9]+
. For USB devices, it is best practice to use the full serial device symlink like/dev/serial/by-id/usb-SEGGER_J-Link_000760025484-if00
so that the connection order does not affect the device assignment. If multiple USB devices of the same type are connected, then the/dev/serial/by-path/.*
syminks should be used to select the serial device by USB port.beluga_id
: Required. ID to assign to Beluga.baudrate
: Optional. Defaults to 115200.beluga_rate
: Optional. Defaults to 10. Rate in ms that Beluga will query and respond.beluga_channel
: Optional. Defaults to unset. See Beluga documentation.beluga_tx_power
: Optional. Defaults to unset. See Beluga documentation.beluga_timeout
: Optional. Defaults to unset. See Beluga documentation.beluga_twr_mode
: Optional. Defaults to unset. See Beluga documentation.beluga_led_mode
: Optional. Defaults to unset. See Beluga
sensor_licosa_serial
This is a LiCosa IMU and lidar sensor connected via serial:
dev_path
: Required. Path to the serial dev file device. For example, a LiCosa USB serial device commonly shows up on Linux as/dev/ttyACM[0-9]+
. Hardware serial ports are often/dev/ttyS[0-9]+
. For USB devices, it is best practice to use the full serial device symlink like/dev/serial/by-id/usb-Raspberry_Pi_Pico_E4616C840F602C27-if00
so that the connection order does not affect the device assignment. If multiple USB devices of the same type are connected, then the/dev/serial/by-path/.*
syminks should be used to select the serial device by USB port.baudrate
: Optional. Defaults to 230400.
sensor_vl53l5cx
This is a lidar sensor that connects through I2C and addresses by toggling its LPn pins. It additionally supports the following arguments:
dev_path
: Required. Path to the I2C dev file device. For example, the first I2C port on the Raspberry Pi is/dev/i2c-1
.gpio_path
: Required. Path to the GPIO dev file device. For example, the first I2C port on the Raspberry Pi is/dev/gpiochip0
.rst_pin
: Required. Pin (integer) ongpio_path
connected to theI2C_RST
pin on all of the sensors.lpn_pins
: Required. Array of pins (integers) ongpio_path
connected toLpn
pins on each sensor. The array must be present, and at least one pin must be specified or the service won't initialized any sensors. Sensors will be initialized and addressed in te order if this array.
arenavideocall
After installing the repo, you should now have the arena-video-call-chrome
command. You can also run it with python3 -m arena-video-call-chrome
. It uses the standard arena-py scene environment variables.
The first argument sets the surface that the video should be mapped to. For example, to map to an object called avideobox
:
MQTTH=arenaxr.org NAMESPACE=namespace SCENE=scene arena-video-call-chrome avideobox
licosa_py
The licosa_py
module depends only on NumPy. It includes a packet parser but not the serial interface; you will need to provide this yourself. See examples/licosa_py_basic.py
for an example.
vl53l5cx_py
The vl53l5cx_py
module requires Linux I2C interface (linux/i2c.h
and linux/i2c-dev.h
). It will issue a RuntimeError
on other platforms if it is attempted to initialize.
C shared library
gcc -fPIC -shared -o vl53l5cx.so -Ivl53l5cx_py/include -Ivl53l5cx_py/VL53L5CX_Linux_driver_1.1.2/user/platform -Ivl53l5cx_py/VL53L5CX_Linux_driver_1.1.2/user/uld-driver/inc vl53l5cx_py/src/*.c vl53l5cx_py/VL53L5CX_Linux_driver_1.1.2/user/platform/*.c vl53l5cx_py/VL53L5CX_Linux_driver_1.1.2/user/uld-driver/src/*.c -l
License
Copyright (c) 2021, The CONIX Research Center All rights reserved.
This source code is licensed under the BSD-3-Clause license found in the LICENSE file in the root directory of this source tree.
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
Built Distributions
Hashes for arena_robot-2.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c4fe629adcf59f882e7abd08edc18f190908ad8846e34f6ad52cb4a26666b41 |
|
MD5 | 9944f0cbfa562bf09c8cc296d42695fb |
|
BLAKE2b-256 | f04c51538179bcd04c420d8222512d7a52406d646339532e8a2ccedd295be2a1 |
Hashes for arena_robot-2.0.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fb9cb1574205dba00e17f55d1b0c09a191539e008461d6560283cbfc25dcb13 |
|
MD5 | 34a1eaa0de23779aac09da797ecac5a5 |
|
BLAKE2b-256 | 232d6b0920d41c2e8152fa6bda9e5504f57ae8f3c4ecebf46f5a926628494ac9 |
Hashes for arena_robot-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00cca77a90367f642715358d93e930bba0f6927279133ba6c87fc868b96faba9 |
|
MD5 | d624886d75f9d5d68c545efcad6a44d7 |
|
BLAKE2b-256 | fd8b678ad3c8bd9e37a7105af7ce2f7f6811c7301926ce78e587fe174bff9918 |
Hashes for arena_robot-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23b04bb9fa28f005557550905ed03f9e1ad6c14ccb8a08e3e99e3b9302c274bf |
|
MD5 | 9efec9203d8c0d9fdffc6dc36cb572b5 |
|
BLAKE2b-256 | e44305d2e1486e909ebd9d5f89b343f669da9b13a3765079ea79c87389288baa |
Hashes for arena_robot-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8f936824b10073aabc6856e34c1aefee48c72914f050dda9463b3796a2da764 |
|
MD5 | ea7822d65180f8b7824f338cfd0f92e3 |
|
BLAKE2b-256 | 5621224bd730d22ef6517a7ac440780ef0468e0a5066673f0bd4403e80c1f79b |
Hashes for arena_robot-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd65c88e345f87d6c759787ed4d4d2f8277c58577045faeb0babaea6394c391c |
|
MD5 | d5572808aaf91dce0b35fb19e2634bca |
|
BLAKE2b-256 | 7b76cbedaf3116f469080fb37a562401d705dbe8694e7b3064df134db45f53ed |
Hashes for arena_robot-2.0.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f4f85489b1b1853adef0c9e043fc3f263d87cc2e96a53d9fb66d3180ad0d7f6 |
|
MD5 | de20b8930f7d7d9842507b5c4a1baab6 |
|
BLAKE2b-256 | 342c1d9663eaa6d7b753803f1458f0379766e39c688c5358d892fcc1941f8a0e |
Hashes for arena_robot-2.0.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b2706e7b6078a4ef59158c20ae6da20c052bc254aa71d7066bc2106faf35e39 |
|
MD5 | 4ed375865e64cc28ce636cdb1e568487 |
|
BLAKE2b-256 | ac3b84a58c5b51190eae395ec77c7ee80278a4f19740e33986686dd5b41cdeb5 |
Hashes for arena_robot-2.0.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | faa7cc980e8aaafe37fce0ce656f8149db60bb3328bd02d08a58e2d4990cc315 |
|
MD5 | b10b870c88f0d45d29585fafc74eb49a |
|
BLAKE2b-256 | 9d4043be344bd4909ede827d0e093edccb3280184d3baf342d01ee9316fee825 |
Hashes for arena_robot-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc6def15b3cc1a4bab1f796fd4e18d86758ca3ca54cf8e1ffaa79dd258fdf64d |
|
MD5 | ec6d0748d8ad2470d496f8df002fc5c6 |
|
BLAKE2b-256 | 258c4b5295916b1ba6d2f1e76ff63e2674571612536b81a1e3e4d42b76eb9e8a |
Hashes for arena_robot-2.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd098bc3ff047e7663b1cc268f5ea32bfe7c1bf4ab021a5c8e26ed4fefb15171 |
|
MD5 | d3452a2d1249abea829917f8026f760a |
|
BLAKE2b-256 | 8e249dcc291acc603ffdff7ae5da10bdc1e16e22da60ac12962e481669212439 |
Hashes for arena_robot-2.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da78c3452619edd932bd19330dd5a25960141c2ccf42a33788d1a1b441729058 |
|
MD5 | 469afc0b8856a26795cf4d7d3914a5d0 |
|
BLAKE2b-256 | c5c9bb61d2f6aa294fddd926ccac9bda40ab0700a3d9072a917619a1ca45e20b |
Hashes for arena_robot-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f078bf275fe3bdecb2f6b4a0d54df9edcc0392bab398ae5b758233f003519e48 |
|
MD5 | 7e7971874aa99f682e8c7a5b7142af09 |
|
BLAKE2b-256 | 4888e4e2924a493754ebe96475c28b85511fc4b88978d60107317d03de642c08 |
Hashes for arena_robot-2.0.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17f6f2245c37f881c26255f212588329bbb8954d243769edcc1da423bcd6cfbb |
|
MD5 | 3107c4ed544fd739a388cddcd3dec59a |
|
BLAKE2b-256 | a4da845e34ef6ef29c6624ab058655015401ad47127343339c25efe615d67722 |
Hashes for arena_robot-2.0.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e3a51faafad18101f5b10550b1c2dc6e54528198b884dd3b393b3ed373ce9cb |
|
MD5 | 2ff83e8dfd9928877908158af23cae6e |
|
BLAKE2b-256 | 844ac403bc81c4f49a2675a7db408d694a8cb0322894d63c23e6dc0515d0d627 |
Hashes for arena_robot-2.0.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4799dd139621aa7822fd4c78841b1d29a649de30c84b8b0e6089b3a3f2716e5 |
|
MD5 | 53e1b1a28cb34338791323eda8561d8b |
|
BLAKE2b-256 | 32df001c60bcbb0648f937f82dc0b784d627a0dc63b765622b0b2f9d47d798e7 |
Hashes for arena_robot-2.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd32db91d27cd25850b304649444dd59f2e0fb466be2e085080b717dd8d0e9f9 |
|
MD5 | bf3569921bccb7b9fe420d7260f4f1bb |
|
BLAKE2b-256 | e758ef4f48428cedf1cd9cd730e68e9d1f47dcb1a8b18d892420e22c8f3336b7 |
Hashes for arena_robot-2.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7cfe741353d55af0d6c0ef29e176074c700123d6dc435938df886e08de27d11 |
|
MD5 | 42da0cf79e9927e9b2fbe6043fc143ab |
|
BLAKE2b-256 | d753bb3680672380f40e7623aca9838748f99c9b92198d2b594401cb43577351 |
Hashes for arena_robot-2.0.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73af1014fd2cbb7d5963e628db6a6277b6b69773eae28d2adc4e72ea7a453ebe |
|
MD5 | ec4f7076fe796486413e87a29c964c95 |
|
BLAKE2b-256 | a3d29bebba0bec0901c301eea221b490be564bacdf7babc57275910bef500000 |
Hashes for arena_robot-2.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53e225be4158943c1e1784403f964d3b64768885ec8ad764ed30fd2757f620c6 |
|
MD5 | 3fce79264d99a030eec4e1bf6d31509e |
|
BLAKE2b-256 | 4030472ae929bce28fa027606056b28d13c0e1c2d6bfb3796f694ab4bd19348d |
Hashes for arena_robot-2.0.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a90702d4283ed77d559e73bf8d6be613cd52c1d09a66dbe771c567fa99222c6 |
|
MD5 | 7ae21b9e3f1d89ea67218ae2eed131ac |
|
BLAKE2b-256 | 0965a3c3477ce9c10ac94d4a481f13a625e414a45404d28a4def4e74913f9ca7 |