Skip to content

How to run the visual pipeline in a disembodied manner

The visual pipeline can be run also without a physical robot, i.e. with a (disembodied) realsense camera . This tutorial will show you how to do it.

Warning

The visual pipeline relies on yarpOpenPose and actionRecognizer, which require an NVIDIA graphics card to be run.

First, you need to run yarpserver. You can open a terminal and type:

yarpserver

Connect the realsense to your laptop.

Seealso

If you have not done it, you will need to install it.

Warning

yarp has to be compiled with ENABLE_yarpmod_realsense2 ON.

Open yarpmanager, run the Assistive_Rehab_App and hit connect.

Note

All the modules that require a robot must not be run, i.e. faceDisplayServer, faceExpressionImage, attentionManager, cer_gaze-controller, interactionManager, ctpService, cer_reaching-solver and cer_reaching-controller.

Tip

You can customize the app by removing unnecessary modules and replacing the nodes in the xml with localhost. You can save the app in the folder $HOME/.local/share/yarp and exploit the shadowing mechanism. In this way, when you open yarpmanager, the app will be automatically loaded.

Once all the modules are running, you need to send commands to motionAnalyzer, in order to select the metric and the skeleton that you want to analyze. Therefore you can open a terminal and type:

yarp rpc /motionAnalyzer/cmd

loadMetric metric_tag
selectSkel skeleton_tag
start

where metric_tag and skeleton_tag are respectively the tag of the metric and the tag of the skeleton under analysis (for example ROM_0 and #0).

Tip

The available metrics can be listed using the command listMetrics.

When the command start is given to motionAnalyzer, the visual pipeline starts, i.e. the template skeleton is loaded and visualized on skeletonViewer, the extracted metric is visualized on yarpscope and the action recognition pipeline starts.

You should have the following situation:

disembodied-632a35ac

A verbal feedback is also provided throughout the experiment.

When you want to stop the pipeline, you need to send a stop command to motionAnalyzer, by typing stop in the previous terminal.