此文章开始slam服务部分的学习与操作。SLAM 导航服务接口仅支持带拓展坞和Unitree官方购入激光雷达(MID-360/XT16)版本
的EDU机器狗。
第一步当然是把你的雷达接上去啦。我用的MID_360(蛮难接的,建议把那个碍事的皮带固定螺丝拧开接雷达)
SLAM导航服务连接
一.更新你的拓展坞
最让我心梗的一集)
第一步用宽带连接你的电脑和拓展坞,并其检测连接是否成功。(下为检测代码)
ping 192.168.123.18
好了你已经连接上了,进入这里http://192.168.123.18你会看到这样(你的是空白的)。
宇树科技 文档中心在拓展坞配置里滑到最底部下载更新包。按照下图顺序操作导入。
心梗时刻到来。先说重点。看到这个图,你应该喝喝茶等待7分钟拓展坞自行重启,我的重启很慢很慢。导致我一直认为哪里有问题卡了3天。
应该是少部分狗狗7分钟左右重启好了就可以下一步了。
二.网络连接
宇树go2机器狗学习记录(一)-优快云博客和第一篇一样,不过测试三个部分连接。
ping 192.168.123.18 #拓展坞PC IP
ping 192.168.123.20 #雷达IP
ping 192.168.123.161 #运控PC IP
拓展坞PC中/home/unitree/cyclonedds_ws/cyclonedds.xml文件为DDS的配置文件,在使用slam服务前需确认其网卡参数和拓展坞PC中IP地址为192.168.123.18
的网卡相同
(通过ifconfig指令可查看),即如图中所示,两者名称需相同。
三.查看数据通讯是否正常
输入如下可以看到狗本体PC发出的相关话题信息
ros2 topic list #查看消息话题
四.注意事项
1.显示屏右上角将pcpower mode 调整为maxn
2.修改YSN参数。扫码雷达上二维码获得YSN参数。在/unitree/module/graph_pid_ws/config_files/lio_sam_config目录下找到params_xt16.yaml和params_mid360.yaml,将文件中lidarYsn参数值修改为雷达所对应的YSN码
。(用哪个改哪个)
参考例程
一.安装unitree_sdk2
在终端输入以下指令执行脚本文件,安装Unitree_sdk2
,若终端输出“success“,则安装成功。(注意是根目录啊,本人因为更新拓展坞麻了,反复打开home下unitree找不到lib。希望大家不要反这个错)
cd /unitree/lib/unitree_slam #进入安装目录
sudo ./install.sh #安装
二.编译例程
没权限创建就su以下。
#编译测试例程
cd /unitree/lib/unitree_slam
mkdir build
cd build
cmake ..
make
三.开启服务
输入
cd /unitree/module/graph_pid_ws
./0_unitree_slam.sh
执行demo
./demo_xt16 eth0 #或者 ./demo_mid360 eth0 其中eth0为123网段网卡
1.先按w程序开启建图,在建图开始前需大致记下建图起始位置和机器狗的朝向。走向起始点(我向前一步。移动速度不要快)
2.大概走几步,按下e结束建图。三维PCD图保存在/unitree/module/graph_pid_ws/config_files/lio_sam_config/maps/pcd/default/GlobalMap.pcd中;
3.回到建图起点,按下‘z’按键,打开定位节点并进行定位初始化。按下‘x’键将起始点作为第一个导航拓扑点,第一个拓扑点尽量打在环境比较空旷且周围没有障碍物
的地方。然后遥控机器狗至其他导航点的位置,达到后按下'x'键,依次采集所有的导航拓扑点/边信息,采集完成后按下‘c'保存点边信息
,然后按下‘q'键关闭节点,第一个拓扑点1.5m范围内请勿采集其他拓扑点;
遥控机器狗至建图起始位置
,按下‘a’键开启自动循环导航。在机器狗行走过程中,可通过按键‘s’和‘d’进行暂停和恢复。若后续无需更改导航地图信息,则可以直接跳过步骤5~步骤9,实现自动循环导航。
实际效果:
一些意外:
如果你按错了顺序,或者终端上一步操作还未完成又给了新指令,可能会这样。
总结
做到这里后边就可以自行探索了,简单上手差不多算是完成了。demo的建图和循环导航也是一切正常。
用外界显示屏会很麻烦,推荐用宽带插上再用nomachine显示拓展坞pc。下载安装很简单就不介绍了。