From 3c211a0212f66a901fd8561d96b6f8fab91d22e0 Mon Sep 17 00:00:00 2001 From: rlagneau Date: Mon, 15 Apr 2024 08:55:54 +0200 Subject: [PATCH 1/3] [DOC] Changed the documentation of the exponential map to be closer to its usage --- modules/core/include/visp3/core/vpExponentialMap.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/core/include/visp3/core/vpExponentialMap.h b/modules/core/include/visp3/core/vpExponentialMap.h index eae27af3b0..320666e274 100644 --- a/modules/core/include/visp3/core/vpExponentialMap.h +++ b/modules/core/include/visp3/core/vpExponentialMap.h @@ -52,25 +52,25 @@ The exponential map gives the relationship between the velocity of a moving body and its displacement: - \f[ \exp({^c}{\bf v}_c) = {^{c(t)}}{\bf M}_{c(t+\Delta t)} \f] + \f[ \exp({^c}{\bf v}_c(t - \Delta t)) = {^{c(t - \Delta t)}}{\bf M}_{c(t)} \f] - where \f$ {^c}{\bf v}_c\f$ is the velocity skew vector applied during \f$\Delta t\f$ - seconds at point \f$ c \f$ in frame \f$ c \f$, while \f$ {^{c(t)}}{\bf M}_{c(t+\Delta t)} \f$ + where \f$ {^c}{\bf v}_c(t - \Delta t)\f$ is the velocity skew vector at the previous iteration applied during \f$\Delta t\f$ + seconds at point \f$ c \f$ in frame \f$ c \f$, while \f$ {^{c(t- \Delta t)}}{\bf M}_{c(t)} \f$ is the corresponding displacement. This class allows to compute the direct or the inverse exponential map. - The direct exponential map allows to compute the displacement - \f${^{c(t)}}{\bf M}_{c(t+\Delta t)}\f$ using \f${^c}{\bf v}_c\f$ as input: - \f[ {^{o}}{\bf M}_{c(t+\Delta t)} = {^{o}}{\bf M}_{c(t)} \exp({^c}{\bf v}_c) \f] + \f${^{c(t - \Delta t)}}{\bf M}_{c(t)}\f$ using \f${^c}{\bf v}_c(\t - \Delta t)\f$ as input: + \f[ {^{o}}{\bf M}_{c(t)} = {^{o}}{\bf M}_{c(t - \Delta t)} \exp({^c}{\bf v}_c(\t - \Delta t)) \f] where \f$ o \f$ is a reference frame. - With direct(), the velocity skew vector \f$ {^c}{\bf v}_c \f$ is applied during 1 second + With direct(), the velocity skew vector \f$ {^c}{\bf v}_c(\t - \Delta t) \f$ is applied during 1 second considering \f$ \Delta t = 1\f$. With direct(const vpColVector &, const double &) the sampling time can be set to an other value where the second argument is \f$ \Delta t \f$. - The inverse exponential map allows to compute the velocity skew vector \f$ - \bf {^c}{\bf v}_c \f$ from the displacement \f$ {^{c(t)}}{\bf M}_{c(t+\Delta t)}\f$ + \bf {^c}{\bf v}_c(t - \Delta t) \f$ from the displacement \f$ {^{c(t - \Delta t)}}{\bf M}_{c(t)}\f$ measured during a time interval \f$ \Delta t \f$. With inverse() the time interval also called sampling time is set to 1 second. With inverse(const vpHomogeneousMatrix &, const double &) the sampling time can From 752ac86634a59b0befe4ed5832434a86698965c7 Mon Sep 17 00:00:00 2001 From: Fabien Spindler Date: Mon, 15 Apr 2024 09:17:25 +0200 Subject: [PATCH 2/3] Fix typo --- modules/core/include/visp3/core/vpExponentialMap.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/core/include/visp3/core/vpExponentialMap.h b/modules/core/include/visp3/core/vpExponentialMap.h index 320666e274..95637be0f4 100644 --- a/modules/core/include/visp3/core/vpExponentialMap.h +++ b/modules/core/include/visp3/core/vpExponentialMap.h @@ -61,16 +61,16 @@ This class allows to compute the direct or the inverse exponential map. - The direct exponential map allows to compute the displacement - \f${^{c(t - \Delta t)}}{\bf M}_{c(t)}\f$ using \f${^c}{\bf v}_c(\t - \Delta t)\f$ as input: - \f[ {^{o}}{\bf M}_{c(t)} = {^{o}}{\bf M}_{c(t - \Delta t)} \exp({^c}{\bf v}_c(\t - \Delta t)) \f] + \f${^{c(t - \Delta t)}}{\bf M}_{c(t)}\f$ using \f${^c}{\bf v}_c(t - \Delta t)\f$ as input: + \f[ {^{o}}{\bf M}_{c(t)} = {^{o}}{\bf M}_{c(t - \Delta t)} \exp({^c}{\bf v}_c(t - \Delta t)) \f] where \f$ o \f$ is a reference frame. - With direct(), the velocity skew vector \f$ {^c}{\bf v}_c(\t - \Delta t) \f$ is applied during 1 second + With direct(), the velocity skew vector \f$ {^c}{\bf v}_c(t - \Delta t) \f$ is applied during 1 second considering \f$ \Delta t = 1\f$. With direct(const vpColVector &, const double &) the sampling time can be set to an other value where the second argument is \f$ \Delta t \f$. - The inverse exponential map allows to compute the velocity skew vector \f$ - \bf {^c}{\bf v}_c(t - \Delta t) \f$ from the displacement \f$ {^{c(t - \Delta t)}}{\bf M}_{c(t)}\f$ + {^c}{\bf v}_c(t - \Delta t) \f$ from the displacement \f$ {^{c(t - \Delta t)}}{\bf M}_{c(t)}\f$ measured during a time interval \f$ \Delta t \f$. With inverse() the time interval also called sampling time is set to 1 second. With inverse(const vpHomogeneousMatrix &, const double &) the sampling time can @@ -78,7 +78,7 @@ argument is \f$ \Delta t \f$. A displacement \f$ \bf M \f$ is represented as an homogeneous matrix implemented in - vpHomogeneousMatrix. A velocities \f$ \bf v \f$ is represented as a + vpHomogeneousMatrix. A velocity \f$ \bf v \f$ is represented as a 6 dimension velocity skew vector \f$ [v, \omega] \f$, where \f$ v \f$ is a velocity translation vector with values in m/s and \f$ \omega \f$ a velocity rotation vector with values expressed in rad/s. From 8a347dee86b312e16f92ca6e9a1f26bb5325ac44 Mon Sep 17 00:00:00 2001 From: Fabien Spindler Date: Mon, 15 Apr 2024 09:18:05 +0200 Subject: [PATCH 3/3] Fix doxygen warning commenting missing parameters --- modules/gui/src/pointcloud/vpDisplayPCL.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/gui/src/pointcloud/vpDisplayPCL.cpp b/modules/gui/src/pointcloud/vpDisplayPCL.cpp index e942990332..ac6b4b533d 100644 --- a/modules/gui/src/pointcloud/vpDisplayPCL.cpp +++ b/modules/gui/src/pointcloud/vpDisplayPCL.cpp @@ -52,6 +52,9 @@ vpDisplayPCL::vpDisplayPCL(int posx, int posy, const std::string &window_name) * Constructor able to initialize the display window size. * \param[in] width : Point cloud viewer width. * \param[in] height : Point cloud viewer height. + * \param[in] posx : Position along X-axis. + * \param[in] posy : Position along Y-axis. + * \param[in] window_name : Window name. */ vpDisplayPCL::vpDisplayPCL(unsigned int width, unsigned int height, int posx, int posy, const std::string &window_name) : m_stop(false), m_verbose(false), m_width(width), m_height(height), m_posx(posx), m_posy(posy),