35.Isaac教程--机械臂取放物体示例应用程序

news2024/11/16 1:41:31

机械臂取放物体示例应用程序

在这里插入图片描述
ISAAC教程合集地址

文章目录

  • 机械臂取放物体示例应用程序
    • 使用 Omniverse 套件模拟驱动的机器人手臂
    • 启动取放示例应用程序

该包为拾取和放置场景提供了一个应用程序脚手架。 它具有执行拾取和放置任务所需的高级步骤,并与两种类型的机器人操纵器接口:UR10 手臂和 Franka Emika 手臂。 此示例应用程序中使用的功能包括致动器控制、物体检测和抓取。

此示例应用程序中包含两个不同的场景:

  • UR10 机械臂使用吸盘抓取机构将箱子从一个托盘拾取和放置到另一个托盘。

  • 一只 Franka Emika 的手臂捡起彩色立方体并将它们堆叠在一起,然后使用双指抓取器再次拆开它们。

为了控制这两项任务,使用了一个由行为树驱动的中央 Isaac SDK 应用程序。 行为树定义了两个协同工作的任务:一个检测和抓取物体的拾取任务,以及一个将它们定位在目标姿势的放置任务。

在任务的选择部分执行的高级步骤如下:

  1. 转到可以看到物体的姿势。

  2. 检测视野中的物体。

  3. 转到预抓姿势以抓住物体(例如,略高于它)。

  4. 打开手臂的抓手。

  5. 靠近物体以抓住它。

  6. 关闭手臂的抓手。

  7. 从表面提起物体。

执行这些步骤后,物体应该在机器人手臂的抓取机构中,为后续的放置任务做好准备。

对于放置部分,需要的步骤如下:

  1. 转到下车前姿势(例如,略高于下车点)。

  2. 转到下降姿势以放置抓取的物体。

  3. 打开手臂的抓手。

  4. 将手臂抬离物体。

独立于所使用的机器人操纵器(并且除了加载的实际控制器模块之外),应用程序的脚手架保持不变,目的是展示如何使用 Isaac SDK 构建此类应用程序。

使用 Omniverse 套件模拟驱动的机器人手臂

取放示例使用 NVIDIA Omniverse Kit™,它模拟 UR10 和 Franka Emika 手臂。 要设置和启动 Omniverse,请参阅相应的文档:

  • https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/overview.html

  • https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/ext_omni_isaac_robot_engine_bridge.html

Omniverse 运行后,从 Omniverse Kit 窗口下方的内容面板中,选择地址字段并输入此 URL 以从 Omniverse 服务器加载 UR10 机器人资产:

omni:/Isaac/Samples/Isaac_SDK/Scenario/sortbot_sim.usd

要加载 Franka Emika 手臂的资产,请使用此 URL:

omni:/Isaac/Samples/Isaac_SDK/Scenario/franka_table.usd

用回车确认。 然后,在 Robot Engine Bridge 面板上,单击 Create Application。 这将启动 Isaac SDK 后端。

后端运行后,单击 Omniverse 窗口中的“播放”按钮开始模拟。

启动取放示例应用程序

要运行连接到 Omniverse 的应用程序,请执行以下命令之一:

  • UR10 box pick-and-place场景,使用Pose CNN和RGB图像进行物体姿态估计:
bazel run //apps/samples/pick_and_place -- --arm ur10

Franka 立方体堆叠/拆堆叠场景,使用基于超像素的块姿态估计和 RGB-D 图像:

bazel run //apps/samples/pick_and_place -- --arm franka

这将启动相应的示例应用程序,并根据所选场景在 Omniverse 中移动模拟机器人手臂。

您可以使用额外的命令行参数 --groundtruth 启动这两个场景,以使用模拟中的 groundtruth 3d 姿势而不是基于相机的姿势估计来检测和拾取目标对象。 在这种情况下,您可以将 Omniverse 视口切换为 Perspective,以从第三人称视角查看整个过程。

有关命令行选项的完整列表,请运行:

bazel run //apps/samples/pick_and_place -- --help

更多精彩内容:
https://www.nvidia.cn/gtc-global/?ncid=ref-dev-876561

在这里插入图片描述

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

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

相关文章

Java面试题,Spring与SpringBoot相关问题

Spring与SpringBoot相关问题1、BeanFactory和ApplicationContext有什么区别?2、描述一下Spring Bean的生命周期3、Spring的几种Bean的作用域4、单例Bean是线程安全的吗?5、Spring框架用到了哪些设计模式6、Spring事务的实现方式、隔离级别、传播行为7、S…

Lesson4--栈和队列

目录 1.栈 1.1栈的概念及结构 1.2栈的实现 初始化栈 销毁栈 栈的扩容 入栈 出栈 获取栈顶元素 获取栈中有效元素个数 判空 程序代码如下 Stack.h Stack.c test.c 2.队列 2.1队列的概念及结构 ​2.2队列的实现 初始化队列 队尾入队列 队头出队列 获取队列头部元素 获取…

二、pyhon基础语法篇(黑马程序猿-python学习记录)

黑马程序猿的python学习视频:https://www.bilibili.com/video/BV1qW4y1a7fU/ 目录 一 、print 1. end 2. \t对齐 二、字面量 1. 字面量的含义 2. 常见的字面量类型 3. 如何基于print语句完成各类字面量的输出 三、 注释的分类 1. 单行注释 2. 多行注释 3. 注释的…

多进程|基于非阻塞调用的轮询检测方案|进程等待|重新理解挂起|Linux OS

说在前面 今天给大家带来操作系统中进程等待的概念,我们学习的操作系统是Linux操作系统。 我们今天主要的目标就是认识wait和waitpid这两个系统调用。 前言 那么这里博主先安利一下一些干货满满的专栏啦! 手撕数据结构https://blog.csdn.net/yu_cbl…

nacos源码分析==服务订阅-服务端推送被订阅者最新信息给订阅者

上一篇讲到客户端发送请求到服务端进行服务注册,注册后,服务端会发出两个事件,第一个事件会触发另一个ServiceChangedEvent,这个事件被com.alibaba.nacos.naming.push.v2.NamingSubscriberServiceV2Impl#onEvent 监听&#xff0c…

16. 条件控制

总体来说,条件控制的效果类似c/c/c#/java中的,只不过在语法格式的层面上存在一定的差异。 1. if条件语法格式 if condition_1:...elif condition_2:...else:...1、python 中用 elif 代替了 c/c中的 else if,所以if语句的关键字为&#xff1a…

高性能排序函数实现方案

如C语言的qsort()、Java的Collections.sort(),这些排序函数如何实现? 1 合适的排序算法? 线性排序算法的时间复杂度较低,适用场景特殊,通用排序函数不能选择。 小规模数据排序,可选时间复杂度O(n^2)算法大…

【算法】滑动窗口

目录1.概述2.算法框架3.应用本文参考: LABULADONG 的算法网站 1.概述 (1)滑动窗口可以用以解决数组/字符串的子元素相关问题,并且可以将嵌套的循环问题,转换为单循环问题,从而降低时间复杂度。故滑动窗口算…

【数据分析】(task5)数据建模及模型评估

note 文章目录note一、建立模型二、模型评估2.1 交叉验证2.2 混淆矩阵/recall/accuracy/F12.3 ROC曲线三、Pyspark进行基础模型预测时间安排Reference一、建立模型 下载sklearn的命令pip install scikit-learn。 from sklearn.model_selection import train_test_split impor…

ARP渗透与攻防(二)之断网攻击

ARP断网攻击 系列文章 ARP渗透与攻防(一)之ARP原理 1.环境准备 kali 作为ARP攻击机,IP地址:192.168.110.26 MAC地址:00:0c:29:fc:66:46 win10 作为被攻击方,IP地址:192.168.110.12 MAC地址:1c:69:7a:a…

Tkinter的Entry与Text

Tkinter界面设计之输入控件Entry以及文本框控件Text。 目录 一、放置控件 1. pack()函数 2. place()函数 3. grid()函数 二、简单控件 1. Entry输入控件 1.1 tk.StringVar()函数:接收一个字符串 1.2 tk.Entry()函数:设置一个输入控件E 2. Text文…

CMake多文件编译

之前学习ceres-solver中的3d相关的源码的时候,发现对于CMake多文件工程编译中对于CMakeLists.txt的编写和处理的理解运用还是比较模糊,这里整理梳理一下对于不同文件夹数量如何使用。 参考文章: CMake使用详解二(多文件编译&…

maya常用操作

1:重置工作区。2:切换视图。按空格切换视图。3:未选中状态,按shift,再点右键,可以打开交互式创建。这样可以在栅格上创建想要的大小。不选中交互式创建的话,创建的是默认未知。默认未知为正中间…

linux系统中利用QT实现车牌识别的方法

大家好,今天主要和大家分享一下,如何利用QT实现车牌识别的方法。 目录 第一:车牌识别基本简介 第二:车牌识别产品申请 第三:百度车牌识别API接口 第四:车牌识别综合测试 第一:车牌识别基本简…

Scala快速入门

Scala简介 Scala是一门现代的多范式编程语言,平滑地集成了面向对象和函数式语言的特性。Scala运行于Java平台(JVM,Java 虚拟机)上,并兼容现有的Java程序,Scala代码可以调用Java方法,访问Java字…

ArcGIS Pro脚本工具(17)——生成多分式标注

​朋友们,你们知道ArcGIS里面分式标注的四种写法么? 放错图了,是这个 分式标注的四种形式我们可以把这类叫分式标注,网上也有博主分享过如何在ArcGIS中制作这类标注,但我觉得仍有一些不足。 一是基本都使用VB编写&…

中文问题相似度挑战赛

赛题概要 请本赛题排行榜前10位的队伍,通过作品说明提交源代码,模型以及说明文档,若文件过大,可发送至官网邮箱AICompetitioniflytek.com, 若截止时间内为提交,官方会通过电话联系相关选手,若未接到通知或…

WPF作图神器Interactive DataDisplay的初步使用

文章目录安装初步使用安装 Interactive DataDisplay是一款比较优秀的C#绘图控件,尽管与一些商业控件还有不小的差距,关键是开源免费轻量。 在VS中安装控件十分简单,本测试基于Net Core5.0,在VS的菜单栏->工具->NuGet包管理…

HomeLab 常用工具一:filebrowser

前言在实际使用过程中,我们通常都有基于WEB 的文件操作需求(例如从一台陌生设备上想打开看一下,图片等),和nextcloud 相比 filebrowser 更为轻巧也更为方便。一、filebrowser 安装这里基于docker 安装和使用&#xff0…

Prometheus 动态拉取监控服务

Prometheus 版本 2.41.0 平台统一监控的介绍和调研直观感受PromQL及其数据类型PromQL之选择器和运算符PromQL之函数Prometheus 配置身份认证Prometheus 动态拉取监控服务 我们在以前的实例中配置Prometheus 的target 都是手动配置,这在监控目标少的情况下还可以接受…