SDK Examples
Code examples for common use cases
Basic Decision
from thalosforge import ATA
ata = ATA()
result = ata.decide(
actions=[0, 1, 2],
policy_conf=[0.9, 0.7, 0.5]
)
print(f"Action: {result.action_id}")
With Safety Checks
def check_safety(state):
# Your safety logic here
return state.distance_to_obstacle > 1.0
result = ata.decide(
actions=[0, 1, 2],
policy_conf=[0.9, 0.7, 0.5],
safety_ok=check_safety(current_state)
)
if result.is_safety_override:
execute_emergency_stop()
Batch Decisions
decisions = [
{"actions": [0, 1], "policy_conf": [0.9, 0.7]},
{"actions": [0, 1], "policy_conf": [0.5, 0.8]},
{"actions": [0, 1], "policy_conf": [0.6, 0.6]}
]
results = ata.decide_batch(decisions)
for r in results:
print(f"Action: {r.action_id}, Override: {r.overridden}")
Custom Configuration
from thalosforge import ATA, ATAConfig
# Favor confidence over coherence
ata = ATA(config=ATAConfig(
weight_c=0.6,
weight_h=0.2,
weight_k=0.2,
conf_min=0.3
))
result = ata.decide(actions=[0, 1, 2])
ROS Integration
import rospy
from thalosforge import ATA
ata = ATA()
def state_callback(msg):
actions = get_candidate_actions(msg)
result = ata.decide(
actions=actions,
policy_conf=get_confidences(msg),
safety_ok=msg.is_safe
)
if result.is_success:
publish_action(result.action_id)
rospy.Subscriber("/state", State, state_callback)