Skip to main content

phyelds-argos

Run phyelds aggregate programs on any ARGoS3 robot: foot-bot, e-puck, eye-bot, Spiri, Pi-Puck, BuilderBot, drone, block or prototype. ARGoS owns the robots, physics and radios. Each robot runs a phyelds.vm.device.Device; its bytes travel through the robot's simulated radio, one round per tick.

Install this package into Python 3.12 or 3.13, with ARGoS3, a C++17 compiler and CMake 3.18+ installed. Build the plugin with the same Python that has your programs:

python -m phyelds.argos.build --build-dir build
# Without Qt/OpenGL (the controller still drives the LEDs):
python -m phyelds.argos.build --build-dir build-headless --no-gui

The package ships C++ sources, not a binary tied to a particular ARGoS/Python ABI. The command compiles libphyelds_argos.so and, unless --no-gui is used, libphyelds_argos_qt.so. It uses the calling interpreter and its development headers/shared library, rather than whichever python3 happens to be on the PATH. Rebuild after moving or replacing that Python environment.

In an ARGoS experiment use phyelds_controller, with library="build/libphyelds_argos" and <params program="your_module:your_function" source="0" max_speed="0.1" />. Robot names must end in a unique unsigned 32-bit integer, for example fb0, fb1. The controller uses the devices the experiment declares: it needs the positioning sensor and a range_and_bearing or simple_radios radio (actuator and sensor); motion (differential_steering, pipuck_differential_drive, builderbot_differential_drive, quadrotor_speed, drone_flight_system), proximity sensors and LEDs are optional, and outputs a robot cannot act on are ignored. Positioning supplies yaw only, unless gps="true".

Programs read source and heading; the time, in seconds, with local_time(); obstacle with a proximity sensor or rangefinders; the neighbors_distances and neighbors_vectors maps, keyed by numeric robot ID, with the range-and-bearing radio; and position with gps="true", which simple radios need for geometry. Distances are metres; vectors and headings share the global compass frame. The standard geometry helpers use the measured sensors without GPS.

Programs write velocity (an iterable with two or three components, m/s), led (three integer RGB channels, 0–255) and label (text). phyelds.argos names these sensors and actuators once, as typed objects: source.sense(), led.send((255, 0, 0)), velocity.send(v). The maps and position are read by the geometry helpers. Missing outputs mean zero velocity, black LEDs and an empty label. With the GUI enabled, <user_functions library="build/libphyelds_argos_qt" label="phyelds_qtuser_functions" /> draws the LED colour as a halo and the label above each robot.

Radio frames are [u32 sender][u16 length][Device payload], with the header encoded by ARGoS CByteArray, padded with zeros on the range-and-bearing radio. Compact paths are used by default; paths="debug" is available for debugging, but all communicating robots must use the same mode and program version. Use a sufficiently large rab_data_size (4096 in the examples). Oversize messages fail explicitly; they are never truncated. Bad frame lengths are ignored. Payload/codec errors stop the experiment with the robot ID and Python traceback. trace="true" logs each robot's label after every round for diagnostics.

See the integration guide for an experiment and the five-example project. The host build needs no Boost.Python, pybind11, FCPP or phyelds simulator. Python execution is protected by the GIL even when ARGoS uses worker threads; individual rounds are not executed in parallel.

Metadata

Release files for phyelds-argos 8.13.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for phyelds-argos 8.13.1
File Size Uploaded Provenance Actions
phyelds_argos-8.13.1.tar.gz 13.4 kB Without provenance Details for phyelds_argos-8.13.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for phyelds-argos 8.13.1
File Interpreter ABI Platform Actions
phyelds_argos-8.13.1-py3-none-any.whl Python 3 none any Details for phyelds_argos-8.13.1-py3-none-any.whl

Total release size: 28.6 kB

Release files / phyelds_argos-8.13.1.tar.gz

Download URL phyelds_argos-8.13.1.tar.gz
Size 13.4 kB
Tags Source
SHA-256 checksum
How to use checksums
dca2065439b5399652a83fdb273f3426e59c9a7789a855a97f2c08cc5cc7eefd
BLAKE2b-256 checksum
How to use checksums
65aa80c7fdb67a13149e43def373fb5c0a20fded2087823d9d014a363d43a2de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.0 CPython/3.13.16 Linux/6.17.0-1022-azure

Release files / phyelds_argos-8.13.1-py3-none-any.whl

Download URL phyelds_argos-8.13.1-py3-none-any.whl
Size 15.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
28fdd5f1ffad4a60d56caaac7ad1dd61abf6d72f0abcf2bb121f5e304c6b31a7
BLAKE2b-256 checksum
How to use checksums
284df663be96522ccacc20816f543911e352736fefa5b3856e54b9310bde0a01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.0 CPython/3.13.16 Linux/6.17.0-1022-azure

Security for phyelds-argos 8.13.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page