System for designing, animating, and displaying SVG-based robot faces driven by ROS2 commands.
RoboFaceMaker/
├── robo_face_maker_ui/ # Browser-based face animation editor
├── presets/ # Face JSON files (exported from the editor)
└── ros2_roboface/ # Node.js display node (rosbridge WebSocket client)
-
Design faces in
robo_face_maker_ui/— openindex.htmlin a browser, animate, then export via File → Save as JSON. -
Store presets in
presets/— each file is named{face-id}.json. -
Run the display node from
ros2_roboface/:npm install npm start
Open
http://localhost:3000on the robot display. Configure the rosbridge URL via the?rosbridge=query param if the ROS2 bridge is on a different host. -
Control via ROS2 topics published by your robot's behaviour layer:
Topic Type Effect /roboface/load_facestd_msgs/StringLoad a face by ID /roboface/playstd_msgs/String"once"or"loop"/roboface/pausestd_msgs/EmptyPause playback /roboface/stopstd_msgs/EmptyStop and reset to frame 0
- Browser (face editor — no server needed)
- Node.js 18+ (display node)
- ROS2 with rosbridge_suite running on port 9090