Giter VIP home page Giter VIP logo

motion_capture_system's Introduction

ROS Driver for Motion Capture Systems

This package contains ROS drivers for two different motion capture systems,VICON And QUALISYS.

License

For the VICON driver, we use the offical SDK.

For the QUALISYS driver, we use the interface from Qualisys2Ros.

For the rest of the software, the license is Apache 2.0 wherever not specified.

Compiling

This is a catkin package. Make sure the package is on ROS_PACKAGE_PATH after cloning the package to your workspace. Drivers for different motion capture system can be independently compiled.

cd your_work_space
catkin_make --pkg mocap_{sys} --cmake-args -DCMAKE_BUILD_TYPE=Release

This will compile the drivers for {sys}

Example Usage

Common Parameters

server (string)

Address of the server of the motion capture system to be connected.

frame_rate (int, default: 100)

The frame rate of the motion capture system

max_accel (double, default: 10.0)

The max possible acceleration which serves to construct the noise parameters.

publish_tf (bool, default: false)

If set to true, tf msgs for the subjects are published.

fixed_frame_id (string, mocap)

The fixed frame ID of the tf msgs for each subject. Note that the child frame id is automatically set to the name of the subject.

model_list (vector<string>, default: [])

A vector of subjects of interest. Leave the vector empty if all subjects are to be tracked.

Published Topics

/{mocap_sys}/{subject_name}/odom (nav_msgs/Odometry)

Odometry message for each specified subject in model_list.

To be compatible with the name of the topics published of vicon_odom in vicon repo of KumarRobotics, you can uncomment the following line in the launch file: <remap from="{mocap_sys}/{subject_name}/odom" to="/{subject_name}/odom">

Node

roslaunch {mocap_sys} {sys}.launch

For example,

roslaunch mocap_vicon vicon.launch

FAQ

  1. Will the msgs be delayed if the driver is handling several subjects? The driver is multi-threaded. It uses different threads to process the msg from different subjects. So, emmmmm, don't worry =).

  2. How to calibrate the transformation between the subject frame (centered at the centroid of the markers) and the body frame of a robot? This functionality is not provided, since few people use that now. If you really want that, please consider vicon repo of KumarRobotics or vicon_bridge repo of ethz-asl.

Bug Report

Prefer to open an issue. You can also send an e-mail to [email protected].

OSX Support

You will need to compile ROS from source for OSX first. The vicon node is supported, but the qualisys node is not. There are no current plans to extend compatibility to OSX for the qualisys driver.

motion_capture_system's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

motion_capture_system's Issues

Lose track of subject

Hi,

Thanks for sharing! I am using your code to get the data from the qualisys mocap and many times I get the output "[ WARN] [1450178660.490998011]: Lose track of subject crazyflie" even though the mocap still outputs the correct values all the time, from what I can see. I was wondering if there was anything I could do regarding this issue?

Also, when setting up the parameters in qualisys.launch, I choose port "22223" but for some reason, it is displayed port 22222 when running the code as

"[ INFO] [1450179306.041624629]: Connecting to the Qualisys at: IP_ADDRESS:22222
QTM RT Interface connected
Version set to 1.7". If I try to change the value nh.param("server_base_port", base_port, 22222); in the QualisysDriver.cpp, to 22223 then I cannot connect to the mocap system.

Another question, is it that the default measurements are 6DOF with Euler angles?

I am running ROS Jade on Ubuntu 14.04 and I am using a crazyflie quadrotor.

Thanks for the help!

Qualisys node crash

When loading models in Qualisys while the node was running, the Qualisys node crashed with the error:

terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_M_construct null not valid

Use modern ways of enabling C++11 in CMakeLists.txt

Instead of setting CMAKE_CXX_FLAGS directly, we should use features in newer cmake versions for enabling C++11 support. See #11 for some discussion.

The only thing stopping this right now is support for Ubuntu 14.04 which has older version of cmake (v2.8.12), so this should be done after EOL for that Ubuntu release.

Compilation Error with Qualysis Driver

I updated from Ubuntu 16.04 to 18.04. Since my compiler is now gcc version 7.3.0, this error appears:

/home/james/Programming/ROS/main_ws/src/motion_capture_system/mocap_qualisys/include/mocap_qualisys/RTProtocol.cpp: In member function ‘bool CRTProtocol::GetState(CRTPacket::EEvent&, bool)’:
/home/james/Programming/ROS/main_ws/src/motion_capture_system/mocap_qualisys/include/mocap_qualisys/RTProtocol.cpp:458:54: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
                 if (ReceiveRTPacket(eType, false) == false)
                                                      ^~~~~

Apparently you can't compare pointers to integers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.