Isaac Sim 1(学习笔记2024.4.22)

news2024/9/29 17:34:32

仅作为个人学习笔记使用,防止一转头就找不到了

一.ROS bridge

1.On Playback Tick 节点:

在模拟“播放”时生成一个时钟信号。接收到该节点发出的时钟信号的节点将在每个模拟步骤中执行它们的计算函数。

2.ROS Subscribe Twist 节点:

订阅 Twist 消息。在其属性选项卡中的 topicName 字段中指定 Rostopic 的名称 /cmd_vel。

订阅节点通常具有 Exec Out 字段。这类似于时钟信号,当订阅节点接收到消息时会发送信号。在这种情况下,我们希望仅在收到新的 Twist 消息时计算差分命令。因此,差分节点的 Exec In 由订阅节点的输出而不是由 On Playback Tick 发送时钟信号。

3.Scale To/From Stage Unit 节点:

设置输入单位

4.Break 3-Vector 节点:

Twist 订阅节点的输出是线性速度和角速度,都是 3 维向量。但是差分控制器节点的输入只接受前进速度和绕 z 轴的旋转速度,因此我们需要在将它们提供给差分控制器节点之前,对数组进行分解并提取相应的元素。

5.Differential Controller 节点:

该节点接收期望的车辆速度并计算机器人的轮速。它需要车轮半径和轮子之间的距离来进行计算。它还可以接收可选的速度限制参数来限制轮速。在属性选项卡中输入车轮半径、轮子之间的距离和车辆的最大线性速度,如下表所示,以匹配 Turtlebot。

6.Articulation Controller 节点:

该节点被分配给目标机器人,然后接收需要移动的关节的名称或索引,并通过给定的位置命令、速度命令或力命令来移动它们。

请注意,Articulation Controller 节点由 On Playback Tick 发送的时钟信号驱动。因此,如果没有新的 Twist 消息到达,它将继续执行之前收到的任何命令。

要将 Articulation Controller 节点的目标分配为 Turtlebot,请在属性选项卡中取消选择“使用路径”,然后点击“目标”以查找弹出框中的 Turtlebot prim。确保您选择的机器人 prim 也是应用 Articulation Root API 的位置。有时它是机器人的父 prim。但通常对于移动机器人,它实际上是底盘 prim。如果您使用我们之前的教程中提到的 URDF 导入器,则可以在 turtlebot3_burger/base_footprint 上找到 Articulation Root API。

为了将车轮关节的名称以数组格式放置,需要在每个 Constant Token 节点中键入车轮关节的名称,然后将名称数组馈送到 Make Array 节点中。Turtlebot 的车轮关节名称分别是 wheel_left_joint 和 wheel_right_joint。

如果您想知道为什么不将名称放在 Constant String 节点中,那是因为 OmniGraph 没有字符串数组数据类型,因此如果需要将字符串放置在数组格式中以供节点使用,它需要是 token 类型而不是 string 类型。

二. 验证 ROS 连接

按下播放按钮以开始执行图形和物理模拟。

在一个单独的 ROS 终端中,使用 rostopic list 命令检查相关的 rostopic 是否存在。应该列出 /cmd_vel,除了 /rosout 和 /rosout_agg。

现在,设置了一个 twist 订阅者,可以向 /cmd_vel 主题发布 twist 消息以控制机器人。在一个单独的 ROS 终端中,发送向前驱动的命令:

rostopic pub /cmd_vel geometry_msgs/Twist '{linear:  {x: 0.2, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'

为了更容易地移动 Turtlebot,可以下载 ROS 键盘界面 teleop-twist-keyboard 并使用键盘发布 twist 消息。

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

或者也可以在 OmniGraph 中设置键盘设备界面。更多信息可以在 OmniGraph: 输入设备中找到。

三.

在扩展工作流程中进行脚本编写7.1.10. Joint Control: Extension Python Scripting — Omniverse IsaacSim latest documentation

在独立 Python 工作流程中使用脚本编写

7.1.13. ROS Bridge in Standalone Workflow — Omniverse IsaacSim latest documentation

在 OmniGraph 中使用脚本编写节点

3.4. OmniGraph: Python Scripting — Omniverse IsaacSim latest documentation

构建自定义 Omnigraph Python 节点

3.5. Omnigraph: Custom Python Nodes — Omniverse IsaacSim latest documentation

构建自定义 Omnigraph C++ 节点

3.7. Omnigraph: Custom C++ Nodes — Omniverse IsaacSim latest documentation

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

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

相关文章

数据结构-循环队列和循环双端队列的多角度实现

文章目录 1. 循环队列的数组形式实现2. 循环队列的链表实现3. 循环双端队列的数组形式实现4. 循环双端队列的链表实现 在力扣的题面如下 1. 循环队列的数组形式实现 其实循环队列的数组形式只有下面要注意的点,只要掌握了下面的这几点,代码层面上就没有什么问题了 用数组模拟的…

精灵传信系统/支持对接易支付/网站+小程序双端php源码下载

简介 精灵传信支持在线提交发送短信,查看回复短信,在线购买额度,自定义对接易支付,设置违禁词,支持网站小程序双端。(文末下载) 演示截图 在数字化浪潮的推动下,技术创新正以前所未…

VUE 弹框内容懒加载-真实项目

背景&#xff1a;VUE 页面&#xff0c;点击按钮&#xff0c;弹框&#xff0c;内容从接口获取&#xff0c;数据量比较大&#xff0c;鼠标滑到页面最底部&#xff0c;调取一次接口&#xff0c;分批加载&#xff1b; demo&#xff1a; <template><div><!-- 触发弹…

通用变频器ACS800-04M-0320-3可议价

商业别名&#xff1a;ACS800-04M-0320-3 产品编号&#xff1a;68279429 ABB 型号名称&#xff1a;ACS800-04M-0320-3 目录说明&#xff1a;ACS800-04M-0320-3&#xff1b; ACS800-04M-0320-3 Pcont.max:250kW, Icont.max:521A 原产地&#xff1a;芬兰 (FI) 海关税则号&#xf…

现代图形API综合比较:Vulkan | DirectX | Metal | WebGPU

Vulkan、DirectX、Metal 和 WebGPU 等低级图形 API 正在融合为类似于当前 GPU 构建方式的模型。 图形处理单元 (GPU) 是异步计算单元&#xff0c;可以处理大量数据&#xff0c;例如复杂的网格几何形状、图像纹理、输出帧缓冲区、变换矩阵或你想要计算的任何数据。 NSDT工具推荐…

springboot3 集成knife4j No endpoint GET /doc.html.

springboot3 集成knife4j 访问页面&#xff1a;http://127.0.0.1:8022/doc.html 提示&#xff1a; No endpoint GET /doc.html. 描述环境&#xff1a; java17 springboot3.2.0 knife4j的jar包 <dependency><groupId>com.github.xiaoymin</groupId><a…

vue实现周日历 日历按周切换 vue日程管理

实现的功能 1、点击今天&#xff1a;回到今日日期并选中今日日期&#xff0c;查当天数据 2、点击左箭头&#xff1a;切换上一周 3、点击右箭头&#xff1a;切换下一周 4、黄圆圈代表有日程提醒&#xff0c;点击选中&#xff0c;下方对应显示当前日程提醒的内容&#xff0c;没有…

打造稳定安全的亚马逊测评环境:关键步骤与要点一览

亚马逊测评环境的搭建是一项既复杂又需要深入细致考虑的工作&#xff0c;它涉及多方面的技术配置和资源准备。以下是一些关键步骤和要点&#xff0c;帮助您更高效地构建测评环境。 一、资源筹备 1. 养号系统&#xff1a;选择稳定、高效的养号系统&#xff0c;确保能够模拟真实…

上传文件到HDFS

1.创建文件夹 hdfs -dfs -mkdir -p /opt/mydoc 2.查看创建的文件夹 hdfs -dfs -ls /opt 注意改文件夹是创建在hdfs中的&#xff0c;不是本地&#xff0c;查看本地/opt&#xff0c;并没有该文件夹。 3.上传文件 hdfs dfs -put -f file:///usr/local/testspark.txt hdfs://m…

【JavaEE初阶系列】——网络原理之进一步了解应用层以及传输层的UDP协议

目录 &#x1f6a9;进一步讲应用层 &#x1f388;自定义应用层协议 &#x1f388;用什么格式组织 &#x1f469;&#x1f3fb;‍&#x1f4bb;xml(远古的数据组织格式) &#x1f469;&#x1f3fb;‍&#x1f4bb;json(当下最流行得一种数据组织格式) &#x1f469;&…

Docker(二)Docker+ server部署极简前端页面

本篇文章介绍如何使用 Dockerserver 将一个极简前端页面进行部署 1.本地运行一个简单的前端页面&#xff0c;再把它部署到服务器上 index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name&quo…

算法思想总结:栈

一、栈的经典应用&#xff1a;波兰表达式与逆波兰表达式 我们平时看到的 12*&#xff08;3-4*5&#xff09;6/7 叫做中缀表达式&#xff0c;平时我们习惯用这个计算的原因是我们可以整体地去看到这个表达式并且清楚地知道各个运算符的优先级&#xff0c;但是计算机并不一定知道…

JavaScript之模块化规范详解

文章的更新路线&#xff1a;JavaScript基础知识-Vue2基础知识-Vue3基础知识-TypeScript基础知识-网络基础知识-浏览器基础知识-项目优化知识-项目实战经验-前端温习题&#xff08;HTML基础知识和CSS基础知识已经更新完毕&#xff09; 正文 CommonJS、UMD、CMD和ES6是不同的模块…

详解爬虫基本知识及入门案列(爬取豆瓣电影《热辣滚烫》的短评 详细讲解代码实现)

目录 前言什么是爬虫&#xff1f; 爬虫与反爬虫基础知识 一、网页基础知识 二、网络传输协议 HTTP&#xff08;HyperText Transfer Protocol&#xff09;和HTTPS&#xff08;HTTP Secure&#xff09;请求过程的原理&#xff1f; 三、Session和Cookies Session Cookies Session与…

核桃派全志H616实现VNC远程桌面教程

VNC远程桌面 核桃派预装了VNC服务器&#xff0c;VNC适应于局域网&#xff08;通常指同一个路由器网络下&#xff09;桌面登录。使用该服务前先确保核桃派已经通过以太网或无线WiFi连接到路由器。 使用核桃派桌面系统的时候由于要配置各类信息和联网&#xff0c;可以使用HDMI显…

【C语言】每日一题,快速提升(5)!

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 目录 1. strlen函数 2. strcpy函数 3. strcat函数 题目&#xff1a;模拟实现 strlen--strcpy--strcat--三个函数 1. strlen函数 字符串计算 #include <stdio.h…

硕士博士学位论文格式检查规范

包含标题、摘要、英文缩写、关键词、公式、表格、图片、参考文献&#xff0c;只能说太强了 学位论文检查三十六策点击蓝字 关注我们 写在前面 同学们撰写学位论文时&#xff0c;常常犯一些错误&#xff0c;既有格式错误&#xff0c;也有内容错误。本文列举36https://mp.weixin.…

【python】如何通过python来发送短信

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

SFP、SFP+、SFP28 与 QSFP28 收发器之间的差异:兼容性和性能

近年来&#xff0c;网络技术发展迅速&#xff0c;因此&#xff0c;计算专业人员面临着越来越令人困惑的术语和缩写词。 管理数据中心时必须了解的一个关键领域是收发器&#xff0c;特别是 SFP (1550nm/1310nm)、SFP (850nm) 和 QSFP28 (4x25G) 之间的差异。 这些型号在兼容性方…

【热门话题】常用经典目标检测算法概述

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 常用经典目标检测算法概述1. 滑动窗口与特征提取2. Region-based方法R-CNN系列M…