Giter Site home page Giter Site logo

mocap_optitrack's People

Contributors

321thijs123 avatar abencz avatar felixduvallet avatar limhyon avatar mikepurvis avatar rgariepy avatar tonnesfn avatar tonybaltovski avatar yamokosk avatar yannickdehoop avatar ziyangli avatar

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  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

mocap_optitrack's Issues

Incorrect timestamp

The timestamp added to the published messages is the time of publishing, not the time optitrack determined the pose.

Multiple rigid bodies problem

When using multiple rigid bodies, it has a problem.

Solution:
In the function void MoCapDataFormat::parse() of file mocap_datapackets.cpp.
Add seek(2) after line154:
seek(sizeof(float));
seek(2);

No timestamp when using mocap_optitrack

I use mocap_optitrack to get data from Motive to ROS. I implemented the complete software pipeline for my PX4 uav. I get mocap timeout and xy timeout error. I figured out locap position estimator in px4 requires difference between 2 timestamps to be less than 0.2s.

I get timestamps in my topic published through mocap_optitrack. But I dot get it why I get mocap timeout error. What am I missing. Any ideas?

How can I use the ROS2 port with Dashing?

Hello, I would like to use mocap_optitrack on ROS2 dashing. I downloaded and compiled the crystal-devel version. However, I am having some issues, I think it is something related to parameters.
The node can not read the parameters correctly and it can not load the ID's of the rigid body.

Is there any change I can make to use this package on Dashing, or is there any other package to use read from optitrack net on ROS2?

Thank you so much for your help in advance.

No Wiki and Little Documentation Elsewhere

I thought it would be a nice idea to set up a few Wiki pages or write an in-depth README for people trying to use this software with ROS. While some information is available online, it seems like there is not a single good reference to point to.

Some common topics could include:

  • How to properly set up Motive

  • How to set everything up for the first time

  • Recommended hardware

  • Comparisons between this library and the vrpn_client_ros library

  • How to build from source

  • Different types of set ups that are known to work and how to get them working (i.e single computer running Windows with a VM running ROS, 2 computers communicating over the same network used by the Optitrack system, 2 computers communicating over a network not dedicated to the Optitrack system, etc.)

I am still trying to figure out how to get everything up and running, but I would be happy to contribute to some documentation as I learn how to properly use this system.

Thanks!

wrong namespace for dynamic params

Hi,

There is a mistake in the dynamic parameters namespace comparing to the same parameters that in the Yaml file.
See merge request #66

Thanks,
Jad

getting position of single markers

Is it possible to use this package to get the position (no orientation) of single markers that are not part of a rigid body? What do I need to change to achieve that?
Cheers!

Cannot Stream Data / Motive 3.0.0 / ROS Noetic

I am trying to stream data into ROS Noetic [Ubuntu 20.04 on Dell XPS] via Motive 3.0.0 [Windows 10 on a Dell System].

Here are my Motive settings. The Local Interface is set to the Motive system's IPv4-
motive

Config on the ROS end is as follows-

rigid_bodies:
    '1':
        pose: Robot_1/pose
        pose2d: Robot_1/ground_pose
        odom: Robot_1/Odom
        tf: tf
        child_frame_id: Robot_1/base_link
        parent_frame_id: world
optitrack_config:
        multicast_address: 239.255.42.99
        command_port: 1510
        data_port: 1511
        enable_optitrack: true

When I run roslaunch mocap_optitrack mocap.launch & rosrun rviz rviz, here are my logs:

[2] 94648
[ INFO] [1654133406.946243021]: rviz version 1.14.14
[ INFO] [1654133406.946390637]: compiled against Qt version 5.12.8
[ INFO] [1654133406.946399913]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1654133406.951958820]: Forcing OpenGl version 0.
... logging to /home/gsethi2409/.ros/log/2f08d2ae-e212-11ec-8a56-abda5e723894/roslaunch-gsethi2409-94648.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://gsethi2409:42521/

SUMMARY
========

PARAMETERS
 * /mocap_node/optitrack_config/command_port: 1510
 * /mocap_node/optitrack_config/data_port: 1511
 * /mocap_node/optitrack_config/enable_optitrack: True
 * /mocap_node/optitrack_config/multicast_address: 239.255.42.99
 * /mocap_node/rigid_bodies/1/child_frame_id: Robot_1/base_link
 * /mocap_node/rigid_bodies/1/odom: Robot_1/Odom
 * /mocap_node/rigid_bodies/1/parent_frame_id: world
 * /mocap_node/rigid_bodies/1/pose2d: Robot_1/ground_pose
 * /mocap_node/rigid_bodies/1/pose: Robot_1/pose
 * /mocap_node/rigid_bodies/1/tf: tf
 * /rosdistro: noetic
 * /rosversion: 1.15.14

NODES
  /
    mocap_node (mocap_optitrack/mocap_node)

ROS_MASTER_URI=http://localhost:11311

[ INFO] [1654133407.262699054]: Stereo is NOT SUPPORTED
[ INFO] [1654133407.262763183]: OpenGL device: NVIDIA GeForce RTX 3050 Ti Laptop GPU/PCIe/SSE2
[ INFO] [1654133407.262775517]: OpenGl version: 4.6 (GLSL 4.6).
process[mocap_node-1]: started with pid [94716]
[ WARN] [1654133407.295136451]: Could not get server version, using auto

And rostopic list gives me:

rostopic list
/mocap_node/optitrack_config/parameter_descriptions
/mocap_node/optitrack_config/parameter_updates
/rosout
/rosout_agg

I have been stuck on this for a really long time. I cannot seem to figure out the issue here! Is this a compatibility issue? Please help!

No server info request, parsing data message aborted

Hello,

I tried to build this package and connect with it Motive 1.7.2 (64-bit) in the laboratory and the ROS 2 Galactic node.
I got this output (the same was in the log files).

ros2@mrlab-server:~/mocap_ws$ ros2 launch mocap_optitrack mocap.launch.py 
[INFO] [launch]: All log files can be found below /home/ros2/.ros/log/2022-07-14-16-49-35-680168-mrlab-server-126848
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [mocap_node-1]: process started with pid [126850]
[mocap_node-1] [WARN] [1657810175.838541182] [mocap_node]: Could not get server version, using auto
[mocap_node-1] [INFO] [1657810175.838652649] [mocap_node]: Creating socket...
[mocap_node-1] [INFO] [1657810175.838673028] [mocap_node]: Setting socket options...
[mocap_node-1] [INFO] [1657810175.838683314] [mocap_node]: Local address: 0.0.0.0:1511
[mocap_node-1] [INFO] [1657810175.838690114] [mocap_node]: Binding socket to local address...
[mocap_node-1] [INFO] [1657810175.838698600] [mocap_node]: Joining multicast group 239.255.42.99...
[mocap_node-1] [INFO] [1657810175.838708537] [mocap_node]: Enabling non-blocking I/O
[mocap_node-1] [WARN] [1657810175.840185207] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [INFO] [1657810175.840958283] [mocap_node]: NATNet Version : 2.7.0.0
[mocap_node-1] [INFO] [1657810175.840974728] [mocap_node]: Server Version : 1.72.0.0
[mocap_node-1] [INFO] [1657810175.843955295] [mocap_node]: Initialization complete
[ERROR] [mocap_node-1]: process has died [pid 126850, exit code -11, cmd '/home/ros2/mocap_ws/install/mocap_optitrack/lib/mocap_optitrack/mocap_node --ros-args -r __node:=mocap_node --params-file /home/ros2/mocap_ws/install/mocap_optitrack/share/mocap_optitrack/config/mocap.yaml'].

The ROS 2 Galactic PC - IP: 192.168.5.100

The Windows PC with Motive 1.7.2: IP: 192.168.5.40, Motive had Multicast address: 192.168.5.100 (as per instructions - IP of PC with the ROS mocap_optitrack node), then I checked it with 239.255.42.99 too (per this comment) - I got the same error twice there.

The

mocap.yaml:

mocap_node:
    ros__parameters:
        rigid_bodies:
            1:
                pose: "Robot_1/pose"
                pose2d: "Robot_1/ground_pose"
                child_frame_id: "Robot_1/base_link"
                parent_frame_id: "world"
            2:
                pose: "Robot_2/pose"
                pose2d: "Robot_2/ground_pose"
                child_frame_id: "Robot_2/base_link"
                parent_frame_id: "world"
            3:
                pose: "Robot_3/pose"
                pose2d: "Robot_3/ground_pose"
                child_frame_id: "Robot_3/base_link"
                parent_frame_id: "world"
            4:
                pose: "Robot_4/pose"
                pose2d: "Robot_4/ground_pose"
                child_frame_id: "Robot_4/base_link"
                parent_frame_id: "world"
            5:
                pose: "Robot_5/pose"
                pose2d: "Robot_5/ground_pose"
                child_frame_id: "Robot_5/base_link"
                parent_frame_id: "world"
        optitrack_config:
            multicast_address: "239.255.42.99"
            command_port: 1510
            data_port: 1511

How can I fix this?

In the installed components I have:

NatNet Streaming Module (v. 2.7.0.0)

Perhaps this is the culprit?

Debian releases

Hi,
Is it possible to make a debian release for melodic and neotic ?

mocap optitrack integration with mavros

Hello, I tired to integrate the mocap_optitrack node to recieve from the system with mavros (https://github.com/mavlink/mavlink) in order to send data to the robot (IRIS quadcopter). I realized looking at the flight plots that the vision data are delayed by 0.7 seconds respect to data estimated onboard. This phenomenon is not happening with a program written in qt in order to send and recieve.

I integrated the sending Qt part in ros eliminating mavros and keeping mocap_optitrack to recieve, still same problem.
Is it something related to publishing frequency of mocap_optitrack or maybe buffers senting copies of the same data? Any help is welcome.

[mocap_node]: Parameter qos_overrides./tf.publisher.durability not dynamically reconfigurable

I'm trying to run the mocap node on ROS2 but getting some errors. I am sure i=I set the multicast interface correctly as it is explained in the documentation.

After I run: ros2 launch mocap_optitrack mocap.launch.py

I get:

INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [mocap_node-1]: process started with pid [11878]
[mocap_node-1] [WARN] [1717777968.194312755] [mocap_node]: Could not get server version, using auto
[mocap_node-1] [INFO] [1717777968.194413776] [mocap_node]: Creating socket...
[mocap_node-1] [INFO] [1717777968.194424415] [mocap_node]: Setting socket options...
[mocap_node-1] [INFO] [1717777968.194429009] [mocap_node]: Local address: 0.0.0.0:1511
[mocap_node-1] [INFO] [1717777968.194432270] [mocap_node]: Binding socket to local address...
[mocap_node-1] [INFO] [1717777968.194437284] [mocap_node]: Joining multicast group 239.255.42.99...
[mocap_node-1] [INFO] [1717777968.194447382] [mocap_node]: Enabling non-blocking I/O
[mocap_node-1] [WARN] [1717777969.195010955] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.195251833] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.195407340] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.195556878] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.195705593] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.195853863] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.196002788] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.196150859] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.196299455] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.196447798] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.196597382] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.196745698] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.196892946] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.197041073] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.197191273] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.197527525] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.197766967] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.197921254] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.198069933] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.198216390] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.198361730] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.198509655] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.198654677] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.198800398] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.198945680] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.199091072] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.199236012] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.199381085] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.199526669] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.199672148] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.199904054] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.200137772] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.200293860] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.200441949] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.200589793] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.200736876] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.200885056] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.201032054] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.201177502] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.201283027] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.201429323] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.201574722] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777969.201720446] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777970.202213602] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777970.202511308] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777970.202684935] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777970.202853099] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [WARN] [1717777970.203020055] [mocap_node]: Client has not received server info request. Parsing data message aborted.
[mocap_node-1] [INFO] [1717777970.203206098] [mocap_node]: NATNet Version : 3.1.0.0
[mocap_node-1] [INFO] [1717777970.203219067] [mocap_node]: Server Version : 2.2.0.0
[mocap_node-1] [INFO] [1717777970.203508031] [mocap_node]: Got parameter: '{qos_overrides./tf.publisher.durability, volatile}'
[mocap_node-1] [WARN] [1717777970.203526338] [mocap_node]: Parameter qos_overrides./tf.publisher.durability not dynamically reconfigurable
[mocap_node-1] terminate called after throwing an instance of 'rclcpp::exceptions::InvalidParameterValueException'
[mocap_node-1] what(): parameter 'qos_overrides./tf.publisher.durability' could not be set: Parameter is not dynamic reconfigurable
[ERROR] [mocap_node-1]: process has died [pid 11878, exit code -6, cmd '/home/bera/ros2_ws/install/mocap_optitrack/lib/mocap_optitrack/mocap_node --ros-args -r __node:=mocap_node --params-file /home/bera/ros2_ws/install/mocap_optitrack/share/mocap_optitrack/config/mocap.yaml']

I would really appreciate it if someone could help me with this

Update to ROS2 Humble

Hello,

Are there plans to port it to the new LTS version of ROS2, ROS 2 Humble?

Best,
Łukasz Janiec

Full NatNet support with Timestamps

I'm not sure that this is the right place to do this, but I didn't know where else to start this. I am interested in getting the timestamp information from the NatNet Packets and republishing it over ROS. It looks as though it would be straight forward to pull the timestamp out the packet, but I wasn't sure what the best way would be to republish that time. I would be willing to code this up, but I thought I would ask how it should be done before I start.

Thanks

Coordinate frame for Motive 1.10.0

Motive 1.10.0 has two options for coordinate frame - Y up and Z up. Which one to use with mocap_optitrack node?

And how to verify if the coordinate frames for Motive, mocap_optitrack, pixhawk are all configured correctly?

Mocap_node not publishing topics

After launching the exact same code as displayed here (same mocap.yaml and mocap.launch at least) my /mocap_node only displays /rosout as topic when I enter rosnode info /mocap_node. I have tried this on other laptops with the same code (we're not able to find a (syntax) error) and it works perfectly. Is there anyone here who is experienced with mocap streaming errors and would be willing to help out?

track multiple rigid bodies

@tonybaltovski Could you please guide on how to track multiple rigid bodies using mocap_optitrack.
It works fine with a single body but when tracking two, i get the following output on terminal
mocap
I am using motive 1.10.1 and I also found this online(it doesn't work as well)multiple_rigid_bodies
Any help would be appreciated

Skeleton tracking ?

Does this node publish skeleton data ? I have a person being tracked in Motive(skeleton tracking).
Do you know if any other ROS driver/node that I can use for receiving skeleton data from Motive?
I have Kinetic ROS on Ubuntu 16.04
Thanks

Connection issues between ROS Melodic and Optitrack Streaming Engine

I can't retrieve the pose of a 3D object in ROS . I have 2 computers, one with Windows 10 and one with Ubuntu 18.

The Windows PC has Motive: Tracker 2.2.0 with the following settings in Optitrack Streaming Engine:

  1. Bradcase Frame Data: On
  2. Local Interface: the computer's IP, not loopback
  3. Rigid Bodies: On
  4. Transmission Type: Multicast
  5. Command Port: 1510
  6. Data Port: 1511
  7. Multicast Interface: 239.255.42.99

The Linux PC has ROS Melodic and with following installation steps:
cd ~/catkin_ws/src
git clone https://github.com/ros-drivers/mocap_optitrack.git
cd ..
catkin build

The project was built with the below modifications:

  1. Command Port: 1510
  2. Data Port: 1511
  3. Multicast Interface: 239.255.42.99

I run the following command :
roslaunch mocap_optitrack mocap.launch

and get the below:

roslaunch mocap_optitrack mocap.launch
... logging to /home/george/.ros/log/0bbc8108-88c0-11eb-a872-000c2978f07e/roslaunch-ubuntu-69992.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://ubuntu:38971/

SUMMARY

PARAMETERS

  • /mocap_node/optitrack_config/command_port: 1510
  • /mocap_node/optitrack_config/data_port: 1511
  • /mocap_node/optitrack_config/enable_optitrack: True
  • /mocap_node/optitrack_config/multicast_address: 239.255.42.99
  • /mocap_node/rigid_bodies/1/child_frame_id: Robot_1/base_link
  • /mocap_node/rigid_bodies/1/odom: Robot_1/Odom
  • /mocap_node/rigid_bodies/1/parent_frame_id: world
  • /mocap_node/rigid_bodies/1/pose2d: Robot_1/ground_pose
  • /mocap_node/rigid_bodies/1/pose: Robot_1/pose
  • /mocap_node/rigid_bodies/1/tf: tf
  • /mocap_node/rigid_bodies/2/child_frame_id: Robot_2/base_link
  • /mocap_node/rigid_bodies/2/odom: Robot_2/Odom
  • /mocap_node/rigid_bodies/2/parent_frame_id: world
  • /mocap_node/rigid_bodies/2/pose2d: Robot_2/ground_pose
  • /mocap_node/rigid_bodies/2/pose: Robot_2/pose
  • /mocap_node/rigid_bodies/2/tf: tf
  • /rosdistro: melodic
  • /rosversion: 1.14.10

NODES
/
mocap_node (mocap_optitrack/mocap_node)

auto-starting new master
process[master]: started with pid [70002]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 0bbc8108-88c0-11eb-a872-000c2978f07e
process[rosout-1]: started with pid [70013]
started core service [/rosout]
process[mocap_node-2]: started with pid [70020]
[ WARN] [1616164398.362593479]: Could not get server version, using auto

Failed to set socket option: EINVAL

Hello! I want use this package.

I have a windows pc with Motive 1.10 and ubuntu pc with ROS kinetic.

I used git clone the https://github.com/ros-drivers/mocap_optitrack repository in my catkin workspace , then I compile my wokspace usin catkin_make.

I modified the config.yaml file, I change the Rigid body name and multicast adress.

I run launch file: roslaunch mocap_optitrack mocap.launch

But I am getting a error.

Do I have to use other optitrack motive version? I am using motive 1.10
What ip adress do I have to use? I am using a windows pc and ubuntu pc with connected via LAN. so, Do I have to use windows ip adress or ubuntu ip adress?

Regards!!

Updating for New ROS Builds

Would it be possible to add this to the new ROS builds so that people do not have to build it from source?

Thanks for all your hard work!

Motive 3.1.0 / NatNet 4.1.0.0 Compatibility

Hi there,

It appears to me that this driver is not compatible with the current version of Motive 3.1.0 using NatNet 4.1.

Is my guess correct? will NatNet 4.1 compatibility be added anytime soon? and what is the best course of action for people that do not have a Motive 2.X license (Natnet 3.X)?

Here below is a log of the deserialize call showing junk data being read, while there should only be 1 rigid body:

[ INFO] [1699878293.324722900]: === BEGIN DATA FRAME ===
[ INFO] [1699878293.324848700]: Frame number: 1244119
[ INFO] [1699878293.324936400]: *** MARKER SETS ***
[ INFO] [1699878293.325069100]: Marker set count: 0
[ INFO] [1699878293.325152600]: *** UNLABELED MARKERS (Deprecated) ***
[ INFO] [1699878293.325242700]: Unlabled marker count: 0
[ INFO] [1699878293.325325500]: *** RIGID BODIES ***
[ INFO] [1699878293.325405300]: Rigid count: 0
[ INFO] [1699878293.325492400]: *** SKELETONS ***
[ INFO] [1699878293.325611300]: Skeleton count: 0
[ INFO] [1699878293.325694500]: *** LABELED MARKERS ***
[ INFO] [1699878293.325787100]: Labeled marker count: 1
[ INFO] [1699878293.325872600]:   MarkerID: 0, ModelID: 0
[ INFO] [1699878293.325955900]:     Pos: [0.00,0.12,0.30]
[ INFO] [1699878293.326036300]:     Size: 0.24
[ INFO] [1699878293.326119400]:     Residual:  0.00
[ INFO] [1699878293.326201600]: *** FORCE PLATES ***
[ INFO] [1699878293.326281800]: Force plate count: 588921634
[ INFO] [1699878293.326364700]: Force plate ID: -1255490099
[ INFO] [1699878293.326445400]:   Number of channels: -324124802
[ INFO] [1699878293.326532800]: Force plate ID: 80358
[ INFO] [1699878293.326612300]:   Number of channels: 0
[ INFO] [1699878293.326693200]: Force plate ID: 0
[ INFO] [1699878293.326773300]:   Number of channels: 0
[ INFO] [1699878293.326852500]: Force plate ID: 0
[ INFO] [1699878293.326932800]:   Number of channels: 0
[ INFO] [1699878293.327012800]: Force plate ID: 0
[ INFO] [1699878293.327091600]:   Number of channels: 0
[ INFO] [1699878293.327173600]: Force plate ID: 0
[ INFO] [1699878293.327252900]:   Number of channels: 0
[ INFO] [1699878293.327333000]: Force plate ID: 0
[ INFO] [1699878293.327412000]:   Number of channels: 0
[ INFO] [1699878293.327491300]: Force plate ID: 0
[ INFO] [1699878293.327570600]:   Number of channels: 1145324612
[ INFO] [1699878293.327653300]:     Channel 0:
[ INFO] [1699878293.327751900]:       Frame 0: 1439.10
[ INFO] [1699878293.327840400]:       Frame 1: 0.00
[ INFO] [1699878293.327923100]:       Frame 2: 1444.44
[ INFO] [1699878293.328018400]:       Frame 3: 0.00
[ INFO] [1699878293.328115500]:       Frame 4: 1445.10
[ INFO] [1699878293.328204000]:       Frame 5: 0.00
[ INFO] [1699878293.328292100]:       Frame 6: 0.00
[ INFO] [1699878293.328373800]:       Frame 7: 0.00
[ INFO] [1699878293.328471100]:       Frame 8: 0.00
[ INFO] [1699878293.328586400]:       Frame 9: 0.00
[ INFO] [1699878293.328713200]:       Frame 10: 0.00
[ INFO] [1699878293.328820200]:       Frame 11: 0.00
[ INFO] [1699878293.328956100]:       Frame 12: -66113130760175032991744.00
[ INFO] [1699878293.329061300]:       Frame 13: nan
[ INFO] [1699878293.329164200]:       Frame 14: -49517601571415210995964968960.00
[ INFO] [1699878293.329276800]:       Frame 15: nan
[ INFO] [1699878293.329384800]:       Frame 16: -1237940039285380274899124224.00
[ INFO] [1699878293.329536900]:       Frame 17: nan
[ INFO] [1699878293.329706200]:       Frame 18: -713053462628379038341895553024.00
[ INFO] [1699878293.329862500]:       Frame 19: nan
[ INFO] [1699878293.330018900]:       Frame 20: 0.00
[ INFO] [1699878293.330181100]:       Frame 21: nan
[ INFO] [1699878293.330325900]:       Frame 22: -604462909807314587353088.00
[ INFO] [1699878293.330409900]:       Frame 23: nan
[ INFO] [1699878293.330490800]:       Frame 24: 0.00
[ INFO] [1699878293.330570600]:       Frame 25: nan
[ INFO] [1699878293.330650700]:       Frame 26: 0.00
[ INFO] [1699878293.330731500]:       Frame 27: nan
[ INFO] [1699878293.330811500]:       Frame 28: 0.00

Motive Tracker 2 Compatibility issues

Hi

Just wanted to ask if anyone is working on the ros driver for Motive Tracker 2.
I have called the Optitrack support and they mentioned that they did some updates that might break compatibility.

Compatibility Notes
Important: Static linking is no longer supported. Projects that utilized NatNetStaticLib.lib will need to be updated to link dynamically instead.
SDK security update: Starting from 3.0, the NatNet library will strictly work with Motive only. Other server applications, including Arena and Tracking Tools, are no longer compatible.
Deprecated Connection Type Enum for clients. Clients now just need to invoke NatNetClient::Connect.
Removed fLatency metrics from the frame of mocap data.
Removed marker positions and corresponding property values from sRigidBodyData. They can now be obtained from sRigidBodyDescription.

Please let me know if anyone else is working on this.
Bests,

delay/lag in the data receiving

Hi,
When I rostopic echo the pose information, I noticed a lot of delay/lag in the data receiving. When I move the rigid body around, the rostopic echo data shows the change after 3-4 seconds.

Is this common? Is there any way I can reduce this lag?
Does this have do with the network? or because of it using multicast and not unicast?

Thank you

missing files

hello, i got this message once i tried to install this package.:

Could not find a package configuration file provided by "urdfdom_py" with
any of the following names:

urdfdom_pyConfig.cmake
urdfdom_py-config.cmake

is there a solution to this?

Optitrack and Crazyflie communication

Hi,

I am currently working on a project with in having a communication with mocap and crazyflie. I realized that when I was checking the quarternions on RVIZ, the quarternion for rotation in y plane is inverted is there any way I could change the parameter to make the y result inverted ( + / - ) sign. TIA =)

Warm Regards,
Xavier

Node failure when data streaming

The mocap node dies and exits when I begin to stream data to the IP that the node is running on. I do not have the same issue when I stream data to a device that is not running the current master but is a few commits behind master. But both devices running the current master have the same problem.
Here is the exit error that is thrown from one of the non-working devices:

================================================================================REQUIRED process [mocap_node-2] has died!
process has died [pid 9134, exit code -11, cmd /home/nick/catkin_ws/devel/lib/mocap_optitrack/mocap_node __name:=mocap_node __log:=/home/nick/.ros/log/844edfa6-c8b8-11e7-93e1-e4f89c290d01/mocap_node-2.log].
log file: /home/nick/.ros/log/844edfa6-c8b8-11e7-93e1-e4f89c290d01/mocap_node-2*.log
Initiating shutdown!
================================================================================

No data published upon setup

I have setup the system for Motive 2.0.1 optitrack with ROS kinetic. I am able to see the list of topics and nodes but I am not able to see any data getting published on the topics like pose and position. My multicast IP addresses are set to 124.0.0.1 in both, yaml file and Optitrack Multicast interface address. Could anyone point out where I might be going wrong? I am using the default configs in mocap.yaml file for the system as I do not know what parameters to set.

Subscriber Rate - data being published at a very low rate

I can see using rostopic Hz that the data is being published at ~40Hz on the topic, however, when I read the data from the subscriber, the callback function aren’t called as quickly. My queue size for subscriber is 1000 and I’ve already explored the tcpNoDelay() option

Improper quaternion transformation when swapping y & z axes

Lines 28-31 in mocap_datapackets.cpp incorrectly transform the quaternion. In order to swap the y & z axes, it should be something like this:

factor = sqrt(2)/2; //quaternion for swapping y & z axes is [w,x,y,z]=[sqrt(2)/2,sqrt(2)/2,0,0]

ros_pose.orientation.x = factor*(pose.orientation.x+pose.orientation.w);
ros_pose.orientation.y = factor*(pose.orientation.y-pose.orientation.z);
ros_pose.orientation.z = factor*(pose.orientation.z+pose.orientation.y);
ros_pose.orientation.w = factor*(pose.orientation.w-pose.orientation.x);

Optitrack orientation

Hi guys, I just like to know how do I create orientation.x * -1 , as I just require this orientation.x to be negative.

Getting mocap_optitrack to work with motive 1.9 and ros hydro

Hi,

I trying to get data steaming between motive 1.9 and ROS hydro working. I set the multicast interface to the IP of the computer with ROS on it and I keep getting the following error:

Joining multicast group 192.168.1.10...
terminate called after throwing an instance of 'SocketException'
what(): Failed to set socket option: EINVAL

do you know what could be causing this? I have tried this on both the master branch and the new-and-old-support branch

Thanks, Nick

Skeleton tracking ?

Does this node publish skeleton data ? I have a person being tracked in Motive(skeleton tracking).
Do you know if any other ROS driver/node that I can use for receiving skeleton data from Motive?
I have Kinetic ROS on Ubuntu 16.04
Thanks

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.