sw/
← projects
IIT Bombay Innovation Cell·2014

Psi: an indoor navigation robot

Summer internship at IIT Bombay's Innovation Cell: a ROS robot that maps an office with a Kinect, localises with wheel odometry and drives itself to a goal. Team lead of four.

Problem

The brief was a simple office robot that moves through a building on its own and avoids people and furniture on the way to a goal. On a student budget there was no LiDAR, so everything had to come from a Kinect and the wheel encoders.

What I did

I led a team of four (Rohit Salem, Tanvi Rastogi, Varsha Reddy and me) in the Sine Lab of IIT Bombay’s Innovation Cell in summer 2014, mentored by Pranav Maheshwari. We built the robot on an aluminium frame with Faulhaber DC motors, a Roboteq MDC2250 motor controller, a Kinect and a laptop running ROS.

We worked in four stages:

  • Teleoperation. A ROS node turns keyboard and joystick commands into Roboteq motor commands.
  • Localisation. Differential-drive wheel odometry from the shaft encoders, with the coordinate frames tracked by tf.
  • Mapping. The Kinect’s depth image is converted to a 2D laser scan, and gmapping builds the map. We raised the particle count to make up for the Kinect’s narrow field of view.
  • Navigation. The ROS navigation stack plans globally with navfn (Dijkstra’s algorithm) and locally with the base local planner (trajectory rollout and dynamic window), turning a goal on the map into velocity commands.

Result

Psi mapped the office, localised on the saved map and drove autonomously to goals set in RViz, as in the video above. The report lists the next steps we had in mind: voice goals, A* planning, phone control, and an IMU fused with the encoders.

esc