宇树go2机器狗学习记录(二)

此文章开始slam服务部分的学习与操作。SLAM 导航服务接口仅支持带拓展坞和Unitree官方购入激光雷达(MID-360/XT16)版本的EDU机器狗。

第一步当然是把你的雷达接上去啦。我用的MID_360(蛮难接的,建议把那个碍事的皮带固定螺丝拧开接雷达)f32cf7589daa4a6dad2bd814f671a662.jpeg

SLAM导航服务连接

一.更新你的拓展坞

最让我心梗的一集)

第一步用宽带连接你的电脑和拓展坞,并其检测连接是否成功。(下为检测代码)

ping 192.168.123.18

好了你已经连接上了,进入这里http://192.168.123.18你会看到这样(你的是空白的)。edcb7300bc8a46908858e8d48339ca15.png

宇树科技 文档中心在拓展坞配置里滑到最底部下载更新包。按照下图顺序操作导入。

f9436acf2f994c108561139c20991140.png

心梗时刻到来。先说重点。看到这个图,你应该喝喝茶等待7分钟拓展坞自行重启,我的重启很慢很慢。导致我一直认为哪里有问题卡了3天。

cf856f916dc841b4af07b38c40483a4a.png

应该是少部分狗狗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指令可查看),即如图中所示,两者名称需相同。

ba4c7f98a22e404f83b36469656dff5b.png

三.查看数据通讯是否正常

输入如下可以看到狗本体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,实现自动循环导航。

实际效果:

207b89b7a35a4326a14d9bcd5bf95cd4.jpeg

一些意外:

如果你按错了顺序,或者终端上一步操作还未完成又给了新指令,可能会这样。e3125ec3c10e4a2c91e64daf9a247165.jpeg

总结

做到这里后边就可以自行探索了,简单上手差不多算是完成了。demo的建图和循环导航也是一切正常。

用外界显示屏会很麻烦,推荐用宽带插上再用nomachine显示拓展坞pc。下载安装很简单就不介绍了。

 

### 科技 GO2 机器狗 开发文档 SDK 教程 科技的 GO2 机器狗是一款高度仿生化的四足机器人,其开发涉及硬件控制、软件编程以及传感器数据处理等多个方面。以下是关于 GO2 的开发资料和教程的相关说明: #### 1. 初步准备 在开始开发之前,需要完成一些基础设置工作。这包括创建开发环境并安装必要的依赖项。 - 创建工作空间可以按照如下命令执行: ```bash mkdir unitree && cd unitree mkdir src && cd src ``` 这些步骤用于初始化 ROS 工作区或其他类似的开发框架[^3]。 #### 2. 固件更新与工具包安装 为了确保机器狗的功能正常运行,建议定期更新固件版本,并下载官方提供的开发工具包。 - 更新固件可以通过专用的应用程序实现,具体方法可参考实际操作记录中的描述[^1]。 - 下载并解压 Unitree 提供的工具包后,将其放置于 `src` 文件夹中[^2]。 #### 3. 建图功能开发 GO2 支持通过内置的 3D 激光雷达模块进行地图构建。开发者可以根据需求调整建图参数或扩展相关算法。 - 启动建图功能时需要注意初始位置的选择及机器狗的方向设定。例如,在实验过程中应保持较低的速度以提高精度[^4]。 - 地图构建完成后可通过导航接口让机器狗自主规划路径到达目标地点。 #### 4. 动作控制开发 除了基本的动作指令外,还可以利用 API 自定义复杂行为序列。 - 使用手机应用程序测试预设动作是一个良好的起点;进一步地,则能够编写脚本来触发这些动作或者创造全新的运动模式。 #### 示例代码片段 下面展示了一个简单的 Python 脚本例子来演示如何发送前进命令给 GO2: ```python import rospy from geometry_msgs.msg import Twist def move_forward(): pub = rospy.Publisher('/cmd_vel', Twist, queue_size=10) rospy.init_node('move_forward_node', anonymous=True) rate = rospy.Rate(10) # 10hz vel_msg = Twist() vel_msg.linear.x = 0.5 # 设置线速度为0.5 m/s vel_msg.angular.z = 0 # 不旋转 while not rospy.is_shutdown(): pub.publish(vel_msg) rate.sleep() if __name__ == '__main__': try: move_forward() except rospy.ROSInterruptException: pass ``` 此段代码展示了如何发布消息到 `/cmd_vel` 主题从而驱动轮子转动使机体前行。 ---
评论 23
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值