robonix_api.ros¶
Lazy rclpy wrapper. We do NOT import rclpy at module load — it’s heavy and not present on every robonix host. The singleton is initialised on first use.
The node owns one MultiThreadedExecutor + thread; every Capability publisher / subscription / sentinel runs against this single node. Caller code never sees rclpy directly through Capability methods — but if you want raw rclpy you can get the underlying node via RosBackend.get().node.
Functions
|
'sensor_msgs/Image' / 'sensor_msgs/msg/Image' / 'PointCloud2' → actual rclpy message class. |
Classes
Process-wide singleton. |
- class robonix_api.ros.RosBackend[source]¶
Bases:
objectProcess-wide singleton. Capability.create_publisher / create_subscription / wait_for_topic all funnel through this so we don’t fork multiple rclpy contexts.
- create_publisher(msg_type: type, topic: str, qos=10)[source]¶
qos accepts a string (‘best_effort’ / ‘reliable’ / ‘latched’), an int (queue depth, history KEEP_LAST), or an rclpy QoSProfile passed through.
- classmethod get() RosBackend[source]¶
- property node¶