无人机基于NOKOV动捕系统获取位置数据

环境

  • 机载电脑

    • 系统:Ubuntu20.04 LST
    • ROS1:noetic
    • 飞控:PX4
    • mavros
    • QGroundControl
  • 动捕系统电脑

    • 动捕配套软件:XING-NOKOV

关于系统、PX4、mavros、QGroundContorl等安装参考下面两篇文章:

1. 准备工作

1.1 动捕系统电脑

打开动捕系统软件XING-NOKOV,进行如下操作

image-20230815110852790

1.2 机载电脑

通过ssh等工具连接上机载电脑,进行如下操作

  • 打开QGroundContorl连接上无人机飞控,并进行PX4的配置

EKF2_AID_MASK = 24

EKF2_HGT_MODE = 2

image-20230815110304074 image-20230815110559457

PX4配置需要保存后重启QGroundContorl后才能生效

  • 安装VRPN
1
sudo apt-get install ros-noetic-vrpn-client-ros		# 这里的noetic要根据机载电脑的ros版本进行修改

2. 操作步骤

公众号视频参考:PX4系统配置与操作演示 (xiaoeknow.com)

  1. 通过VRPN将动捕数据广播出去

    打开动捕系统软件XING-NOKOV->Setting->勾选VRPN Enabled,并选中刚体Tracker0->数据单位设置为meters

  2. 验证机载电脑是否能获取动捕数据,这里的10.1.1.198为动捕电脑IP

    1
    roslaunch vrpn_client_ros sample.launch server:=10.1.1.198

如果未能获取到数据,先通过ping 10.1.1.198来检查是否存在网络问题

  1. 机载电脑上运行下面的命令来将动捕数据发送给地面站QGroundContorl,这里的10.1.1.150为运行QGroundContorl主机的IP地址,一般为自己笔记本电脑的IP地址
1
roslaunch mavros px4.launch gcs_url:="udp://@10.1.1.150:14550"
  1. 机载电脑上运行下面的命令来实现话题转发
1
rosrun topic_tools relay /vrpn_client_node/Tracker1/pose /mavros/vision_pose/pose
  1. 验证是否正常

    • 查看动捕数据是否显示:AnalyzeTools -> MAVLINK Inspector -> VISION_POSITION_ESTIMATE/ODOMETRY
    image-20230815153626076
    • 查看QGroundContorl中飞行模式是否能切换为定点模式

参考: