前言

随着智能机器人技术的快速发展,越来越多的研究者和开发者开始涉足这一充满挑战和机遇的领域。哪吒开发板,作为一款高性能的机器人开发平台,凭借其强大的计算能力和丰富的接口,为机器人爱好者和专业人士提供了一个理想的实验和开发环境。本文旨在为读者提供一个全面的指南,从哪吒开发板的简介开始,逐步引导读者完成Ubuntu 20.04操作系统的安装,ROS1(Robot Operating System)的部署,以及最终的ROS应用开发和部署过程。

一、哪吒开发板简介

哪吒开发板以其信用卡大小的紧凑设计和强大的计算能力,成为了机器人开发领域的一大亮点。它搭载了高性能的处理器,配备了足够的内存和存储空间,支持多种操作系统,包括但不限于Windows和Linux。此外,哪吒开发板还提供了丰富的扩展接口,包括GPIO、USB、HDMI等,使其能够轻松连接各种传感器和执行器,满足不同层次的开发需求。

以下是哪吒开发板的主要特点:

1. **处理器**:搭载Intel® N97处理器(Alder Lake-N),提供高达3.6GHz的时钟频率和12W的TDP,确保了强大的处理能力。

2. **图形处理**:内置Intel® UHD Graphics Gen12 GPU,支持高分辨率显示,为视觉处理和图形应用提供支持。

3. **内存与存储**:
   - 板载8GB LPDDR5内存,提供高速的数据访问能力。
   - 64GB eMMC存储,为操作系统和应用程序提供足够的存储空间。

4. **接口丰富**:
   - 1个Gigabit LAN端口,用于有线网络连接。
   - 3个USB 3.2 Gen 2 Type-A端口,2个10针USB 2.0/UART端口,提供多种外设连接选项。
   - 1个HDMI 1.4b端口,支持高清视频输出。

5. **扩展能力**:配备40针GPIO连接器,支持PWM、UART、I2C、I2S、SPI和ADC等多种功能,便于连接各种传感器和执行器。

6. **安全性**:板载TPM 2.0,提供硬件级别的安全保障。

7. **电源设计**:支持12V直流输入,5A电流,确保稳定的电源供应。

8. **操作系统支持**:兼容Windows和Linux操作系统,为开发者提供了灵活的选择。

9. **尺寸**:信用卡大小的尺寸(85 x 56mm),便于集成到各种设备中。

10. **散热设计**:采用无风扇散热设计,适合于对噪音敏感或空间受限的应用场景。

哪吒开发板的这些特性使其成为教育、物联网、数字标牌和机器人等领域的理想选择。它的高性能和灵活性为开发者提供了广阔的创新空间。

二、设备开箱

开发板以快递形式发货,很快就收到了。

打开之后,内部包括一块开发板、供电电源和无线网卡。

 
插上电源、显示器、鼠标键盘之后,系统直接开机。

开发板预装了Win11系统,账号和密码一致。


进入系统之后,稍微体验了一下系统,比较流畅。优化做的还是比较好的。唯一不足的是,内存空间比较小,必须搭配外置存储设备使用。

三、Unbutu20.04系统安装

要在哪吒开发板上安装Ubuntu 20.04系统,请按照以下步骤操作:

1. **下载Ubuntu 20.04 ISO文件**:
   - 访问Ubuntu官方下载页面,选择适合您设备的Ubuntu版本,点击下载按钮。下载完成后,保存ISO文件到您的电脑上。

2. **创建可启动USB驱动器**:
   - 准备一个4GB或更大的USB驱动器,并备份所有数据,因为创建启动盘的过程中会清除USB上的所有数据。
   - 可以使用第三方工具如Rufus来创建可启动USB驱动器。![使用rufus制作系统盘](https://i-blog.csdnimg.cn/direct/bb5508f5286f420e855fbd570ed48d11.png)
3. **启动安装程序**:
   - 将可启动USB插入哪吒开发板,重启设备,并进入BIOS设置,将启动顺序更改为从USB设备启动。

4. **开始安装过程**:
   - 启动后,您将看到“尝试Ubuntu”和“安装Ubuntu”的选项。选择“安装Ubuntu”开始安装过程。
   - 如果您的电脑使用Intel RST(快速存储技术),您可能需要在BIOS菜单中禁用它才能继续安装。

5. **安装设置**:
   - 选择您的键盘布局,然后点击“继续”。
   - 选择您的安装类型,可以选择“正常安装”或“最小安装”,并决定是否在安装过程中下载更新和第三方软件。

6. **分区**:
   - 选择“擦除磁盘并安装Ubuntu”以自动分区,或选择“其他选项”手动分区。

7. **位置和用户设置**:
   - 选择您的位置和时区,然后为系统创建用户账户和密码。

8. **完成安装**:
   - 确认安装设置无误后,点击“安装”开始安装过程。
   - 安装完成后,系统会提示您重启设备。

 

 

四、ROS1安装

在Ubuntu 20.04上安装ROS1(Noetic版本)的步骤如下:

1. **设置Ubuntu的软件和更新**:
   - 打开软件和更新设置,确保`main`、`universe`、`restricted`和`multiverse`选项被勾选,然后在下载源中选择一个中国的服务器以加快下载速度。

2. **添加ROS软件源**:
   - 使用以下命令添加ROS软件源:
     ```bash
     sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
     ```
   - 如果网速慢,可以使用国内源,例如上海交大源:
     ```bash
     sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.sjtug.sjtu.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
     ```

3. **添加密钥**:
   - 使用以下命令添加ROS密钥:
     ```bash
     sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
     ```

4. **更新软件包索引**:
   - 运行以下命令更新软件包列表:
     ```bash
     sudo apt update
     ```

5. **安装ROS**:
   - 安装ROS Noetic桌面完整版:
     ```bash
     sudo apt install ros-noetic-desktop-full
     ```
   - 安装过程可能需要一段时间,耐心等待安装完成。

6. **设置环境变量**:
   - 将以下命令添加到`~/.bashrc`文件中,以便每次打开新的终端时自动加载ROS环境:
     ```bash
     echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
     source ~/.bashrc
     ```

7. **安装其他工具和依赖关系**:
   - 安装`python3-rosdep`、`python3-rosinstall`、`python3-wstool`和`build-essential`:
     ```bash
     sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
     ```

8. **初始化rosdep**:
   - 初始化`rosdep`:
     ```bash
     sudo rosdep init
     rosdep update
     ```
   - 如果`rosdep`初始化失败,可以尝试使用国内版的`rosdepc`。

9. **验证ROS安装**:
   - 运行`roscore`命令来验证ROS是否安装成功:
     ```bash
     roscore
     ```
   - 如果没有错误信息,表示ROS已成功安装。

五、测试ROS

1. **测试turtlesim用例**:
    - 打开新的终端,运行`turtlesim`节点:
      ```bash
      rosrun turtlesim turtlesim_node
      ```
    - 再打开一个终端,使用键盘控制`turtlesim`:
      ```bash
      rosrun turtlesim turtle_teleop_key
      ```


2. **启动`roscore`**:
   - 在一个新的终端中运行`roscore`,这是ROS系统的中心节点,必须运行才能进行其他操作。
     ```bash
     roscore
     ```

 

3. **检查ROS环境**:
   - 在另一个终端中,运行`printenv`命令来查看当前的ROS环境变量设置。
     ```bash
     printenv | grep ROS
     ```

4. **列出ROS节点**:
   - 使用`rosnode`命令列出当前活跃的节点。
     ```bash
     rosnode list
     ```

5. **查看节点信息**:
   - 查看特定节点的详细信息,例如`turtlesim_node`。
     ```bash
     rosnode info turtlesim_node
     ```

6. **检查ROS主题**:
   - 使用`rostopic`命令列出当前活跃的主题。
     ```bash
     rostopic list
     ```

7. **查看主题消息**:
   - 订阅并查看`turtlesim`节点发布的`turtle1/cmd_vel`主题的消息。
     ```bash
     rostopic echo /turtle1/cmd_vel
     ```

8. **发布测试消息**:
   - 尝试使用`rostopic`命令向`turtle1/cmd_vel`主题发布测试消息。
     ```bash
     rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 10 -- '[geometry_msgs/Twist]' '{linear:  {x: 1.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.5}}'
     ```

9. **测试ROS服务**:
   - 如果`turtlesim`提供了任何服务,可以尝试列出并调用这些服务。例如,列出所有服务:
     ```bash
     rosservice list
     ```

10. **测试ROS动作服务器**:
    - 如果`turtlesim`支持动作(actions),可以列出所有动作服务器并测试它们。首先,列出所有动作服务器:
      ```bash
      rostopic list | grep '^/move'
      ```
    - 然后,使用`rostopic`命令监听动作状态:
      ```bash
      rostopic echo /turtle1/move_action/status
      ```

11. **使用RViz进行3D可视化**:
    - 如果安装了RViz,可以使用它来可视化ROS中的3D数据。启动RViz并配置它以显示`turtlesim`的3D模型。
      ```bash
      rosrun rviz rviz
      ```
    - 在RViz中,添加一个`RobotModel`显示项,并订阅`/tf`主题来查看机器人的3D模型。

12. **测试ROS参数**:
    - 检查`turtlesim_node`的参数:
      ```bash
      rosparam list
      ```
    - 获取特定参数的详细信息:
      ```bash
      rosparam get /turtlesim_node/background_b
      ```

13. **测试ROS功能包**:
    - 安装并测试其他ROS功能包,如`rospy_tutorials`,来验证ROS的安装和功能。
      ```bash
      rosrun rospy_tutorials rospy_tutorials.py
      ```

14. **测试网络功能**:
    - 如果您有多个机器或需要通过网络进行通信,测试ROS的网络功能,如使用`roscd`和`roslaunch`。

15. **查看系统日志**:
    - 使用`dmesg`或`journalctl`命令查看系统日志,以检查是否有与ROS相关的错误或警告。

确保在测试过程中,如果遇到任何问题,查看ROS社区文档或寻求技术支持。


总结

在整个安装和测试过程中,我们成功地在哪吒开发板上安装了Ubuntu 20.04操作系统,并顺利安装了ROS1(Noetic)版本。通过一系列的测试用例,我们验证了ROS环境的正确配置和功能,包括节点管理、主题通信、服务调用以及动作服务器的测试。
 

Logo

为开发者提供丰富的英特尔开发套件资源、创新技术、解决方案与行业活动。欢迎关注!

更多推荐