0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用ChatGPT学习大象机器人六轴协作机械臂mechArm!

大象机器人科技 来源:大象机器人科技 作者:大象机器人科技 2024-01-31 14:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

引言
我是一名机器人方向的大学生,近期学校安排自主做一个机器人方面相关的项目。学校给我们提供了一个小型的六轴机械臂,mechArm 270M5Stack,我打算使用ChatGPT让它来辅助我学习如何使用这个机械臂并且做一个demo。

本篇文章将记录我是如何使用ChatGPT来学习机械臂的使用。

ChatGPT
ChatGPT 是由 OpenAI 开发的一个先进的人工智能对话系统。它基于大规模语言模型 GPT(Generative Pretrained Transformer)技术,能够理解和生成自然语言文本。ChatGPT 能够进行多种交互,包括回答问题、提供解释、撰写文本、编程协助等。它的设计目的是为了模拟人类在特定领域或对话中的表现,从而提供高质量的、类人的交流体验。

ChatGPT 如何帮助学习新知识:

个性化教学:根据用户的问题和回答,ChatGPT 能够个性化地提供信息,使学习过程更加符合用户的需求和水平。
理论与实例结合:ChatGPT 不仅能提供理论知识,还能结合实际案例来解释复杂概念,帮助用户更好地理解和记忆。
步骤指导:对于复杂任务或问题,ChatGPT 可以提供分步骤的指导和建议,帮助用户逐渐掌握技能。
资源推荐:ChatGPT 还能推荐书籍、在线课程、文章等资源,帮助用户深入学习。
学习的过程Process
首先我得赋予他一个身份,一个角色,这样的话它的回答才能不会特别的偏离我们的主题。

me: You are now a senior teacher in robotics. I will ask you some questions to help me learn a robotic arm. ChatGPT: That sounds great! I'm here to help with your questions about robotic arms. Whether it's about their design, operation, programming, or applications, feel free to ask. Let's get started!

在此之间我已经对机器人相关的知识有所了解了,直接让它给我调查我现在这款机械臂是什么该如何使用。然后它就提供了一些机械臂的参数,以及编程环境等等

me: Do you know the mechArm 270 MechArm, a product of Elephant Robotics? My instructor gave us one to use for a case study. I wanted to know the basic information about this robotic arm first. ChatGPT: ... Specifications: Payload Capacity: Up to 250 grams. Reach: 270mm. Degrees of Freedom (DoF): 6, via 6 magnetic encoder motors. Movement Speed: Up to 120°/s. Positioning Accuracy: ±1 mm. Controller: Raspberry Pi 4 Model B, featuring quad-core Cortex-A72 processor, dual-band WiFi 5, and Bluetooth 5.0 connectivity. Supported Cameras: Official Raspberry Pi cameras or third-party USB cameras. USB Ports: 2 USB 3.0 ports, 2 USB 2.0 ports. Power Input: 8-12V/5A DC jack. Weight: Approximately 1 kilogram. Expansion Options: 40-pin GPIO header ...

mechArm 270
经过较详细的汇总,我就得知这是一款桌面型的机械臂,工作半径270mm,能够支持多平台的编译,比较全面的是python编程语言,还附带一个丰富的API控制库方便用户们的使用。

有40个GPIO接口,比较适合做一一些非常小型的自动化任务,也可以做教育环境和研究等应用。

wKgaomW55ziABcGVAAKtvbJgV1Q703.png

环境安装
基于他对于Python支持的比较多,所以我决定用python来进行这个机械臂的学习。

操作系统:window11 编程语言: python3.9+ 主要使用的功能库:pymycobot


pymycobot的使用
ChatGPT介绍了一个基本的使用,从安装到使用都有。

安装库

pip install pymycobot

基础使用

导入使用的库

#import library

from pymycobot.mycobot import MyCobot

初始化机械臂,建立连接

#Initialize the Robot Arm

```

Connect the mechArm to your computer.

Initialize the robotic arm by specifying the port it's connected to and the baud rate

```

mc = MyCobot('com3',115200)

基础命令

Move the Arm: Use methods like send_angles to control the arm's position. For example, to move the arm to a specific angle:

mc.send_angles([0, 0, 0, 0, 0, 0], 100) # Angles for each joint, Speed

Get Current Position: To read the current position of the arm:

angles = mc.get_angles()

print(angles)

Control the Gripper: To open or close the gripper:

mc.set_gripper_state(1, 50) # 1 for open, 0 for close, Speed

以上是ChatGPT给我提供的一些使用的基础方法,我来尝试一下按照他的步骤来进行控制机械臂。

wKgaomW56EqAdmjXAADTAzGgNgU081.png

wKgaomW56ECALPkWABotXluqtEE982.png

然后我自己尝试了使用代码控制机械臂做一个循环动作。

import time from pymycobot.mycobot import MyCobot #Initialize the Robot Arm mc = MyCobot('com13',115200) time.sleep(3) for count in range(3): mc.send_angles([57.21,(-2.1),19.33,(-81.29),(-73.65),(-1.14)],80) time.sleep(1) mc.send_angles([(-9.05),(-1.93),9.05,2.63,(-2.28),(-0.26)],80) time.sleep(1) mc.send_angles([5.36,(-41.57),(-17.31),11.07,(-55.54),(-1.49)],80) time.sleep(1)

wKgZomW56NCAX62yAFfNPIPoiIs541.png

这是一些角度控制机械臂运动,单独控制角度的话我觉得只能做一些固定的动作,对于一些应用场景应该不是特别的实用。于是我问,还有什么其他的控制方法能够适用于物体抓图的运动。

chat

me: Controlling the movement of the angle is only applicable to some special points and postures. For some object grabbing scenes, these unfixed points should not be used. Is there any other method of control? Chatgpt: Absolutely, for scenarios where controlling the robotic arm based on specific angles isn't practical, especially in object grabbing and manipulation tasks, there are alternative control methods that can be more effective: 1. Cartesian (Coordinate) Control: Description: This method involves controlling the robotic arm by specifying the position of the end effector in Cartesian coordinates (X, Y, Z), along with orientation (roll, pitch, yaw). Usage: In Python, using the pymycobot library, you can command the robotic arm to move to a specific Cartesian coordinate. The command might look like:

让我来尝试send_coords()这个方法是怎么运转的,下面是我写的代码在机械臂的末端位置上作出运动。

class MechArm: def __init__(self,port): #初始化链接 self.mc = MyCobot(port, 115200) self.coords = [116.4, -0.1, 178.4, -179.68, 6.5, -179.43] self.speed = 40 self.mode = 0 def increment_x_and_send(self, increment=20): # 增加x值并发送新坐标 self.coords[0] += increment self.mc.send_coords(self.coords, self.speed, self.mode) def increment_y_send(self,increment=20): self.coords[1] += increment self.mc.send_coords(self.coords,self.speed, self.mode)

wKgZomW56aCALtq6ABLJn6MQDyk311.png

我发现在控制机械臂的时候,有些指令会被吞掉,导致机械臂没有办法运动。解决的办法就是需要添加一个等待时间,等待的时间需要大于机械臂运动的时间才能够保证运动完全执行完。

time.sleep(s) # run code mc = RobotArmController('com13') mc.init_p() time.sleep(3) mc.increment_x_and_send() time.sleep(1) mc.increment_y_send() time.sleep(1) mc.increment_x_and_send() time.sleep(1) mc.increment_y_send()

进阶使用
我打算用吸泵来抓取一些东西,之后想做一个视觉的场景结合起来。mechArm有40个IO接口可以外接一些设备使用,比如说吸泵,夹爪等等工具。

wKgaomW56cOAY-tYAALQPy4lg9Y506.png

给末端装上吸泵然后就可以开始实践了。我得找到调用吸泵的方法,pymycobot里面的API太多了,我直接让ChatGPT来帮助我知道吸泵。

me: How to call the suction pump? ChatGPT: Control Commands: Activate the Suction Pump: To turn on the suction pump, you might send a command to set a specific IO port to HIGH. The exact command will depend on how the suction pump is connected to the controller. python mc.set_basic_output(1,0) # Example: Setting pin 1 to HIGH (0) Deactivate the Suction Pump: To turn off the suction pump, you would send a command to set the IO port to LOW. python Copy code mc.set_basic_output(1, 1) # Example: Setting pin 1 to LOW (1) Integrate with Movement Commands: You would typically integrate these commands into a sequence where the robotic arm moves to a target location, activates the suction pump to pick up an object, moves to a new location, and then deactivates the pump to release the object.

wKgZomW56gaAKVXmAAMPBy177k0112.png

现在我们来创建函数来控制吸泵的开关。

def pump_on(self): self.mc.set_basic_output(5,0) def pump_off(self): self.mc.set_basic_output(5,1) mc.initial_position() time.sleep(2) mc.pick_up_postion() time.sleep(2) mc.pump_on() time.sleep(1) mc.increment_z_send() time.sleep(3) mc.pump_off()

wKgaomW56iOAeCTWABP46DB-9c0679.png

本次先记录到这里,之后我打算结合摄像头做一些定位抓取的功能。

总结
随着人工智能的不断发展,它影响的不单单是科技方面,还影响着我们生活中的点点滴滴。它很大程度上提升了我们的学习效率,就拿我来说,如果我要了解一个新事物肯定得把相关文档全部通读一遍,甚至也不一定能理解到位,有了ChatGPT等许多人工智能的工具,学习的方式再也不像之前那样了,是全新的一种风格。及时是一无所知的机械臂,也能再很快的上手使用。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    213

    文章

    31449

    浏览量

    223677
  • 人工智能
    +关注

    关注

    1820

    文章

    50330

    浏览量

    266967
  • python
    +关注

    关注

    58

    文章

    4885

    浏览量

    90309
  • 机械臂
    +关注

    关注

    14

    文章

    601

    浏览量

    26186
  • 大象机器人
    +关注

    关注

    0

    文章

    87

    浏览量

    405
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么说关节扭矩传感器是高端机器人的“触觉神经”?

    “触觉神经”会怎样? 拧螺丝:只会用死力,容易滑丝或损坏螺纹。 推门:不知道门是否已开,只会继续施加扭矩,可能折断门。 人机协作:一旦误碰,不会卸力,直接撞伤操作员。 数据说话:高端机器人的标配 精度
    发表于 04-17 17:27

    机器人主控核心板米尔RK3576 + ROS2,NPU加速实现目标跟随与机械抓取

    命令),通过电流反馈或限位开关判断是否夹住物体。 完成 :抓取成功后,机械保持闭合,底盘可原地等待下一步指令。 第章:总结与展望 本文在上篇“建图与导航”的基础上,为米尔RK3576
    发表于 04-10 21:23

    大象机器人myCobot 320机械如何凭实力走进顶尖学府

    在复旦大学邯郸校区某栋实验楼里,一堂关于《机器人学导论》的课程刚刚结束。学生们没有急着离开,而是围在实验台前,对着桌面上一台精巧的白色机械,热烈地讨论着刚刚跑通的抓取算法。
    的头像 发表于 03-20 09:43 319次阅读

    大象机器人产品赋能全球尖端科研与教育实践

    应用大象机器人机械作为核心研究工具产出的论文,被机器人领域顶级期刊《Science Robotics》(影响因子27.5,JCR/中科院双1区)收录并荣登期刊封面。
    的头像 发表于 02-11 10:34 649次阅读

    复合机器人对比传统AGV和机械的优势何在?

    复合机器人对比传统AGV和机械的优势,核心在于它突破了单一设备的功能局限,实现了“移动+操作”的深度协同,尤其在上下料和物料转运场景中优势显著。经世智能复合机器人:重新定义上下料与物
    的头像 发表于 11-21 15:32 1797次阅读
    复合<b class='flag-5'>机器人</b>对比传统AGV和<b class='flag-5'>机械</b><b class='flag-5'>臂</b>的优势何在?

    高精度机器人控制的核心——基于 MYD-LT536 开发板的精密运动控制方案

    算法与 C++ 实时模块开发; - 可作为控制核心部署在高精度测量机器人、激光切割机械协作机械
    发表于 11-14 15:48

    发那科推出全新M-710iD系列多功能机器人

    广受欢迎的多功能机器人M-710系列迎来全面升级!发那科全新推出M-710iD/50M与M-710iD/70机器人,为机床上下料、物料搬运、装配、码垛及焊接应用树立新标杆。
    的头像 发表于 09-12 15:05 3177次阅读

    对比AGV和协作,为什么要选择复合机器人?有哪些场景和优势

    GV往往只能完成货物搬运和运载,协作只能完成固定工位的抓取动作,而复合机器人作为2种设备的结合体,具有多种优势
    的头像 发表于 08-14 16:10 2467次阅读
    对比AGV和<b class='flag-5'>协作</b><b class='flag-5'>臂</b>,为什么要选择复合<b class='flag-5'>机器人</b>?有哪些场景和优势

    协作机械产品介绍

    电子发烧友们、工业自动化从业者、科研工作者们注意啦!今天给大家重磅介绍一款在机械领域表现极为亮眼的产品——协作机械,它正以卓越性能重塑行
    发表于 08-07 17:20 0次下载

    海默RC系列机器人控制器

    ,基于自主研发技术打造,致力于推动机器人核心技术的持续突破。RC系列控制器/HMControllerSeriesRC80控制器RC40控制器为满足工业机械对毫秒级实时
    的头像 发表于 08-01 15:35 1344次阅读
    海默RC系列<b class='flag-5'>机器人</b>控制器

    机器人看点:越疆机器人正式发布足仿生机器狗 智元公布机器人运动控制模型专利

    给大家带来两个机器人的最新消息: 越疆机器人正式发布足仿生机器狗 7月9日,深圳越疆机器人正式发布
    的头像 发表于 07-09 15:03 2492次阅读

    RDK × 腿机器人:这只 “机械汪” 竟会说人话、走花路!

    ,基于RDKX3平台进行AI大模型算法开发,提出了一种融合AI大模型的创新性解决方案,提升腿机器人的综合性能。-项目首先强化了机器人的多模态感知能力,利用雷达、摄像
    的头像 发表于 07-01 20:27 1436次阅读
    RDK × 腿<b class='flag-5'>臂</b><b class='flag-5'>机器人</b>:这只 “<b class='flag-5'>机械</b>汪” 竟会说人话、走花路!

    极海G32R501工业机械参考方案释放工业4.0产业价值

    挥着重要作用,是现代工业自动化和智能化生产的核心工具。据Grand View Research数据分析,2024年全球工业机器人市场规模约为340亿美元,预计2025年至2030年将以9.9%的复合年增长率持续增长,展现出巨大的市场潜力。 极海工业
    发表于 06-23 13:52 1978次阅读
    极海G32R501工业<b class='flag-5'>六</b><b class='flag-5'>轴</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b>参考方案释放工业4.0产业价值

    大象机器人携手进迭时空推出 RISC-V 全栈开源机械产品

    大象机器人成立于2016年,专注协作机器人研发与应用,产品线涵盖轻量级协作机器人、人形
    的头像 发表于 06-06 16:55 1680次阅读
    <b class='flag-5'>大象</b><b class='flag-5'>机器人</b>携手进迭时空推出 RISC-V 全栈开源<b class='flag-5'>六</b><b class='flag-5'>轴</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b>产品

    工业机器人协作机器人概念不同

    在自动化生产的浪潮中,工业机器人协作机器人逐渐成为企业提升效率、优化产能的得力助手。但它们并非同一概念,在功能、设计与应用场景上有着显著差异。北京沃华慧通测控有限公司凭借深厚的技术沉淀,为不同需求的企业提供适配的
    的头像 发表于 06-03 13:15 1346次阅读
    工业<b class='flag-5'>机器人</b>与<b class='flag-5'>协作</b><b class='flag-5'>机器人</b>概念不同