Skip to content

Python package that facilitates the connection to helyOS core via RabbitMQ.

License

Notifications You must be signed in to change notification settings

helyOSFramework/helyos_agent_sdk

Repository files navigation


Logo Logo

helyOS Agent SDK

Methods and data strrctures to connect autonomous vehicles to helyOS.
Explore the docs »

Demo · Report Bug · Request Feature

About The Project

The helyos-agent-sdk python package encloses methods and data structures definitions that facilitate the connection to helyOS core via RabbitMQ.

List of features

  • RabbitMQ client for communication with helyOS core.
  • Support for both AMQP and MQTT protocols.
  • Definition of agent and assignment status.
  • Easy access to helyOS assignments and instant actions through callbacks.
  • SSL support and application-level security with RSA signature.
  • Automatic reconnection to handle connection disruptions.

Install

pip install helyos_agent_sdk

Usage

from helyos_agent_sdk import HelyOSClient, AgentConnector

# Connect via AMQP
helyOS_client = HelyOSClient(rabbitmq_host, rabbitmq_port, uuid=AGENT_UID)

# Or connect via MQTT
# helyOS_client = HelyOSMQTTClient(rabbitmq_host, rabbitmq_port, uuid=AGENT_UID)

helyOS_client.connnect(username, password)

# Check in yard
initial_agent_data = {'name': "vehicle name", 'pose': {'x':-30167, 'y':-5415, 'orientations':[0, 0]}, 'geometry':{"my_custom_format": {}}}
helyOS_client.perform_checkin(yard_uid='1', agent_data=initial_agent_data, status="free")
helyOS_client.get_checkin_result() # yard data

# Communication
agent_connector = AgentConnector(helyOS_client)
agent_connector.publish_sensors(x=-30167, y=3000, z=0, orientations=[1500, 0], sensor= {"my_custom_format": {}})

# ... #

agent_connector.publish_state(status, resources, assignment_status)

# ... #

agent_connector.consume_instant_action_messages(my_reserve_callback, my_release_callback, my_cancel_assignm_callback, any_other_callback)
agent_connector.consume_assignment_messages(my_assignment_callback)
agent_connector.start_listening()

Contributing

Keep it simple. Keep it minimal.

License

This project is licensed under the MIT License

About

Python package that facilitates the connection to helyOS core via RabbitMQ.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages