0x01 开箱开箱
前几天逛着地平线的开发者社区,发现了可以申请旭日X3派芯片的链接,果断就进去申请了,还去官网上看了这块芯片的性能,是跟树莓派差不多的东西,但是算力什么的大大提高了,可以看看下面配置:
过了几天我就收到板子啦!!处理速度真的很快,收到板子肯定少不了开箱图片!
难过的是没有配置摄像头T T
地平线的logo真的好好看,太喜欢了,这个芯片架构为BPU,BPU可能听起来有些陌生,其实BPU是地平线科技提出的嵌入式人工智能处理器架构。第一代是高斯架构,第二代是伯努利架构,第三代是贝叶斯架构。
那么首先收到这块板子,就可以去看一下用户手册啦:用户手册
之后可以多去逛逛地平线社区,可以看看其他人是怎么开发的。
首先是先看看这个板子上预留的40pin引脚及其接口:
其40Pin引脚如下:
之前使用百度的板子做小车的时候,上面的IO口都没有PWM信号,导致我的舵机速度响应起来有些延迟,不过板子还是挺好用的。这次地平线的板子带着PWM输出,还有IIC、SPI接口,麻雀虽小五脏俱全呀,还是很惊喜的,所以就想拿着它完成了我想做的一个东西:跟随车,立个Flag。
下面是地平线的demo:
开发者说 | 地平线程序员奶爸带你玩转机器人开发平台 —— 第二期 人体跟随
0x02 准备工作
首先使用Type-C充电器进行供电,它可以支持QC、PD的快充协议。这个板子要至少搭配5V直流2A的电流适配器为开发板供电,不要使用PC机的USB,不然会因为供电不足而导致工作异常。
之后准备一张TF卡,作为启动介质,它的推荐是这么说的:
之后就开始安装系统啦,需要使用SD卡以及读卡器:
在这个地址下载镜像:旭日X3派资料
下载完镜像后在balenaEtcher上烧录即可:
将上面下载的镜像压缩包进行解压,解压后将里面的system_sdcard.img文件烧录进去运行这个软件时要记得使用管理员身份运行,否则可能会烧录不进去。
将镜像烧录进去后就可以上电操作了,当它单独显示一个红灯时就说明可以进行使用了。
我选择使用VNC来进行显示,以及使用以太网来进行连接:
之后打开VNC,在上方输入地址:192.168.1.10即可
首次进入要记得输入密码:sunrise。
之后就可以进入图形界面啦,是熟悉的地平线的封面:
0x03 连接网络
当需要下载一些东西的时候,自然是需要连接网络的,可以通过下面这些方式来连接网络:
打开终端,输入:
sudo nmcli device wifi rescan
sudo nmcli device wifi list
sudo nmcli device wifi connect wifi-name password wifi-password
之后就可以成功连接上啦:
首先进行:
sudo apt-get update
sudo apt update
sudo apt full-upgrade
sudo reboot
如果出现WiFi连接不上的话需要外接一根天线,他会一直卡在那个状态,使板子与电脑无法连接成功,建议连接有线网络。上面我连接的是我的手机热点,所以没有这种情况。
0x04 安装Together ROS
由于后面要使用TogetherROS开发,所以通过DEB安装TogetherROS:
sudo apt install hhp
最终查看/opt目录下的文件:
首先第一个hello world程序需要启动两个终端:
在第一个终端中运行:
在第二个终端中运行:
如果出现以下:
即说明安装成功。
0x05 使用ROS2 package
添加ROS apt源:
sudo apt update && sudo apt install curl gnupg2 lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
在第二步的时候,出现了这个错误:
curl:(7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
这个在网上被称为DNS污染。在使用ping命令去访问时,他的localhost很奇怪:
解决方案:打开 https://www.ipaddress.com/ 输入无法访问的域名。我们就可以得到这个网站所在的服务器IP。IP为:199.232.68.133,那么我们更改主机的hosts文件:
sudo vim /etc/hosts
加入:
199.232.68.133 raw.githubusercontent.com
199.232.68.133 user-images.githubusercontent.com
199.232.68.133 avatars2.githubusercontent.com
199.232.68.133 avatars1.githubusercontent.com
之后就可以了。
更新apt仓库:
sudo apt update
安装packages:
sudo apt install ros-foxy-image-transport
sudo apt install ros-foxy-image-transport-plugins
建立软连接:
source /opt/tros/local_setup.bash
ros2 run image_transport list_transports
以上是刚开始做的一些前期操作,因为疫情的原因进度会有些缓慢,最近在疯狂的赶进度啦。