UGV Beast PI ROS2
| ||||||||||||||||||||||
|
产品介绍
UGV Beast 是一款越野履带开源 AI 机器人。采用大小脑架构设计,ESP32 主控模组的下位机负责电机 PID 控制、IMU 传感器控制、OLED 屏幕控制、舵机控制、灯光开关控制等,分担计算负载的同时为上位机节省 IO 资源以及提供高效的通信接口,上位机使用树莓派 4B 或树莓派5,确保实现高阶算力和指定策略等高级功能。
机器人机身结构采用2mm厚度的全铝合金外壳,结构强度高、耐用性好。采用了多独立悬挂系统,极大减少了复杂地形冲击。搭配 2 个带编码器减速电机,实现闭环速度控制,有效防止震动,实现出色的运动性能,最高速度可达 0.35m/s。内置 3S 锂电池 UPS 供电模块,提供了强劲而持久的动力,支持边充电边使用,满足长时间的开发和使用需求。
树莓派 4B/5 搭配 USB 摄像头,通过高帧率低延时的摄像头实时画面,用户可以享受流畅的视觉体验,并且可以通过拍照和录像等功能捕捉到不同的精彩瞬间。此外,机器人的多种信息反馈——包括电池电压、CPU使用率等,都通过 WEB 应用实时显示,使得用户可以实时监控机器人的状态。
机器人的视觉系统配备了一个 2 自由度的大扭矩灵活云台和一个 160°超广角的 500 万像素摄像头,为用户提供了宽广的视角和灵活的观察角度、以及多样的 AI 机器视觉功能。云台旁的高亮度LED聚光灯保证了在光线不足的环境下也能清晰使用。此外,通过鱼骨导轨的设计,用户可以轻松扩展更多战术配件,进一步增强了机器人的功能性。
为了让用户能够充分利用这款机器人的潜力,我们提供了丰富的文档和教程,包括 JupyterLab 的 WEB 应用。无论是机器人技术的初学者还是经验丰富的开发者,都可以通过这些资源一步一步地深入了解、学习和创造。
产品特性
- 高效的大小脑架构:下位机主控为 ESP32,负责精确的电机 PID 控制和多种传感器读取,上位机树莓派 4B 或 5 提供高阶算力,双层架构让机器人运行更高效。
- 开源代码:上位机基于最新版的树莓派系统(Debain Bookworm)开发,WEB 应用基于 Flask、Python 语言,软件平台全部开源,便于用户学习和二次开发。
- 丰富的教程资源:提供丰富的 JupyterLab 交互式教程、图文教程和视频教程,从入门功能到高级功能,用户可以边看教程边学习如何控制机器人,降低小白的机器人技术学习曲线。
- 视角广泛:配备2自由度大扭矩灵活云台,提供横向 360° 全方位广阔的观察角度;搭配一个 160° 超广角的 500 万像素的摄像头,捕捉到更广泛的画面。
- 机器视觉功能:集成了颜色、物体、手势识别,人脸、运动检测等机器视觉功能,可扩展为更多应用。
- 丰富的交互方式:实时视频流、数字变焦、拍照、录像等功能,且 WEB 应用实时视频功能和画面上显示的机器人信息,提高用户交互体验。
- 跨平台远程控制:支持实现跨平台远程控制,无需安装APP,可根据教程使用蒲公英、Cpolar、LocalTunnel等方案进行超出局域网范围的远程控制。
- 可扩展性:结构上配有一个扩展平面和鱼骨导轨,方便扩展其它战术配件;硬件上,LED 灯接口有剩余的,可用于扩展水弹枪等其它外设,产品还可扩展 4G、5G 模块,方便用户实现更多的可能性。
- 结构耐用:2mm 厚度的全铝合金外壳,提供了卓越的结构强度和耐用性。
- 高性能驱动电机:配备两个带编码器减速电机,实现闭环速度控制,最高速度可达 0.35m/s,提供强劲动力。
- 多独立悬挂系统:每侧配有四个独立悬挂,重负载爬坡时,悬挂收缩,后轮会提供格外支撑,拥有优秀的爬坡能力。
- 长续航力:采用 3S 锂电池 UPS 供电系统,支持边充电边使用,确保了长时间的续航能力。
产品组装
该部分组装教程主要包括两个方面,第一是型号名中为 ACCE 版本的产品安装 树莓派 4B/5 以及oak相机和雷达的教程,第二是安装锂电池的教程。
产品基础使用
使用前注意事项
使用前请务必了解以下内容:
- 该产品出厂未安装好锂电池,需要客户自行安装好 3 个 18650 锂电池才可以正常使用。购买 ACCE 型号的客户需要自备树莓派主板,还需安装好树莓派后才可正常使用;海外版的客户需要自行购买 3 颗 18650 锂电池,推荐使用 2200mA 或以上容量,放电倍率 4C 的 18650 锂电池。这两个安装教程请参考【产品组装】。
- 首次接上电池需注意电池模块上是否有 LED 灯亮,如果 LED 灯亮则表示电池的正负极接反,电池未接反不会有 LED 灯亮,请检查并确保电池未接反。电池接反的情况下禁止充电,否则有几率引起爆炸。
- 该产品不能受到剧烈的撞击,且不防水。
首次使用
产品出厂带有的 SD 卡是带有已经配置好软件和 ROS2 功能的镜像,将 SD 卡插在树莓派上即可使用。
首次使用需要先使用配置的 12V 5A 电源线接入到产品的电源接口中,打开电源开关后产品会进行初始化,OLED 屏幕会显示初始化的一系列内容;树莓派在开机的过程中会自动建立一个热点,并且在项目主程序自动运行后会将 IP 地址显示在 OLED 屏幕上,开机完成后 OLED 屏幕显示的内容含义如下:
- 第一行 E:网口的 IP 地址,可以用来远程连接树莓派;No Ethernet 表明此时树莓派上无网线接入。
- 第二行 W:AP 模式下建立热点后,会显示默认 IP 为 192.168.50.5;STA 模式下连接到已知 WIFI 所分配的 IP 地址;显示出的 IP 地址可以用来无线连接树莓派。
- 第三行 F/J:网络端口号,树莓派主程序运行的情况下,5000 用于访问产品主程序控制页面,8888 用于访问 JupyterLab 页面;
- 第四行 AP 表示此时 WIFI 处于 AP 模式下,时间表示设备的使用时长;以 dBm 为单位的数值表示 WIFI 处于 STA 模式下的信号强度 RSSI。
树莓派开机后,
- 若产品没有连接到已知 WIFI,则会自动建立热点,用手机/电脑连接该产品自动建立的热点,热点名称为 AccessPopup,热点密码为 1234567890,连接好后打开浏览器,输入 AP 模式下 设备默认的 IP 地址(该地址会在 OLED 屏幕上的 W 行处显示),即在网址栏中输入 192.168.50.5:5000 访问产品主程序的 WEB 控制界面。
- 若产品连接到已知 WIFI,则可以通过访问树莓派的 IP 地址:5000 来访问产品主程序的 WEB 端控制界面。例如:192.168.10.156:5000。
注意:访问的设备要与树莓派设备在同一个局域网下才可访问成功。
网络配置
如果您想要连接到您自己的 WIFI 网络的话,这部分内容会介绍如何网络配置。网络配置是需要进入到 JupyterLab 页面去配置的,有两种打开 JupyterLab 页面的方式:
- 可以通过主程序的控制界面中的按钮,点击即进入 JupyterLab 页面;
- 可以通过访问设备的 IP 地址:8888 进入 JupyterLab 页面。产品出厂开机默认的是 AP 模式,因此在网址栏中输入 192.168.50.5:8888 即可打开 JupyterLab 页面。
初次连接到已知 WIFI
一般产品配置好的镜像默认的 WIFI 模式都是 AP 模式,初次要切换至 STA 模式连接到已知 WIFI 有以下的步骤:
1. 进入 JupyterLab 页面后,点击页面下方的 Terminal,输入以下指令回车进入项目文件夹。
bash
2.可以看见当前的位置为 ~/ugv_rpi,接着进入 WIFI 配置工具的文件夹,输入以下指令后回车。
cd AccessPopup/
3. 给 AccessPopup 文件夹下的 WIFI 配置脚本增加可执行权限,输入以下指令后回车。
sudo chmod +x installconfig.sh
4. 运行 WIFI 配置脚本,输入以下指令后回车。
sudo ./installconfig.sh
5. 运行脚本后显示如下界面,这里要设置连接到已知 WIFI,因此输入 5 后回车进行新的 WIFI 连接设置。
6. 接着会跳转至添加或编辑 WIFI 网络界面,等待一会,此页面会输出当前设备附近的 WIFI 名,如下所示,每一个 WIFI 前都有一个序号,输入要连接的 WIFI 序号后回车。
7. 接着输入要连接的 WIFI 密码,回车后,该产品会连接到设置的 WIFI 热点。连接成功后,可以在产品的 OLED 屏幕上看见 W 行的 IP 地址变化。
8. 由于 IP 地址的变化,因此 JupyterLab 页面要重新用当前 OLED 屏幕上 W 行的 IP 地址进行访问。该产品连接成功后处于 STA 模式,进入 JupyterLab 页面后还是之前的界面,如下所示,按任意键继续。
9. 最后输入 9 后回车即可退出 WIFI 配置脚本。
连接已知 WIFI 成功后,如果此后产品开机运行时脱离了已知 WIFI 的范围,则该产品会自动建立热点,热点默认的情况下依然是 AccessPopup。
切换 WIFI 模式
- STA 模式切换至 AP 模式
在连接已知 WIFI 的情况下,要让设备切换至 AP 模式建立热点,打开 JupyterLab 页面的 Terminal,输入 bash 进入项目文件夹下,再输入以下指令来建立热点。
sudo accesspopup -a
- AP 模式下再重新切换至 STA 模式
在已经进行过已知 WIFI 配置后,要让设备从 AP 模式切换至 STA 模式,输入以下指令来重新连接到已知 WIFI。
sudo accesspopup
注:只要是切换了 WIFI 模式,产品主程序的控制界面和 JupyterLab 页面的 IP 地址都要相对应地刷新才能访问。
删除已知 WIFI
- 打开 JupyterLab 页面的 Terminal,输入 bash 进入项目文件夹下。
- 输入以下指令来查看所有网络连接的信息。
nmcli connection show
- 输入以下指令进行已知 WIFI 的删除,需要将下述指令中的<connection_name>替换为需要删除的 WIFI 名称。
sudo nmcli connection delete <connection_name>
注:如果您删除的是当前设备所连接的已知 WIFI,则删除后该产品会自动建立热点,热点默认的情况下依然是 AccessPopup,访问 JupyterLab 页面的 IP 地址要刷新才能接着使用。
SSH 服务开启
如果您烧录的是方法一的镜像,可以根据这部分内容开启 SSH 服务。SSH 服务仍然可以进入到 JupyterLab 页面去开启的,有两种打开 JupyterLab 页面的方式:
- 可以通过主程序的控制界面中的按钮,点击即进入 JupyterLab 页面;
- 可以通过访问设备的 IP 地址:8888 进入 JupyterLab 页面。如果您烧录的是方法一的镜像,产品默认的还是 AP 模式,因此在网址栏中输入 192.168.50.5:8888 即可打开 JupyterLab 页面。
1. 进入 JupyterLab 页面后,点击页面下方的 Terminal,输入以下指令回车进入项目文件夹。
bash
2. 在该终端中输入以下指令,使用 raspi-config 官方配置工具开启 SSH 服务。
sudo raspi-config
3. 进入 raspi-config 工具中用键盘方向键上下选择到“Interface Options”,按 Enter 回车键。
4. 选择“SSH”后,按 Enter 回车键。
5. 选择“Yes”启用 SSH 服务。
6. 启用 SSH 服务后,方向键左右选择“Finish”完成后退出,输入“sudo reboot”进行系统重启。
产品教程目录
产品上位机使用
- 01 JupyterLab 基础和机器人介绍
- 02 Python 底盘运动控制
- 03 云台控制和 LED 灯控制
- 04 OLED 屏幕控制
- 05 在 JupyterLab 中构建 UI 界面
- 06 获取底盘反馈信息
- 07 使用 JSON 指令控制下位机
- 08 下位机 JSON 指令集
- 09 开机自动发送指令
- 10 播放音频文件
- 11 文字转语音 (TTS)
- 12 使用 Flask 实现低延时图传
- 13 在 Jupyter Lab 中显示实时画面
- 14 延时摄影
- 15 OpenCV 运动检测
- 16 通过按键控制拍照
- 17 OpenCV 人脸识别
- 18 基于 DNN(深度神经网络)的物体识别
- 19 基于 OpenCV 的颜色识别
- 20 基于 OpenCV 的颜色追踪
- 21 基于 OpenCV 的巡线自动驾驶
- 22 基于 MediaPipe 的手势识别
- 23 基于 MediaPipe 的人脸识别
- 24 基于 MediaPipe 的姿态检测
- 25 简易的 WEB 应用
- 26 主程序架构介绍
- 27 YAML 配置文件设置
- 28 Crontab 开机自动运行脚本
- 29 自定义命令行功能
- 30 WEB 命令行应用
- 31 基于蒲公英的远程控制
产品 ROS2 使用
- UGV Beast PI ROS2 1. 准备工作
- UGV Beast PI ROS2 2. RViz 查看产品模型
- UGV Beast PI ROS2 3. 使用手柄或键盘控制
- UGV Beast PI ROS2 4. 基于激光雷达的二维建图
- UGV Beast PI ROS2 5. 基于深度相机的三维建图
- UGV Beast PI ROS2 6. 自动导航
- UGV Beast PI ROS2 7. 导航与 SLAM 建图
- UGV Beast PI ROS2 8. Web 端自然语言交互
- UGV Beast PI ROS2 9. Web 端控制工具
- UGV Beast PI ROS2 10. 指令交互
- UGV Beast PI ROS2 11. Gazebo 仿真调试
资料下载
3D 图纸
STEP 模型
ROS2 开源项目
- 项目地址:UGV Beast ROS2 功能包
产品开源程序
技术支持
联系人:方工
EMAIL:2355742825@qq.com
QQ:2355742825
微信:扫下方二维码添加