ros-drivers / mocap_optitrack Goto Github PK
View Code? Open in Web Editor NEWROS nodes for working with the NaturalPoint Optitrack motion capture setup
ROS nodes for working with the NaturalPoint Optitrack motion capture setup
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.
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
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
Hi,
would you like to make an official release of the package ?
Thanks in advance.
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?
I was wondering if this would be released to the debs?
hi @tonybaltovski, Could you please make a release for ros foxy?
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
Good Day! it seems that i cannot install the package when following the instruction from http://wiki.ros.org/mocap_optitrack. The error that i get is E: Unable to locate package ros-fuerte-mocap-optitrack. Please help. Thanks!
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.
Hi,
currently Optitrack has updated to 3.1. Does it supports 3.1 now?
Thanks
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
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-
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!
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
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!
================================================================================
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
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.
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?
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
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!
or the other releases can work on Indigo
The topic Odom is being published with two duplicated values at time and when using rostopic hz is giving 240 hz
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);
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);
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
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,
Hi guys, I just like to know how do I create orientation.x * -1 , as I just require this orientation.x to be negative.
Could I get a release with the last commit (c40b456)?
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?
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
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
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!
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?
@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
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
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!!
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!
I have Ubuntu 18.04 and ROS melodic
I follow the following steps:
cd ~/catkin_ws/src
git clone https://github.com/ros-drivers/mocap_optitrack.git
cd ..
catkin build
But I receive the following result:
I don't know how to build the packages.
Hello,
Are there plans to port it to the new LTS version of ROS2, ROS 2 Humble
?
Best,
Łukasz Janiec
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:
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:
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/
PARAMETERS
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
Hi,
Is it possible to make a debian release for melodic and neotic ?
The timestamp added to the published messages is the time of publishing, not the time optitrack determined the pose.
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?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.