宇树 G1 机器人开发入门:有线 & 无线连接完整指南

宇树 G1 机器人开发入门:有线 & 无线连接完整指南
适用读者:机器人二次开发者、科研人员
开发环境:Ubuntu 20.04(推荐)
机器人型号:Unitree G1 EDU+

前言

宇树 G1 是一款面向科研与商业应用的高性能人形机器人,支持丰富的二次开发接口。在正式进行算法调试与功能开发之前,首要任务是建立稳定的开发连接。本文将详细介绍两种主流连接方式:有线(网线直连)无线(WiFi + SSH),并附上完整的配置流程,帮助开发者快速上手。


一、有线连接(推荐新手优先使用)

有线连接通过网线直接将开发电脑与 G1 机器人相连,具有延迟低、稳定性高、不依赖外部网络的优势,是新手入门和底层调试的首选方式。

1.1 前置条件

所需物品说明
开发电脑推荐安装 Ubuntu 20.04,或在 Windows 上使用虚拟机
宇树 G1 机器人确保已开机且处于正常状态
网线(Cat5e 及以上)用于直连机器人与开发电脑
⚠️ 注意:目前 unitree_sdk2 暂不支持 macOS 和 Windows 原生环境,请务必在 Linux 环境下进行开发。

1.2 SDK 安装

在进行连接配置之前,需要先完成 SDK 的安装。以 unitree_sdk2 为例,安装步骤如下:

可参考:SDK安装方法


1.3 网络配置

用网线连接机器人和开发电脑后,需要手动配置 IP 地址,使两者处于同一网段

在这里插入图片描述

G1 机器人默认 IP 地址:

节点IP 地址
机载主控电脑192.168.123.161
二次开发板192.168.123.164

配置步骤(Ubuntu 图形界面):

  1. 打开 SettingsNetwork
  2. 找到有线连接对应的网卡,点击设置图标
  3. 切换到 IPv4 选项卡,将模式改为 Manual(手动)
  4. 点击 Apply 保存配置

填写以下信息:

IP Address : 192.168.123.99 # 推荐,或选择同网段其他未占用地址 Subnet Mask: 255.255.255.0 Gateway : (可留空) 

1.4 连接验证

打开终端,执行 ping 命令验证连通性:

ping192.168.123.161 

若看到如下输出,则表示连接成功:

在这里插入图片描述

若出现 Request timeout 或无响应,请检查:

  • 网线是否插紧
  • IP 地址是否配置在同一网段(192.168.123.X
  • 子网掩码是否为 255.255.255.0

至此,有线连接完成,可以开始开发工作。


二、无线连接(SSH 远程访问)

无线连接通过 WiFi 将机器人与开发电脑接入同一局域网,再通过 SSH 远程登录进行操作,适合需要机器人自由移动多人协作开发的场景。

2.1 前置条件

所需物品说明
开发电脑需安装 SSH 客户端软件,推荐 MobaXterm
宇树 G1 机器人
显示屏 + 键盘 + 鼠标用于机器人首次配网(仅首次需要)
无线网络或手机热点机器人与电脑需连接同一 WiFi
💡 推荐 SSH 工具MobaXterm,支持文件传输、多标签终端、X11 转发等功能,体验远优于原生 SSH 命令行。

2.2 Step 1:机器人配网

首次配置时,需借助外设将机器人连接到 WiFi:

  1. 将显示器、键盘、鼠标接入 G1 机器人的对应接口
  2. 开机后进入系统桌面(机器人内置 Ubuntu 系统)
  3. 点击右上角网络图标,选择目标 WiFi 并输入密码完成连接
在这里插入图片描述


在这里插入图片描述

2.3 Step 2:查看机器人局域网 IP

连接 WiFi 后,在机器人桌面终端中执行:

ifconfig# 或ip addr 

找到无线网卡(通常为 wlan0)对应的 IP 地址,例如 192.168.1.105,记录备用。


2.4 Step 3:开发电脑通过 SSH 连接

确保开发电脑已连接到相同 WiFi 后,打开 MobaXterm:

  1. 点击 OK,首次连接会提示确认主机指纹,选择 Accept

输入登录凭据:

Username : unitree Password : 123 

填写以下信息:

Remote host : <机器人局域网 IP,如 192.168.1.105> Port : 22 
在这里插入图片描述

点击左上角 SessionSSH

在这里插入图片描述

成功登录后,即可看到机器人系统的命令行界面,开始远程开发操作。

在这里插入图片描述

2.5 使用命令行 SSH(Linux / macOS)

若不使用图形客户端,也可直接在终端中连接:

ssh [email protected] # 提示输入密码时输入:123
⚠️ 安全提示:默认密码 123 安全性极低,生产环境中请及时修改密码并配置 SSH 密钥认证,避免未授权访问。

至此,无线连接完成,可以进行远程开发。


三、两种连接方式对比

对比维度有线连接无线连接(SSH)
稳定性⭐⭐⭐⭐⭐ 极佳⭐⭐⭐ 受信号影响
延迟⭐⭐⭐⭐⭐ 极低⭐⭐⭐ 相对较高
机器人活动范围❌ 受网线限制✅ 自由移动
配置难度⭐⭐ 较简单⭐⭐⭐ 需首次配网
适用场景底层调试、SDK 开发动态测试、远程协作

四、常见问题排查

Q1:ping 不通,怎么排查?

  1. 检查网线是否物理连接正常(指示灯是否亮起)
  2. 确认开发电脑 IP 在 192.168.123.X 网段,且未与机器人 IP 冲突
  3. 尝试关闭防火墙:sudo ufw disable
  4. 重新拔插网线并重新配置 IP

Q2:SSH 连接超时怎么办?

  1. 确认机器人与电脑连接的是同一个 WiFi
  2. 确认机器人局域网 IP 是否已发生变化(DHCP 环境下 IP 可能变化)
  3. 尝试在路由器管理页面为机器人绑定固定 IP(MAC 地址绑定)

Q3:查看通信网卡名称

运行 SDK 例程时需要指定网卡名称,通过以下命令查看:

ifconfig# 找到 IP 为 192.168.123.X 网段的网卡名,如 enp3s0、enxf8e43b808e06 等

五、总结

完成连接配置后,即可开始正式开发工作。推荐的后续步骤:

  • 📖 阅读 宇树科技官方文档中心
  • 🛠️ 编译并运行 SDK 自带例程(如 g1_ankle_swing_example
  • 🤖 探索 ROS 2 通信集成方案
  • 🔒 配置 SSH 密钥登录,提升远程访问安全性

备注:本文基于 Unitree G1 机器人实际操作整理,适用于 unitree_sdk2 开发环境。如有疑问,欢迎在评论区交流。

Read more

前端防范 XSS(跨站脚本攻击)

目录 一、防范措施 1.layui util  核心转义的特殊字符 示例 2.js-xss.js库 安装 1. Node.js 环境(npm/yarn) 2. 浏览器环境 核心 API 基础使用 1. 基础过滤(默认规则) 2. 自定义过滤规则 (1)允许特定标签 (2)允许特定属性 (3)自定义标签处理 (4)自定义属性处理 (5)转义特定字符 常见场景示例 1. 过滤用户输入的评论内容 2. 允许特定富文本标签(如富文本编辑器内容) 注意事项 更多配置 XSS(跨站脚本攻击)是一种常见的网络攻击手段,它允许攻击者将恶意脚本注入到其他用户的浏览器中。

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

目录 1. 打开浏览器开发者工具 2. 使用 Network 面板 3. 查看具体的API请求 a. Headers b. Payload c. Response d. Preview e. Timing 4. 实际操作步骤 5. 常见问题及解决方法 a. 无法看到API请求 b. 请求失败 c. 跨域问题(CORS) 作为一名后端工程师,理解前端如何调用接口、传递参数以及接收返回值是非常重要的。下面将详细介绍如何通过浏览器开发者工具(F12)查看和分析这些信息,并附带图片案例帮助你更好地理解。 1. 打开浏览器开发者工具 按下 F12 或右键点击页面选择“检查”可以打开浏览器的开发者工具。常用的浏览器如Chrome、Firefox等都内置了开发者工具。下面是我选择我的一篇文章,打开开发者工具进行演示。 2. 使用

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例)

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例) 前端开发中最令人头疼的莫过于那些难以定位的UI问题——元素错位、样式冲突、响应式失效...传统调试方式往往需要反复修改代码、刷新页面、检查元素。现在,通过Cursor编辑器集成的Codex功能,你可以直接用截图交互快速定位和修复这些问题。本文将带你从零开始,掌握这套革命性的调试工作流。 1. 环境准备与基础配置 在开始之前,确保你已经具备以下环境: * Cursor编辑器最新版(v2.5+) * Node.js 18.x及以上版本 * React 18项目(本文以Chakra UI 2.x为例) 首先在Cursor中安装Codex插件: 1. 点击左侧扩展图标 2. 搜索"Codex"并安装 3. 登录你的OpenAI账户(需要ChatGPT Plus订阅) 关键配置项: // 在项目根目录创建.