- ROS2 node subscribing to orchestrator state, battery, balance, person tracker, voice commands, health - State-to-emotion mapping: navigation → excited, social → happy/curious, low battery → concerned, etc. - Smooth emotion transitions (0.3–1.2s) with confidence tracking - Idle behaviors: blink (~3s), look-around (~8s), breathing (sine wave) - Social memory: familiarity-based warmth modifier (0.3–1.0) for known people - Personality-aware responses: extroversion, playfulness, responsiveness, anxiety (0.0–1.0 configurable) - Publishes /saltybot/emotion_state (JSON): emotion, intensity, confidence, expression name, context, idle_flags - Configurable via emotion_engine.yaml: personality traits, battery thresholds, update rate - Launch file: emotion_engine.launch.py Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
30 lines
1.1 KiB
XML
30 lines
1.1 KiB
XML
<?xml version="1.0"?>
|
|
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
|
<package format="3">
|
|
<name>saltybot_emotion_engine</name>
|
|
<version>0.1.0</version>
|
|
<description>
|
|
Context-aware facial expression and emotion selection engine.
|
|
Subscribes to orchestrator state, battery, balance, person tracking, voice commands, and health.
|
|
Maps robot state to emotions with smooth transitions, idle behaviors, and social awareness.
|
|
Publishes emotion state with personality-aware expression selection (Issue #429).
|
|
</description>
|
|
<maintainer email="seb@vayrette.com">seb</maintainer>
|
|
<license>MIT</license>
|
|
|
|
<depend>rclpy</depend>
|
|
<depend>std_msgs</depend>
|
|
<depend>geometry_msgs</depend>
|
|
<depend>saltybot_social_msgs</depend>
|
|
<depend>ament_index_python</depend>
|
|
|
|
<test_depend>ament_copyright</test_depend>
|
|
<test_depend>ament_flake8</test_depend>
|
|
<test_depend>ament_pep257</test_depend>
|
|
<test_depend>python3-pytest</test_depend>
|
|
|
|
<export>
|
|
<build_type>ament_python</build_type>
|
|
</export>
|
|
</package>
|