Jetson 26 主程序架构介绍
来自Waveshare Wiki
主程序架构介绍
文件结构和功能介绍
- ugv_jetson
- [文件夹] media (README.MD 素材)
- [文件夹] models (预训练的模型)]
- [文件夹] sounds (用于存储音频文件,可以在这里配置语音包)
- [文件夹] templates (WEB 应用的相关资,照片与视频也存在这里面源)
- [文件夹] tutorial_cn (中文版交互式教程)
- [文件夹] tutorial_en (英文版交互式教程
- LICENSE (GPL-3.0 开源协议))
- app.py (产品主程序,包 webRTC、 web-socket 和 flask 相关功能)
- asound.conf (声卡配置文件)
- audio_ctrl.py (音频功能相关的库)
- autorun.sh (配置产品主程序和 jupyterlab 开机自动运行的脚本
- base_camera.py (flask 实时视频的底层多线程采集的库,原项目为 flask-video-streaming)
- base_ctrl.py (与下位机通信的库,通过串口与下位机进行通信)
- config.yaml (配置文件,用于配置一些参数
- cv_ctrl.py (OpenCV相关功能)
- os_info.py (用于获取系统信息的库)
- requirements.txt (python项目依赖库)
- setup.sh (自动安装脚本)
- start_jupyter.sh (开启 jupyterlab 服务器
- sunny (sunny-ngrok 程序))
安装脚本
在项目文件夹中有一个名为 setup.sh 的文件,使用 shell 编写,可以帮助自动配置机器人产品的上位机,包括设置串口、设置摄像头、创建项目虚拟环境和安装依赖库等。这些步骤在我们出厂的SD卡的镜像中都是已经配置好的了。
安装脚本使用方法,安装过程需要从网络下载并安装很多依赖库,对于网络环境比较特殊的地区我们推荐你使用直接从我们官网下载镜像文件的方法来安装产品。
setup.sh 需要使用 root 权限来运行。
cd ugv_jetson/ sudo chmod +x setup.sh sudo ./setup.sh
自动运行程序
项目文件夹中的 autorun.sh 用于配置产品主程序(app.py)和 jupyterlab(start_jupyter.sh)的开机自动运行(以用户身份而非 root),同时生成 jupyterlab 的配置文件。
autorun.sh 需要使用用户权限来运行。
sudo chmod +x autorun.sh ./autorun.sh
更新项目
本项目会长期更新,当你需要更新是,只需要导航到项目文件夹内即可使用 git pull 命令来更新,注意该操作会替换掉之前你所做的变更,更新后你需要更改 config.yaml 内的参数,设置底盘类型和模块类型,你也可以使用 WEB 端控制界面的命令行工具来配置产品类型。
cd ugv_jetson/ git pull
设备重启后,打开 WEB 端控制界面,输入用来设置产品类型的指令,例如:s 20
第一位数字2代表底盘类型,第二位数字0代表没有模块或云台模块。
第一位数字:
- 1:RaspRover
- 2:UGV Rover
- 3:UGV Beast
第二位数字:
- 0;None/PT
- 1: RoArm
- 2: Pan-Tilt
该配置更新后或重装后只需要配置一次,会被保存在 config.yaml 中。
开源项目
本项目以 GPL-3.0 协议开源,你可以根据我们的项目来实现自己的项目,我们同时也会在后续持续更新更多功能。