From-Scratch Build · Robotics & Sensing
A robot that looks after a plant: wireless soil and light sensors report how the plant is doing, a depth camera sees its surroundings, and a light-path planner works out how to move it toward the light it needs. I built this from scratch to learn how sensing, perception and path planning come together on a robotics platform.
What it is
A potted plant can't move toward a sunny window — this robot can. A small wireless sensor reports the plant's temperature, light, moisture and fertility over Bluetooth, a depth camera maps the space around it, and a light-path planner uses all of that to decide where the plant should go to get the light it's lacking. The pieces run on an embedded computer using a robotics middleware to tie sensing, perception and planning together.
I built it to learn the full robotics loop on real hardware: not a simulation, but actual BLE sensors, a real depth camera and a planner that has to turn sensor readings into a movement decision.
The core idea I wanted to learn: a robot is a feedback loop wearing hardware. Sense the world, build a model of it, decide on an action, act, then sense again. Plant care just makes that loop tangible and easy to reason about.
The stack
The point of this rebuild was the toolchain. Here is what each piece actually does in the system.
The robotics message bus. Sensor readings, camera frames and planner output all flow as topics so the modules stay decoupled.
A wireless sensor publishing temperature, light, soil moisture and fertility, read over Bluetooth and republished on a sensor topic.
A RealSense-style camera providing colour and depth of the surroundings, so the robot can perceive its environment in 3D.
Takes the light readings and the perceived scene and computes a path toward better light for the plant.
A gradient-vector-field approach shapes smooth, continuous motion toward the goal rather than jerky waypoints.
An embedded Linux board runs the whole stack on-device, with a network setup script to link the robot's nodes.
The loop
The robot runs a continuous sense-perceive-plan-act cycle, the same loop at the heart of any autonomous system.
The BLE sensor publishes the plant's light, moisture, temperature and fertility.
The depth camera maps the surroundings in colour and 3D.
ROS brings sensor and camera streams together as topics the planner can subscribe to.
The light-path planner computes a route toward the light the plant needs.
A gradient vector field turns that route into smooth, continuous motion.
The robot moves, then the loop runs again with fresh readings.
The interesting bit
The light-path planner is the heart of the project, and the gradient-vector-field idea is what makes its motion feel natural:
In my rebuild I started with the sensor publisher, layered the camera on top, then fed both into a static vector-field planner so I could watch a light-seeking path emerge from real readings.
Reflection