diff --git a/CMakeLists.txt b/CMakeLists.txt index 6366cd5..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) @@ -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 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 - - 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