Varun0157 / Image-Based-Visual-Servoing

Image Based Visual Servoing (IBVS) simulation in pybullet
MIT License
3 stars 0 forks source link

Will not converge #2

Open Serissa opened 1 week ago

Serissa commented 1 week ago

Hi: The camera trajectory is not converging to the optimal position.How to modify the code?

Varun0157 commented 1 week ago

Can you elaborate? Is it not converging at all, or converging and then beginning to diverge?

Serissa commented 1 week ago

The program has been looped more than 200 times, and the output picture and the target picture are still very different.

Varun0157 commented 1 week ago

Well, Image Based Visual Servoing is not expected to be a highly accurate servo-ing method for a number of reasons, primarily that it can only take in 6 input features, which I set here as the coordinates of three arbitrary corners of the marker.

The expected result of this servo-ing method is to see a general convergence towards the goal state (denoted by the error in the top left in this program, it is green if the error is decreasing, otherwise red), before some expected divergence because we are not (and can-not) consider all the features of the marker.

If you are looking for a more accurate servoing method, you can look at methods such as real time visual servoing (rtvs) or other SOTA methodologies.

If you can share a video of your result, maybe I can help out a bit more (although please note that I am no expert in this field either). Alternatively, if you find a flaw in the code, feel free to make a PR :)

Serissa commented 1 week ago

Thank you for your response. I want to get results in my paper.[Visual Servo Control Part I: Basic Approaches]

Varun0157 commented 1 week ago

Ah yes, that's the paper I largely referred to for my implementation as well. Can you share the results you're getting that make you believe the trajectory is not converging? I have mentioned the code required to convert the images into a video in the README file.

Serissa commented 1 week ago

The final effect of the video output.mp4 you give does not converge to the target.png effect. I have checked that the Z-value of the Corner I checked has a small variation range during the convergence process. Why is this?

Varun0157 commented 1 week ago

Well, Image Based Visual Servoing is not expected to be a highly accurate servo-ing method for a number of reasons, primarily that it can only take in 6 input features, which I set here as the coordinates of three arbitrary corners of the marker.

The expected result of this servo-ing method is to see a general convergence towards the goal state (denoted by the error in the top left in this program, it is green if the error is decreasing, otherwise red), before some expected divergence because we are not (and can-not) consider all the features of the marker.

If you are looking for a more accurate servoing method, you can look at methods such as real time visual servoing (rtvs) or other SOTA methodologies.

If you can share a video of your result, maybe I can help out a bit more (although please note that I am no expert in this field either). Alternatively, if you find a flaw in the code, feel free to make a PR :)

Please refer to this previous reply. Does this answer your question?