Oculusprime Follower is a port of Turtlebot Follower, which uses the depth camera to sense if there is a ‘blob’ in front of the robot. If there is, it orients and moves the robot towards the center of the blob (which could be a person) following and holding at a configurable distance.
The follower node outputs movement commands in the form of twist messages to the
cmd_vel topic, so the
oculusprime_ros utility node cmd_vel_listener is enabled to interpret the twist messages and send equivalent movement commands to Oculusprime Java server, via the telnet API.
First, make sure the Oculusprime Server Application is running on the robot (if it isn’t already), with telnet enabled.
Then, make sure you have the latest
oculusprime_ros source in your catkin workspace:
$ roscd oculusprime
$ git pull
$ cd ../../
'cd ../../' command is to go up two folders, into the workspace root folder.)
Now you should be ready to go. If Oculus Prime is in its charging dock, move away from the dock using the browser remote UI. The follower app works best in a large, open spaces, as the robot can easily switch tracking to nearby walls or furniture.
Launch the follower app with:
$ roslaunch oculusprime follower.launch
Once it starts up, try walking slowly right in front of the robot—it should follow you around.
You can try changing the parameters in real-time using the ROS rqt_reconfigure utility. VNC into the robot (or use your networked workstation) and enter the command:
$ rosrun rqt_reconfigure rqt_reconfigure
Parameter descriptions can be found in comments in the launch file.
NEXT: Tutorial: Gazebo Simulation