GithubHelp home page GithubHelp logo

jrl-umi3218 / directvisualservoing Goto Github PK

View Code? Open in Web Editor NEW
0.0 6.0 1.0 163 KB

repository to gather codes of Direct Visual Servoing

License: GNU General Public License v3.0

CMake 4.26% C++ 94.21% C 1.53%

directvisualservoing's Introduction

DirectVisualServoing

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 ...

Prerequisites to run these codes:

  • install cmake (version 3.16.3 tested)
  • install opencv (version 4.2.0 tested)
  • install ViSP (version 3.4.1 tested)
  • if using an IDS camera, install the IDS software suite (version 4.96.1 tested)
  • if using a Flir camera, install the Flir Spinnaker SDK (version 3.0.0.118 tested, FlyCapture is also possible for older operating systems)
  • if using an UR robot, install the ur_rtde library (https://gitlab.com/sdurobotics/ur_rtde, version 1.5.5 tested)
  • download test data from: 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 directory

Installation

  • create in the DirectVisualServoing directory a new directory named:

    • photometric-visual-servoing-build for photometric visual servoing
    • defocus-direct-visual-servoing-build for defocus-based direct visual servoing
  • use 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.):

    • in photometric-visual-servoing-build directory: cmake ../photometric-visual-servoing -DCMAKE_BUILD_TYPE=Release
    • in 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

Execution

Run the programs from the command line from the DirectVisualServoing directory, considering it includes the 2023_direct-visual-servoing-data directory, with arguments as:

  • for photometric visual servoing (purely simulated)
./photometric-visual-servoing-build/photometricVisualServoing \
		./2023_direct-visual-servoing-data/texture4simu/tsukubacenter.jpg \
		1000 \
		500 \
		5 \
		-5 \
		1
  • for defocus-based direct visual servoing
./defocus-direct-visual-servoing-build/defocusDirectVisualServoing \
		EEPROM \
		1000 \
		500 \
		5 \
		-5 \
		1

Command line arguments are in this order:

  • \param FileOrEEPROMkeyword if a filename: camera ini file or image file to texture a simulated environment / if EEPROM, loads the camera acquisition parameters from the camera EEPROM (put there from, e.g., ueyedemo or uEyeCockpit software)
  • \param metFac the factor to transform shiftX to meters
  • \param sceneDepth the positive depth of the scene at desired pose (in coherent units regarding metFac)
  • \param shiftX the signed lateral shift (in coherent units regarding metFac)
  • \param shiftZ the signed depth shift (in coherent units regarding metFac)
  • \param rotY the signed vertical rotation (in degrees)

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.

directvisualservoing's People

Contributors

guicarmis avatar

Watchers

Pierre Gergondet avatar  avatar Fumio KANEHIRO avatar Mitsuharu Morisawa avatar kheddar avatar  avatar

Forkers

guicarmis

directvisualservoing's Issues

derivate ViSP’s photometric VS to defocus-based and non-linear scale space-based

derivate ViSP’s photometric VS to (existing but slightly differently developed) defocus-based and non-linear scale space-based (actually nothing to do on the VS side 😉 just need to prepare the desired image so it might just be code copy-paste for me). Guillaume validates on JRL’s devices and Belinda validates on MIS’ devices.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.