机器人超脑平台
平台简介
成为超脑平台用户
讯飞超脑板
产品规格
开发指南
标准协议
使用手册
环境准备
数据采集
应用算法
应用实例
镜像导出
镜像烧录
错误码
算法配置表
机器人多模态交互开发套件
多模态交互套件产品白皮书
多模态交互套件使用手册
多模态交互套件开发手册
多模态交互套件视频传输协议
多模态交互套件串口通信协议
多模态交互套件音频传输协议
联系方式
服务条款
超脑平台服务协议
超脑平台隐私政策
本文档使用 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文件
分享
链接
类型
密码
更新密码