I'm still trying to understand how to implement image based visual servoing (IBVS) for quadrotor. The control laws seem straightforward if you want to use IBVS to track a feature in the image space at a fixed distance, but I'm trying to extend this to flying towards the target as well.

What I'm confused about is that the control law requires you to track at least 3 features for $\mathbf{e}(t) = \mathbf{s} - \mathbf{s^*} \rightarrow 0$, but I'm unsure of how to set the values of $\mathbf{s^*}$ because the location of those 3 features will not be fixed in the pixel space when the quadrotor is flying forward.

Additional info: my quadrotor is supposed to fly through gates which are identified by 4 infrared markers. The center of these 4 infrared markers determines the target path for my quadrotor to fly through.


A Feature normally is not a single pixel and it's normally defined by a structure of some sort, for example the distance between the Markers. In the case of IBVS, you have to identify these features first, otherwise your robot essentially starts blind.

Once you identify the markers you can use the distance between them compared to the distance expected to know your position in relation to them. The same with rotation. After that you can start the IBVS.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.