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 time (seconds), source and heading; 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.10.0

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.10.0
File Size Uploaded Provenance Actions
phyelds_argos-8.10.0.tar.gz 13.6 kB Without provenance Details for phyelds_argos-8.10.0.tar.gz

Built distribution (wheel)

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

Total release size: 29.1 kB

Release files / phyelds_argos-8.10.0.tar.gz

Download URL phyelds_argos-8.10.0.tar.gz
Size 13.6 kB
Tags Source
SHA-256 checksum
How to use checksums
cd2147eae3166acec6ee814d38471ecff1c74122fe96a66812291d90eed1df6d
BLAKE2b-256 checksum
How to use checksums
c05bae4459e79a698ba4655195ee3ee88951495b0f274c882ab3d8c899be4637
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.10.0-py3-none-any.whl

Download URL phyelds_argos-8.10.0-py3-none-any.whl
Size 15.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
52f1e20d0004870a9fc60016e8dd2d00fad89e5bc3a684b93d9a2d9b329f45f1
BLAKE2b-256 checksum
How to use checksums
9a47ad149b0f639b66defd1c44d80bc917b8ea2f35d5c6d5d78c3f8a250ea4eb
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.10.0

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