机器人入门路线及参考资料(机器人操作方向)

news2024/11/16 15:38:42

机器人(操作方向)入门路线及参考资料

  • 前言
  • 1 数理基础和编程
  • 2 机器人学理论
  • 3 计算机视觉
  • 4 机器人实操
  • 5 专攻方向
  • 总结
  • Reference:


前言

随着机器人和具身智能时代的到来,机器人越来越受到大家的重视,本文就介绍了机器人(机器人操作方向)的入门路线及重要参考资料,包括数理和编程基础,机器人操作,计算机视觉,机器人实操以及具体的方向突破。


1 数理基础和编程

首先需要具备的就是一定的数理基础和计算机编程能力,这两项也是工科生最先接触的知识。

数理基础包括高数,线代,概率论等。可能很多学生包括博主在内在学习这些数学课程时,并不知道这些数学知识到底和专业之间是什么关系。为了引起大家对数理基础的重视,这里简单举例说明数理知识的重要性。比如力学分析(理力,材力,流力)会用到高数,控制理论会用到高数和线代,计算机视觉会涉及矩阵和概率论,而机器人学则会涉及到以上所有技术。

在学习以上数学知识的同时,可以练习数理推导软件如Matlab,Mathematica等辅助计算,这些软件也可用于机器人的计算和仿真。

计算机编程的底层逻辑想通,按照大学培养方案,最先接触的语言是C语言,重点培养编程的逻辑和程序设计方法。在机器人工程中,用到较多的语言是C++和Python两种语言,一种语言学会之后,再学其他语言速度就会很快。

2 机器人学理论

对于机器人理论部分,首先需要具备机器人学的基础知识,如位姿表示与变换,欧拉角和RPY角,机器人的正逆运动学等。可参考的书籍为熊有伦的《机器人技术基础》。

掌握这些基本概念之后,可以针对专题进行深入研读,如规划or控制,操作or移动,工业机器人or服务机器人,不同专题涉及到的技术侧重点不同。

本文主要针对机器人操作方向,所以重点介绍一下机器人操作方向。该方向主要是研究机器人基于视觉或触觉利用末端执行器(刚性或柔性,仿人手或二指夹爪)与被操作对象进行交互(如抓取,放置,推,重定向等)的科学。
拾起盘子

人手操作(拾起)盘子的案例 [1]。

从力学角度分类可分为运动学操作,静态操作,准静态操作和动态操作,具体概念可以参考卡内基梅隆大学Mason的原著中译本书籍《机器人操作中的力学原理》。从被操作对象角度可分为刚性物体操作和柔性物体的操作,由于刚性物体操作的力锁合和形锁合假设不再适用于柔性物体的操作,所以柔性物体的操作也是当下的研究热点。

此处,也给出MIT的机器人操作课程的官方链接:Robotic Manipulation - Perception, Planning, and Control,供需要的小伙伴自学。

3 计算机视觉

计算机视觉于机器人而言就是机器人的眼睛,可用于机器人的抓取与操作,导航,人机交互等任务中。在机器人操作方面,计算机视觉主要用来识别物体的位姿和状态估计,抓取点检测等。

经典的计算机视觉任务包括图像预处理,图像的分割,图像的特征表述等。这些基本的概念需要了解,可以参考张岩等翻译的中译本书籍《计算机视觉基础》。然后在OpenCV上进行实践,OpenCV提供了丰富的C++和Python语言的API接口,可以直接调用,相关的书籍《学习OpenCV3》和其官方教程https://docs.opencv.org/4.x/d9/df8/tutorial_root.html。

接下来就是学习基于深度学习的计算机视觉,常用的套路如下 [2]:

1 学习吴恩达的《机器学习》和《深度学习》课程,了解一些机器学习的知识。
2 了解一些经典的CV模型,如Alexnet、R-CNN系列、YOLO等。
3 在github上找一些tensorflow、pytorch实现上述模型的开源代码。
4 下载VOC、ImageNet、COCO、kaggle等数据集。
5 按照开源代码中的Readme准备数据集,跑一下结果。

传统视觉和基于深度学习的视觉各有优缺点 [3, 4],在实际项目中,大多数情况下需要结合使用。

4 机器人实操

在了解以上基本概念之后,就可以上手真实机器人实践了,这里以基于ROS的机器人抓取系统为例,阐述需要掌握知识和要解决的问题。

首先,ROS(机器人操作系统)的一些基本概念要清楚,如节点,话题,功能包等基本概念,以及如何创建发布者和订阅者以及定义要发布的消息等,这些是机器人操作系统的基本通信的机制。

其次,学会使用ROS中的常用组件,如launch,rqt,rviz,rosbag等常用组件,这些组件是机器人调试时非常方便的工具。

最后,就是针对机器人类型进行建模和仿真,对于机械臂来说,ROS中已经集成了用于机械臂操作的开发平台——MoveIt,我们可以直接使用MoveIt来控制我们的机械臂。

ROS的参考资料可以参考古月居(胡春旭)的视频课程ROS入门21讲和书籍《ROS机器人开发实践》。

在掌握了ROS之后,就是在此基础上进行开发了,包括手眼标定,夹爪通信,机械臂规划等。下图所示为京东2017 JRC X机器人挑战赛上其中一个参赛队伍的机器人系统 [5],一个基于ROS开发的机器人移动操作系统。
京东机器人挑战赛

5 专攻方向

当具备基础知识和实操能力之后,就需要根据具体的专攻方向学习最新的论文,开展工程或者研究工作。如3D感知与操作,类人操作,移动操作,人机交互,柔性物体的操作等。

一般情况下,较新的方向是没有书籍的,可以先从综述开始,然后是方向密切相关文献的精读。关注专攻方向最新动态,如顶会的Workshop等,还有跟踪领域内的牛人的发文。

2024年是具身智能到来的时代,当然,具身智能也可以和机器人操作相结合,即将大模型或者Learning应用于机器人操作任务中去,具身智能的入门路线参考具身智能入门学习技术路线。

最后推荐一下机器人操作方向上的媒体号:
关于机器人操作方向,推荐公众号:机器人操作前沿动态,每周更新全球最新学术进展。
关于柔性物体的操作,推荐博客:机器人的柔性物体操作综述汇总(持续更新),汇总了近几年的柔物操作的综述文章。


总结

以上就是今天要讲的内容,本文介绍了机器人操作方向的入门路线,从数理基础和编程,到机器人学理论和计算机视觉,再到机器人的实操和方向突破,阐述了机器人操作方向所需要的知识体系并给出重要参考资料。当然,入门时,不一定要按照顺序学习,边学边应用效果更佳。

Reference:

[1] MIT机器人操作课程:Robotic Manipulation - Perception, Planning, and Control
[2] 知乎文章:计算机视觉学习路线
[3] CSDN博客:论文笔记:传统CV和深度学习方法的比较
[4] O’Mahony N, Campbell S, Carvalho A, et al. Deep learning vs. traditional computer vision[C]//Advances in Computer Vision: Proceedings of the 2019 Computer Vision Conference (CVC), Volume 1 1. Springer International Publishing, 2020: 128-144.
[5] CSDN博客:ROS下实现机器人序列任务的执行控制

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1884881.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于公有云部署wordpress

云平台选择 腾讯云 阿里云 华为云 项目部署 一、架构讲解 1.1、定义与组成 LNMP是Linux、Nginx、MySQL(或MariaDB)和PHP(或Perl、Python)的首字母缩写,代表在Linux系统下使用Nginx作为Web服务器,MySQL作为…

vue3 elementplus Springboot 商品系统,商城类后台管理案例源码

系统演示 项目获取地址 Springboot vue3 elementplus 商品管理系统 商城后台管理系统案例源码 附带系统演示,环境搭建教程,开发工具 技术栈:SpringBoot Vue3 ElementPlus MybatisPlus 开发工具:idea 后端构建工具:Maven 前端构建工具:vite 运行环境:Windows …

Linux基础IO操作详解

C文件IO相关接口 fopen函数 pathname: 要打开的文件名字符串mode: 访问文件的模式 模式描述含义“r”读文件不存在失败返回null“r”读写文件不存在打开失败返回null,文件存在则从头开始覆盖现有的数据(不会清空数据)“w”写文件不存在创建…

[leetcode]文件组合

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<vector<int>> fileCombination(int target) {vector<vector<int>> vec;vector<int> res;int sum 0, limit (target - 1) / 2; // (target - 1) / 2 等效于 target /…

[机器学习]-4 Transformer介绍和ChatGPT本质

Transformer Transformer是由Vaswani等人在2017年提出的一种深度学习模型架构&#xff0c;最初用于自然语言处理&#xff08;NLP&#xff09;任务&#xff0c;特别是机器翻译。Transformer通过自注意机制和完全基于注意力的架构&#xff0c;核心思想是通过注意力来捕捉输入序列…

RuoYi-Vue项目后端增加自己的模块,要注意的点,只看我这一片就够了。

若依版本&#xff1a; RuoYi-Vue: &#x1f389; 基于SpringBoot&#xff0c;Spring Security&#xff0c;JWT&#xff0c;Vue & Element 的前后端分离权限管理系统&#xff0c;同时提供了 Vue3 的版本 背景&#xff1a; 后端想自己增加一个模块&#xff0c;但是包路径…

气膜建筑照明:吊式与落地灯杆的利弊—轻空间

气膜建筑以其独特的设计和高效的功能性&#xff0c;广泛应用于体育场馆、工厂等各类场所。在这些气膜建筑中&#xff0c;照明方式的选择尤为重要。尽管有多种照明方式可供选择&#xff0c;但常用的反射光源形式在气膜建筑中尤为普遍。轻空间将重点介绍两种常用的反射照明方式&a…

内容营销专家刘鑫炜:越是赚不到钱,越要加大推广力度

这两天&#xff0c;一位跟我们有长期合作关系的小微企业主老苏问我。 “现在钱这么不好赚&#xff0c;品牌推广应该怎么做&#xff1f;” 我说&#xff1a;“这是好机会&#xff0c;加大投放力度&#xff01;” 老苏很是不解&#xff0c;这时候不开源节流&#xff0c;还要加…

激光粒度分析仪计量校准规范:确保测量精度的关键

激光粒度分析仪作为现代科研与工业生产中不可或缺的分析工具&#xff0c;广泛应用于陶瓷、土壤、制药、建材、环保等众多领域。 其通过激光散射原理&#xff0c;快速准确地测量颗粒材料的粒度分布&#xff0c;为材料科学研究、产品质量控制及环境保护等提供了强有力的技术支持…

绘唐3一键追爆款文刻创作聚星文社

聚星文社是一个中国的文学社交平台&#xff0c;提供了一个让作家和读者相互交流和分享作品的平台。 在聚星文社&#xff0c;作家可以在平台上发布自己的作品&#xff0c;获得读者的阅读和评论&#xff0c;同时也可以与其他作家进行交流与学习。 点击下载即可 读者可以在平台上…

视频号视频怎么下载保存到手机,视频号视频如何下载到电脑本地

在数字化浪潮的推动下&#xff0c;视频号成为了我们获取信息、分享生活的重要平台。但有时候&#xff0c;我们遇到一些精彩的内容&#xff0c;想要保存下来以便日后观看&#xff0c;却发现视频号并不提供直接的下载功能。下面我就来为大家详细介绍视频号视频下载的方法&#xf…

maven 打包执行配置(对maven引用的包或者丢进去的包都包含在里面)打成jar包

一 、springboot jar包 maven的pom文件 1 在resources下放了一些文件想打进去jar包 2 在lib下放了其他稀奇古怪jar包文件想打进去jar包 编写如下引入jar <build><!-- 打包名称 --><finalName>${project.artifactId}</finalName><resources><…

【C++】C++指针在线程中调用与受保护内存空间读取方法

引言 在C的多线程编程中&#xff0c;正确地管理内存和同步访问是确保程序稳定性和安全性的关键。特别是当涉及到指针在线程中的调用时&#xff0c;对受保护内存空间的访问必须谨慎处理&#xff0c;以防止数据竞争、死锁和内存损坏等问题。本文将详细探讨C指针在线程中调用时如何…

CV每日论文--2024.6.27

1、Text-Animator: Controllable Visual Text Video Generation 中文标题&#xff1a;Text-Animator&#xff1a;可控视觉文本视频生成 简介&#xff1a;视频生成是各行业中具有重要价值但同时也极具挑战性的任务,例如在游戏、电子商务和广告领域。在文本到视频(T2V)生成中,一…

【云原生】服务网格(Istio)如何简化微服务通信

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《未来已来&#xff1a;云原生之旅》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、微服务架构的兴起 2、Istio&#xff1a;服务网格的佼…

【06】SpringBoot与Web开发

1、基于Restful风格的接口 RestController RequestMapping("/demo") public class DemoController {GetMapping("/hello")public String getHello(){return "SpringBoot HelloWorld! 123";}GetMapping("/{id}")public User getUser(P…

linux 控制台非常好用的 PS1 设置

直接上代码 IP$(/sbin/ifconfig eth0 | awk /inet / {print $2}) export PS1"\[\e[35m\]^o^\[\e[0m\]$ \[\e[31m\]\t\[\e[0m\] [\[\e[36m\]\w\[\e[0m\]] \[\e[32m\]\u\[\e[0m\]\[\e[33m\]\[\e[0m\]\[\e[34m\]\h(\[\e[31m\]$IP\[\e[m\])\[\e[0m\]\n\[\e[35m\].O.\[\e[0m\]…

仿美团饿了么程序,外卖人9.0商业版外卖订餐源码(PC+微信)

仿美团饿了么程序,外卖人9.0外卖订餐源码,PC微信WAP短信宝,多城市多色版 非常不错的独立版外卖跑腿网站源码&#xff0c;喜欢的可以下载调试看看吧&#xff01;&#xff01; 仿美团饿了么程序,外卖人9.0外卖订餐源码

【论文阅读】自动驾驶光流任务 DeFlow: Decoder of Scene Flow Network in Autonomous Driving

再一次轮到讲自己的paper&#xff01;耶&#xff0c;宣传一下自己的工作&#xff0c;顺便完成中文博客的解读 方便大家讨论。 Title Picture Reference and pictures paper: https://arxiv.org/abs/2401.16122 code: https://github.com/KTH-RPL/DeFlow b站视频: https://www.b…