phyelds-webots
Webots integration for phyelds: run aggregate programs on the robots of a Webots simulation. One controller runs on any robot, and programs read and write the same sensors and actuators as on ARGoS.
Installation
Install it in the Python that Webots runs the controllers with (Python 3.12 or 3.13):
pip install phyelds-webots
The controller module comes with Webots.
Usage
Give each robot an Emitter and a Receiver: the range of the emitter decides who the
neighbors are, and the receiver measures how far they are. Write the program:
from phyelds.calculus import aggregate
from phyelds.libraries.device import label, source
from phyelds.libraries.distances import neighbors_distances
from phyelds.libraries.spreading import distance_to
@aggregate
def main():
distance = distance_to(source.sense(), neighbors_distances()) # metres, without GPS
return label.send(f"{distance:.2f}m")
The controller of every robot is controllers/phyelds_controller/phyelds_controller.py:
from phyelds.webots import main
if __name__ == "__main__":
main()
and the world names the program, next to the controller, and its options:
controller "phyelds_controller"
controllerArgs [ "gradient:main" "--source" "source" ]
With an InertialUnit the robot also senses its heading, the vectors to its
neighbors and, with distance sensors, the obstacle; --gps adds its position. The
led output colours its LEDs, and the velocity output drives its wheels, given
--wheel-radius (and --wheels, if its motors have other names than left wheel motor and
right wheel motor). The e-puck, Elisa-3, Khepera III and IV, Thymio II, Create and
Pioneer 3-DX are tested in Webots, with the arguments each needs listed in the
documentation. AggregateController and Body are there for a controller of your own.
See the documentation.
Metadata
Release files for phyelds-webots 9.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| phyelds_webots-9.2.0.tar.gz | 8.3 kB | Without provenance | Details for phyelds_webots-9.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| phyelds_webots-9.2.0-py3-none-any.whl | Python 3 | none | any | Details for phyelds_webots-9.2.0-py3-none-any.whl |
Total release size: 18.6 kB
Release files / phyelds_webots-9.2.0.tar.gz
| Download URL | phyelds_webots-9.2.0.tar.gz |
|---|---|
| Size | 8.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ea48e74938902a3fc34bd986eedb3abe42db73e92d14fced72a509bbd572183b
|
|
BLAKE2b-256 checksum How to use checksums |
15ad9af56aa46417b9cb917fe0a3430df871d918fd261117fc89e58f347f0ec7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.0 CPython/3.13.17 Linux/7.0.0-1017-azure
|
Release files / phyelds_webots-9.2.0-py3-none-any.whl
| Download URL | phyelds_webots-9.2.0-py3-none-any.whl |
|---|---|
| Size | 10.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c175fd61152352c0e5d76bb1eb691bfd40b021506f464344e667e2c29259ab5c
|
|
BLAKE2b-256 checksum How to use checksums |
2cf5a261e674adc4ab8702394f67be36a0df3529439fac9ff3498fe08803b642
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.0 CPython/3.13.17 Linux/7.0.0-1017-azure
|
Security for phyelds-webots 9.2.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.