diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4789c8db78..6635e2b875 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -78,7 +78,7 @@ if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
endif()
-cmake_minimum_required(VERSION 3.5) # needs to be before project() for policy CMP0025
+cmake_minimum_required(VERSION 3.10) # needs to be before project() for policy CMP0025
# Detect if the toolchain is for Aldebaran naoqi
if(CMAKE_TOOLCHAIN_FILE AND I_AM_A_ROBOT)
diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
index 9005d98da6..2737090285 100644
--- a/apps/CMakeLists.txt
+++ b/apps/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(ViSP-apps)
diff --git a/apps/calibration/CMakeLists.txt b/apps/calibration/CMakeLists.txt
index f3dce0c0b1..952dacffee 100644
--- a/apps/calibration/CMakeLists.txt
+++ b/apps/calibration/CMakeLists.txt
@@ -1,6 +1,6 @@
project(apps-calibration)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
find_package(VISP REQUIRED visp_vision visp_io OPTIONAL_COMPONENTS visp_gui visp_robot visp_sensor)
diff --git a/cmake/VISPGenerateConfigScript.cmake b/cmake/VISPGenerateConfigScript.cmake
index 04489e5dce..ad3a4b944d 100644
--- a/cmake/VISPGenerateConfigScript.cmake
+++ b/cmake/VISPGenerateConfigScript.cmake
@@ -256,7 +256,7 @@ set(TARGET_LOCATION_${item} \"${item}${VISP_VERSION_MAJOR}${VISP_VERSION_MINOR}$
# =============================================================================
else() # DEFINED CMAKE_HELPER_SCRIPT
- cmake_minimum_required(VERSION 3.5)
+ cmake_minimum_required(VERSION 3.10)
include("${CMAKE_HELPER_SCRIPT}")
include("${VISP_SOURCE_DIR}/cmake/VISPUtils.cmake")
diff --git a/demo/CMakeLists.txt b/demo/CMakeLists.txt
index ed09ecfc80..e05c66fbc8 100644
--- a/demo/CMakeLists.txt
+++ b/demo/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(ViSP-demo)
diff --git a/demo/wireframe-simulator/CMakeLists.txt b/demo/wireframe-simulator/CMakeLists.txt
index 1744567e5e..e1e4384292 100644
--- a/demo/wireframe-simulator/CMakeLists.txt
+++ b/demo/wireframe-simulator/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(demo-wireframe-simulator)
diff --git a/doc/tutorial/bridge/matlab/tutorial-visp-matlab.dox b/doc/tutorial/bridge/matlab/tutorial-visp-matlab.dox
index 533ea4c73d..d62dbc583e 100644
--- a/doc/tutorial/bridge/matlab/tutorial-visp-matlab.dox
+++ b/doc/tutorial/bridge/matlab/tutorial-visp-matlab.dox
@@ -29,7 +29,7 @@ In order to build a source code that mix ViSP and MATLAB you should first create
find ViSP and MATLAB. In the following example we consider the case of the tutorial-matlab.cpp source file.
\code
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(visp-matlab)
diff --git a/doc/tutorial/developper/tutorial-add-new-dependency.dox b/doc/tutorial/developper/tutorial-add-new-dependency.dox
index 58fba970db..bde5860939 100644
--- a/doc/tutorial/developper/tutorial-add-new-dependency.dox
+++ b/doc/tutorial/developper/tutorial-add-new-dependency.dox
@@ -305,7 +305,7 @@ $ more CMakeLists.txt
\code
project(example-dummy)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
find_package(VISP REQUIRED visp_core visp_robot)
@@ -409,7 +409,7 @@ $ cd $VISP_WS/my-project
$ more CMakeLists.txt
\endcode
\code
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-dummy)
diff --git a/doc/tutorial/rendering/tutorial-panda3d.dox b/doc/tutorial/rendering/tutorial-panda3d.dox
index 187031498a..ce2e939217 100644
--- a/doc/tutorial/rendering/tutorial-panda3d.dox
+++ b/doc/tutorial/rendering/tutorial-panda3d.dox
@@ -34,6 +34,7 @@ vpPanda3DBaseRenderer, which implements basic functions for a panda renderer.
- Hereafter you will find the instructions to build and install Panda3D from source on Ubuntu 22.04
\code{.sh}
+ $ sudo apt install python3-pip
$ mkdir -p $VISP_WS/3rdparty/panda3d
$ cd $VISP_WS/3rdparty/panda3d
$ git clone https://github.com/panda3d/panda3d
diff --git a/doc/tutorial/started/tutorial-getting-started.dox b/doc/tutorial/started/tutorial-getting-started.dox
index 023ef4c227..2bdc0d94ee 100644
--- a/doc/tutorial/started/tutorial-getting-started.dox
+++ b/doc/tutorial/started/tutorial-getting-started.dox
@@ -228,7 +228,7 @@ example. A minimalistic `CMakeLists.txt` should contain the following lines.
Open your editor and copy/paste the following lines in `VISP_WS/started/CMakeLists.txt` file.
\code
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(tutorial-image)
@@ -248,7 +248,7 @@ The `find_package()` CMake command searches for a `VISPConfig.cmake` file that w
Note that the previous `CMakeLists.txt` file can also be:
\code
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(tutorial-image)
diff --git a/doc/tutorial/supported-third-parties/supported-third-parties.dox b/doc/tutorial/supported-third-parties/supported-third-parties.dox
index eb05985efb..be7fa1c1f4 100644
--- a/doc/tutorial/supported-third-parties/supported-third-parties.dox
+++ b/doc/tutorial/supported-third-parties/supported-third-parties.dox
@@ -115,6 +115,34 @@ $ sudo apt-get install libpng-dev
$ su -c "yum install libpng-devel"
\endverbatim
+\section soft_ar 3D Rendering and Augmented Reality
+
+These are the optional 3rd-parties supported by ViSP in \ref module_ar for 3D Rendering and Augmented Reality.
+
+\subsection soft_ar_Ogre3D Ogre3D
+
+- Ubuntu or debian installation since Ubuntu 24.04
+\code{.sh}
+$ sudo apt-get install libogre-1.12-dev libois-dev
+\endcode
+- Ubuntu or debian installation for Ubuntu 22.04 or before
+\code{.sh}
+$ sudo apt-get install libogre-1.9-dev libois-dev
+\endcode
+- Fedora or RedHat installation
+\code{.sh}
+$ su -c "yum install ogre-devel ogre-samples ois-devel"
+\endcode
+
+\subsection soft_ar_Panda3D Panda3D
+
+Panda3D installation instructions are provided in \ref tutorial-panda3d.
+- \ref tutorial-panda3d-install-ubuntu
+
+- \ref tutorial-panda3d-install-macos
+
+- \ref tutorial-panda3d-install-windows
+
\section soft_robot Robot Control
The following optional third-parties are used in \ref module_robot to enable the robot arms usage supported by ViSP.
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
index 5e53d521a9..0e3bc34df3 100644
--- a/example/CMakeLists.txt
+++ b/example/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(ViSP-examples)
diff --git a/example/calibration/CMakeLists.txt b/example/calibration/CMakeLists.txt
index 13e257985e..5269a69ac4 100644
--- a/example/calibration/CMakeLists.txt
+++ b/example/calibration/CMakeLists.txt
@@ -35,7 +35,7 @@
project(example-calibration)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
find_package(VISP REQUIRED visp_core visp_vision visp_gui visp_io)
diff --git a/example/coin-simulator/CMakeLists.txt b/example/coin-simulator/CMakeLists.txt
index 09e3202b93..efce508197 100644
--- a/example/coin-simulator/CMakeLists.txt
+++ b/example/coin-simulator/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-coin-simulator)
diff --git a/example/device/display/CMakeLists.txt b/example/device/display/CMakeLists.txt
index a0e447a69d..1d8cbc60fc 100644
--- a/example/device/display/CMakeLists.txt
+++ b/example/device/display/CMakeLists.txt
@@ -35,7 +35,7 @@
project(example-device-display)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
find_package(VISP REQUIRED visp_core visp_gui visp_io)
diff --git a/example/device/framegrabber/CMakeLists.txt b/example/device/framegrabber/CMakeLists.txt
index 49f1f039e5..ac80e54b4e 100644
--- a/example/device/framegrabber/CMakeLists.txt
+++ b/example/device/framegrabber/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-device-framegrabber)
diff --git a/example/device/kinect/CMakeLists.txt b/example/device/kinect/CMakeLists.txt
index f3e0b1ca70..93cb732b28 100644
--- a/example/device/kinect/CMakeLists.txt
+++ b/example/device/kinect/CMakeLists.txt
@@ -35,7 +35,7 @@
project(example-device-kinect)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
find_package(VISP REQUIRED visp_core visp_sensor visp_gui)
diff --git a/example/device/laserscanner/CMakeLists.txt b/example/device/laserscanner/CMakeLists.txt
index 27db5c1d4d..47eb6205fd 100644
--- a/example/device/laserscanner/CMakeLists.txt
+++ b/example/device/laserscanner/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-device-laserscanner)
diff --git a/example/device/light/CMakeLists.txt b/example/device/light/CMakeLists.txt
index adc44f3adb..71c88d6902 100644
--- a/example/device/light/CMakeLists.txt
+++ b/example/device/light/CMakeLists.txt
@@ -35,7 +35,7 @@
project(example-device-laserscanner)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
find_package(VISP REQUIRED visp_core visp_robot visp_io)
diff --git a/example/direct-visual-servoing/CMakeLists.txt b/example/direct-visual-servoing/CMakeLists.txt
index 868061c77c..806d868df3 100644
--- a/example/direct-visual-servoing/CMakeLists.txt
+++ b/example/direct-visual-servoing/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-direct-vvs)
diff --git a/example/homography/CMakeLists.txt b/example/homography/CMakeLists.txt
index 91e6e05c8e..8fa544b466 100644
--- a/example/homography/CMakeLists.txt
+++ b/example/homography/CMakeLists.txt
@@ -35,7 +35,7 @@
project(example-homography)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
find_package(VISP REQUIRED visp_core visp_vision visp_io)
diff --git a/example/image/CMakeLists.txt b/example/image/CMakeLists.txt
index 578b391ac3..7b1fa6a52c 100644
--- a/example/image/CMakeLists.txt
+++ b/example/image/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-image)
diff --git a/example/kalman/CMakeLists.txt b/example/kalman/CMakeLists.txt
index 103891f971..72a8f087b6 100644
--- a/example/kalman/CMakeLists.txt
+++ b/example/kalman/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-kalman)
diff --git a/example/manual/CMakeLists.txt b/example/manual/CMakeLists.txt
index f6aa07dc0b..20e18a669e 100644
--- a/example/manual/CMakeLists.txt
+++ b/example/manual/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-manual)
diff --git a/example/manual/geometric-features/CMakeLists.txt b/example/manual/geometric-features/CMakeLists.txt
index 6b8a0dec87..f21caf5667 100644
--- a/example/manual/geometric-features/CMakeLists.txt
+++ b/example/manual/geometric-features/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(GeometricFeatures)
@@ -8,4 +8,3 @@ if(VISP_FOUND)
endif()
add_executable(manGeometricFeatures manGeometricFeatures.cpp)
-
diff --git a/example/manual/hello-world/CMake/CMakeLists.txt b/example/manual/hello-world/CMake/CMakeLists.txt
index fb494a6148..336c570db5 100644
--- a/example/manual/hello-world/CMake/CMakeLists.txt
+++ b/example/manual/hello-world/CMake/CMakeLists.txt
@@ -1,6 +1,6 @@
project(HelloWorld)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
find_package(VISP REQUIRED)
if(VISP_FOUND)
diff --git a/example/manual/image-manipulation/CMakeLists.txt b/example/manual/image-manipulation/CMakeLists.txt
index f30596085f..3884e184d0 100644
--- a/example/manual/image-manipulation/CMakeLists.txt
+++ b/example/manual/image-manipulation/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(ImageManipulation)
@@ -12,4 +12,3 @@ add_executable(manGrab1394 manGrab1394.cpp)
add_executable(manGrabDirectShow manGrabDirectShow.cpp)
add_executable(manGrabDisk manGrabDisk.cpp)
add_executable(manGrabV4l2 manGrabV4l2.cpp)
-
diff --git a/example/manual/moments/CMakeLists.txt b/example/manual/moments/CMakeLists.txt
index d618b807de..71fdda43db 100644
--- a/example/manual/moments/CMakeLists.txt
+++ b/example/manual/moments/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(man-moment)
@@ -8,5 +8,3 @@ if(VISP_FOUND)
endif()
add_executable(manServoMomentsSimple manServoMomentsSimple.cpp)
-
-
diff --git a/example/manual/ogre/CMakeLists.txt b/example/manual/ogre/CMakeLists.txt
index d1f97d9811..915b84ae2f 100644
--- a/example/manual/ogre/CMakeLists.txt
+++ b/example/manual/ogre/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(OgreTutorial)
diff --git a/example/manual/simulation/CMakeLists.txt b/example/manual/simulation/CMakeLists.txt
index 24d09a2551..5dd3f5f615 100644
--- a/example/manual/simulation/CMakeLists.txt
+++ b/example/manual/simulation/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(ImageManipulation)
@@ -10,4 +10,3 @@ endif()
add_executable(manServo4PointsDisplay manServo4PointsDisplay.cpp)
add_executable(manSimu4Dots manSimu4Dots.cpp)
add_executable(manSimu4Points manSimu4Points.cpp)
-
diff --git a/example/math/CMakeLists.txt b/example/math/CMakeLists.txt
index fc150f27a7..4ba0a86ced 100644
--- a/example/math/CMakeLists.txt
+++ b/example/math/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-math)
diff --git a/example/moments/image/CMakeLists.txt b/example/moments/image/CMakeLists.txt
index 29f33b4078..795200f312 100644
--- a/example/moments/image/CMakeLists.txt
+++ b/example/moments/image/CMakeLists.txt
@@ -35,7 +35,7 @@
project(example-moments-image)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
find_package(VISP REQUIRED visp_core visp_vs visp_robot visp_gui)
diff --git a/example/moments/points/CMakeLists.txt b/example/moments/points/CMakeLists.txt
index 3130e99edc..4cd1d692ec 100644
--- a/example/moments/points/CMakeLists.txt
+++ b/example/moments/points/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-moments-points)
diff --git a/example/moments/polygon/CMakeLists.txt b/example/moments/polygon/CMakeLists.txt
index 5e36802fa6..d8940e4853 100644
--- a/example/moments/polygon/CMakeLists.txt
+++ b/example/moments/polygon/CMakeLists.txt
@@ -35,7 +35,7 @@
project(example-moments-polygon)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
find_package(VISP REQUIRED visp_core visp_vs visp_robot visp_gui)
diff --git a/example/ogre-simulator/CMakeLists.txt b/example/ogre-simulator/CMakeLists.txt
index d4e37fa461..7209cc76d4 100644
--- a/example/ogre-simulator/CMakeLists.txt
+++ b/example/ogre-simulator/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-ogre-simulator)
diff --git a/example/parse-argv/CMakeLists.txt b/example/parse-argv/CMakeLists.txt
index 2c28315bf0..51f51d60b8 100644
--- a/example/parse-argv/CMakeLists.txt
+++ b/example/parse-argv/CMakeLists.txt
@@ -35,7 +35,7 @@
project(example-parse-argv)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
find_package(VISP REQUIRED visp_core visp_io)
diff --git a/example/particle-filter/CMakeLists.txt b/example/particle-filter/CMakeLists.txt
index a888328ea1..9fcb2d9d1d 100644
--- a/example/particle-filter/CMakeLists.txt
+++ b/example/particle-filter/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-kalman)
diff --git a/example/pose-estimation/CMakeLists.txt b/example/pose-estimation/CMakeLists.txt
index faf47cef22..04789e535a 100644
--- a/example/pose-estimation/CMakeLists.txt
+++ b/example/pose-estimation/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-pose-estimation)
diff --git a/example/reflex-takktile/CMakeLists.txt b/example/reflex-takktile/CMakeLists.txt
index 505ea9a81e..62128e0c2d 100644
--- a/example/reflex-takktile/CMakeLists.txt
+++ b/example/reflex-takktile/CMakeLists.txt
@@ -35,7 +35,7 @@
project(example-reflex-takktile)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
if(CMAKE_SYSTEM_NAME MATCHES WindowsPhone OR CMAKE_SYSTEM_NAME MATCHES WindowsStore)
set(WINRT TRUE)
diff --git a/example/robot-simulator/afma6/CMakeLists.txt b/example/robot-simulator/afma6/CMakeLists.txt
index a9394ecf8d..14bc0ad498 100644
--- a/example/robot-simulator/afma6/CMakeLists.txt
+++ b/example/robot-simulator/afma6/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-robot-simulator-afma6)
diff --git a/example/robot-simulator/camera/CMakeLists.txt b/example/robot-simulator/camera/CMakeLists.txt
index f5182b886f..2986412d99 100644
--- a/example/robot-simulator/camera/CMakeLists.txt
+++ b/example/robot-simulator/camera/CMakeLists.txt
@@ -35,7 +35,7 @@
project(example-robot-simulator-camera)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
if(CMAKE_SYSTEM_NAME MATCHES WindowsPhone OR CMAKE_SYSTEM_NAME MATCHES WindowsStore)
set(WINRT TRUE)
diff --git a/example/robot-simulator/viper850/CMakeLists.txt b/example/robot-simulator/viper850/CMakeLists.txt
index 12b88ad0ca..f29a27327e 100644
--- a/example/robot-simulator/viper850/CMakeLists.txt
+++ b/example/robot-simulator/viper850/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-robot-simulator-viper850)
diff --git a/example/servo-afma4/CMakeLists.txt b/example/servo-afma4/CMakeLists.txt
index b001f434d0..0fb38fb468 100644
--- a/example/servo-afma4/CMakeLists.txt
+++ b/example/servo-afma4/CMakeLists.txt
@@ -35,7 +35,7 @@
project(example-servo-afma4)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
find_package(VISP REQUIRED visp_core visp_blob visp_vs visp_robot visp_sensor visp_gui)
diff --git a/example/servo-afma6/CMakeLists.txt b/example/servo-afma6/CMakeLists.txt
index ebab48577e..37039c6cf8 100644
--- a/example/servo-afma6/CMakeLists.txt
+++ b/example/servo-afma6/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-servo-afma6)
diff --git a/example/servo-bebop2/CMakeLists.txt b/example/servo-bebop2/CMakeLists.txt
index 82006c1f53..8b14461b13 100644
--- a/example/servo-bebop2/CMakeLists.txt
+++ b/example/servo-bebop2/CMakeLists.txt
@@ -35,7 +35,7 @@
project(example-servo-bebop2)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
find_package(VISP REQUIRED visp_core visp_vs visp_robot visp_gui visp_detection)
diff --git a/example/servo-biclops/CMakeLists.txt b/example/servo-biclops/CMakeLists.txt
index e3a22ceb6a..d4920983d2 100644
--- a/example/servo-biclops/CMakeLists.txt
+++ b/example/servo-biclops/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-servo-biclops)
diff --git a/example/servo-flir-ptu/CMakeLists.txt b/example/servo-flir-ptu/CMakeLists.txt
index 04b0a0db50..794091a393 100644
--- a/example/servo-flir-ptu/CMakeLists.txt
+++ b/example/servo-flir-ptu/CMakeLists.txt
@@ -35,7 +35,7 @@
project(example-servo-flir-ptu)
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
find_package(VISP REQUIRED visp_core visp_robot visp_sensor visp_vision visp_gui visp_vs visp_visual_features visp_detection)
diff --git a/example/servo-franka/CMakeLists.txt b/example/servo-franka/CMakeLists.txt
index 8c2d5ceebb..45b822ed4d 100644
--- a/example/servo-franka/CMakeLists.txt
+++ b/example/servo-franka/CMakeLists.txt
@@ -33,7 +33,7 @@
#
#############################################################################
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.10)
project(example-servo-franka)
diff --git a/example/servo-franka/frankaGripper.cpp b/example/servo-franka/frankaGripper.cpp
index 76a5c73938..5b98186c5f 100644
--- a/example/servo-franka/frankaGripper.cpp
+++ b/example/servo-franka/frankaGripper.cpp
@@ -1,7 +1,6 @@
-/****************************************************************************
- *
+/*
* ViSP, open source Visual Servoing Platform software.
- * Copyright (C) 2005 - 2023 by Inria. All rights reserved.
+ * Copyright (C) 2005 - 2024 by Inria. All rights reserved.
*
* This software is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -30,8 +29,7 @@
*
* Description:
* Franka robot tool.
- *
-*****************************************************************************/
+ */
/*!
\example frankaGripper.cpp
@@ -64,11 +62,14 @@ int main(int argc, char **argv)
std::string opt_robot_ip = "192.168.1.1";
double opt_grasping_width = 0.;
+ double opt_grasping_speed = 0.1;
+ double opt_grasping_force = 60;
GripperState_t opt_gripper_state = Gripper_None;
for (int i = 1; i < argc; i++) {
if (std::string(argv[i]) == "--ip" && i + 1 < argc) {
- opt_robot_ip = std::string(argv[i + 1]);
+ ++ i;
+ opt_robot_ip = std::string(argv[i]);
}
else if (std::string(argv[i]) == "--home") {
opt_gripper_state = Gripper_Home;
@@ -80,22 +81,79 @@ int main(int argc, char **argv)
opt_gripper_state = Gripper_Close;
}
else if (std::string(argv[i]) == "--grasp" && i + 1 < argc) {
+ ++ i;
opt_gripper_state = Gripper_Grasp;
- opt_grasping_width = std::atof(argv[i + 1]);
+ opt_grasping_width = std::atof(argv[i]);
+ }
+ else if (std::string(argv[i]) == "--grasp-speed" && i + 1 < argc) {
+ ++ i;
+ opt_grasping_speed = std::atof(argv[i]);
+ }
+ else if (std::string(argv[i]) == "--grasp-force" && i + 1 < argc) {
+ ++ i;
+ opt_grasping_force = std::atof(argv[i]);
}
else if (std::string(argv[i]) == "--test" && i + 1 < argc) {
+ ++ i;
opt_gripper_state = Gripper_Test;
- opt_grasping_width = std::atof(argv[i + 1]);
+ opt_grasping_width = std::atof(argv[i]);
}
else if (std::string(argv[i]) == "--help" || std::string(argv[i]) == "-h") {
- std::cout << "Control Panda gripper." << std::endl;
- std::cout << argv[0] << " [--ip ] [--home] [--open] [--close] [--grasp