当前位置:首页 > 芯闻号 > 充电吧
[导读]前几天,南京邮电大学的一场毕业典礼引起了吃瓜群众的热议,先来看看这个画风:由于疫情原因,很多高校的学生只能在家里通过线上视频的方式完成毕业论文答辩。答辩通过后,毕业典礼就要来了,但疫情原因还不能返校怎

前几天,南京邮电大学的一场毕业典礼引起了吃瓜群众的热议,先来看看这个画风:

由于疫情原因,很多高校的学生只能在家里通过线上视频的方式完成毕业论文答辩。答辩通过后,毕业典礼就要来了,但疫情原因还不能返校怎么办?毕竟毕业典礼一生可能就这一次,仪式感还是要有的!于是南京邮电大学就用自研的机器人,为部分无法到场的毕业生整了这么一出画风清奇的“云毕业典礼”。

据南邮的老师介绍,毕业典礼上的这些机器人出自学校的机器人创新团队之手,是在以前参赛机器人的基础上改装的。这次改装主要是为机器人配置了与真人身高相仿的模型,现场由专门的同学对机器人进行远程控制,屏幕则是用 ZOOM 与参加毕业典礼的同学进行视频交互。这个由南邮学生组成的机器人团队曾在国内外各大机器人竞赛中获得不错的成绩。

其实现在的 AI 技术已经非常成熟且亲民,就算是编程能力不太强的同学也可以玩转很多 AI 工具,比如很多好玩的开源机器人项目。据悉,南邮这款机器人内部的控制系统也是在开源软件的基础上改进而来,虽然具体用的哪款开源软件并不知晓,但我想借此机会给大家分享一些有趣的开源机器人项目,感兴趣的朋友可以自己动手 DIY 一个 AI 机器人。

PyRobot

PyRobot 是 Facebook AI 团队与卡耐基梅隆大学研究团队合作研发的开源机器人框架,基于 Facebook 的机器学习框架 PyTorch ,能够运行由 PyTorch 训练的深度学习模型。

PyRobot 基于机器人操作系统 ROS 提供了一组无关硬件的 API,供开发人员控制各种型号的机器人。PyRobot 抽象了硬件底层控制器与应用程序之间交互的细节,因此对于 AI 爱好者来说,可以在不具备设备驱动程序、控制或规划等专业知识的情况下,使用各种机器人的通用功能,比如控制机器人关节的位置、速度或是力矩,甚至包括笛卡尔路径规画或是视觉 SLAM 等。

PyRobot 原生支持两款机器人,分别是低成本的 LoCoBot (就是上面动图里的那款)和 Sawyer (工业制造机械臂),感兴趣的朋友可以买一台 LoCoBot 来玩玩看(也可以在 3D 模拟器上玩)。当然,如果想用在自己 DIY 的机器人上,开发团队也提供了教程,可以接着往下看:详情点击。

安装使用

使用 LoCoBot

同时安装 PyRobot 和 LoCoBot 依赖项

1. 安装 Ubuntu 16.04

2. 下载安装脚本

sudo apt updatesudo apt-get install curlcurl 'https://raw.githubusercontent.com/facebookresearch/pyrobot/master/robots/LoCoBot/install/locobot_install_all.sh' > locobot_install_all.sh

3. 运行脚本安装所有内容(ROS、realsense 驱动程序等)。

4. 如果你已经拥有一台 LoCoBot 。运行以下命令:(请在运行以下命令之前将 nuc 计算机连接到 realsense 相机)

#-t Decides the type of installation. Available Options: full or sim_only#-p Decides the python version for pyRobot. Available Options: 2 or 3chmod +x locobot_install_all.sh./locobot_install_all.sh -t full -p 2

5. 没有真的 LoCoBot 也没关系,可以在 Gazebo 这款 3D 模拟器上运行一个虚拟的 LoCoBot,测试各种机器人的算法。跳过第 4 步,运行以下命令:

#-t Decides the type of installation. Available Options: full or sim_only#-p Decides the python version for pyRobot. Available Options: 2 or 3chmod +x locobot_install_all.sh ./locobot_install_all.sh -t sim_only -p 2

注: 如果安装了与 PyRobot 兼容的 Python 3 ,把上面的 -p 2 改成 -p 3 。

使用 DIY 机器人

安装 PyRobot

安装 Ubuntu 16.04

安装 ROS kenitc

安装 PyRobot

cd ~mkdir -p low_cost_ws/srccd ~/low_cost_ws/srcgit clone --recurse-submodules https://github.com/facebookresearch/pyrobot.gitcd pyrobot/chmod +x install_pyrobot.sh./install_pyrobot.sh -p 2  #For python3, modify the argumet to -p 3

兼容问题:由于 realsense 一直在更新,如果不小心从 ubuntu 中的软件更新程序更新了 realsense相关的软件包,可能会出现兼容性问题。因此,作者建议不要更新任何与 realsense 相关的库。当 ubuntu 提示软件更新时,请仔细检查更新列表。

新建 DIY 机器人配置文件

1. 创建一个新的配置文件

想要与新机器人交互的第一步是创建新的配置文件。首先配置文件名应遵循以下命名规则: _config.py。创建此文件最简单的方法是继承 src / pyrobot / cfg / config.py 中的预定义配置。在 config.py 中,作者定义了 Robot 和 ARM 类所需的一些配置。此处的每个配置都应指定适当的值。在 pyrobot / cfg / sawyer_config.py 中可以找到有关如何编写配置文件的示例。sawyer_config.py 继承了 config.py 中定义的配置,并更改了这些配置的默认值。sawyer_config.py 还显示了如何在配置文件中添加特定于新机器人的更多配置。

2. 继承 PyRobot 父类

下一步是继承现有的 PyRobot 父类(手臂,抓取器,基础,相机等)。在 src / pyrobot 中创建一个名为 的文件夹。根据新机器人拥有的硬件,创建一个名为 arm.py,gipperper.py,base.py 或 camera.py 的 python 脚本。例如,如果新机器人具有所有这 4 个组件,则应在上面创建 4 个文件。如果新机器人只有手臂和抓手,则应只创建 arm.py 和 nipper.py 。在每个文件中,创建一个新类(类名称应该与 _config.py 中的配置 CLASS一致)并继承 PyRobot 父类。

建议在父类中重用尽可能多的方法,如果新的机器人不支持方法,则可以覆盖该方法,并在调用该方法时引发错误。总体而言,该库非常灵活,你可以覆盖任何方法。可以在 src / pyrobot / sawyer 中找到编写 arm.py 的示例。例如 Sawyer 机器人,只需要覆蓋命令发布功能即可使其代码与 PyRobot 兼容。

3. 编写单元测试

写完代码后,需要为新机器人编写单元测试。单元测试的示例可以在 tests / 中找到。

4. 添加示例

可以在 examples / 中添加示例。创建一个名为 的新文件夹,然后添加示例文件。

PyRobot 的下载地址:点击下载

PHOENIXEngine

如果觉得购买 LoCoBot 的渠道太麻烦,可以试试这个国产项目。PHOENIXEngine 是一个可以用来开发机器人、游戏的引擎。集成 HectorSlam 算法为机器人室内导航,使用 A* 算法进行全局路径规划,使用 DWA 算法进行局部避障。该项目为国产项目,作者提供了一整套低成本的机器人物理组件。目前,PHOENIXEngine 已经支持 Windows、ARM、Linux、LinuxARM、iOS 平台,以 Lua 为主要开发语言,底层构建用的 C/C++,支持跨平台编译。

安装使用

该项目有比较完整的视频教程:

Part1 结构安装:https://www.bilibili.com/video/av70786355

Part2 系统安装:https://www.bilibili.com/video/av70788879

Part3 展示:https://www.bilibili.com/video/av71408115

PHOENIXEngine 的下载地址:点击下载

PythonRobotics

娱乐之余,如果大家想进一步学习和了解机器人相关的各种 AI 算法原理,推荐看看这个机器人算法库。PythonRobotics 是用 Python 实现的机器人算法案例集合,该库包括了机器人设计中常用的定位算法、测绘算法、路径规划算法、SLAM、路径跟踪算法。作者的初衷是希望帮助 AI 爱好者更容易理解每个算法的基本思想,选择的算法示例都是一些应用非常广泛的实用算法。强烈推荐给想要进一步了解和学习 AI 机器人相关算法原理的朋友。

部分算法案例:

机器人定位算法:

扩展卡尔曼滤波器(EKF)定位

这是使用扩展卡尔曼滤波器(EKF)的传感器融合定位。蓝线是真实的轨迹,黑线是推算的轨迹,绿点是定位观测(例如 GPS),红线是 EKF 的估计轨迹,红色椭圆是 EKF 估计的协方差椭圆。

无损卡尔曼滤波定位

这是一个使用无损卡尔曼滤波器(UKF)的传感器融合定位,线条和点与 EKF 模拟的含义相同。

PythonRobotics 的下载地址:点击下载

感兴趣的朋友不妨业余时间 DIY 一个 AI 机器人吧。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在科技迅猛发展的今天,履带机器人在诸多领域展现出了广泛的应用前景,从现代农业的采摘、喷药,到消防领域的救援,再到现代化防疫中的喷雾消毒,甚至是复杂地形的运输任务,它们都能出色地完成任务。而驱动这些履带机器人的核心部件,便...

关键字: 履带机器人 机器人 电机

今天,小编将在这篇文章中为大家带来机器人的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: 机器人 机器人学

机器人操作系统(ROS)驱动程序基于ADI产品而开发,因此可直接在ROS生态系统中使用这些产品。本文将概述如何在应用、产品和系统(例如,自主导航、安全气泡地图和数据收集机器人)中使用和集成这些驱动程序;以及这样将如何有助...

关键字: 电机控制器 机器人 嵌入式

长期专注于B端垂直领域的小笨智能,用一个个落地的“AI+机器人”,成为行业智慧服务解决方案服务商。

关键字: AI 机器人

华润啤酒(控股)有限公司(简称“华润啤酒”)于香港联合交易所有限公司上市(股份代号:00291),为恒生指数成份股之一,专注于生产、销售及分销酒类产品。2023年,华润啤酒设立华润雪花与华润酒业两大事业部,分别负责啤酒及...

关键字: 自动化 智能化 机器人

基于氮化镓器件的逆变器参考设计(EPC9193)让您实现具有更高性能的电机系统,其续航里程更长、精度更高、扭矩更大,而且同时降低了系统的总成本。

关键字: 氮化镓器件 无人机 机器人

2024年4月2日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 即日起供货Texas Instruments的TDES9640 V3Link™解串器集线...

关键字: 机器视觉 机器人 图像传感器

在今年的展会上,除了展出去年11月加入尼得科集团的车床厂商“TAKISAWA”的车床之外,还会为您展示更丰富的产品阵容“面向所有工业领域的尼得科的机床产品”。以OneNidec的方式,为汽车、机器人、半导体、能源、建筑机...

关键字: 机器人 半导体 能源

AI+机器人领域已经成为当下最热门且最受关注的前沿科技领域之一,在中国,也已经有不少企业开始在AI+机器人领域深入探索,其中就包括长期专注于B端垂直领域的AI机器人+行业智慧服务解决方案服务商「小笨智能」。

关键字: AI 机器人

一直以来,编码器都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来编码器的相关介绍,详细内容请看下文。

关键字: 编码器 工业控制 机器人
关闭
关闭