I’m making a drone to automatically do inspections on trees to detect
parasites growing on trees in remote forrests. The drone can fly to
an infected spot on the tree, take a note about when/where, then dash
to another tree in a hurry. Forrests are big
The object recognition system itself is complete, and I’ve managed to
create a ROS2 topic that can subscribe to the running camera feed with
bounding boxes. The drone does fly but has problems. It’s not
responsive when it starts to chase a tree.
It’s a little difficult to set/guess the tree’s waypoints based on
geometry of the drone relative to the ground, the detected object,
etc. What I really want is to fly to a detected tree object in the
aperature of the camera.
The problem I’ve noticed is getting the drone to respond to the
bounding box moving around after the drone initially reacts.
I’ll eventually make a PID controller but right now I’ve been
depending on
drone.offboard.set_velocity_body(
VelocityBodyYawspeed(forward, left_right, down, yawspeed)
)
To get the drone to pitch up/down, left/right. forward
is just
set to 5.0. yawspeed is also constant but neg/pos depending on
left_right’s value.
I know I’m missing some important concept or abstraction to make the
drone more responsive to the Bounding box moving in the camera.
Could anyone offer any hints?