Immersive Sorting#

Location: ccf_immersive_sorting

The Immersive Sorting application aka “Cleaning Cobotics Demonstrator” is our first CCF based application and shows how to use all concepts that we’ve introduced with our first release and is already included in the CCF workspace.

Requirements

  • A system (ROS System) running ROS Noetic (in most cases Ubuntu 20.04). If a real robot is used, the system must have a real time capable kernel and must not be in a virtual environment.

  • A Franka Emika Panda robot with a firmware version >= v4. (optional, simulation can also be used)

  • A system (VR System) running MS Windows with a working setup of Steam VR (for test purposes, the VR part of the demo can also be replaced with a dummy controller).

Installation (ROS-part)

  • as a guest: git clone --recurse-submodules https://git-st.inf.tu-dresden.de/ceti/ros/ccf/ccf_immersive_sorting.git

  • as a project member with a registered ssh key: git clone --recurse-submodules git@git-st.inf.tu-dresden.de:ceti/ros/ccf/ccf_immersive_sorting.git

Installation (VR-part)

CGV Framework Installation

  • create a directory structure

<Name_of_demo>/
  - build/
  - projects/
  - data/
  • clone the project git clone --branch immersive_sorting https://github.com/lintianfang/ccf.git into <Name_of_demo>/projects/cgv

  • drag the <Name_of_demo>/build onto define_system_variables.bat and choose automatic mode with the correct VS version

  • run define_platform.bat and select x64

  • run define_windows_sdk.bat and select one (there probably is only one, take the newest one)

  • drag the folder <Name_of_demo>/data onto define_data_dir.bat

  • check the configuration with show_system_variables.bat

  • copy nng.dll from plugins\vr_cobotics\nng64\Release to C:\Windows\system32\

  • in the folder plugins/immersive_sorting, drag vr_cobotics.pj to bin\generate_makefiles.bat

  • waiting for generating makefiles, and then press any key to continue, the project should be open in Visual Studio automatically

    • if there is an error with “HRESULT_EFAIL”, the lines with “_ProjectFileVersion” have to be deleted

Compilation and Running

  • choose Release DLL as target profie

  • press f7 to build

  • Make sure Steam is running and you are logged in

  • press Ctrl+f5 to run

Calibration

Info: If the controllers point in the wrong direction, they have to be calibrated.

  • Connect both controllers

  • calibrate the position

    • place the controllers like in the photo (assuming the scene to be in the direction of the camera) https://https://md.inf.tu-dresden.de/uploads/upload_5f72122d8aab0d88abaab001029eac85.jpg

    • in the 3d view, double click at position of controller

    • press CTRL-SHIFT-1

    • now position should be okay

  • set the orientation

    • tab vr-interactor. Set VR Calibration -> tracking rotation

Running the Application

Dry-Running the Example (no VR, no robot, no gazebo simulation)

  • Checkout the project using git. Since the CMake build uses git submodules, do not remove the git information! It is not required to checkout the submodule manually, this is done using CMake.

  • Build the project.

  • Start ROS

    $ roscore
    
  • Start the dummy_cgv_controller and dummy_cgv nodes in two terminals. Both are in the ccf namespace.

    $ rosrun ccf dummy_cgv_controller
    

    Note that the dummy_cgv tries to connect to the dummy_cgv_controller, so as long as the latter is not running, warnings are logged.

    $ rosrun ccf dummy_cgv