安装vrpn_client_ros2库将动捕数据转换ROS2话题

环境:

Ubuntu :20.04 LTS

ROS :ROS2 Foxy

安装VRPN库

执行以下命令安装VRPN库。

git clone https://github.com/vrpn/vrpn.git
mkdir -p vrpn/build
cd vrpn/build
cmake ..
make 
sudo make install

拉取vrpn_client_ros2节点代码并配置VRPN server参数

执行以下命令拉取vrpn_client_ros2代码。

git clone https://github.com/efc-robot/vrpn_client_ros2

拉取完成后,编辑代码中的配置文件 vrpn_client_ros2/src/vrpn_listener/config/params.yaml

/vrpn_listener:
     ros__parameters:
        server: 192.168.1.2               # VRPN server在局域网内的IP
        port: 3883                        # VRPN server的服务端口
        frame_id: "world"                 # reference frame参数
        mainloop_frequency: 100.0         # 主循环频率,频率越高,越不容易丢失VRPN数据包,但同时计算负载越大
        refresh_trackers_frequency: 1.0   # 追踪器刷新频率,频率越高,发现新的VRPN tracker的实时性越强
        tracker_mainloop_frequency: 100.0 # 追踪器主循环频率,频率越高,越不容易丢失VRPN数据包,但同时计算负载越大
  • 根据动捕软件的数据发送设置,配置 serverport 参数。
  • 不推荐修改其余配置项,默认即可。

编译软件包

执行以下命令编译vrpn_client_ros2,其中 ${ROS_DISTRO} 替换为实际使用的ROS2版本。

source /opt/ros/${ROS_DISTRO}/setup.bash
cd vrpn_client_ros2/src
colcon build

启动vrpn_client_ros2节点

执行以下命令运行vrpn_client_ros2节点。

cd vrpn_client_ros2/src
source install/setup.bash
ros2 launch vrpn_listener sync_entity_state.launch

在这里插入图片描述

重命名话题名 /vrpn/fly/pose 为 /mavros/vision_pose/pose

编辑代码中的launch文件vrpn_client_ros2/src/vrpn_listener/launch/sync_entity_state.launch

改为以下代码。

<launch>
<arg name="server" default="localhost"/>
<node name="vrpn_listener" pkg="vrpn_listener" exec="vrpn_listener"  output="screen">
    <param from="$(find-pkg-share vrpn_listener)/config/params.yaml"/>
    <remap from="/vrpn/fly/pose" to="/mavros/vision_pose/pose"/>
</node>
</launch>

之后重新编译软件包并运行节点即可。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐