【哪吒开发板试用】基于哪吒开发套件开发ROS应用
前言 随着智能机器人技术的快速发展,越来越多的研究者和开发者开始涉足这一充满挑战和机遇的领域。哪吒开发板,作为一款高性能的机器人开发平台,凭借其强大的计算能力和丰富的接口,为机器人爱好者和专业人士提供了一个理想的实验和开发环境。本文旨在为读者提供一个全面的指南,从哪吒开发板的简介开始,逐步引导读者完成Ubuntu 20.04操作系统的安装,ROS1(Robot Operating System)的
前言
随着智能机器人技术的快速发展,越来越多的研究者和开发者开始涉足这一充满挑战和机遇的领域。哪吒开发板,作为一款高性能的机器人开发平台,凭借其强大的计算能力和丰富的接口,为机器人爱好者和专业人士提供了一个理想的实验和开发环境。本文旨在为读者提供一个全面的指南,从哪吒开发板的简介开始,逐步引导读者完成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环境的正确配置和功能,包括节点管理、主题通信、服务调用以及动作服务器的测试。
更多推荐
所有评论(0)