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
ontodefine_system_variables.bat
and chooseautomatic mode
with the correct VS versionrun
define_platform.bat
and selectx64
run
define_windows_sdk.bat
and select one (there probably is only one, take the newest one)drag the folder
<Name_of_demo>/data
ontodefine_data_dir.bat
check the configuration with
show_system_variables.bat
copy
nng.dll
fromplugins\vr_cobotics\nng64\Release
toC:\Windows\system32\
in the folder
plugins/immersive_sorting
, dragvr_cobotics.pj
tobin\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 profiepress 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)
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
anddummy_cgv
nodes in two terminals. Both are in theccf
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