Joint work between CNRS-AIST JRL and UPJV MIS lab based on Inria/IRISA's ViSP
Authors: Guillaume Caron, Belinda Naamani, ...
Dates: from December 2022 to ...
ur_rtde
library (https://gitlab.com/sdurobotics/ur_rtde
, version 1.5.5 tested)http://mis.u-picardie.fr/~g-caron/data/2023_direct-visual-servoing-data.zip
and set its content in the 2023_direct-visual-servoing-data
directory, itself in the DirectVisualServoing
directorycreate in the DirectVisualServoing
directory a new directory named:
photometric-visual-servoing-build
for photometric visual servoingdefocus-direct-visual-servoing-build
for defocus-based direct visual servoinguse cmake (twice) to fill the build directory in, from command line (add -D USE_TX=True
to use Staubli robot classes, -D USE_UR=True
to use UR robot classes, -D USE_IDS=True
to use IDS camera classes, -D USE_FLIR=True
to use Flir camera classes. Note: for the moment only combinations of IDS+TX or FLIR+UR are possible.):
photometric-visual-servoing-build
directory: cmake ../photometric-visual-servoing -DCMAKE_BUILD_TYPE=Release
defocus-direct-visual-servoing-build
directory: cmake ../defocus-direct-visual-servoing -DCMAKE_BUILD_TYPE=Release -D USE_UR=True -D USE_FLIR=True
set the desired robot joint angles within the source code (temporary: check the angles on your robot):
j_init[0] = vpMath::rad(-98.72);
j_init[1] = vpMath::rad(-158.20);
j_init[2] = vpMath::rad(-99.87);
j_init[3] = vpMath::rad(-11.00);
j_init[4] = vpMath::rad(87.87);
j_init[5] = vpMath::rad(97.40);
open the project in *-build
or use the make
command in the latter directory to build the exe
file
Run the programs from the command line from the DirectVisualServoing
directory, considering it includes the 2023_direct-visual-servoing-data
directory, with arguments as:
./photometric-visual-servoing-build/photometricVisualServoing \
./2023_direct-visual-servoing-data/texture4simu/tsukubacenter.jpg \
1000 \
500 \
5 \
-5 \
1
./defocus-direct-visual-servoing-build/defocusDirectVisualServoing \
EEPROM \
1000 \
500 \
5 \
-5 \
1
Command line arguments are in this order:
The directory resultat
contains the outputs (desired, current and error images + desired and current poses along iterations + residuals + processing times)
In photometricVisualServoing.cpp
, defocusDirectVisualServoing.cpp
source files, uncomment #define WITH_*_ROBOT
, and #define WITH_*_CAMERA
to use a real robot, for the former, and a real camera, for the latter, and comment them to use a fully simulated run.