/person_following_bot

This is a deep learning based robot which follows a person in dynamic environment.

Primary LanguagePython

Person Following Robot

This project has been presented in the 'International Conference on Advances in Mechanical Engineering, 2020.
If you are using this repository please cite this paper: Person Following Mobile Robot using Multiplexed Detection and Tracking

Demo

YouTube Link

Results:

Abstract:

Helper robots are widely used in various situations, for ex-ample at airports and railway stations. This paper presents a pipeline to multiplex the tracking and detection of a person in dynamic environments using a stereo camera in real-time. Recent developments in object detection using ConvNets have led to robust person detection. These deep convolutional neural networks generally fail to run with high frames rates on devices with less computing power. Trackers are also used to retain the identity of the target person as well as impose fewer constraints on hardware. A concept of multiplexed detection and tracking is used which makes the pipeline faster by many folds. TurtleBot2 is used for prototyping the robot and tuning of the motion controller. Robot Operating System (ROS) is used to set up communication be-tween various nodes of the pipeline. The results found were comparable to current state-of-the-art person followers and can be readily used in day to day life.

Instructions:

Setting up remote server for faster processing:

Host Machine (machine running roscore):

export ROS_MASTER_URI=http://192.168.0.113:11311 (replace with host machine ip) export ROS_IP=192.168.0.123 (replace with host machine ip) export ROS_HOSTNAME=192.168.0.123 (replace with host machine ip)

Remote Machine:

export ROS_MASTER_URI=http://192.168.0.113:11311 (replace with host machine ip) export ROS_IP=192.168.0.123 (replace with local machine ip) export ROS_HOSTNAME=192.168.0.123 (replace with host machine ip)

Dependencies:

Contributors:

Khush Agrawal

Rohit Lal