The Robotics module probes the local system for connected hardware devices.
The list of connected hardware is returned to the user,
with each device having a uniquely addressable name.
The user application chooses device(s) from the list which are to be controlled and calls new() for each device.
The user application "attaches" to the hardware device.
The hardware device may exist across the network on a machine running a Robotics server.
For locally-connected hardware,
the user application can choose to start a network service.
the hardware is ready to be used.
the hardware may be busy.
For networked hardware,
the user application supplies a password for authentication and/or secure communication.
The user application sends commands through the hardware objects,
which result in compiled commands sent to the hardware.
Technical details: This & related modules use YAML to allow users (and the module itself) to use configuration data in a readable way.
The configuration data contains: physical locations of objects to interact with,
physical points in space to navigate from/to,
and so on,
as well as the tokens for the low-level robotics commands.
The main Robotics.pm module is an abstraction layer for many types of robotics devices and related peripheral hardware.
or peripheral devices may exist below this module,
or under Devices::,
or under other libraries,
and new implementation is welcomed.