参考文档
LinkTrack_User_Manual_V2.3_zh.pdf
-
安装上位机+串口驱动
https://www.nooploop.com/cn/download/

-
模式配置
以上配置完成后,连接设备,打开软件会出现以下界面
(如果界面空白,则代表驱动没安装成功,并是否赋予串口权限)
![[Image]](https://i-blog.csdnimg.cn/direct/07b62111b3b34fc9a2cc34e53d63717b.png)
模式解析:设备可配置为 ANCHOR 或 TAG 或CONSOLE 三种模式
ANCHOR:基站端
TAG:移动端(会返回位置数据)
CONSOLE:可以理解为是一个不参与定位的“基站”,CONSOLE 可以实现ANCHOR 的所有功能且不受 ANCHOR 位置固定的影响。可以远程实现一键标定和查看数据、无线控制等功能。
我们采用 1移动端 + 4基站端(其他设置参考用户说明手册)-----图中展示的是六基站模式,去A4 , A5即可,0123需要顺时针摆放
![[Image]](https://i-blog.csdnimg.cn/direct/f9ddb3d655484b12a0c52f0016a21422.png)
-
基站坐标标定
只有连接 CONSOLE 或者 ANCHOR 模块才能进行基站坐标标定操作。系统支持一键标定与手动标定两种方式
具体步骤参考: -
将 CONSOLE 模块连接到电脑(如果没有使用 CONSOLE,则连接任意一个 ANCHOR 到电脑)
-
点击setting,点击左侧wireless setting,查看基站是否都在线
![[Image]](https://i-blog.csdnimg.cn/direct/e289ade5ff8947c9b18021a2f543aaf1.png)
-
点击one key calibration一键标定
标定的基站坐标会存入 CONSOLE 中,若各个基站之间相对位置没有发生变化,则下次上电后不用重新标定。需要注意的是,一键标定的坐标只会存储在发起一键标定的模块中,例如本例中坐标只会存入 C0,各个基站中不会存储基站坐标;如果通过 A0 发起一键标定,则存入A0。在后续的应用中,存储基站坐标的这个模块必须要上电,标签才会输出正确的定位坐标,否则标签只会输出(1,1,1)的坐标。
![[Image]](https://i-blog.csdnimg.cn/direct/64b5e56cfab543308a6a3102d6bad37f.png)
-
ros2 驱动安装
mkdir -p my_ws/src
cd my_ws/src
git clone https://github.com/SunnyApp-Robotics/serial.git
cd serial
git checkout ros2
colcon build
#注意,git checkout ros2是选择ros2版本,一定要切换
#安装linktrack相关功能包
git clone https://github.com/T2HOPETECHNIK/nlink_parser_ros2.git
colcon build
编译有可能出错:cc1: warning: command-line option ‘-std=c++14’ is valid for C++/ObjC++ but not for C
打开…/nlink_parser_ros2/nlink_parser_ros2/CMakeLists.txt
#设置 C++17 标准
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
#不要再使用 add_definitions 设置标准
add_definitions(-std=c++14) <- 应该删掉
编译成功!!!
- 运行代码
#修改配置文件——linktrack_init_params.yaml
port_config:
port_name: "/dev/ttyCH343USB0"
baudrate: "921600"
将/dev/ttyCH343USB0设置成自己的端口,注意一定要先赋予权限!!!!
colcon build #重新编译
source install/setup.bash
ros2 launch nlink_parser_ros2 linktrack.launch.py
- 报错
[linktrack-1] try to open serial port with port: /dev/ttyCH343USB0 baud rate: 921600
[linktrack-1] Exception raised : IO Exception (16): Device or resource busy, file /home/jszr/link_track_ws/src/serial/src/impl/unix.cc, line 151.
[ERROR] [linktrack-1]: process has died [pid 25833, exit code 1, cmd '/home/jszr/link_track_ws/install/nlink_parser_ros2/lib/nlink_parser_ros2/linktrack /home/jszr/link_track_ws/install/nlink_parser_ros2/share/nlink_parser_ros2/params/linktrack_init_params.yaml --ros-args'].
原因:串口被占用, 关闭上位机,并是否有其他进程占用,杀死进程
lsof /dev/ttyCH343USB0
kill -9 <pid>
#pid改成进程号
修改发布频率
- 把模块连接NAssistant软件进入设置页面更改模块的更新频率参数并写入参数保存

- 修改代码 0.005s 发布一次数据,200hz

测试结果:
xy 二维定位精度±10cm
z轴以基站端为平面,往下为负轴,4基站模式z轴定位精度略低于xy轴
1122

被折叠的 条评论
为什么被折叠?



