Abstract
The ability to follow a human is an important requirement for a service robot designed to work along side humans in homes or in work places. This paper describes the development and implementation of a novel robust visual controller for the human-following robot. This visual controller consists of two parts: 1) a robust algorithm that tracks a human visible in its camera view and 2) a servo controller that generates necessary motion commands so that the robot can follow the target human. The tracking algorithm uses point-based features, like speeded up robust feature, to detect human under challenging conditions, such as, variation in illumination, pose change, full or partial occlusion, and abrupt camera motion. The novel contributions in the tracking algorithm include the following: 1) a dynamic object model that evolves over time to deal with short-term changes, while maintaining stability over long run; 2) an online K-D tree-based classifier along with a Kalman filter is used to differentiate a case of pose change from a case of partial or full occlusion; and 3) a method is proposed to detect pose change due to out-of-plane rotations, which is a difficult problem that leads to frequent tracking failures in a human following robot. An improved version of a visual servo controller is proposed that uses feedback linearization to overcome the chattering phenomenon present in sliding mode-based controllers used previously. The efficacy of the proposed approach is demonstrated through various simulations and real-life experiments with an actual mobile robot platform.
Original language | English |
---|---|
Article number | 7637024 |
Pages (from-to) | 1415-1427 |
Number of pages | 13 |
Journal | IEEE Transactions on Systems, Man, and Cybernetics: Systems |
Volume | 47 |
Issue number | 7 |
Early online date | 24 Oct 2016 |
DOIs | |
Publication status | Published - 1 Jul 2017 |
Keywords
- Feedback linearization
- K-D tree
- Kalman filter
- out-of-plane rotations
- speeded up robust feature (SURF)-based human tracking
- visual servo controller