This folder aggregates the core packages required to run the robot LLM planner stack on CM3588 and companion hosts. It is intentionally not a ROS package; it is a curated bundle of related packages that are built together in the same workspace.
robot_planner- Planning, PDDL aggregation, and PlanSys2 integration (goal gateway + action nodes).ros2_rknn_llm- RKLLM-based ROS 2 node that turns user requests into structured actions.robot_llm_orchestrator- Launch orchestration for planner + LLM.mapannotator- Provides/pddl/map(problem template) used bypddl_aggregator.rc_agent- Auxiliary robot agent utilities.plansys2_upf_plugin- PlanSys2 plugin dependencies.gscam2,ros-gst-bridge- Optional vision streaming components.
From the workspace root:
cd ~/ros2_ws
colcon build --symlink-install
source install/setup.bashIf you only want the core stack:
colcon build --packages-select robot_planner ros2_rknn_llm robot_llm_orchestratorLaunch the full stack (planner + PlanSys2 + LLM):
ros2 launch robot_llm_orchestrator robot_llm_orchestrator.launch.py \
model_path:=$HOME/qwen3-vl-4b-instruct_w8a8_rk3588.rkllmKey topics:
/rkllm_node/user_text- User input text/rkllm_node/assistant_text- Structured JSON replies/pddl/problem- Aggregated problem PDDL/robot_planner/goal- Goals pushed to PlanSys2/robot_planner/goal_status- Goal accept/reject status
- If
/pddl/problemis empty, ensuremapannotatorpublishes/pddl/map. - If PlanSys2 fails with PDDL parse errors, check the domain requirements (e.g.,
:numeric-fluents). - If RKLLM fails to allocate NPU memory, ensure no stale
rkllm_nodeprocesses are running.
- This folder is a convenience bundle, not a standalone ROS package.
- Use consistent
ROS_DOMAIN_IDandRMW_IMPLEMENTATIONacross machines for DDS discovery.
