1.Jetson Agx Orin刷机及ubuntu系统使用
2.天准vga-xavier智能相机环境搭建和服务部署
3.星光级摄像头模组VEYE-MIPI-327接入Tegra Jetson Nano
4.NVIDIA Jetson Nano使用指南
5.英伟达jetsonano连接外部蓝牙设备报错?源码
6.NVIDIA Jetson NX安装torchvision教程
Jetson Agx Orin刷机及ubuntu系统使用
orin踩坑教程
一、Jetson Agx Orin 刷机
1. 需下载SDK管理器sdkmanager,源码需注册NVIDIA账号。源码
2. 将Orin设备进入Recovery模式,源码未开机状态需长按Force Recovery键并通电;已开机状态需长按Reset键再松开。源码
3. 在Ubuntu PC终端输入sdkmanager,源码怎么写源码值钱选择登录账号和设备型号,源码创建用户名和密码,源码等待安装完成。源码
4. 连接Orin设备至网络,源码确保与Ubuntu PC在同一局域网下,源码使用手机热点连接。源码
5. ping Orin IP地址验证连接。源码
6. 等待CUDA等组件自动安装。源码
二、源码系统时间校准
输入命令校准系统时间。
三、ubuntu系统挂载新硬盘及硬盘格式化
1. 查看磁盘信息,识别新硬盘设备名。
2. 进行分区,创建新文件系统。
3. 挂载新分区至/home目录。
4. 复制/home数据到新分区,重命名原目录,创建新空目录并挂载。
5. 修改新目录权限。
至此,新硬盘空间添加至/home。
四、配置ROS环境及VsCode安装
使用特定工具一键安装ROS。
五、在jetson上安装chromium
下载arm版本的chromium安装包。
六、在jetson上安装qq
选择arm版本的QQ安装包。
七、安装jtop
使用特定命令安装。
八、安装Anaconda、cuda、cudnn、pytorch、Tensorrt
1. 下载aarch的Anaconda安装包,安装并验证。
2. 查看CUDA、Cudnn版本,复制头文件与库文件至对应目录。
3. 安装Pytorch与torchvision。
4. 安装Tensorrt。
九、realsense SDK、realsense-ros、pyrealsense2安装
1. SDK源码安装,如出现问题,请查阅相关文档。
2. realsense-ros安装并测试。
3. 使用脚本安装pyrealsense2,肇源码头摊位并根据提示操作。
十、jetson中,安装所需的包
记录在arm环境下安装特定包的命令。
十一、Error And Solution
解决刷机、ROS配置等过程中的常见问题。
十二、推荐网站
NVIDIA Jetson AGX Orin 开发环境配置 - Miraclefish
github.com/yqlbu/jetson...
天准vga-xavier智能相机环境搭建和服务部署
天准智能相机环境搭建与服务部署指南
一、环境检查
- 查看系统版本
# sudo lsb_release -a
# df -h
- 设备版本
# Cat /proc/version
- 硬件架构查询
# arch
- 查看默认安装软件
# jetson_release
- 评估服务器性能
检查CPU、内存、硬盘等资源占用情况
二、基础环境安装
- SSH服务器配置
# 打开SSH服务器配置文件
# vi /etc/ssh/sshd_config
将PasswordAuthentication no 修改为 PasswordAuthentication yes
保存退出并重启SSH服务
- SSH连接服务器
使用perception用户登录服务器
三、三方库安装
- XAVIER 版本依赖环境安装
- ORIN 版本依赖环境安装
- 安装对应库源码并编译
参考链接:blog.csdn.net/weixin_...
- 编译与安装
使用make和make install
- 赋予执行权限
例如:chmod u+x ./ffbuid/version.sh
- 建立软连接
sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/bin/ffmpeg
sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/bin/ffprobe
四、其他
- 网络连接
# vim /etc/network/interfaces
修改为dhcp模式,动态分配IP
- 服务器时间同步
检查与设置时区
启用网络时间协议(NTP)同步
手动设置时间
确保时间同步持久化
五、优化内容
- pb版本更换
执行编译命令生成对应pb文件
优化cmakelist.txt文件,实现自动编译
- 通信模块自动识别
在cmakelist.txt中配置依赖库匹配
- 模块配置
从顶层目录传入硬件架构相关配置路径
- OpenCV4.5.4安装问题
确认缺少头文件原因,可能需更新或重新编译相关依赖库
星光级摄像头模组VEYE-MIPI-接入Tegra Jetson Nano
VEYE-MIPI-是天津中安亿嘉科技的创新之作,特别针对低光环境设计,采用标准的x毫米尺寸,以主板加转接板的形式,兼容各类嵌入式系统,如机器视觉、智能分析、工业控制、人脸识别和车载应用等多元化场景。
对于Jetson Nano平台来说,VEYE-MIPI-的IMX版本更是亮点,它凭借卓越的低照度性能,以极具竞争力的价格元,被业界赞誉为良心之选。这款摄像头模块不仅能提升设备在暗光环境下的表现,还能有效降低成本。
想要深入了解如何将VEYE-MIPI-接入Jetson Nano,可以参考以下的使用指南:
此外,GitHub上也提供了相关的源代码资源,便于开发者更便捷地集成和调试。
如果需要购买或寻求更多支持,可以通过淘宝链接获取,联系邮箱是xumm@csoneplus.com。
NVIDIA Jetson Nano使用指南
本文旨在提供NVIDIA Jetson Nano的使用指南,分享个人在端侧机器学习系统课程助教和PRP相关研究项目中的经验。如有疑问,欢迎在评论区留言。先前也撰写过关于树莓派的经验帖,欢迎关注。
Jetson系列专注于边缘端AI平台,自年发布Pascal架构的TX2子系列,至年推出Ampere架构的Orin子系列,涵盖Nano、TX2/NX、AGX等型号,满足入门级、主流级和自主机器市场的qt开发实战源码需求。Nano是尺寸最小、性能最弱、价格最低的型号。
Jetson开发板一般包含核心板和载板两层。核心板集成了Tegra架构SoC、CPU、GPU、内存和视频编解码器等,带有eMMC闪存。载板提供额外的外设接口,如HDMI、网口、USB等。Nano型号的官方载板和国产载板在布局上基本一致。
硬件准备包括:Nano开发板、无线网卡(推荐高级套件,避免干扰)、数据线(Micro-USB和DC接口)、电源(推荐5V3A或更高,避免使用过长电源线)、外壳(保护电路避免意外损坏)。注意Micro-USB和Mini-USB的区别。
固件刷写包括BootLoader和Linux内核。使用VMWare加载虚拟机,确保硬件资源设置为1个CPU和1个线程,通过短接控制引脚和Micro-USB连接实现硬件与虚拟机的连接,然后进入/home/linux_for_Tegra文件夹,运行终端命令,输入密码nvidia完成刷写。
系统烧录需要使用balenaEtcher工具,选择TF卡作为目标,加载并执行烧录过程。此过程中使用的系统镜像包含了Jetpack4.6.1和CUDA.2,适用于Nano。
分区扩容可通过GParted工具实现,更新apt源为清华源以优化网络体验,安装GParted并扩展主分区至TF卡最大容量。
配置风扇自启动,编辑自启动脚本以实现开机时风扇启动,确保系统散热。
SSH远程登录配置包括静态IP地址设置和免密登录,以支持远程访问Nano系统。
深度学习环境配置涉及PyTorch和torchvision的安装,需要在官网下载预编译的whl文件或从源码编译安装,确保兼容aarch架构。
VSCode远程开发环境配置包括安装Remote Development插件,设置远程连接,通过SSH终端连接Nano系统进行编程。
通过MNIST神经网络时延测试,评估Nano在端侧机器学习应用中的性能,包括硬件限制和资源消耗,提供直观的速度对比。
英伟达jetsonano连接外部蓝牙设备报错?
解决英伟达Jetson Nano连接外部蓝牙设备报错问题的步骤如下:
首先,检查Jetson Nano默认内核是否支持RFCOMM协议,执行命令:lamb@lamb-desktop:~$ zcat /proc/config.gz | grep RFCOM
结果显示:CONFIG_BT_RFCOMM=y,php代理源码论坛 但CONFIG_BT_RFCOMM_TTY未设置,这意味着默认内核不支持RFCOMM协议。
解决方法是重新编译kernel源代码,具体步骤参考这篇博客:blog.hypriot.com/post/n...,在menuconfig的panel上找到RFCOMM选项,激活它。
编译完成后,使用命令sudo rfcomm bind 0 ::3E:4B::,可以创建出/dev/rfcomm0串口。
至此,Jetson Nano成功连接外部蓝牙设备,问题解决。对于Linux的了解还需继续深入,持续学习。
NVIDIA Jetson NX安装torchvision教程
安装 torchvision 前,先确保已安装 pytorch,参考相关教程进行操作。
首先,切换至国内软件源,执行更新操作。
安装 torchvision 所需依赖。
使用 dpkg 手动安装时,注意到 libpython3-dev 未有候选版本,需手动安装。安装其他依赖已满足。
下载 arm 架构的 libpython3-dev_3.6.7-1~._arm.deb 包,确保版本与当前 python3(3.6.9)兼容。
使用 dpkg -i 安装 deb 包,若遇到依赖问题,直接在网页中查找所有依赖的下载链接。
安装 libpython3-dev 的依赖 libpython3.6-dev 时,出现版本不正确的错误。分析后发现 libpython3.6-dev 需要的版本为 3.6.9-1~.ubuntu1.4,已有的版本为 3.6.9-1~.,因此安装 libpython3.6-dev 的候选版本 libpython3.6-stdlib 中最后一个版本,即为所需版本 3.6.9-1~.ubuntu1.4。
安装 torchvision 源码,确保 pytorch 和 torchvision 版本匹配,如 torch 1.6 版本对应 torchvision 0.7.0 版本。
使用码云账号注册并导入 torchvision 仓库,完成代码下载。
进入 torchvision 目录,使用命令编译,通常需时约十分钟。
当出现 pillow 报错时,说明 torchvision 近于安装成功。返回上一级目录,使用 pip/pip3 安装 pillow。
若下载速度慢,可使用国内豆瓣源下载安装 pillow。
安装 pillow 后,再次尝试导入 torch 仍报错,需再次进入 torchvision 目录进行编译安装。这次配置完成迅速。
使用 pip3 list 查看已安装包及版本,确认 torchvision 安装完成。货车拼单源码
执行卷积神经网络训练,速度比本地快四倍。使用 jtop 监控 CPU、GPU 运行情况,观察在 Jetson Nano 上使用 pytorch 并设置 CUDA 进行训练时,主要由 GPU 执行计算,W 功率能达到的算力相当不错。
在Jetson AGX Orin上体验LLaMA2
探索在Jetson AGX Orin上使用LLaMA2的体验
首先,访问LLaMA2模型官网并申请新的下载链接,务必谨慎填写信息。
收到邮件后,将其暂时留存,以备后续使用。
随后,打开终端并创建conda环境(命名'llama'),安装所需python版本(Python 3.8)。
激活环境并切换至/home1/zhanghui目录,克隆LLaMA2仓库,进入目录执行下载脚本。
输入邮箱提供的URL和模型类型(先选择7B)进行下载,文件将保存至当前目录和./llama-2-7b文件夹内。
下载完成后,使用pip安装LLaMA2代码。
在example_text_completion.py中,通过torchrun命令运行文本补全示例,指定模型目录、分词器路径、最大序列长度和最大批量大小。
查看结果,文本补全任务已经完成,生成了自然的文本延续。
尝试更换torch版本,如torch 2.1,重复上述步骤,发现结果相似。
若想在Jetson AGX Orin上编译torch,需从源码构建。
创建目录newpytorch,激活环境后,调整系统性能设置,克隆pytorch仓库,并配置环境变量。
使用pip安装所需依赖,编译pytorch,并将编译好的whl文件安装至系统。
在llama目录下运行文本补全示例,检查结果。
发现结果不完整,调整参数后,文本补全效果更佳。
尝试使用不同的对话示例,通过调整dialog列表大小来优化模型性能。
为便于Jetson AGX Orin的使用,提供预编译的torch 2.0.1安装包,链接: pan.baidu.com/s/dutA5... 提取码: 9snu。
对于LLaMA2-chat对话示例,修改对话列表以适应模型处理能力。
通过调整max_seq_len和max_batch_size,以及优化dialog列表,提高对话完成的效率和质量。
ROS开源项目:(一)中文语音交互系统ROSECHO (二)教学级别无人车Tianracer
开发之路永无止境,往往在最后期限的白板上写着的计划,往往只是一份空想。年初时,我定下了两个目标,计划在年末完成,然而时间在拖延中流逝,直到如今,我才发现,真正的开源精神并非一个人的单打独斗,而是众人协作的火焰。
记得一年前,我四处奔波,从开源社区汲取养分,同时也渴望贡献出自己的力量。然而,回顾过去,我却发现并没有做出任何贡献。这次,我希望能够集结各路伙伴,如果有志于参与开源项目,我们能共同打造一个GitHub上的百星、千星项目。几位资深程序员已经搭建好了基础,硬件改进较多,但程序完善程度未达预期。我们期望有更多的年轻朋友加入我们,与我们一起学习软件的版本控制、代码规范和团队协作,共同完成复杂的机器人项目,实现成长与蜕变。
(一)中文语音交互系统ROSECHO
ROSECHO的GitHub源码库已准备好,欢迎先star再深入阅读。此代码遵循BSD开源协议。
详细中文介绍文档
面对智能音箱市场,许多人或许会质疑我们的团队为何要涉足这个领域。然而,故事并非如此简单。在年,我们计划为一个大型展厅打造讲解机器人,采用流行于Android系统的接待引导机器人,其语音交互功能本无问题,但当时的挑战在于,尚未有集成cartographer在数千平米展厅中进行建图导航的方案。因此,我们决定打造一款完全基于ROS的讲解机器人。市场上虽然有众多智能音箱,但缺乏适用于ROS二次开发的产品。在科大讯飞一位大佬的介绍下,我们选择了AIUI方案,虽然开发难度大,但高度定制化,非常适合我们这样的开发团队。于是,我们主要任务转变为开发一款能够在ROS下驱动的智能音箱,ROSECHO便由此诞生。
第一版智能音箱在年4月问世,包含W的大喇叭、6环麦克风,以及ROS主控制器,下方控制了一个云迹科技的水滴底盘。了解过ROS星火计划进阶课程的朋友大概知道,课程中的大作业之一是语音命令移动机器人端茶倒水,而我们的任务相当于完成了一个加强版的大作业。
整个机器人在年7月完成,音箱分散到身体各个部分,环麦位于头顶,喇叭置于身体两侧。其他传感器、执行机构、决策、定位导航均基于ROS,定制了条特定问答,调试的机器人在场馆中行走上下坡不抖动,定位准确,7*小时工作稳定。音箱在大机器人上使用效果出色,主要得益于讯飞的降噪和回声消除技术,使得远场对话和全双工对话得以实现。社区中许多小伙伴也尝试了软核解决方案,但由于环境限制较大。于是,我们决定将音箱从大家伙改为普通智能音箱大小,通电即为智能音箱,USB接入ROS后,只需启动launch,即可接收语音识别结果,发送TTS语料,配置网络、接收唤醒角度等。
这次体验深刻地让我认识到,做大容易做小难。过完春节后,年8月ROS暑期夏令营期间,我们做了N款外壳,测试了M种喇叭,贴了P版外围电路,程序则改动不大。主要是由于时间有限,无法进行更多改进。样品均为手工制作,音质上,7w的喇叭配有一个无源辐射板,对于从森海HD入门的人来说,音质虽有瑕疵,但足以满足日常使用。
之前在想法中发布了一个使用视频,大家可参考运行效果。
ROSECHO基本情况介绍完毕,如何开始呢?
从零开始:推荐给手中已有讯飞AIUI评估板的小伙伴,记住,评估板而非麦克风降噪板(外观相似,简单区分是评估板售价元,降噪板元)。手头的评估板可通过3.5mm接口连接普通电脑音箱,再准备一根USB转转换头连接评估板DB9接口。后面需要根据实际串口修改udev规则,理论上可配合ROSECHO软件使用。硬件工作量较大,还需包含移动机器人所需机械设计、电气改造等。好处是拥有AIUI后台,可以定制云端语料和技能,但这又是另一个领域的能力,也不是三下五除二能完成的。
从ROSECHO开始:直接购买ROSECHO,首发的十台会附赠ROS2GO,只需连接自带电源并用USB线连接电脑,配置无线SSID和密码即可。连接方便,我们维护云端语料,人设为智能机器人管家,大家只需关注如何利用识别后的词句控制机器人和进行应答。云端问答AIUI处理,一些自定义问答可在本地程序中处理,务必联网,因为语音识别本身需要网络。具体软件启动和简单demo请查看GitHub软件库的说明。
然后做什么:要实现智能语音交互功能的移动机器人,需要对ROS中的actionlib非常熟悉。我们提供了简单的demo,可以控制机器人在turtlebot stage仿真环境中根据语音指令在两点之间移动,也可以根据唤醒方位进行旋转。之后还需增加音箱的TF变换。
大机器人中的状态机采用层次状态机(Hierarchical state machines),适用于移动机器人的编程,框架准备开源,方便大家开发自己的智能移动机器人策略。参考下面链接,希望深入了解也可以购买译本,肯定是比ROS By Example中的Smach状态机更适合商用级产品开发。
还计划做一套简单的语音遥控指令集,机器人问答库,在iflyos中构建适合机器人的技能库。何时能完成尚不确定,大家一起加油!
(二)教学级别无人车Tianracer
GitHub源码库已准备就绪,欢迎先star再深入阅读。遵循Hypha Racecar的GPLv3协议。
这是最近更新的详细使用手册。相比ROSECHO,Tianracer的基本功能均已完成,至少可以拿来学习建图导航,了解SLAM。
Tianracer是一个经过长时间准备的开源项目,年从林浩鋕手中接过Hypha Racecar后,希望将项目发扬光大。这两年改进了软件框架、周边硬件、机械结构,并增加了新的建图算法,但仍有大量工作待完成。这两个月在知乎想法和微信朋友圈分享了项目的进展,经历了多次迭代,现在大致分为入门、标准、高配三个版本。三个版本的软件统一,可通过环境变量更改设置。
最近整个项目从Tianbot Racecar更名为TianRacer,经过长时间探索,终于实现了合理的传感器与处理器配置。相比Hypha Racecar,处理器从Odroid XU4更改为NVIDIA在上半年推出的Jetson Nano,车前方增加了广角摄像头,利用Nano的深度学习加速,可以接近实时处理图像数据。相比之前的单线激光,广角摄像头大大扩展了后续可实现的功能。
TianRacer基本使用Python编写,从底层驱动到遥控等,目的是方便大家学习和二次开发。同时集成了cartographer和vins-fusion启动文件,可以尝试新的激光与视觉SLAM,基于Nano的深度学习物体识别等也是可以直接运行的。但目前功能尚未有机整合。
从零开始搭建:TianRacer搭建可能难度较大,不仅需要RC竞速车的老玩家进行机械电子改装,还需要对ROS熟悉并修改软件以进行适配,同时可能需要嵌入式程序员的帮助。对于主要关心搭建的朋友,可以参考小林的Hypha Racecar和JetRacer Tamiya版本的搭建指南。
从TianRacer开始:这批开发版本的无人竞速车附赠搭好环境的ROS2GO,TianRacer本身有开机自启功能,利用ROS2GO加上USB线对车体进行网络配置,就可以远程编程和调试。仔细参考提供的TianRacer看云文档(文档积极更新),大部分车体自带的功能都可以实现,包括但不限于建图、定位、导航、识别等。
然后做什么:利用TianRacer学习无人车的基础框架,还可以通过JupyterLab学习Jetson Nano的深度学习算法。未来计划将交通标识识别、行人和车辆检测、车道线检测等无人车基础功能融合,但不确定Jetson Nano的算力是否足够。目标是在校园内进行低成本的无人车竞速比赛,希望像CMU的Mobot室外巡线比赛一样持续发展,至今已举办届。
这个视频是搬运自YouTube。大家可深入了解非结构环境下的导航。对于不清楚结构化环境与非结构化环境的朋友,CMU和恩智浦的比赛完美诠释了两者之间的区别。
一起来玩耍吧!
在开源社区协作方面,我们也是第一次尝试,对于松散的协同开发经验不足,希望参与或组织过大型开源项目的朋友们加入我们,一起努力。有兴趣的朋友可以留言或私信。
前几日与朋友们闲聊时,想起几年前高翔博士赞助一锅粥(orb-ygz-slam)1万元时,我也只能提供支持。这次真心希望可以贡献出代码,实现实实在在的贡献。
年年底发布了开发者申请价格,但数量有限,早已连送带卖售罄。年又有几十位爱好者填写了问卷,忘记查阅。每年的双十一双十二我们都会有优惠活动,感谢大家的关注。
Jetson nano部署Yolov8
于年1月日成功完成了Jetson nano B的Yolov8部署,无需科学上网,准备工作包括U盘。
1. 安装流程首先从官网获取Jetson nano开发者套件SD卡镜像并下载(压缩文件需解压)。
1.2 使用Etcher工具进行烧录
2. 配置Python环境:推荐Python 3.8,因ultralytics要求。创建独立环境,具体步骤如下:
2.1 安装基础环境
2.2 下载Python 3.8源代码至Jetson Nano
2.3 解压并进入Python-3.8.文件夹进行后续操作
2.4 到Python-3.8.中编译并配置Python环境
3.1 安装PyTorch和Torchvision:由于平台不兼容,需手动下载预编译和编译安装
3.2 将下载的文件传输至U盘,通过终端在Jetson nano中安装
3.3 安装ultralytics,注意在激活独立环境后操作
4. 使用时,每次启动需打开独立环境,可能遇到libomp.so.5库缺失,需安装OpenMP库解决
5. 个人简介:拥有丰富的学习和竞赛经历,目前准备出国留学,目标是新加坡国立大学的机器人学研究生
5.2 可通过以下方式联系:
CSDN主页,小红书和抖音,Gitee和Github代码仓库,以及ac@.com邮箱和微信。