CentralCamera.visjac_p_polar#
- CentralCamera.visjac_p_polar(p: ndarray | float | int | list[float | int] | tuple[float | int, ...], Z: float | ndarray) ndarray[source]#
Visual Jacobian for point features in polar coordinates
- Parameters:
p (array_like(2), ndarray(2,N)) – image plane point or points
depth (float, array_like(N)) – point depth
- Returns:
visual Jacobian matrix in polar coordinates
- Return type:
ndarray(2,6), ndarray(2N,6)
Compute the image Jacobian \(\mat{J}\) which maps
\[\begin{split}\begin{pmatrix} \dot{\phi} \\ \dot{r} \end{pmatrix} = \mat{J}(\vec{p}, z) \vec{\nu}\end{split}\]camera spatial velocity \(\vec{\nu}\) to the image plane velocity of the point expressed in polar coordinate form \((\phi, r)\).
If
pdescribes multiple points then return a stack of these \(2\times 6\) matrices, one per point.Depth is the z-component of the point’s coordinate in the camera frame. If
depthis a scalar then it is the depth for all points.Example:
>>> from machinevisiontoolbox import CentralCamera >>> from spatialmath import SE3 >>> camera = CentralCamera.Default() >>> camera.visjac_p_polar((200, 300), 2) array([[ 0.0015, 0.0008, 0. , -0.0016, 0.0029, 1. ], [ 0.2436, -0.4366, -150. , 78597.63 , 43847.3779, 0. ]])
- References:
Combining Cartesian and polar coordinates in IBVS. Corke PI, Spindler F, Chaumette F IROS 2009, pp 5962–5967
P. Corke, Robotics, Vision & Control for Python, Springer, 2023, Section 16.2.
- Seealso: