Quick start for natnet_bridge ============================================= Clone the repo into ``ROS_Workspace``, and run ``$ catkin_make``. **1. Configuring Motive** Open the `Data Streaming Pane `_ in Motive by clicking on ``View->Data Streaming``. click on the 3 dots in the right upper corner, then click ``Show Advanced``. set ``Type`` in `Advanced Network Settings` to ``Multicast``, specify (command and data) `port`(default is 1510 and 1511) if necessary and set the ``Multicast Interface`` (default: 239.255.42.99) **2. Configuring natnet_bridge** Configuring the multicast IP address/data port/command port, iteratively run following commands :: $ roscd natnet_bridge/config $ vim parameter.yaml If you want to use 2d information, specify the ``use_2d_bool`` and ``use_2d_plane_height``. If you want to additionally get information like `unidentified markers`, change corresponding parameter ``publish_xxx`` as true. It could also be configured later via ``dynamic_reconfigure``. .. note:: make sure that the Motive coordinate setting in both Motive-side and Ros-Side(``parameter: optitrack_coordinate``) are the same. Otherwise it will be wrong. **3. Run natnet_bridge** Run the command:: $ roslaunch natnet_bridge natnet_bridge.launch If you want to show complete information like ROS_DEBUG information, you can run :: $ roslaunch natnet_bridge natnet_bridge.launch show_debug_info:=true Otherwise it is also possible to run following command via running:: $ rosconsole set /natnet_node ros.natnet_bridge debug You can also change the configuration while running via, it would convenient when you need to change the settings while running.:: $ roslaunch natnet_bridge natnet_bridge.launch launch_reconfigure:=true .. note:: The rigid bodys' name will be identical with the definition in windows' Motive side setting. But you have to firstly name the rigid body's before run natnet_node. Since in case of updating of rigid body's setting like ID/name, Motive will not notify receiver. Make sure your setting of rigid bodies, ID and names do not repeat. It is important. NatnetNode will check repeating while initializing but does not check while receiving. If you add rigid body while receiving, the unknown rigid body will be published as ``"unknown"+ID``. .. figure:: img/dyn_conf.png Comparison with prior optitrack_bridge -------------------------------------- - More stable for running logic. - Fixed bugs of optitrack_bridge. - Non-Blocking. Saving cpu resources. - More completely parsing information of NatNet - Controllable loop rate... - Time information - Get server version and natnet version from the motive serve - Friendly parameter setting, friendly information print out...