.. _tutorial_motion_capture_zh:

浣跨敤Nokov搴﹂噺杩愬姩鎹曟崏绯荤粺杩涜瀹氫綅
=====================================================

鍔ㄤ綔鎹曟崏绯荤粺 锛坢o-cap锛� 鏄竴绉嶇敤浜庤窡韪墿浣撴垨浜鸿繍鍔ㄧ殑鎶€鏈紝閫氬父鐢ㄤ簬鍔ㄧ敾銆佽繍鍔ㄥ垎鏋愭垨鐢熺墿鍔涘鐮旂┒銆�
瀹冮€氬父娑夊強鎽勫儚澶村拰浼犳劅鍣紝鐢ㄤ簬鎹曡幏鏀剧疆鍦ㄤ富浣撲笂鐨勬爣璁扮殑浣嶇疆銆佹柟鍚戝拰绉诲姩銆傜劧鍚庡鐞嗘暟鎹互鍒涘缓鏁板瓧琛ㄧず鎴栧姩鐢汇€�
Nokov 鍔ㄤ綔鎹曟崏绯荤粺 锛坔ttps://www.nokov.com/锛� 鏄棰嗗煙鍙敤浜庢棤浜烘満瀹ゅ唴瀹氫綅鐨勪骇鍝佷箣涓€銆�

1. 鍑嗗宸ヤ綔
-------------

(1) 纭欢璁惧
^^^^^^^^^^^^^^^^^^^

- Nokov 搴﹂噺杩愬姩鎹曟崏绯荤粺
- Kerloud 瀹ゅ唴鍏夋祦鏃犱汉鏈�
- 鏃犱汉鏈烘暟浼犲湴闈㈢*1
- 鍦伴潰绔欑數鑴�

(2) 鎿嶄綔杞欢
^^^^^^^^^^^^^^^^

瀹夎Qgroundcontrol 杞欢鍒板湴闈㈢珯鐢佃剳,

- Ubuntu 18.04 绯荤粺(鎺ㄨ崘): https://github.com/cloudkernel-tech/qgroundcontrol/releases/download/v0.2.1/QGC_3.5.6_kerloud_202411.AppImage

        鐩稿叧璁剧疆鍙傝€冭繖涓摼鎺ヤ腑鐨勫惎鍔ㄦ柟寮�: https://cloudkernel.cn/pursuit/tutorials_zh/firmware_upgrade_zh.html#tutorial-firmware-upgrade-zh锛� 鎸囦护璇存槑濡備笅锛�

        ::

                sudo usermod -a -G dialout $USER
                sudo apt-get remove modemmanager -y
                sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y

                chmod +x ./QGC_3.5.6_kerloud_202411.AppImage

                # 鎵ц涓婅堪鎸囦护鍚庨噸鍚數鑴戜娇璁剧疆鐢熸晥
                # start the app with command
                ./QGC_3.5.6_kerloud_202411.AppImage


- Windows 11绯荤粺: https://github.com/cloudkernel-tech/qgroundcontrol/releases/download/v0.3/QGroundControl-pursuit-installer.exe

        Windows 11绯荤粺涓繕闇€瑕佸畨瑁呮暟浼犲ぉ绾跨殑USB-UART涓插彛椹卞姩锛� 涓嬭浇閾炬帴锛� https://www.silabs.com/developer-tools/usb-to-uart-bridge-vcp-drivers?tab=downloads


2. Nokov绯荤粺璁剧疆
--------------------

璇峰弬鑰冦€奟OS 涓� Nokov 鍔ㄤ綔鎹曟崏绯荤粺鐨勯€氫俊-V2銆嬫枃浠�,瀹屾垚 XINGYING 杞欢鐨勫畨瑁�, VRPN杞欢鐨勫畨瑁呫€傚湪鏃犱汉鏈轰笂鍚堥€備綅缃创涓婂弽鍏夌悆,灏嗘棤浜烘満璁剧疆鎴愮郴缁熶腑鐨勪竴涓� Markerset,
鍙互閫氳繃杞欢鏌ョ湅鍒版棤浜烘満鐨勪綅濮匡紝璇︾粏鎿嶄綔鍙互闃呰銆奨INGYING鎿嶄綔璇存槑涔︺€嬨€�


3. Kerloud鏃犱汉鏈鸿缃�
---------------------

(1) 鏈鸿浇ROS杞欢
^^^^^^^^^^^^^^^^^

- 棣栧厛鍙傝€� :ref:`tutorial_powerprog_zh` 杩涘叆鏈鸿浇鐢佃剳锛�

- 鍙傝€冦€奟OS涓嶯okov鍔ㄤ綔鎹曟崏绯荤粺鐨勯€氫俊-V2銆嬫枃浠朵腑鈥淩OS 涓� XINGYING 杞欢鐨勯€氫俊鈥濓紝鍦ㄦ棤浜烘満鏈鸿浇鐢佃剳Jetson Nano涓畬鎴恦rpn杞欢鍖呯殑瀹夎銆�

- 淇濊瘉鏃犱汉鏈烘満杞界數鑴戝彲浠ヨ嚜鍔ㄨ繛鎺ュ埌XINGYING杞欢鐨勫悓涓€缃戠粶锛屽彲浠ing閫氾紱涔嬪悗娴嬭瘯鍚姩 vrpn_client_ros鍙互鑾峰彇瀵瑰簲tracker鐨勪綅濮夸俊鎭紙璇﹁绗�11椤垫搷浣滐級锛屼緥濡傚彲浠ュ湪鏈鸿浇鐢佃剳涓湅鍒扳€�/vrpn_client_node/Tracker2/pose鈥濈殑杈撳嚭锛岃璁板綍濂藉搴旀湰鏈虹殑topic鍚嶇О锛岃杈撳嚭鍗虫槸鏈哄櫒鍦ㄨ繍鍔ㄦ崟鎹夌幆澧冧笅鐨勪綅缃拰濮挎€侊紝鎴戜滑鍙互鐢ㄨ淇℃伅杈撳叆鍒伴鎺т綔涓哄畾浣嶃€�

- 瀵逛簬鎴戜滑Kerloud鏃犱汉鏈猴紝闇€瑕佸惎鍔╩avros鑺傜偣鍚庤闃呰繍鍔ㄦ崟鎹夌殑浣嶅Э杈撳嚭璇濋锛屽嵆鍙妸杩愬姩鎹曟崏绯荤粺鐨勬祴閲忎綅濮垮彂甯冪粰椋炴帶銆�

    鐢ㄦ埛鍙互閫氳繃topic_tools灏嗚繍鍔ㄦ崟鎹夊彂甯冪殑浣嶅Э璇濋杞彂鍒癿avros鐨�/mavros/vision_pose/pose璇濋锛屾敞鎰忎慨鏀瑰搴旂殑璇濋鍚嶇О锛�

        ::

            #please modify the topic name from vrpn_client_node here
            rosrun topic_tools relay /vrpn_client_node/<tracker_name>/pose /mavros/vision_pose/pose



    鍚姩mavros鑺傜偣鐨勬柟寮忎负锛�

        ::

            cd ~/src/uav_space/catkinws_offboard  #customized mavros package is inside the catkinws_offboard workspace
            source devel/setup.bash
            roslaunch mavros px4.launch fcu_url:=鈥�/dev/ttyPixhawk鈥�


(2) 椋炴帶鍙傛暟璁剧疆
^^^^^^^^^^^^^^^^^^

杩炴帴鏃犱汉鏈哄拰 QGC 鍦伴潰绔�,閽堝杩愬姩鎹曟崏鐜,鎴戜滑闇€瑕佽缃搴旈鎺х殑鍙傛暟涓�:

::

        EKF2_AID_MASK 24     #select vision position, vision yaw
        EKF2_HGT_MODE 3      #vision height

**娉ㄦ剰**:涓嶅悓鍦伴潰绔欑増鏈樉绀虹殑鏁版嵁涓嶄竴鏍�,璇风‘淇濆弬鏁版暟鍊煎垎鍒负 24 鍜� 3,鍙互鎵嬪姩杈撳叆銆傚浜庢湁鍏夋祦閰嶇疆鐨凨erloud鏃犱汉鏈烘満鍨嬶紝鍙互鍕鹃€塽se optical flow閫夐」锛岃繖鏍稥KF2_AID_MASK涓�26銆�

閲嶅惎椋炴帶浣胯缃敓鏁堛€�


4. 瀹氫綅鐘舵€佹祴璇曚笌瀹ゅ唴椋炶
----------------------------------
(1) 瀹氫綅鐘舵€佹祴璇�
^^^^^^^^^^^^^^^^^^

鏃犱汉鏈哄湪鏈鸿浇鐢佃剳绔渶瑕侀€氳繃涓変釜topic鏉ユ牳瀵瑰畠鐨勫畾浣嶄俊鎭紝濡傛灉璁剧疆姝g‘锛岃繖涓変釜瀹氫綅杈撳嚭鐨勬暟鎹簲璇ュ緢鎺ヨ繎銆�

::

        rostopic echo /vrpn_client_node/<tracker_name>/pose   # position measurement from the motion capture system
        rostopic echo /mavros/vision_pose/pose     # external localization position sent to the autopilot
        rostopic echo /mavros/local_position/pose  # fused position from the autopilot

.. note::

    馃搶 浠ヤ笂杈撳嚭鏁版嵁鐨勫崟浣嶉渶瑕佹槸SI鍗曚綅鍒�

鐢ㄦ埛涔熷彲浠ュ湪杩愬姩鎹曟崏鐜涓嬫墜鎸佺Щ鍔ㄦ棤浜烘満娴嬭瘯杈撳嚭鏁版嵁锛屾瘮濡傚線杩愬姩鎹曟崏绯荤粺鐨刋杞存鍚戠Щ鍔�1绫筹紝鍒欏搴斿潗鏍囪緭鍑篨鐨勫€间篃浼氬鍔�1銆�




(2) 瀹ゅ唴椋炶
^^^^^^^^^^^^^^^^^

- 璇峰厛鏍″噯鏃犱汉鏈哄姞閫熷害璁°€侀檧铻轰华銆佺鎰熻绛変紶鎰熷櫒锛屽弬鑰冿細 https://cloudkernel.cn/kerloud-uav/quickstart-zh.html 銆� 鍙渶瑕佽繘琛屽叾涓殑浼犳劅鍣ㄦ牎鍑嗙幆鑺傦紝鍏朵粬鐜妭鍧囧湪鍑哄巶鏃跺畬鎴愩€�

- 鏍告煡鏃犱汉鏈烘〃鍙舵柟鍚戝畨瑁呮纭紝涓旇灪姣嶆嫥绱с€�

- 鍚姩杩愬姩鎹曟崏绯荤粺锛屾牳鏌ュ畾浣嶈緭鍑烘甯搞€�

- 鍚姩鏃犱汉鏈烘満杞界數鑴戠鐨剉rpn_client_ros鍜宮avros鑺傜偣锛屾牳鏌ラ鏈轰綅缃拰濮挎€佹甯革紝鍙互閫氳繃鎵嬫寔鏃犱汉鏈洪獙璇佸畠鐨勬樉绀轰綅濮裤€�

- 灏濊瘯浣跨敤POSITION妯″紡杩涜鍗婅嚜鍔ㄩ琛岋紝鍙傝€冩棤浜烘満鐢ㄦ埛鎵嬪唽蹇€熷惎鍔ㄧ珷鑺傦紝濡傛灉POSITION妯″紡涓嬪彲浠ラ琛岋紝鍒欐棤浜烘満鍦ㄨ繍鍔ㄦ崟鎹夌幆澧冧笅鍙互瀹炵幇姝g‘鐨勫畾浣嶏紝鑷姩椋炶涔熸病闂銆�

- 杩涜鑷姩椋炶鍓嶏紝涓€瀹氳鏍告煡椋炶鐨勮埅璺偣鍧愭爣鍦ㄩ檺瀹氳寖鍥村唴锛屽鏋滀娇鐢ㄦ彁渚涚殑off_mission鑺傜偣锛岄粯璁ょ殑鑸矾鐐瑰潗鏍囬渶瑕佷慨鏀癸紝鍏朵腑璧烽楂樺害鏄�5绫充細瓒呰繃瀹ゅ唴闄愬埗銆傝嚜鍔ㄩ琛屽墠杞欢绋嬪簭涓€瀹氳閫氳繃杞欢浠跨湡鐜娴嬭瘯銆�


5. 甯歌闂
-----------------

**Q1: 濡傛灉瀹ゅ唴椋炶鏃跺姩浣滄崟鎹夌郴缁熺殑瀹氫綅杈撳嚭涓㈠け锛屾棤浜烘満浼氭湁浠€涔堝弽搴旓紝浼氱洿鎺ョ偢鏈哄悧锛�**

Ans锛� 鏃犱汉鏈哄け鍘诲閮ㄥ畾浣嶆暟鎹悗锛屽鏋淓KF2_AID_MASK璁剧疆涓湁閫夋嫨鍏夋祦optical flow锛屽垯鏃犱汉鏈轰細榛樿鍒囨崲鍒癙OSITION妯″紡锛屽厜娴佽繘琛屾按骞冲畾浣嶏紝浣嗛珮搴︿細浣跨敤baro杩涜瀹氫綅锛涘鏋滄病鏈夊厜娴侊紝鍒欐棤浜烘満浼氬け鍘诲畾浣嶄俊鎭紝鍙戠敓鎶ヨ锛�
椋炴満浼氶粯璁や笅闄嶏紙浣嗕笉鏄瀭鐩翠笅闄嶏紝鍥犱负杩欐椂姘村钩鏂瑰悜娌℃湁瀹氫綅锛夈€傛棤浜烘満涓嶄細鐩存帴缈昏浆鐐告満銆�

寤鸿锛氭搷浣滄椂娉ㄦ剰杩愬姩鎹曟崏鐜鐨勬湁鏁堝畾浣嶇┖闂达紝鍙湪鏈夋晥绌洪棿閲屾墽琛岄琛屼换鍔★紱鍏虫敞鍦伴潰绔欑殑鎻愰啋锛岄亣鍒伴棶棰樺垏鍒版墜鍔╯tabilized妯″紡锛屼繚闅滃畨鍏ㄩ琛屻€�