双臂复合机器人平台叠方块例程使用与自启设置

news2024/11/27 2:44:20

        睿尔曼双臂升降复合机器人平台,旨在为机器人教育提供强大的实训平台,该平台全自主研发,实现机器人建图导航、路径规划,机械臂运动学、动力学、轨迹规划、视觉识别等算法和应用,提供开放式的软件框架,为教学和科研提供平台支撑。

        平台集成了移动底盘、深度视觉、语音模块、超轻量仿人机械臂、五指灵巧手、两指夹爪等各种仿人功能设备。同时在移动底盘上安装了超声波、激光雷达、视觉传感器,使该平台变得更加安全、智能。该教育平台主要应用于教育教学,因此需要提供尽可能多的学习资源、方便的使用软件、开放式的二次开发接口。

        睿尔曼双臂升降复合机器人平台中内置了一个方块堆叠例程,主要内容位于“ws_ross_dual”和“catkin_ws”这两个文件夹中。本文将为您介绍这一例程的使用方法。

1.启动设置

        若想要开机即运行本例程,请在系统应用程序的“启动应用程序首选项”中添加本例程的启动脚本:dual_robot.sh 。如图1所示:

图 1 添加例程开机自启

若不采用开机自启,而是手动输入命令运行,以下提供两个方案:

方案一:运行一键启动脚本:

打印aruco码:(可从以下网址下载)

https://chev.me/arucogen/

参数要求:Original ArUc,  ID:582,Marker size:200mm

图2:下载aruco码并原大小打印

        打印完成后。将aruco码放置于双臂升降复合机器人正前方65cm处,即可自动完成识别调整。打开一个新终端:

①cd ~/ws_ross_dual/self_start    //进入脚本所在路径

②./dual_robot.sh                 //运行一键启动脚本

如此便完成了例程的启动。

方案二:分别启动服务初始化脚本和运动行为执行脚本:

打开一个新终端:

①cd ~/ws_ross_dual/self_start    //进入脚本所在路径

②./dual_robot_single.sh          //运行服务初始化脚本

再打开一个新终端:

cd ~/ws_ross_dual/ update_bt_tree_config

./ build_block.sh               //运行运动行为执行脚本

        执行以上步骤后,本例程便开始运行,控制双臂升降复合机器人平台执行对物体方块的自动识别抓取-堆叠-分拆堆放的操作。

2.例程启动流程介绍

        在上文中提供了两种命令行运行例程的方案,二者在启动的功能上略有不同。

       一键启动(运行dual_robot.sh)的方案启动了三个主要功能模块:

①all_server.launch:此launch文件中包含了机械臂的运动服务初始化,分别启用了双臂复合机器人的左右臂MoveJ和MoveJ_P控制服务。在后续执行抓取时,将通过ROS的服务通讯来调用双臂的运动功能,驱动机械臂按照规划进行抓取。调用本例程中的方块识别模型(基于yolov5),再经由target_detect_ser节点转换识别坐标为机械臂抓取目标。

②adjust.launch:此launch文件位于catkin_ws这一工作空间下。其作用为调用realsense相机识别aruco码获取摄像头与桌面的高度距离,再调用上一步启动的服务来控制升降机构调整机械臂与桌面的高度差,使得双臂升降复合机器人平台的这一例程能够适用于不同高度的桌面。此功能模块的节点在运行一段时间后将被关闭,以解除对摄像头的占用,使后续的方块识别能够正常进行。

③build_block.sh:此脚本文件运行了run_tree.launch,运行例程的预设行为树。此后行为树便会循环执行,控制例程的所有动作和行为有序进行。

        分别启动服务初始化脚本和运动行为执行脚本的方案与上述一键启动方案启动的功能基本相同,但少了adjust.launch调节升降高度的功能。因为桌面高度通常不会一直更换,只需执行一次即可一直使用这一高度来运行。因此若桌面高度无变化,可省略这一步骤,在初始化基础服务后直接开始执行行为树。

3. 例程行为逻辑

        本例程的所有运动行为均由行为树控制调用,例程执行的行为树文件位于“ws_ross_dual/src/dual_bt_main/config”文件夹中,文件名为“build_block.xml”。其执行时,双臂升降复合机器人将执行以下的动作:

①初始化动作:控制双臂向两侧伸展,并调整姿态使之能够便捷地执行抓取。在此动作下,双臂均不在摄像头的视野内,不会发生遮挡,便于方块的识别。这一状态时双臂升降复合机器人平台外观如图3:

图3:运动到初始化动作的双臂升降机器人

②左臂抓取堆放:识别左侧方块,获取方块空间坐标后控制左臂

进行抓取,而后移至中间堆叠。如图4所示:

图4:左臂抓取方块堆叠

③右臂抓取传递,左臂堆叠:右臂根据识别到的右侧方块位置坐标进行抓取,而且通过传递动作将方块递送给左臂,再由左臂将方块堆放。这一动作展现了双臂之间的动作配合。如图5所示:

图5:方块传递动作

        经过以上的三个动作循环执行,双臂复合机器人会将左右各四个,共计八个方块堆叠到中间区域,分为两份。堆叠完成后,再将堆叠好的方块夹取分拆,分散放置于两侧,其过程不再赘述。分拆过程可参照上图5,分拆完成后方块堆放如图3。如此,便是一个完整的动作流程。

        机器人执行行为树之后,若无特殊情况打断或手动停止程序,便会循环执行行为树中设定的运动行为,不断地重复上述流程。

        以上流程中,堆放方块的位置是固定的,传递方块时传递点的空间位置也是确定的,但是抓取方块时每个方块的坐标都是需要视觉识别才能得到的。若运行环境光照条件不良或没有放置方块,导致无法识别到有效方块坐标,那么机器人便会停止在准备抓取的动作,后续的所有动作行为都必须等到本次抓取成功后才会继续进行。

        关于此例程的使用流程介绍就到这里,后续还将继续介绍此例程的程序实现。如果有任何疑问,欢迎在评论区交流讨论。祝您顺利!

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

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

相关文章

使用rsync同步备份linux文件内容到windows客户端

把数据库文件、视频、图片文件同步备份到其他机器上是不可缺少的环节,没有备份机制就是耍流氓。 远程linux服务器端安装rsync debian | ubuntu 系统 sudo apt install rsynccentos系统 sudo yum install rsync创建rsync用户和组 sudo adduser --system --group…

读天才与算法:人脑与AI的数学思维笔记03_AlphaGo

1. 国际象棋 1.1. 1997年计算机“深蓝”(Deep Blue)击败了顶尖国际象棋手,但机器取代数学研究机构还言之尚早 1.2. 下国际象棋与数学的形式化证明颇有相似之处,但学者认为中国围棋的思维方式更能够体现数学家思考的创造性和直觉…

Vue_管道符“|”(单竖线)的用处

目录 1、管道符是什么 2、应用场景 背景:项目中偶遇在 {{ }} 插值表达式里用了 “|”此写法,一开始误以为是写错了,应该是写成 “||” 双竖线( 逻辑或运算符 ),结果询问…

Java基于SpringBoot+Vue的蜗牛兼职网系统的研究与实现

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

HTML学习笔记:(二)框架实例

2、 框架实例 注意&#xff1a;frameset不能和body标签共存 <frameset>元素是用于创建框架页面的&#xff0c;它允许在一个浏览器窗口中显示多个HTML页面。然而&#xff0c;<frameset>是一种较旧的方式来构建网页&#xff0c;它不符合现代Web标准&#xff08;比如…

vue 一键更换主题颜色

这里提供简单的实现步骤&#xff0c;具体看自己怎么加到项目中 我展示的是vue2 vue3同理 在 App.vue 添加 入口处直接修改 #app { // 定义的全局修改颜色变量--themeColor:#008cff; } // 组件某些背景颜色需要跟着一起改变&#xff0c;其他也是同理 /deep/ .ant-btn-primar…

气膜室内滑雪场:解决冬季运动难题-轻空间

在社会主义的旗帜下&#xff0c;人们对环境保护的意识不断增强&#xff0c;全民健身的倡导推动了体育事业的蓬勃发展&#xff0c;也为新建筑业带来了机遇。在环保气膜中进行运动&#xff0c;确实能够体会到许多优点&#xff1a;没有严寒酷暑、飞沙走石和雾霾的困扰。在这里&…

Halo自定义页面

在使用Halo后台维护项目&#xff0c;有的页面是固定的&#xff0c;但内容需要一些自定义样式&#xff0c;内容动态编辑生成&#xff0c;这个时候就需要自定义页面; Halo版本 版本&#xff1a;2.121.首先在theme.yaml中添加自定义页面并指定文件名 spec:customTemplates:page:…

HTML学习笔记:链接target属性

关于target的使用&#xff1a; <a href"https://www.baidu.com" target"_parent">网址链接</a>其中关于target四个特殊目标的理解&#xff0c;W3school上的解释为&#xff1a; HTML 标签的 target 属性 其中_black和_self两个属性很好理解&…

好用且免费的无需搭梯子的长文本场景对话大模型

这款ai工具最近爆火&#xff0c;Kimi支持200万字无损上下文&#xff0c;在长上下文窗口技术上再次取得突破&#xff0c;引燃人工智能领域新一轮投资热情。我也是支持国货&#xff0c;抱着试一试的心态使用&#xff0c;确实不错&#xff0c; China&#x1f402;&#x1f37a;

1分钟搞定NumPy对ndarray快速排序和文件IO操作

1.快速排序 np.sort() 与 ndarray.sort() 都可以&#xff0c;但有区别&#xff1a; np.sort()&#xff1a;不改变原数组&#xff0c;创建一个新的数组&#xff0c;开辟新的内存空间 ndarray.sort()&#xff1a;改变原数组&#xff0c;不多占内存空间 ​# 导包import numpy a…

移动端图片转表格文字的应用推荐

移动端的应用程序中&#xff0c;有许多可以识别图片中文字和表格的应用。以下是一些常见的&#xff1a; 1. **金鸣表格文字识别**&#xff1a;金鸣表格文字识别是一款专业的OCR应用&#xff0c;可以识别图像中的文字和表格&#xff0c;以及各类证件和票据的结构化识别&#xff…

PHP01——php快速入门 之 在Mac上使用phpstudy快速搭建PHP环境

PHP01——php快速入门 之 在Mac上使用phpstudy快速搭建PHP环境 0. 前言1. 下载小皮面板1.1 下载phpstudy&#xff08;小皮面板&#xff09;1.2 启动、简单访问1.2.1 启动Apache1.2.2 访问1.2.3 访问自定义文件或页面 2. 创建网站2.1 创建网站2.2 可能遇到的问题2.2.1 hosts权限…

Hbase的简单学习一

一 Hbase的搭建与安装 1.1 安装 1.准备好文件&#xff0c;上传到Linux上 2.解压文件 tar zxvf hbase-2.2.7-bin.tar.gz -C ../ ../是解压到的路径 1.2 配置文件 1.配置环境变量 去etc/profile目录下 export HBASE_HOME/usr/local/soft/hbase-2.2.7 export PATH$PATH:$H…

openlayers 入门教程(六):controls 篇

目录 一、常用的控件 二、使用控件方法 三、添加删除control 的基本方法 四、control示例 1 比例尺 - ScaleLine 2 鹰眼/缩小图 - OverviewMap 3 全屏 - FullScreen 4 版权信息 - Attribution 5 旋转地图 - Rotate 6 放大缩小 - Zoom 7 缩放滑块控件 - ZoomSlider …

数据库服务的运行与登录

打开数据库服务 数据库服务: SQL Server(MSSQLServer) 运行在服务器端的应用程序, 提供数据的存储 / 处理和事务等在使用DBMS的客户端之前必须首先打开该服务 客户端连接到服务器 关于客户端 / 服务器端的说明 客户端 : 数据库管理系统(DBMS), 应用程序服务器端 : 安装的数据…

MyEclipse 2019安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 MyEclipse是一款功能强大的企业级集成开发环境&#xff08;IDE&#xff09;&#xff0c;它是在Eclipse的基础上通过添加自己的插件开发而成的。MyEclipse主要用于Java、Java EE以及移动应用的开发&#xff0c;并提供了对多种语言…

23 种设计模式

设计模式 1、工厂方法 消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。 2、建造者模式 建造模式:将产品的内部表象和产品的生成过程分割开来,从而使一…

云服务器安装Mysql、MariaDB、Redis、tomcat、nginx

前置工作 进入根目录 cd / 都在/usr/local/src文件夹&#xff09; 上传压缩包 rz 压缩包 Mysql 1.下载并安装MySQL官方的 Yum Repository wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum…

什么是Spring Security?具有哪些功能?

本篇将带你快速了解什么是Spring Security&#xff0c;通过入门案例以及相关原理和类的分析让你快速入门。 一、概述 官网&#xff1a;https://spring.io/projects/spring-security Spring Security是一个Java框架&#xff0c;用于保护应用程序的安全性。它提供了一套全面的安全…