X3芯片概述 BPU是地平线自研的AI加速核,在设计过程中具体结合了AIoT/Auto的场景需求,从算法、计算架构、编译器三个方面进行了软硬协同优化,使得在功耗不变前提下提高数倍的AI计算性能。X3和J3芯片各内置了两个伯努利2.0的BPU核,它极大提升了对先进CNN网络的支持,同时大大降低了DDR带宽占用率,可提供实时像素级视频分割和结构化视频分析等能力。 详细的内容请参考地平线芯片开发手册
对于动手能力强的开发者来说,开发机器人的过程中会涉及到机器人结构的设计,所以就会需要X3派的3D模型来辅助机器人结构的设计。 本次优化是为了方便电脑配置不高、3D建模工具不好的情况下顺利导入、加载3D模型。 原作者:MakerYang 原链接:原文详见地平线开发者社区(点击此处一键直达,3D打印所需的STL文件详见此处)
1972年6月,hello world首次诞生,出现在贝尔实验室的C语言教程中,从此每一位程序员改变世界的梦想都从这里起航; 五十年后,2022年6月,地平线旭日X3派面世,来到各位机器人开发者的手中,从此助力开发者快速上手实现自己的机器人梦; 在短短的四个月时间内,X3派的开发者们创造出一个又一个新奇的产品,同时也给出了诸多有效反馈,为了回馈各位开发者,地平线开发者社区发起了本次
I2C同步串行通信 SPI通信虽然功能更强大了,但是需要4根线做连接,还是有点复杂,接下来I2C的连线就简单很多了。 I2C通信原理 I2C也是一种常用的串行通信方式,和SPI一样可以连接多个设备,重点是它只需要两根线就可以完成 不过他的两根线和UART不同,不全是传输数据用的,I2C中的一根线是时钟线,另一根才是传输数据的,这根线可以双向的传输数据。 I2C通信中可以有多个主设备或
0 前言 本文主要讲解如何基于PC端模拟器仿真推理,下面以最新发布的XJ3的v1.12.7版本包里00-quickstart示例(ddk/samples/ai_toolchain/horizon_runtime_sample/code/00_quick_start)作一个简要说明。主要包括示例包结构说明、环境准备、编译、运行、结果展示五个部分。 1 示例包结构说明 x86仿真示例
1 引言 目前地平线浮点转换工具链需要依据 yaml 配置文件实现模型转换,而某些参数如果配置有误将会导致最终模型的性能/精度不理想,甚至直接转换失败,本文将针对 yaml 文件中的相关配置项进行说明,作为工具链文档的额外补充。 Note:随着工具链版本迭代,yaml 参数可能会有细微调整,本文以 v1.9.4 版本 MobileNet-v1为例进行说明。 2 概述 整个 yaml 文
SPI同步串行通信 UART串口通信中的数据只能一位一位的传输,如果数据量比较大的时候,传输速率会受到很大影响,此时我们就可以考虑使用同步串行通信了,比如SPI。 SPI通信原理 SPI,全称是Serial Peripheral Interface,也就是串行外设接口,同样是一种通信协议,在很多芯片中都有集成。 相比之前学习的UART串口通信,他多了两根线,其中一个是时钟信号,另一个是
UART串口通信 现在的传感器和执行器种类越来越多,需要和控制器传输的数据也是多种多样,只用GPIO来控制和读取的话,只有0和1的状态,未免还是有点麻烦,各种各样的通信方法也层出不穷,UART串口通信绝对是最为常用的一种。 串口通信原理 串行通信是一种通讯协议,也可以简称为串口,可以理解为数据是串成一串的,所以也就只能一位一位的发送,这样传输的速度虽然受到了限制,但是对硬件线路的要
PWM脉冲宽度调制 我们已经可以用GPIO控制LED灯一闪一闪亮晶晶了,这样只有亮和灭的状态似乎还是太简单了,能不能对LED的亮度进行调整呢? 当然没问题,这就要用到接下来学习的PWM脉冲宽度调制了。 PWM脉冲宽度调制原理 在GPIO的数字输入和输出模式中,只有高低电平,高电平一般是3.3V或者5V,低电平就是0V,如果我想要一个折中一点的电压怎么办呢?PWM大家了解一下。 P
TogetherROS示例运行接下来,我们就在安装配置好TogetherROS的旭日X3派上,试一试系统自带的一些例程,确保整个系统已经可以正常运行。 通信测试先来测试一下TogetherROS系统的通信功能。 我们需要启动两个终端,分别连接到旭日X3派上,并分别按以下命令配置环境变量。 终端1: bash $ source /opt/tros/local_setup.bash
数字输入与输出 数字输入与输出是最常用的一种外设通信方式,虽然每一个端口只有0和1两种状态,但却可以组合出各种各样的变化。 数字输入与输出原理 数字输入与输出,也称为通用输入输出,全称是General-purpose input/output,大部分情况下,我们都会用简称GPIO GPIO的功能,主要是指这个管脚可以作为数字信号的输入或者输出使用,到底是输入还是输出呢,这需要我
分布式通信配置 智能机器人的功能繁多,全都放在一个计算机里,经常会遇到计算能力不够、处理出现卡顿等情况,如果可以将这些任务拆解,分配到多个计算机中运行岂不是可以减轻压力? 这就是分布式系统,可以实现多计算平台上的任务分配。 分布式通信 什么叫分布式? 机器人功能是由各种节点组成的,这些节点可能位于不同的计算机中,这种结构可以将原本资源消耗较多的任务,分配到不同的平台上,减轻计算压
零拷贝数据传输 在传统操作系统的数据传输过程中,系统内部会在磁盘、内存、缓存中多次进行数据拷贝,每次都会占用CPU的资源,数据量小的时候还好,随着数据量的增加,CPU的开销也会持续增加,尤其是在机器人图像数据的应用中 ,经常会发生这种问题,导致CPU都在做数据拷贝,没有时间处理其他的应用功能了,直接的感觉就是处理卡顿。 零拷贝技术 针对这种问题,零拷贝技术应运而生。 零拷贝主要的任务就是
多节点动作通信 机器人是一个复杂的智能系统,并不仅仅是键盘遥控运动、识别某个目标这么简单,我们需要实现的是送餐、送货、分拣等满足具体场景需求的机器人。 在这些应用功能的实现中,另外一种ROS通信机制也会被常常用到——那就是动作。从这个名字上就可以很好理解这个概念的含义,这种通信机制的目的就是便于对机器人某一完整行为的流程进行管理。 通信模型 举个例子,比如我们想让机器人转个圈,这肯
多节点服务通信 话题通信可以实现多个ROS节点之间数据的单向传输,使用这种异步通信机制,发布者无法准确知道订阅者是否收到消息,本讲我们将一起学习ROS另外一种常用的通信方法——**服务**,可以实现类似**你问我答的同步通信**效果。 通信模型 在之前的课程中,我们通过一个节点驱动相机,发布图像话题,另外一个节点订阅图像话题,并实现对其中红色物体的识别,此时我们可以按照图
多节点话题通信 节点实现了机器人各种各样的功能,但这些功能并不是独立的,之间会有千丝万缕的联系,其中最重要的一种联系方式就是话题,它是节点间传递数据的桥梁。 通信模型 以两个机器人节点为例。A节点的功能是驱动相机这个硬件设备,获取得到相机拍摄的图像信息,B节点的功能是视频监控,将相机拍摄到的图像实时显示给用户查看。 大家可以想一下,这两个节点是不是必然存在某种关系?没错,节
无论是旭日X3派,还是TogetherROS,在正式使用之前,都还需要进行一些必要的配置,完善必要的功能模块,提供完整的算力支持,达到最佳状态。 网络连接 第一个配置,是无线网络连接。 当然,大家也可以直接用网线连接旭日X3派和一个可以上网的路由器,不过更多时候,我们还是会使用无线网络来上网。 我们打开MobaXterm,选择SSH,使用root用户登录板卡;如果之前登录过
摘要: 在AI操控机器人系列第二期的人体跟随教程中,身为地平线资深程序员的奶爸朱靠,使用地平线发布的机器人开发平台TogetherROS软件栈,搭建了人体跟随机器人。 同为开发者的梁雪,期待AI的世界,想让自己的生活也AI一把,并且一向是个能动口绝不动手的懒人,于是热衷于体验各类AI机器人,尤其是动动口就能操控的机器人,想着有朝一日过上“能只动口绝不动手”的生活,于是乎,就有了下面的这些体验。
我们在旭日X3派上安装系统镜像,并进一步完成TogetherROS系统的安装,大家如果手上有开发板的话,建议跟随课程一起操作。 先来了解一下TogetherROS系统安装的整体流程,第一步,要完成硬件的准备,我们需要找到一块旭日X3派的开发板,并且准备好电源线、SD卡、读卡器、串口模块等必要的配件,当然还需要有一台操作的电脑啦。 硬件都准备好之后,就可以进入第二步,给旭日X3派下载并安装Ubu
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信