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

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

3天内不再提示

结合大象机器人六轴协作机械臂myCobot 280 ,解决特定的自动化任务和挑战!(上)

大象机器人科技 来源:大象机器人科技 作者:大象机器人科技 2024-03-05 10:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

项目简介

本项目致力于探索和实现一种高度集成的机器人系统,旨在通过结合现代机器人操作系统ROS)和先进的硬件组件,解决特定的自动化任务和挑战。一部分是基于Jetson Orin主板的LIMO PPRO SLAM雷达小车,它具备自主导航、地图构建和路径规划的能力;另一部分是Mycobot 280 M5机械臂,这是一个具有六自由度、工作半径280mm的紧凑型机械臂,能够进行精确的物品搬运和操作。

通过将这两部分紧密集成,我们创建了一个能够执行复杂任务的复合机器人系统,如自动化物品传送、环境监测、以及其他需要高度自主性和操作灵活性的应用场景。

项目的开发过程中,我们深入探讨了ROS的强大功能,包括但不限于使用move_base实现的自主导航,以及gmappping_ros进行的实时SLAM(同时定位与地图构建).还涉及到机械臂的控制和计算机视觉技术的应用,用于物体识别和环境感知,从而提高机器人的操作智能和适应性。

项目希望能够为技术爱好者、教育工作者和研究人员提供一个实用的参考,激发更多的创新思路和应用探索。

技术和硬件概述


myCobot 280 M5Stack。
myCobot 280 是由Elephant Robotics 开发的6自由度的协作形机械臂,设计灵活且功能强大,特别适合用于教育,研究等场景。

wKgaomXmgkeAfKBcAAO9Ed-9TK0256.png

myCobot 280 M5支持多种编程和控制方式,适用于各种操作系统和编程语言,包括:

主控和辅控芯片:ESP32

性能:工作半径280mm,

支持蓝牙(2.4G/5G)和无线(2.4G 3D Antenna)

多种输入和输出端口

支持自由移动、关节运动、笛卡尔运动、轨迹录制和无线控制

兼容操作系统:Windows、Linux、MAC

支持编程语言:PythonC++C#JavaScript

支持编程平台和工具:RoboFlow、myblockly、Mind+、UiFlow、Arduino、mystudio

支持通信协议:串口控制协议、TCP/IP、MODBUS

这些特性使myCobot 280 M5成为一个多功能、易于使用且适用于多种应用场景的机器人解决方案。

LIMO Pro


松灵机器人LIMO代表了移动机器人领域的一项创新,将灵活性和强大的功能集成于一个紧凑的平台之中。它是专为机器人教育、功能研发及产品开发而设计的全球首款ROS开发平台,能够适应更广泛的场景并满足行业应用的需求。以下是对Limo Pro硬件和技术特性的详细概述:

wKgaomXmh7KARc7zAASf3ZHyc_w091.png

运动模态

四轮差速- 阿克曼转向- 履带型移动- 麦克纳姆轮移动
场景适用性

适用于多种实拟教学和测试环境- 从室内平整地面到复杂地形均能灵活应对
处理器

NVIDIA Jetson Orin Nano
传感器配置

EAI Tmini Pro激光雷达 - 深度相机
主要功能

精确的自主定位 - SLAM建图 - 路线规划 - 自主避障 - 自主倒车入库 - 红绿灯识别
LIMO利用激光雷达和深度相机进行环境感知,结合NVIDIA Jetson Orin Nano的强大计算能力,实现高精度的SLAM建图和自主导航。LIMO不仅作为移动平台执行复杂的导航和搬运任务,其多模态移动能力也大大增强了机器人系统的适用范围和灵活性。结合Mycobot 280 M5机械臂,LIMO为自动化应用提供了一个高效、可靠的解决方案,无论是在机器人教育、研发还是产品开发领域,都展现出了巨大的潜力和价值。

软件架构


软件架构主要分为:导航和建图,目标检测,机械臂控制,以及系统集成和通信。这些部分通过ROS(robot operating system)框架进行整合,利用ROS的通信机制(话题,服务,动作)实现模块间的交互。

wKgZomXmh92AVYBsAAMBWo2-2SE109.png

ros的通信方式

下图是整个项目的软件架构图,我们来一起来介绍一下具体的功能。

wKgaomXmh-2AZRUeAACLDND6eok026.png

整体主要分为三个模块,一个是LIMO PRO的功能,二是机器视觉功能处理,三是机械臂的功能。

LIMO PRO Function
Gmapping:

Gmapping是基于滤波SLAM框架的常用开源SLAM算法。Gmapping有效利用了车轮里程计信息,对激光雷达的频率要求不高,在构建小场景地图时,所需的计算量较小且精度较高.

wKgaomXmiBuAAMpfAAD6pjHe4HY165.pngwKgaomXmiCuAGrCBAAIJcZZBCp0886.png

建了地图之后就可以在地图上进行定位导航了,这一部分的功能主要运用到机器人定位和路径规划,ROS提供了一下两个功能包:

(1)move_base:实现机器人导航中的最优路径规划。

(2)amcl:实现二维地图中的机器人定位。

在上述的两个功能包的基础上,ROS提供了一套完整的导航框架。

wKgaomXmh9WABV2cAAFLgi08FaE504.png

机器人只需要发布必要的传感器信息和导航的目标位置,ROS即可完成导航功能。在该框架中,move_base功能包提供导航的主要运行、交互接口。为了保障导航路径的准确性,机器人还要对自己所处的位置进行精确定位,这部分功能由amcl功能包实现。

wKgaomXmiFSAaz_lAAugT5QCBfI110.png

在导航的过程中,运用了两种算法DWA和TEB算法,这两种算法分别处理全局路径和局部路径规划,来保证小车能够安全的前进到目的地,避免与障碍物发生碰撞。

myCobot 280 Function

ROS主要支持python和C++两种编程语言。机械臂的控制主要是基于python当中的pymycobot API 库。 这个功能很全面的提供了mycobot 280 的控制方法,下面主要介绍几个常用的方法:

pymycobot API:

下面的两个方法能够控制机械臂关节的角度来控制机械臂运动,能单独控制某个关节的角度,也能够控制全部关节的角度来运动。

send_angle(id,angle,speed) send_angles(angle_list,speed,mode)

对于要执行一些抓去运动来说,角度的控制是远远不够大的,所以pymycobot还提供了坐标控制,能够控制机械臂末端在空间上的运动。

send_coord(id,coord,speed) send_coords(coords, speed, mode)

同样是两个控制方法第一个可以单个控制机械臂末端X,Y,Z,RX,RY,RZ方向的姿态,这样可以控制末端机械臂的坐标可以更方便我们做一些抓取的动作。

pymycobot是其中的一种控制方式,比较方便使用。还有一种控制方式是基于ROS框架里边的MoveIt,它是一个功能强大大的机器人运动规划框架,包括路径规划,运动控制,碰撞检测,运动学计算等等。下面是一个在MoveIt当中的演示。

wKgZomXmiIKAT2KFAAPI3WoZGyw986.png
Target Detection
vision_opencv - ROS Wiki

此外我们还要对视觉进行处理,在ROS中,opencv_ros和image_transport是处理图像数据的重要工具和库,它们在机器人视觉系统和图像处理中扮演着关键角色。

wKgaomXmiIyAHUkQAABnmG6k8Rg534.png

实际上,是使用‘cv_bridge’提供了ROS 和OpenCV之间的接口,cv_bridge允许在ROS消息和OpenCV图像格式之间进行转换,从而可以在ROS框架中使用OpenCV进行图像处理。

在ROS中使用OpenCV时,图像数据通常是作为ROS消息通过话题发布和订阅的,因此需要使用cv_bridge来转换数据格式。下面是一个简单的示例,展示了如何在ROS节点中订阅图像话题,并使用OpenCV对图像进行处理:

import rospy from sensor_msgs.msg import Image from cv_bridge import CvBridge, CvBridgeError import cv2 def image_callback(msg): try: # Convert ROS image messages to OpenCV image format cv_image = bridge.imgmsg_to_cv2(msg, "bgr8") except CvBridgeError as e: print(e) # Process the image, such as converting it to grayscale gray = cv2.cvtColor(cv_image, cv2.COLOR_BGR2GRAY) # display image cv2.imshow("Image window", gray) cv2.waitKey(3) # Initialize ROS node rospy.init_node('image_listener') # create CvBridge bridge = CvBridge() # Subscribe to image topics image_sub = rospy.Subscriber("/camera/rgb/image_raw", Image, image_callback) # Entering the ROS event loop rospy.spin()
 

虽然在ROS环境中使用OpenCV进行图像处理引入了数据格式转换和节点通信的额外步骤,但这种方式也带来了更高的模块化和系统集成的灵活性,使得图像处理能够更加方便地与机器人的其他系统和功能集成。

场景介绍


该项目旨在实现一个继承的自动动画系统,其中包括一个LIMO pro 和 一个mycobot 280 M5。系统设计使得Limo Pro能够自主导航至指定位置,到达后,Mycobot 280 M5机械臂执行抓取任务,完成后再返回到起始点或另一个特定位置。

wKgaomXmiKiAFxTeAADlMdtIawA165.png

项目流程


1.启动与初始化:
系统启动时,先进行自检,包括Limo Pro的导航系统和Mycobot 280 M5机械臂的功能检查。


2.导航至目标点:
利用Limo Pro上的SLAM技术和导航算法,根据预设或动态输入的坐标,规划一条到达目标点的最优路径。
Limo Pro自主避开障碍物,沿着规划的路径移动至目标点。


3.执行抓取任务:
到达目标点后,使用Limo Pro上的传感器定位目标物体。
Mycobot 280 M5机械臂根据目标物体的位置,执行抓取动作。这一步骤可能涉及精确的运动规划,确保抓取成功。


4.返回特定位置:
完成抓取任务后,Limo Pro再次规划路径,返回到起始点或移动至另一个指定的位置,以进行物品交付或完成任务。


总结


本系列文章被划分为两个部分:首篇文章主要介绍了项目的概念设计、系统架构以及关键组件的选择,为读者提供了一个全面的项目概览和技术背景。接下来的文章将深入探讨项目的技术细节,包括软件架构的构建、关键技术的应用、系统调试过程以及在开发过程中遇到的挑战和解决方案。

在下一篇文章中,我们将正式进入项目的技术内核,分享实际的编码实践、调试技巧以及面对项目挑战时的思考和解决策略。敬请期待下篇文章,我们将一起深入这个集成自主导航和机械操作的机器人项目,探索技术的深度与广度。

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

    关注

    213

    文章

    30594

    浏览量

    219641
  • 操作系统
    +关注

    关注

    37

    文章

    7329

    浏览量

    128647
  • 机械臂
    +关注

    关注

    13

    文章

    582

    浏览量

    25968
  • ROS
    ROS
    +关注

    关注

    1

    文章

    290

    浏览量

    18481
  • 大象机器人
    +关注

    关注

    0

    文章

    86

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    一、背景:机器人迈向“微米级控制时代” 随着智能制造和自动化产业的持续升级,工业机器人不再仅仅承担重复搬运,而是被要求在装配、检测、精密加工等高精度场景中完成微米级控制任务。 在这些“
    发表于 11-14 15:48

    协作机器人打磨市场何时迎来爆发

    只用不到1N轻微的力将机械在两点之间轻松拖动,协作机器人便能轻松在复杂曲面工件像水蛇一般柔顺舞动,将工件打磨得锃亮——在百花缭乱、争妍斗
    的头像 发表于 10-23 11:04 559次阅读

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

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

    工业机器人的特点

    的基础,也是三者的实现终端,智能制造装备产业包括高档数控机床、工业机器人自动化成套生产线、精密仪器仪表、智能传感器、汽车自动化焊接线、柔性自动化生产线、智能农机、3D 打印机等领域。
    发表于 07-26 11:22

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

    大象机器人成立于2016年,专注协作机器人研发与应用,产品线涵盖轻量级协作机器人、人形
    的头像 发表于 06-06 16:55 1146次阅读
    <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 689次阅读
    工业<b class='flag-5'>机器人</b>与<b class='flag-5'>协作</b><b class='flag-5'>机器人</b>概念不同

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

    大象机器人成立于2016年,专注协作机器人研发与应用,产品线涵盖轻量级协作机器人、人形
    发表于 04-25 17:59

    大象机器人×进迭时空联合发布全球首款RISC-V全栈开源小机械

    革新产品——全球首款基于RISC-V全栈开源的协作机械 myCobot
    的头像 发表于 04-25 14:19 1465次阅读
    <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>

    大象机器人推出myCobot 280 RDK X5,携手地瓜机器人共建智能教育机

    摘要大象机器人全新推出轻量级高性能教育机械myCobot280RDKX5,该产品集成地瓜机器人
    的头像 发表于 04-15 22:05 1099次阅读
    <b class='flag-5'>大象</b><b class='flag-5'>机器人</b>推出<b class='flag-5'>myCobot</b> <b class='flag-5'>280</b> RDK X5,携手地瓜<b class='flag-5'>机器人</b>共建智能教育机

    大象机器人以科技治愈人心

    当冰冷的代码被赋予人性的温度,科技便有了治愈人心的力量。大象机器人公司始终致力于通过机器人技术改善人们的生活,"享受机器人世界"是大象
    的头像 发表于 02-20 11:17 1163次阅读

    专为机器人教育而设计的创客友好型机械

    本文重点介绍了一款专为机器人教育而设计的具有动态跟踪功能的创客友好型机械 硬件组件 M5Stack ESP32 Basic Core IoT Development Kit Raspberry
    的头像 发表于 02-12 11:12 1113次阅读
    专为<b class='flag-5'>机器人</b>教育而设计的创客友好型<b class='flag-5'>机械</b><b class='flag-5'>臂</b>

    多功能复合机器人设计方案

    本文中的案例介绍了如何将 myCobot 280 机械与 myAGV 移动底盘进行集成,以构建用于智能自动化的多功能复合
    的头像 发表于 02-10 15:34 1383次阅读
    多功能复合<b class='flag-5'>机器人</b>设计方案

    如何使用PLC控制myCobot 320机械

    根据持续的用户反馈,目前市场对 PLC 与 myCobot 系统集成的需求很大,因此本文提供的案例介绍了如何使用 PLC(可编程逻辑控制器)来控制 myCobot 320 机械。本案
    的头像 发表于 01-23 14:03 2165次阅读
    如何使用PLC控制<b class='flag-5'>myCobot</b> 320<b class='flag-5'>机械</b><b class='flag-5'>臂</b>

    使用myCobot 280机械结合ROS2系统搭建机械分拣站

    这篇文章是来自Automatic Addison的开源项目,已获作者授权转载自github。本项目的主要内容是使用myCobot 280机械结合
    的头像 发表于 01-15 09:22 1918次阅读
    使用<b class='flag-5'>myCobot</b> <b class='flag-5'>280</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b><b class='flag-5'>结合</b>ROS2系统搭建<b class='flag-5'>机械</b>分拣站

    【「具身智能机器人系统」阅读体验】2.具身智能机器人大模型

    需要专业程序员进行繁琐的编程工作,这种方式不仅效率低下,还限制了机器人的应用场景。例如,在我们大学工程实训课程中使用的数控机床,需要人为设定起点、终点、移动方向和移动距离等参数,自动化程度非常有限。而
    发表于 12-29 23:04