CentralCamera.visjac_e#
- CentralCamera.visjac_e(E: float | int | list[float | int] | tuple[float | int, ...] | ndarray, plane: float | int | list[float | int] | tuple[float | int, ...] | ndarray) ndarray[source]#
Visual Jacobian for ellipse features
- Parameters:
E (array_like(5), ndarray(5,N)) – image plane ellipse parameters
plane (array_like(4)) – plane containing the ellipse
- Returns:
visual Jacobian matrix for ellipse feature
- Return type:
ndarray(2,6), ndarray(2N,6)
Compute the Jacobian gives the rates of change of the ellipse parameters in terms of camera spatial velocity.
For image plane ellipses
\[u^2 + E_0 v^2 -2 E_1 u v + 2 E_2 u + 2 E_3 v + E_4 = 0\]the image Jacobian \(\mat{J}\) maps
\[\begin{split}\begin{pmatrix} \dot{E_0} \\ \vdots \\ \dot{E_4} \end{pmatrix} = \mat{J}(\vec{p}, z) \vec{\nu}\end{split}\]camera spatial velocity \(\vec{\nu}\) to the velocity of the ellipse parameters \((E_0 \ldots E_4)\).
The world plane containing the ellipse is also required, and is provided as a vector \((a,b,c,d)\) such that
\[aX + bY + cZ + d = 0\]Example:
>>> from machinevisiontoolbox import CentralCamera >>> from spatialmath import SE3 >>> camera = CentralCamera.Default()
- References:
A New Approach to Visual Servoing in Robotics, B. Espiau, F. Chaumette, and P. Rives, IEEE Transactions on Robotics and Automation, vol. 8, pp. 313-326, June 1992.
Visual servo control 2: Advanced approaches Chaumette F, Hutchinson S, IEEE Robot Autom Mag 14(1):109–118 (2007)
P. Corke, Robotics, Vision & Control for Python, Springer, 2023, Section 15.3.2.
- Seealso: