Kobuki QBot: Companion Robot
A companion robot that finds its owner, reads a few hand gestures, and answers with pet-like behaviour.
FlySky QBot is an autonomous companion robot built on a Kobuki / Quanser QBot mobile base. It detects and tracks a person, recognises a small set of hand gestures, and reacts with pet-like behaviours: approach, stop, spin, step left or right, and wiggle.
Perception runs off a Kinect 360 RGB-D camera, with ROS 2 Jazzy on a Raspberry Pi 5 tying the pieces together.
Highlights
- Person detection and tracking with RGB-D input from a Kinect 360.
- Recognises a small hand-gesture vocabulary and maps each to a behaviour.
- Depth-aware safety so the robot keeps a sensible distance while approaching.
- Modular ROS 2 workspace split into camera, vision-tracking, gesture and behaviour packages, each publishing to its own topics.
From pixels to behaviour
The pipeline is deliberately staged: one node owns the camera, another turns frames into a tracked target, a third classifies gestures, and a fourth decides what the robot does. Because they communicate over ROS 2 topics, any stage can be tested or swapped in isolation.
Depth-aware safety
The depth channel is not just for tracking; it is the safety mechanism. Knowing how far away the person is lets the approach behaviour stop before it gets uncomfortably close, which matters for a robot meant to live around people.
Stack
Vision
- Kinect 360 RGB-D
- OpenCV
- libfreenect
Base
- Kobuki / Quanser QBot
Compute
- Raspberry Pi 5
- ROS 2 Jazzy