all projects

02

Autonomous Robot Control with Vision and Deep RL

A camera based control platform for learning how an indoor robot should move.

Built a Python platform that combines camera localization, obstacle detection, simulation, and a PyTorch Deep Q Network. The aim was to let an agent move toward a target while learning how to avoid obstacles instead of hard coding every path.

A physical robot and an expensive indoor mapping system were not available, so the project separated the vision problem from the control problem. A camera and printed markers supplied a real world position signal, while the navigation policy learned inside a simulation.

Seeing the room

Two reference ArUco markers defined the mapped area and corrected the camera perspective. A target marker supplied the position of the target, while green shapes in the camera view could be treated as obstacles. The localization code returned positions and a usable view of the room instead of raw camera coordinates.

Teaching the agent

The DQN received a compact state built from the simulated sensors, orientation, target direction, and obstacle information. It chose between a small set of movement actions, stored transitions in replay memory, and updated the network while the simulated robot moved.

What was actually delivered

The control loop was developed and tested in the Kivy simulation, with camera based localization used to explore the bridge toward physical space. The physical robot was not presented as a finished autonomous product.

selected tools

  • Python
  • PyTorch
  • DQN
  • OpenCV
  • ArUco
  • Kivy

repository