• 使用旭日X3派做跟随车(一)——开箱篇


    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 连接网络

    当需要下载一些东西的时候,自然是需要连接网络的,可以通过下面这些方式来连接网络:

    打开终端,输入:

    1. sudo nmcli device wifi rescan
    2. sudo nmcli device wifi list
    3. sudo nmcli device wifi connect wifi-name password wifi-password

    之后就可以成功连接上啦:

     首先进行:

    1. sudo apt-get update
    2. sudo apt update
    3. sudo apt full-upgrade
    4. sudo reboot

    如果出现WiFi连接不上的话需要外接一根天线,他会一直卡在那个状态,使板子与电脑无法连接成功,建议连接有线网络。上面我连接的是我的手机热点,所以没有这种情况。

    0x04 安装Together ROS

    由于后面要使用TogetherROS开发,所以通过DEB安装TogetherROS:

    sudo apt install hhp

     最终查看/opt目录下的文件:

    首先第一个hello world程序需要启动两个终端:

    在第一个终端中运行:

    在第二个终端中运行:

    如果出现以下:

    即说明安装成功。

    0x05 使用ROS2 package

    添加ROS apt源:

    1. sudo apt update && sudo apt install curl gnupg2 lsb-release
    2. sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
    3. 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

    加入:

    1. 199.232.68.133 raw.githubusercontent.com
    2. 199.232.68.133 user-images.githubusercontent.com
    3. 199.232.68.133 avatars2.githubusercontent.com
    4. 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

    建立软连接:

    1. source /opt/tros/local_setup.bash
    2. ros2 run image_transport list_transports

    以上是刚开始做的一些前期操作,因为疫情的原因进度会有些缓慢,最近在疯狂的赶进度啦。

  • 相关阅读:
    数据结构:AVL树的实现和全部图解
    斜颈的分类有多少种?
    DIZipWriter 6.9.2 for Delphi 11.x Crack
    localStorage设置过期时间用法
    解决CondaHTTPError HTTP 000 CONNECTION FAILED for url解决方法
    Qt信号和槽 定时器
    Okhttp 403 Forbidden
    ANSYS中如何手动为装配体添加接触约束教程
    win10完美还原桌面图标快捷方式小箭头的方法
    面试Java高级工程师之应用框架总结
  • 原文地址:https://blog.csdn.net/Alkaid2000/article/details/126924727