(一)VRPN协议方式
ROS 版本:noetic,Ubuntu 版本:20.04。
一、VRPN的下载安装
- 在 Ubuntu 的终端中输入"sudo apt search vrpn" 查询当前Ubuntu 版本可支持安装的 VRPN 版本。
.png)
- 如果包管理器可以找到对应的VRPN版本,在终端中输入以下命令,安装VRPN库,本例中安装的ROS版本为noetic,使用安装的是ros-noetic-vrpn。
sudo apt install ros-noetic-vrpn
 (1).png)
- 如果包管理器没找到对应的VRPN版本,使用以下命令下载源码安装VRPN库,该操作在不同ROS版本均适用。
git clone --recurse-submodules https://github.com/vrpn/vrpn.git
# build and install
cd vrpn/
mkdir build
cd build
cmake ../
sudo make install
.png)
.png)
.png)
- 将quatlibConfig.cmake文件和VRPNConfig.cmake保存在对应文件夹下,使用以下命令创建对应目录(根据安装ros的版本替换" noetic")。
sudo mkdir -p /opt/ros/noetic/share/vrpn/cmake/
sudo mkdir -p /opt/ros/noetic/share/quatlib/cmake/
.png)
.png)
.png)
二、vrpn_client_ros的下载安装及其网络配置
有两种安装方式,一种是软件源安装,一种是源码编译。
(一)软件源安装
- 首先安装相关依赖。
# First install the dependencies
sudo apt install -y
ros-noetic-geometry-msgs
ros-noetic-tf2-ros
ros-noetic-roscpp
ros-noetic-roslaunch
ros-noetic-roslint

- 如果apt可以找到对应的vrpn-client-ros,直接使用以下命令安装。本例中安装的ROS版本为noetic,使用安装的是ros-noetic-vrpn-client-ros。
sudo apt install ros-noetic-vrpn-client-ros

- 依次运行以下命令,编译安装vrpn_client_ros。本操作在不同ros版本均适用。先安装
# git clone vrpn_client_ros
mkdir -p ~/catkin_vr/src
cd ~/catkin_vr/src/
git clone https://github.com/ros-drivers/vrpn_client_ros
cd ~/catkin_vr/
catkin_make

(二)源码安装
- 使用以下代码创建catkin工作空间并拉取源码并编译
# clone vrpn_client_ros
mkdir -p ~/catkin_vr/src
cd ~/catkin_vr/src/
git clone https://github.com/ros-drivers/vrpn_client_ros
# catkin_make
cd ~/catkin_vr/
catkin_make
.png)
- 使用以下命令配置环境并在此终端下加载环境。(使用apt安装vrpn_client_ros跳过该步骤)
source ~/catkin_vr/devel/setup.bash
echo 'source ~/catkin_vr/devel/setup.bash' >> ~/.bashrc
.png)
三、测试网络
- 在启动vrpn_client-ros中需要注意,IP地址设置一定要对,要和XINGYING 软件主机位于同一网段,能 ping 通,请将电脑的防火墙关闭,参照如下命令,网卡名称更换为本地网卡。
# 查看ens33网络接口的信息
ifconfig ens33
# 防火墙关闭
sudo ufw disable
ping -c 4 10.1.1.198

四、运行vrpn_client_ros节点
- 输入以下命令:" roslaunch vrpn_client_ros sample.launchserver:=10.1.1.198"按下回车键。打印出"Connection established"、"Found new sender: Tracker2"、"Creating new tracker Tracker2"这三行,说明连接成功,"Tracker2"表示 XINGYING 软件中 Markerset 的名称。
roslaunch vrpn_client_ros sample.launchserver:=10.1.1.198

- 使用 CTRL+ALT+T 重新开一个终端,查看 topic 话题。输入命令"rostopic list"可以看到话题" /vrpn_client_node/Tracker2/pose","Tracker2"表示 XINGYING 软件中 Markerset 的名称。
rostopic list

- 输入命令"rostopic echo /vrpn_client_node/Tracker2/pose"按下回车后可以看到接收到的数据,"Tracker2"表示 XINGYING 软件中 Markerset 的名称。
rostopic echo /vrpn_client_node/Tracker2/pose
