-
Per whoenig/NatNetSDKCrossplatform#3, I cloned crazyswarm and pulled
I'm not sure what else is missing here to get crazyswarm to compile. Any other modifications that come to mind? |
Beta Was this translation helpful? Give feedback.
Replies: 8 comments 18 replies
-
Try adding
at https://github.com/USC-ACTLab/crazyswarm/blob/master/ros_ws/src/crazyswarm/CMakeLists.txt#L155. I can look into a proper integration (building by default) towards the end of this week. It's not enabled by default, because this would break the Windows and Mac build of libmotioncapture, but since the crazyswarm only supports Ubuntu, we could enable it there always. |
Beta Was this translation helpful? Give feedback.
-
That worked. Thanks! |
Beta Was this translation helpful? Give feedback.
-
Great. I also made a proper fix, see #520. This will merge within a couple of days, hopefully. |
Beta Was this translation helpful? Give feedback.
-
Regarding this, I wanted to clarify that the package compiled with the closed-source option. I switched from |
Beta Was this translation helpful? Give feedback.
-
Thanks for the feedback! I didn't have access to try it yet with the Crazyswarm, so I only focused on the linking issues. I am re-opening this issue to test (&fix) this on my side. |
Beta Was this translation helpful? Give feedback.
-
So the machine I'm using has two ethernet ports, one for OptiTrack and another for internet. For now, I'll just have to turn off the internet connection and use the open-source solution. |
Beta Was this translation helpful? Give feedback.
-
Interesting finding. I think you would need to change https://github.com/IMRCLab/libmotioncapture/blob/main/src/optitrack.cpp#L317 to use the IP address of the Ethernet adapter that you want to listen to (here: the local IP associated with the Ethernet adapter that connects to your optitrack machine). From what I remember, this is how boost decides which network interface to use. If that's the case, I could add an option to change this value without recompiling. |
Beta Was this translation helpful? Give feedback.
-
When using NatNetSDKCrossplatform I tried setting https://github.com/whoenig/NatNetSDKCrossplatform/blob/b1a68bb13fa3bab92ce584e5e295b80229399922/src/main.cpp#L111 to the desired IP but that didn't work. |
Beta Was this translation helpful? Give feedback.
So the machine I'm using has two ethernet ports, one for OptiTrack and another for internet.
When the open-source solution was used, crazyswarm was defaulting to the ethernet port hooked up to the internet instead of that connected to OptiTrack.
When I tested with NatNetSDKCrossplatform, the packetClient (open source) did that as well while the sampleClient (closed source) was defaulting to the ethernet port connected to OptiTrack. Thus, the open source would not get data while the closed source would get data.
For now, I'll just have to turn off the internet connection and use the open-source solution.