-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple /tf frames and /poses from Optitrack and Motive #492
Comments
|
Thanks for the reply @whoenig, I really appreciate it. When I set Any thoughts? When I commented out the pose default topic, the tracking is fine and should be good enough for our tests. I would still, however, like to use the Motive track, as our setup seems to work well. |
I have not seen this particular issue before. One problem with these exceptions is that you only get useful information in a debugger. You could recompile with debugging enabled (see https://imrclab.github.io/crazyswarm2/howto.html#debugging), and then run the motion capture node with a debugger attached (using a prefix, see crazyswarm2/crazyflie/launch/launch.py Line 127 in d9064d9
|
I added the debugger to the motion capture node and recompiled with debug enabled. I also commented out the default pose topic. When I start the server with debug:=true, the motion_capture node and server hang with the following outputs: On Motive, this was still with streaming unlabeled markers on. When I only streamed the rigid body points and run the server with debug:=true, the motion capture seems to work for a second, then fails to receive data: When I run the server with debug:=false is off, the poses look fine on rviz2 (that is, looks the same as what I've defined on Motive), but the motion capture tracking node still prints that the pose isn't updated: Thanks again! |
Two days ago the problem was that the motion_capture_tracking node essentially crashed. When you run with the debugger, the node doesn't crash anymore? It should be sufficient to only debug that node and keep the server running normally. |
Update: I switched over to a Vicon system with Tracker, defined a rigid body in Tracker, and set all the |
Hey guys, apologies for the long issue.
My lab is using one crazyflie with a mocap deck and custom marker positioning with a crazyradio2, with Motive 2.2.0 to do the motion capture. I have bootloaded the latest firmware from the cfclient, which is labeled as 2024.02.
We have a Rigid Body asset defined in Motive (defined as "cf_model_new") on a host machine, streaming data to the Ubuntu system to run crazyswarm2. Motive is doing a great job of tracking the rigid body, so we want to simply use the data coming in from Motive directly, rather than use libRigidBodyTracker or something on the point cloud. The crazyflie is named "cf5" in crazyswarm2 config.
The summary of the issue is that two different poses are represented on the /tf topic and the /poses topic. This is seen in rviz2 here:
When unlabeled markers is turned off in Motive streaming, the /cf5 frame becomes static. When I turn it on again, it re-coincides with the /cf_model_new frame, though it is very shaky. We suspect this is the culprit of poor hello_world performance. The frame /cf_model_new looks great in rviz2.
How can we tell crazyswarm2 to use this data, instead of resolving the unlabeled point cloud? I have seen to set motion_capture/enabled to false in the config. However, when I do this, the motion_capture_tracking node dies due to an InvalidParameterException.
My current config files are below. Note that I use optitrack_closed_source due to the old Motive version (2.2.0).
motion_capture.yaml:
crazyflies.yaml:
Note that I also get low unicast and multicast warnings due to old firmware, though I have the latest from the cfclient. if there is a newer firmware that might be the culprit, any info on how to find that file is appreciated. Let me know if I need to add any other warnings, files, or Motive settings.
Thank you so much!
Jake
The text was updated successfully, but these errors were encountered: