Skip to content

Latest commit

 

History

History
208 lines (124 loc) · 7.9 KB

File metadata and controls

208 lines (124 loc) · 7.9 KB

简体中文 | English

NLink Parser ROS2 Package

Logo

本ROS2包用于支持Nooploop产品,采用C++编写,只需根据对应产品手册,通过我们的上位机NAssistant配置好模块,确定设备已正常工作后,运行本ROS2包中产品对应的节点即可获取产品协议一一对应的ROS2消息,为您省去处理数据通信及解析的时间

Build Status Test Status

支持的产品

  • LinkTrack 是一款基于UWB技术的多功能系统,集定位、分布式测距、授时及通信功能一体化,典型二维定位精度±10cm,数据更新频率高达200Hz,基站容量多达120个,标签容量多达200个,全部节点无线自动组网,基站坐标一键标定,便捷部署。

    linktrack

  • LinkTrack AOA 是一款基于UWB的高精度跟随系统,典型测距精度高达±5cm,典型测向精度高达±5°,刷新频率高达200Hz,集测距、测向、授时、通信为一体。

  • TOFSense 是一款基于TOF(飞行时间)技术的激光测距传感器。测距范围 1cm~5m,距离分辨率 1mm,数据更新频率 10Hz,可调FOV,最大视场角 27°,支持多传感器级联输出。

Table of Contents

Getting Started

Prerequisites

Building

按如下步骤克隆代码并编译

sudo apt install python3-colcon-common-extensions
mkdir -p ~/nooploop_ws/src
cd ~/nooploop_ws/src
git clone --recursive https://github.com/nooploop-dev/nlink_parser2.git
cd ~/nooploop_ws
colcon build --symlink-install
source install/setup.bash

注意,每次打开新命令行窗口都需要执行 source install/setup.bash 重新获取该ROS2工作空间环境变量.

Products Usage

LinkTrack

运行

ros2 launch nlink_parser2 linktrack.launch.py

参数

  • port_name 设备串行端口名称,默认值: /dev/ttyCH343USB0.
  • baud_rate 设备波特率,默认值: 921600.

说明: 可直接在命令行更改参数

ros2 launch nlink_parser2 linktrack.launch.py port_name:=/dev/ttyCH343USB0 baud_rate:=921600

订阅的话题

  • /nlink_linktrack_data_transmission ([std_msgs::msg::String])

    你可以通过对该话题发布消息,将数据发送给LinkTrack节点,进而利用数传功能

发布的话题

  • /nlink_linktrack_anchorframe0 ([nlink_parser2::msg::LinktrackAnchorframe0])

  • /nlink_linktrack_tagframe0 ([nlink_parser2::msg::LinktrackTagframe0])

  • /nlink_linktrack_nodeframe0 ([nlink_parser2::msg::LinktrackNodeframe0])

  • /nlink_linktrack_nodeframe1 ([nlink_parser2::msg::LinktrackNodeframe1])

  • /nlink_linktrack_nodeframe2 ([nlink_parser2::msg::LinktrackNodeframe2])

  • /nlink_linktrack_nodeframe3 ([nlink_parser2::msg::LinktrackNodeframe3])

  • /nlink_linktrack_nodeframe4 ([nlink_parser2::msg::LinktrackNodeframe4])

  • /nlink_linktrack_nodeframe5 ([nlink_parser2::msg::LinktrackNodeframe5])

  • /nlink_linktrack_nodeframe6 ([nlink_parser2::msg::LinktrackNodeframe6])

  • /nlink_linktrack_nodeframe7 ([nlink_parser2::msg::LinktrackNodeframe7])

    如果收到来自其他节点的数传数据,则 /nlink_linktrack_nodeframe0 话题将会发布消息

    其他话题为定位数据话题,当收到协议帧数据,将自动在对应话题上发布消息,协议类型需要在上位机NAssistant上进行配置

LinkTrack AOA

运行

ros2 launch nlink_parser2 linktrack_aoa.launch.py

参数

  • port_name 设备串行端口名称,默认值: /dev/ttyCH343USB0.
  • baud_rate 设备波特率,默认值: 921600.

说明: 可直接在命令行更改参数

ros2 launch nlink_parser2 linktrack_aoa.launch.py port_name:=/dev/ttyCH343USB0 baud_rate:=921600

订阅的话题

  • /nlink_linktrack_data_transmission ([std_msgs::msg::String])

    你可以通过对该话题发布消息,将数据发送给LinkTrack节点,进而利用数传功能

发布的话题

  • /nlink_linktrack_nodeframe0 ([nlink_parser2::msg::LinktrackNodeframe0])
  • /nlink_linktrack_aoa_nodeframe0 ([nlink_parser2::msg::LinktrackAoaNodeframe0])

TOFSense

运行

ros2 launch nlink_parser2 tofsense.launch.py

参数

  • port_name 设备串行端口名称,默认值: /dev/ttyCH343USB0.
  • baud_rate 设备波特率,默认值: 921600.
  • inquire_mode 用于多TOFSense级联情况,程序将自动查询并输出多节点测距结果,默认值:false.

说明: 可直接在命令行更改参数

ros2 launch nlink_parser2 tofsense.launch.py port_name:=/dev/ttyCH343USB0 baud_rate:=921600

发布的话题

  • /nlink_tofsense_cascade ([nlink_parser2::msg::TofsenseCascade])
  • /nlink_tofsense_frame0 ([nlink_parser2::msg::TofsenseFrame0])

TOFSense-M

运行

ros2 launch nlink_parser2 tofsensem.launch.py

参数

  • port_name 设备串行端口名称,默认值: /dev/ttyCH343USB0.
  • baud_rate 设备波特率,默认值: 921600.

说明: 可直接在命令行更改参数

ros2 launch nlink_parser2 tofsensem.launch.py port_name:=/dev/ttyCH343USB0  baud_rate:=921600

发布的话题

  • /nlink_tofsensem_frame0 ([nlink_parser2::msg::TofsenseMFrame0])

How to Subscribe Our Topic

参考 nlink_example2,在您的ROS包中订阅我们的话题

Submodule

用于支持Nooploop产品,如LinkTrackLinkTrack AOATOFSense,纯C语言编写,用户可用于构建协议解析代码

是一个通用的数据协议帧提取器,对协议实现及协议检测进行了解耦,用户只需传入数据,处理协议回调函数即可

License

源码基于 BSD 3-Clause license 许可发布

Bugs & Feature Requests

问题反馈及功能建议请使用 Issue Tracker.

FAQ

  • 运行 ros2 topic echo ... 查看话题数据,提示"ERROR: Cannot load message class for ... Are your messages built

    如果已经编译通过,请运行 {$ros2_workspace}/**install**/setup.bash 以添加环境变量,其中{$ros2_workspace}表示当前ros包所在的工作空间目录。