From 9748fce2dd4469b3097a935d86d2f15c88664cbf Mon Sep 17 00:00:00 2001 From: tkazik Date: Wed, 13 Jan 2021 18:18:25 +0100 Subject: [PATCH 1/4] Fix message_generation for noetic Build dependency instead of buildtool dependency (viconEstimator.msg was not built) --- package.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.xml b/package.xml index 323599f..073f664 100644 --- a/package.xml +++ b/package.xml @@ -17,9 +17,9 @@ catkin catkin_simple - message_generation + message_generation roscpp tf geometry_msgs From 64909cd741625bb0aa8d23ecc7729beed563e744 Mon Sep 17 00:00:00 2001 From: tkazik Date: Wed, 13 Jan 2021 18:21:34 +0100 Subject: [PATCH 2/4] Updated find_package for Eigen3 Avoids warning "The FindEigen.cmake Module in the cmake_modules package is deprecated." while building --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6366cd5..77f537a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,8 +6,8 @@ add_definitions(-std=c++11) find_package(catkin_simple REQUIRED) catkin_simple(ALL_DEPS_REQUIRED) -find_package(Eigen REQUIRED) -include_directories(${Eigen_INCLUDE_DIRS}) +find_package(Eigen3 REQUIRED) +include_directories(${Eigen_INCLUDE_DIR}) cs_add_library(vicon_estimator src/library/vicon_estimator.cpp From 1c73c2a5772736a6a4d921c33f0a5143cac61327 Mon Sep 17 00:00:00 2001 From: tkazik Date: Wed, 13 Jan 2021 18:25:10 +0100 Subject: [PATCH 3/4] Increase cmake minimum required version This avoids warning ("Policy CMP0048 is not set") --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 77f537a..e9b9dd7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.0) +cmake_minimum_required(VERSION 3.10) project(ros_vrpn_client) add_definitions(-std=c++11) From c377e9ce6283ce243d14db090bedcf6152d460be Mon Sep 17 00:00:00 2001 From: tkazik Date: Fri, 15 Jan 2021 10:41:00 +0100 Subject: [PATCH 4/4] Updated README Added build status, replaced dead UNC-url & editorial changes --- README.md | 51 +++++++++++++++++++++------------------------------ 1 file changed, 21 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 55cf723..bad9c4d 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,37 @@ -ros_vrpn_client -=============== +# ros_vrpn_client -Ros interface for http://www.cs.unc.edu/Research/vrpn/ +[![Build Status](https://jenkins.asl.ethz.ch/buildStatus/icon?job=ros_vrpn_client)](https://jenkins.asl.ethz.ch/job/ros_vrpn_client/) -Dependencies -------------------- -vrpn_catkin package from: https://github.com/ethz-asl/vrpn_catkin +This is a ROS interface for VRPN ("Virtual-Reality Peripheral Network"). More info about VRPN can be found in their original [publication](https://dl.acm.org/doi/10.1145/505008.505019) and on their [github](https://github.com/vrpn/vrpn). +## Installation + +For both Ubuntu and macOS: + +1. build [vrpn_catkin](https://github.com/ethz-asl/vrpn_catkin) package (catkinized version of [VRPN](https://github.com/vrpn/vrpn)) +2. build this package + +## Usage -Usage ------------------ You have to start a ROS node per tracked object and the ROS node name has to be the name of the trackable object. - rosrun ros_vrpn_client ros_vrpn_client _object_name:=object_name _vrpn_server_ip:=192.168.1.1 +`rosrun ros_vrpn_client ros_vrpn_client _object_name:=object_name _vrpn_server_ip:=192.168.1.1` Or in a launch file: + ```XML - - - + + + ``` -Installation HowTo -=============== -Installation Ubuntu -------------------- -A catkinized version of VRPN can be found here: https://github.com/ethz-asl/vrpn_catkin -For further information about VRPN, please consult their website: -https://github.com/vrpn/vrpn +## Info about coord frames -Installation OS X ------------------ -Use the catkinized package above. - -TF coord frames ----------------- +### TF coord frames 1. /optitrak - world frame that we will use. @@ -52,8 +45,8 @@ TF coord frames software (Trackable properties) aligns the object coord frame with the /optitrak frame. -Coord frames vodoo ------------------- +### Coord frames vodoo + The TrackingTools software outputs the position and orientation in a funky coord frame which has the Y axis pointing vertically up, the X axis along the x axis of the calibration square and Z axis along the @@ -63,5 +56,3 @@ We perform some rotations to get rid of this funky frame and use the /optitrak frame described above as our fixed world coord frame. The code is in the "VRPN_CALLBACK track_target" function in ros_vrpn_client.cpp - -