OrangePi AIpro 机器人仿真与人工智能应用测评(下)

本文涉及的产品
资源编排,不限时长
简介: OrangePi AIpro 机器人仿真与人工智能应用测评(下)

OrangePi AIpro 机器人仿真与人工智能应用测评(上)+https://developer.aliyun.com/article/1585390

二、  机器人仿真开发

2.1基于 ROS 平台的机器人仿真

基于ROS的仿真我这里主要进行ROS2 MoveIt机械臂仿真及turtlebot相关运动机器人导航仿真。

2.1.1 机械臂仿真

2.1.1.1 MoveIt介绍

MoveIt是ROS社区下开源的机械臂运行规划库,主要可完成机械臂运动规划、碰撞检测,功能包内还集成了几种开源的运动规划库,可以用来开发机械臂,或者控制现有的机械臂,在机器人领域应用十分广泛。其功能框架如图所示。

2.1.1.2 机械臂仿真环境搭建

按照MoveIt官网教程安装相应的库并编译,步骤如下所示:

创建 Colcon 工作区并下载教程

要获取教程,您需要设置一个 Colcon 工作区。

 

mkdir -p ~/ws_moveit/src

 

下载 MoveIt 源代码及教程

移动到 Colcon 工作区,提取 MoveIt 教程源代码:

 

cd ~/ws_moveit/src
git clone https://github.com/ros-planning/moveit2_tutorials

 

接下来,我们将下载 MoveIt 其他部分的源代码:

 

vcs import < moveit2_tutorials/moveit2_tutorials.repos

 

导入命令可能会要求输入 GitHub 认证信息。你可以直接按 Enter 直到它继续(忽略 "Authentication failed"(验证失败)错误)。

 

构建 Colcon 工作区

以下步骤将从 Debian 安装工作区中尚未安装的任何依赖包。这一步将安装 MoveIt 及其所有依赖包:

 

sudo apt update && rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y

 

下一条命令将配置 Colcon 工作区:

 

cd ~/ws_moveit
colcon build --mixin release

 

这个构建命令可能需要很长时间(20 多分钟),这取决于你的电脑速度和可用内存量(我们建议 32 GB)。

实际在OrangePi AIpro编译需要数小时,中间需要解决一些依赖问题。

2.1.1.3 示例程序运行

参考MoveIt官网搭建运行环境,下载并编译相关功能包,运行程序即可运行机械臂轨迹规划功能包:

 

ros2 launch moveit2_tutorials demo.launch.py

 

因为启动了RVIZ及其GUI界面,所以运行稍微有些卡顿,若不启动GUI界面,实际作为机械臂控制器使用时完全没有问题。

我们还可以打开ROS生态下的Gazebo,运行示例程序,如图所示为机械臂工作台示例。我们可以通过GUI界面操作机械臂的各个关节运行,后续有科研或者工业需要可以与其他开源ROS功能包一起使用完成相关功能。

2.1.2 移动机器人仿真

2.1.2.1 Turtlebot4 机器人仿真

Turtlebot4是开源的ROS2机器人,clearpath公司开发的面向教育的机器人产品,自身携带丰富的传感器,配套的开源软件也很丰富,唯一的缺点就是很贵(10000元+),但是我们可以安装仿真器,在仿真器中体验使用Turtlebot4。官方做的仿真场景是在工厂中,机器人通过自身携带的思岚激光雷达进行二维建图及导航,我们可以使用虚拟手柄操作机器人运行。

按照官方说明文档安装仿真器,步骤如下:

 

ros2 launch turtlebot4_ignition_bringup turtlebot4_ignition.launch.py slam:=true nav2:=true rviz:=true

 

命令行运行仿真程序效果如下:

通过GUI 界面操作机器人,RVIZ界面则显示二维激光雷达所建地图。

使用rqt_graph查看节点图:

2.2基于开源动力学库及开源仿真器MuJoCo平台的机器人仿真

按照官网的说明安装好开源的动力学库及MuJoCo

2.2.1 MuJoCo 人形机器人LQR控制程序

这里运行了官方提供的示例程序,主要功能是控制人形机器人单脚站立,使用线性二次型规划控制。运行效果如图所示。

程序主要包括加载机器人模型并渲染展示,建立机器人动力学模型,并在指定位置线性化及离散化,设计LQR控制器,最后施加干扰并渲染完成控制。

2.2.2 使用开源动力学库

这里使用开源的动力学库pinocchio,运行官方示例程序加载机器人,效果如图所示:

主要加载了几种不同种类的机器人,如人形机器人,移动机械臂,四足机器人,无人机。

三、  人工智能应用开发

3.1 官方示例

3.1.1 YOLO5s示例适合部署在边缘设备上

按照官方说明运行Yolo5s示例程序,图像来源使用奥比中光采集的图像,运行效果如图所示,可以看出算法检测出泰迪熊及时钟并给出了相应的置信度。

3.1.2 OCR识别

同样按照示例程序进行,我这里的图片是从昇腾社区官网截取,结果如图所示,能够识别出字符。

 

系统内还有丰富的示例可以运行,我这里不做演示。

3.2 昇腾社区示例

3.2.1 生成式扩散模型示例

官方说明系统内自带MindSpore开发工具链,至官网下载如下示例程序测试AI性能:

这里测试的是扩散模型,隶属于生成式,示例十分丰富,感兴趣可以至官网下载相关示例程序运行测试。

四、  总结

4.1 使用总结

本文在OrangePi AIpro开发板上搭建了机器人开发环境(ROS及仿真器等),测试了机械臂运行规划及移动机器人建图示例,之后运行了系统内置的AI示例及昇腾社区Mindspore示例。

个人认为OrangePi AIpro的算力及性价比在目前的嵌入式开发板中算相对较高的,环境搭建相对来讲也并不复杂。特别是系统集成了华为的Mindspore工具链,适合在边缘 嵌入式设备中加速AI计算。

目前没有测试相关GPIO(如I2C,SPI等)接口,若OrangePi AIpro的GPIO接口的性能足够(比如传输速率等),个人觉得作为机器人主控完全足够,后续也可以在机器人基础上继续开发相应的AI功能。

4.2 调试总结

至此,本文已经结束了。硬件方面,在拿到开发板之前我买好了相应的硬件(包括外壳,SSD,烧录器,硬盘盒等);软件方面,在编译ROS MoveIt功能包源码时由于MoveIt本身复杂程度高,耗费了挺长的时间(大概几个小时)。由于时间有限,运行AI示例数量有限。大部分工作为晚上10点至凌晨3点之间完成。

如有错误,请指正!

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能:从基础理论到实践应用
【8月更文挑战第39天】在本文中,我们将深入探讨人工智能(AI)的基本概念、发展历程以及其在现实世界中的应用。我们将首先介绍AI的定义和主要分类,然后回顾其发展历史,最后通过一个实际的代码示例来展示AI的应用。无论你是AI领域的初学者还是有一定基础的学习者,这篇文章都将为你提供有价值的信息和启示。
|
22天前
|
机器学习/深度学习 人工智能 搜索推荐
人工智能在医疗领域的应用
【8月更文挑战第26天】随着科技的进步,人工智能(AI)已经逐渐渗透到我们生活的各个方面,其中医疗领域是其最重要的应用领域之一。AI技术的应用不仅可以提高医疗服务的效率和质量,还可以帮助医生进行更准确的诊断和治疗。本文将探讨AI在医疗领域的应用,包括疾病预测、辅助诊断、个性化治疗方案等方面的内容。同时,也将分享一些实际的代码示例,以帮助读者更好地理解和掌握这些技术。
|
27天前
|
数据可视化 机器人 Python
实例8:机器人的空间描述和变换仿真
本文是关于机器人空间描述和变换的仿真实验教程,通过Python编程和可视化学习,介绍了刚体的平动和转动、位姿描述、坐标变换等基础知识,并提供了具体的实验步骤和代码实现。实验目的是让读者通过编程实践,了解和掌握空间变换的数学原理和操作方法。
29 2
实例8:机器人的空间描述和变换仿真
|
7天前
|
机器学习/深度学习 人工智能 算法
探索人工智能:机器学习的奥秘与应用
本文深入浅出地探讨了人工智能领域中的核心技术——机器学习,揭示了其背后的原理和广泛的实际应用。通过浅显易懂的语言和生动的例子,本文旨在为非专业读者打开一扇了解并利用机器学习的大门,同时激发对这一前沿技术的兴趣和思考。
21 1
|
12天前
|
机器学习/深度学习 数据采集 人工智能
探索人工智能在文本情感分析中的应用
【9月更文挑战第4天】本文旨在通过一个简化的模型,介绍如何利用AI技术对文本进行情感分析。我们将从基础理论出发,逐步深入到实际操作,展示如何训练一个简单的情感分析模型。文章不仅涵盖了理论知识,还提供了代码示例,帮助读者更好地理解并实践所学知识。
|
18天前
|
机器学习/深度学习 人工智能 算法
探索人工智能在医疗诊断中的应用与挑战
【7月更文挑战第61天】 随着技术的进步,人工智能(AI)已逐渐渗透到各行各业,特别是在医疗领域。AI在提高诊断准确性、个性化治疗和疾病预防方面的潜力巨大。本文旨在探讨AI在医疗诊断中的应用,包括图像识别、模式分析和预测建模,并分析其面临的主要挑战,如数据隐私、算法透明度以及医疗专业人员的接受度。通过实例说明AI如何辅助医生进行更精确的决策,同时指出了目前技术的局限性和未来的发展方向。
|
18天前
|
机器学习/深度学习 人工智能 自动驾驶
探索人工智能的未来应用:从智能助手到自动驾驶
【8月更文挑战第30天】 在本文中,我们将深入探讨人工智能(AI)的未来应用,从智能助手到自动驾驶。我们将看到AI如何改变我们的生活,并讨论其潜在的影响和挑战。让我们一起探索这个令人兴奋的领域吧!
|
21天前
|
传感器 人工智能 自动驾驶
人工智能在现代生活中的应用与挑战
【8月更文挑战第27天】本文将探讨人工智能(AI)如何在各个领域中改变我们的生活,并讨论它所面临的挑战。我们将从AI的基础知识入手,逐步深入到其在医疗、交通和教育等领域的应用案例,最后讨论AI技术发展过程中的道德和隐私问题。文章旨在为读者提供一个全面而深入的视角,理解AI技术的潜力和风险。
|
21天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能的春天:探索AI在现代生活中的应用
【8月更文挑战第27天】本文将深入探讨人工智能(AI)如何在现代社会中扮演重要角色,从智能助手到自动驾驶汽车,再到医疗诊断和个性化教育。我们将通过实际代码示例,展示AI技术如何改变我们的生活和工作方式,以及它如何帮助我们解决一些最紧迫的社会问题。
|
21天前
|
人工智能 自然语言处理 开发工具
探索移动应用开发之旅:从新手到专家人工智能在文本生成中的应用与挑战
【8月更文挑战第27天】本文旨在为初学者提供一条清晰的路径,通过了解移动操作系统的基础知识、选择合适的开发工具、学习编程语言以及掌握用户界面设计原则,逐步成长为移动应用开发的专家。我们将一起探讨如何将创意转化为现实中的移动应用,并确保这些应用在多样化的设备上均能良好运行。

热门文章

最新文章