机器人超脑平台
平台简介
成为超脑平台用户
讯飞超脑板
产品规格
开发指南
标准协议
使用手册
环境准备
数据采集
应用算法
应用实例
镜像导出
镜像烧录
错误码
算法配置表
机器人多模态交互开发套件
多模态交互套件产品白皮书
多模态交互套件快速体验
多模态套件平台功能使用手册
多模态交互套件开发手册
常见问题与解答
智能语音背包
智能语音背包产品白皮书
智能语音背包产品规格书
智能语音背包产品快速体验
智能语音背包产品开发手册
联系方式
服务条款
超脑平台服务协议
超脑平台隐私政策
本文档使用 MrDoc 发布
-
+
首页
应用实例
## 4.1 SLAM ### 4.1.1 功能介绍 SLAM指即时定位与地图构建(Simultaneous Localization and Mapping,简称SLAM)。 本章节使用ROS2的Gmapping和Cartographer作为建图算法,键盘控制小车行驶建立地图,并通过Rviz2观察建图效果。 其中SLAM算法运行在超脑板上,Rviz2运行在与超脑板同一网段的PC上。 ### 4.1.2 准备工作 #### 超脑板 1. 已烧录好提供的Ubuntu 20.04镜像。 2. 已成功安装ROS2机器人操作系统。 3. ROS2安装好后,安装Gmaping和Cartographer源码 4.确保有IMU和odom数据以及完整的TF树。 cd slam_ws/src git clone https://gitee.com/iflytek-aibot/gmapping_ros2.git git clone https://gitee.com/iflytek-aibot/cartographer_ros2.git colcon build #### PC端 1.已经安装好ROS2机器人操作系统以及Rviz2软件。 2.和超脑板在同一网段下并且ROS_DOMAIN_ID与超脑板一致。 echo "export ROS_DOMAIN_ID=33" >> ~/.bashrc ### 4.1.3 使用介绍 本小节介绍如何使用讯飞超脑板运行SLAM算法,并使用PC观察建图效果。 #### Gmapping 超脑板端启动底盘以及SLAM算法 启动命令ros2 launch turn_on_wheeltec_robot base_serial.launch.py 另起终端 启动 ros2 launch robot_slam slam_gmapping.launch.py PC端打开Rviz2 rviz2 打开Rviz2后,需要添加“map”可视化选项,用于展示建立的地图,步骤如下所示,并且后续添加scan、tf数据:  PC端开启另外一个控制台,PC端启动控制工具,通过键盘控制小车运动: ros2 run teleop_twist_keyboard teleop_twist_keyboard 控制小车探索周围环境,SLAM算法建立起环境地图,可以在Rviz2上观察到建图效果。 #### Cartographer 超脑板端启动底盘以及SLAM算法 启动ros2 launch turn_on_wheeltec_robot base_serial.launch.py 另起终端 ros2 launch robot_slam cartographer.launch.py ### 4.1.4 运行结果 (差一张建好的地图截图) ## 4.2 Nav2 ### 4.2.1 功能介绍 Nav2(Navigation2)是ROS2中自带的导航框架,旨在寻找一种安全的方式让移动机器人从A点移动到B点。Nav2也可以应用于其他机器人导航应用,例如动态点跟踪,在这个过程中需要完成动态路径规划、计算电机速度、避免障碍等。 3.1节介绍了如何运行SLAM算法进行建图,本章节介绍如何基于建立的地图使用Nav2进行导航。使用Rviz2设置导航目的地,超脑板运行Nav2程序导航。 ### 4.2.2 准备工作 1. 已烧录好提供的Ubuntu 20.04镜像。 2. 已成功安装ROS2机器人操作系统。 3. ROS2安装好后,安装Nav2源码。 4. 已经通过SLAM建好地图,并且保存到`ros2_ws/src/robot_slam/map`中 cd nav2_ws/src git clone https://gitee.com/iflytek-aibot/nav2_ros.git colcon build ### 4.2.3 使用介绍 本章节介绍如何进行导航目的地设置,并查看导航效果。 1.超脑端启动nav2。 启动 ros2 launch turn_on_wheeltec_robot base_serial.launch.py 另起终端 ros2 launch robot_navigation2 navigation2.launch.py 2.PC端启动Rviz2工具,效果如下图 ros2 launch nav2_bringup rviz_launch.py  3.Rviz2上设置机器人起始位置和方向 Rviz2启动后,机器人最初不知道它在哪里。默认情况下,Nav2会等待用户给机器人一个大致的起始位置。查看机器人实际在地图中的位置,通过点击Rviz2中的”2D Pose Estimate” 按钮,然后通过在地图上机器人预估的位置处点击来设置机器人初始位置 。可以通过向前拖动刚才单击的位置来设置机器人起始的移动方向。如下图所示:  设置好了机器人的初始位置,就会完成坐标变换树,同时Nav2将会完全激活并准备就绪。  4.Rviz2上设置机器人目的地 点击 “Navigaton2 Goal” 按钮并选择一个目的地。  ### 4.2.4 运行结果 (添加动图或者视频) ## 4.3 目标检测 ### 4.3.1 功能介绍 通过订阅摄像头信息,通过目标检测算法,检测出特定物体,后期用户可以自行训练数据集进行特定的物体目标检测。 ### 4.3.2 准备工作 1. 已烧录好提供的Ubuntu 20.04镜像。 2. 已经安装USB摄像头。 3. HDMI连接超脑板 ### 4.3.3 使用介绍 目标检测通过订阅摄像头数据,通过将yolov5s训练好的数据模型转换成rknn格式,进行推理,显示摄像头实时数据和对应的算法目标检测结果。 1) 进入虚拟环境 首先超脑板已经部署了虚拟python环境,如下所示,进入虚拟环境 终端启动 source DependentLibrary/venv3.9/bin/activate (venv3.9) iflytek@superbrain:~$ 2) 开启NPU加速 sudo modprobe rknpu 3) 进行目标检测推理 进入推理脚本所在文件夹 cd ros2_ws/src/rknn-toolkit2/rknn_toolkit_lite2/examples/inference_with_lite/ python启动推理脚本 python3 detect.py ### 4.3.4 运行结果 输出log显示,订阅到了摄像头数据,并发布了目标检测结果。 
admin
2023年6月21日 14:16
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码