自治系统

用MATLAB设计、开发和测试自治系统

机器人教学用MATLAB

本文来自彼得·柯克他是机器人和机器人视觉领域的教授、研究员、教师和作家。


的旅程

我的机器人之旅始于20世纪80年代中期,我从保罗的书中学习了齐次变换和运动学[1]傅等。[2]。我写了代码来实现这些算法,最初是用C语言,这样我就可以控制Puma 560机器人。当我在1990年开始读博士时,我已经使用MATLAB几年了,并且发现它非常有效。我开始在MATLAB中重新实现我的大量C代码,从创建转换矩阵的原语开始,翻滚-俯仰角和其他转换,以及机械臂的正运动学和逆运动学。1995年,我非常幸运地参加了我的第一次国际机器人研究研讨会(Herrsching, Germany),在那里我遇到了许多机器人领域的大人物。我向那里的一些人展示了我简陋的工具箱,他们说得很好,并鼓励我把它公开。有人还记得ftp服务器吗?

约翰·克雷格在他著名的教科书的第三版中选择了这个工具箱[3]。随着时间的推移,我为工具箱添加了更多的功能,例如,四元数,移动机器人,并扩展了手册,添加了越来越多的教程内容。在21世纪初,我开始考虑写一本着重于代码和代码示例的书。2009年,我有机会开始写这本书,并于2011年出版。

我开始与MathWorks积极合作,并在机器人工具箱的开发过程中加入了一些内容。通过这个过程,我认识了领导机器人团队的雷莫·皮拉特。2015年,我在MathWorks工作了几个月,与Remo和机器人团队一起工作,遇到了计算机视觉团队的负责人Witek Jachimczyk。我有一个个人计划,希望从我自己的工具箱中获得尽可能多的功能到MathWorks产品中,这样我就可以少做一些个人工具箱的维护工作。下载188bet金宝搏正是在这次访问中,我产生了一个想法,将所有与我开始称之为“空间数学”的代码分解到它自己的工具箱中——一组函数和类,它们实现了我们用来表示二维和三维方向和姿态的所有数学对象,以及这些类型之间的所有转换。这包括李群矩阵SO(2), SE(2), SO(3), SE(3),四元数,滚仰偏航角,角向量对,指数坐标,扭转等等。我很快重构了我自己的工具箱,空间数学工具箱就诞生了。我在MathWorks举办了一个午间“棕色袋子”研讨会,并大胆地提出,所有这些功能都应该纳入MATLAB核心,并被所有工具箱使用,而不是为每个工具箱提供不同的部分实现。现在在2023年,大部分功能都包含在MATLAB中,其中一些是核心功能,一些则包含在选定的工具箱中。

第三版

到2020年,是时候开始考虑本书的第三版了。我的工具箱已经有将近30年的历史了,很明显,过去十年开发的MathWorks工具箱可以做我的工具箱能做的所有事情,甚至更多。丢掉我的工具箱意味着重写书中的每一行代码(有超过2500行MATLAB代码),修改叙述以适应,再加上加快使用MathWorks产品线中的所有相关工具箱的速度。或者我可以邀请我的朋友Witek和Remo作为作者加入。我们达成了一个协议,并于2021年开始合作,这是一次非常愉快和富有成效的合作。这本书因为有了新的视角而全面受益,Witek和Remo不仅能够带来他们自己的观点,还能带来他们客户的观点。手稿是使用LaTeX编写的,我们使用GitHub、Teams和电子邮件进行沟通,并每周召开一次协调会议。这本书将于2023年第一季度末出版。

在u教授机器人技术niversity

我的日常工作是昆士兰科技大学的教授,在过去的十年里,我在教学中大量使用MATLAB。我使用MATLAB Grader为学生设置问题,并通过他们如何将解决方案清晰地表达为MATLAB代码来测试他们理解问题的能力。金宝搏官方网站评分员提供即时反馈,这是学生们喜欢的,我不需要给他们的论文评分,这是我喜欢的。

我认为让学生接触到机器人是很重要的,但这对大班来说是一个挑战。去年,我们使用MATLAB在一个180名学生的班级中共享一个机器人——学生通过电子邮件将他们的MATLAB代码发送到连接到机器人的服务器上。任务是在键盘上输入一个给定的5个字母的单词,解决方案包括坐标变换、逆运动学和简单的路径规划。学生们使用MATLAB和CopelliaSim通过一个简单的API进行开发。当他们的代码在服务器上运行时,使用了相同的API,服务器返回一个详细的日志文件以及机器人执行任务的视频。服务器执行运动限制,以防止对机器人和键盘造成损害。整个运行时是用MATLAB编写的,邮件处理是用powerautomatic完成的。

机器人在一个上锁的实验室里无人看管地运行,但学生们可以透过玻璃墙看到它,屏幕上显示了当前正在运行的工作小组的身份。学生们发现这非常吸引人,机器人可以24×7来运行他们的工作。学生们透过玻璃看着他们的机器人,并在他们提交的任务成功运行后击掌庆贺,这是一件令人高兴的事情。

在我们的移动机器人课程中,我们使用小型定制机器人[4]包括树莓派和相机的移动机器人。内置的网络服务器允许用户发送运动命令,读取里程表或从机器人的摄像头抓取图像。一个RESTful web API允许从学生的笔记本电脑控制机器人,我们提供了一个MATLAB API。机器人顶部装有红外发光二极管,头顶的树莓和摄像系统可以提供定位信息。我们使用这个设置来教授移动机器人的运动控制,移动到一个点或沿着一条线,路径规划,障碍物躲避和视觉SLAM。

[1]r·p·保罗。机器人操作手:数学、编程与控制。麻省理工学院出版社,剑桥,马萨诸塞州,1981年。

[2]傅康生,R. C.冈萨雷斯,C. S. G.李。机器人技术。控制,传感,视觉和智能。麦克劳-希尔,1987年。

[3]j·克雷格·。机器人学导论:力学与控制。普伦蒂斯·霍尔,2004年。

[4]https://github.com/qcr/PenguinPi-robot

|

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。