Skip to content

soar_ros

  • Software
  • Middleware
  • Library

A ROS 2 package that wraps the Soar cognitive architecture so Soar agents can publish, subscribe, offer services and call them, without blocking the Soar kernel.

Made by THA - Embedded Systems Lab.

Source on GitHub: github.com/THA-Embedded-Systems-Lab/soar_ros (opens in a new tab). Facts read at commit be5b947 (opens in a new tab).

Licenses

Code
Apache-2.0 (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (Apache-2.0) at commit be5b947 (opens in a new tab), on 22 Oct 2026.

Commercial use
Yes

What it does

  • Runs the Soar kernel in continuous mode on a separate thread so it does not block ROS 2 callbacks.
  • Provides wrapper classes for ROS 2 publishers, subscribers, services, clients and action clients.
  • Supports multiple Soar agents in one kernel.
  • Includes ready-made converters between common std_msgs and geometry_msgs types and Soar working memory.
  • Action servers are not supported yet.
  • Relies on a forked Soar version built with cmake instead of scons.

Written by Robotheca from the project's README (opens in a new tab) at commit be5b947.

Getting started

Difficulty
Advanced

Maintenance

Status
Active: a commit in the last 90 days
Newest commit
17 Sept 2026 on main
Latest release
0.2.0 (26 Jun 2026)

Checked on GitHub on 22 Oct 2026.

Robots that can run it

No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.