NVIDIA ISAAC 軟件開發(fā)工具包 的模塊化和易于使用的感知堆棧繼續(xù)加速各種移動(dòng)機(jī)器人的發(fā)展。 ISAAC sdk2020.1 引入了 Python API ,使那些熟悉 Python 的人更容易構(gòu)建機(jī)器人應(yīng)用程序。
在這篇文章中,我們將探討這個(gè)特性,并分享如何使用 Python 構(gòu)建您自己的 ISAAC 應(yīng)用程序的分步指南。我們?cè)?ISAAC SDK 中介紹 Python 編程,并舉例說明如何創(chuàng)建應(yīng)用程序;如何使用代碼、模塊和數(shù)據(jù)流;以及如何處理不同的數(shù)據(jù)類型。我們用示例來總結(jié)文章,將子圖添加到同一個(gè)應(yīng)用程序中,并將其部署到 Jetson 上。我們還將向您展示如何使用 Jupyter 筆記本電腦,這是一個(gè)面向 Python 開發(fā)人員的強(qiáng)大 UI 工具。對(duì)于更高級(jí)的 Python 開發(fā)人員,我們還提供了在移動(dòng)機(jī)器人上部署 ISAAC 應(yīng)用程序以及在 ISAAC Sim 中部署協(xié)作機(jī)器人手臂的例子。
圖 1 。使用 Jupyter 筆記本和 ISAAC SDK Python API 在 ISAAC Sim 中控制虛擬機(jī)器人。
ISAAC SDK 中 Python 編程入門
為了指導(dǎo)您使用 Python 創(chuàng)建一個(gè) ISAAC 應(yīng)用程序,請(qǐng)創(chuàng)建一個(gè) mybot.py 應(yīng)用程序文件。從 apps 文件夾下的新文件夾開始, //apps/mybot 。用下面的代碼創(chuàng)建一個(gè)構(gòu)建文件,并將其保存在 //apps/mybot/BUILD 下,以便 Bazel 能夠識(shí)別它。
ISAAC SDK 中 Python 編程入門
為了指導(dǎo)您使用 Python 創(chuàng)建一個(gè) ISAAC 應(yīng)用程序,請(qǐng)創(chuàng)建一個(gè)mybot.py
應(yīng)用程序文件。從 apps 文件夾下的新文件夾開始,//apps/mybot
。用下面的代碼創(chuàng)建一個(gè)構(gòu)建文件,并將其保存在//apps/mybot/BUILD
下,以便 Bazel 能夠識(shí)別它。
load("http://engine/build:isaac.bzl", "isaac_py_app") isaac_py_app( name = "mybot", srcs = ["mybot.py"], data = [], modules=[], deps = [ "http://engine/pyalice", ], )
在構(gòu)建文件中,//engine/pyalice
是 Python API 的支持代碼,mybot.py
是用 Python 編寫的 robot 應(yīng)用程序。將下面的代碼放入//apps/mybot/mybot.py
并用bazel run apps/mybot:mybot
運(yùn)行它。您可以通過控制臺(tái) spew 判斷它正在運(yùn)行,您可以使用經(jīng)典的 CTR L-C 隨時(shí)停止它。
from engine.pyalice import Application app = Application(name="mybot") app.run()
當(dāng)應(yīng)用程序運(yùn)行時(shí),將瀏覽器指向http://localhost:3000,您將在視力中看不到任何內(nèi)容,這是 ISAAC SDK 中的可視化工具。
了解代碼、模塊和數(shù)據(jù)流
ISAAC SDK 為機(jī)器人應(yīng)用程序提供了許多構(gòu)建塊,稱為代碼。
其中一些代碼可以按原樣提供,比如錄音機(jī)。其他模塊打包為模塊,必須在代碼集可用之前顯式加載這些模塊。將以下模塊添加到剛剛創(chuàng)建的 Bazel 構(gòu)建文件中,以便加載它們。
modules = [ "message_generators", "viewers", ],
現(xiàn)在可以使用在app.run
之前創(chuàng)建的應(yīng)用程序?qū)嵗龔?Python 加載它們:
app.load_module('message_generators') app.load_module('viewers')
在 ISAAC SDK 中,數(shù)據(jù)由傳感器生成,并在代碼實(shí)例之間流動(dòng),直到它們被執(zhí)行器消耗。要從加載的 codelet 創(chuàng)建實(shí)例,請(qǐng)?jiān)谡{(diào)用之前將以下代碼添加到 Python 應(yīng)用程序應(yīng)用程序運(yùn)行.
node_src = app.add('src') component_src = \ node_src.add(app.registry.isaac.message_generators.ImageLoader, 'ImageLoader')
這里創(chuàng)建了一個(gè)名為src
的節(jié)點(diǎn)。消息生成器模塊提供的ImageLoader
的組件以ImageLoader
的名稱創(chuàng)建,并附加到src
的節(jié)點(diǎn)上。它將指定 PNG 文件中的圖像數(shù)據(jù)作為ColorCameraProto
消息發(fā)布,就像它們來自真實(shí)的相機(jī)一樣。您可以指定要從中加載數(shù)據(jù)的圖像以及其他幾個(gè)參數(shù)(盡管在本示例中這些參數(shù)并不重要)以及消息發(fā)布的頻率。有關(guān)詳細(xì)信息,請(qǐng)參閱ISAAC 消息_ generators . ImageLoader。
component_src.config['color_filename'] = '/home/bob/Pictures/panda.png' component_src.config['focal_length'] = [35.0, 35.0] component_src.config['optical_center'] = [300.0, 400.0] component_src.config['tick_period'] = '1hz'
為了可視化攝像機(jī)圖像,彩色攝影機(jī)代碼將有所幫助。類似地,您可以使用以下代碼創(chuàng)建它的實(shí)例:
node_sink = app.add('sink') component_sink = \ node_sink.add(app.registry.isaac.viewers.ColorCameraViewer, 'ColorCameraViewer')
數(shù)據(jù)應(yīng)該在代碼之間流動(dòng)。但是,必須在它們之間建立連接才能使數(shù)據(jù)流動(dòng)。從文檔中可以看出,CameraGenerator
有三個(gè)輸出通道。選擇ColorCameraProto
消息發(fā)布到的 color _ left 頻道。類似地,您可以看到ColorCameraViewer
代碼從color_listener
通道讀取消息。連接它們(稱為“邊緣”):
app.connect(component_src, 'color', component_sink, 'color_listener')
再次運(yùn)行應(yīng)用程序(mybot.py
),并檢查 Sight 是否有圖像。
在 Python 中使用不同的 ISAAC 圖像數(shù)據(jù)類型
ISAAC SDK 允許您在應(yīng)用程序中使用多個(gè)數(shù)據(jù)源:
- 記錄的傳感器數(shù)據(jù)(容器)
- 真實(shí)傳感器數(shù)據(jù)(攝像機(jī))
- 模擬傳感器數(shù)據(jù)
在本節(jié)中,我們將解釋如何在 Python 應(yīng)用程序中使用這些數(shù)據(jù)類型。
使用攝像頭
ISAAC SDK 支持許多帶有V4L2Camera
codelet 的 USB 攝像頭。
在本節(jié)中,您將使用 Realsense 攝像頭,它由realsense
模塊中的RealsenseCamera
代碼集支持。類似地,你可以從視線中看到攝像機(jī)鏡頭,就像之前的圖像一樣。因?yàn)檫@是對(duì)ImageLoader
的直接替換,所以可以使用命令行參數(shù)在它們之間進(jìn)行切換。有關(guān)如何在 Python 中處理命令行參數(shù)的更多信息,argparse- 命令行選項(xiàng)、參數(shù)和子命令的解析器。您將得到如下代碼示例:
parser = argparse.ArgumentParser(description='Sample Python API app') parser.add_argument('--source', type=str, dest='source', help='The source to get data from', choices=['camera', 'image'], default='camera') args, _ = parser.parse_known_args() if args.source == 'image': app.load_module('message_generators') component_src = \ node_src.add(app.registry.isaac.message_generators.ImageLoader, 'src') component_src.config['color_filename'] = '/home/bob/Pictures/panda.png' component_src.config['focal_length'] = [35.0, 35.0] component_src.config['optical_center'] = [300.0, 400.0] component_src.config['tick_period'] = '1hz' app.connect(component_src, 'color', viewer_component, 'color_listener') elif args.source == 'camera': app.load_module('realsense') camera = app.add("cam").add(app.registry.isaac.RealsenseCamera) camera.config.rows = 480 camera.config.cols = 640 camera.config.color_framerate = 30 camera.config.depth_framerate = 30 app.connect(camera, 'color', viewer_component, 'color_listener') app.run()
如前所示, PythonAPI 提供了處理不同環(huán)境的靈活性。
使用木桶
使用真實(shí)的傳感器數(shù)據(jù)是直觀的,但是這樣做并不總是實(shí)際可行的。木桶能幫上忙。 Cask 是用于記錄 ISAAC SDK 中的消息的格式。在 ISAAC SDK 中,可以記錄一個(gè)消息流,并在以后回放以用于調(diào)試或分析。要從 Realsense 攝像頭錄制圖像流,請(qǐng)嘗試在//apps/samples/camera:record_realsense
運(yùn)行示例應(yīng)用程序。
有了錄音桶,你可以在沒有真正的傳感器的情況下隨時(shí)隨地重放和播放消息流。假設(shè)記錄的容器位于/home/bob/cask/
的文件夾中。您可以使用Replay
代碼來檢索消息:
player_node = app.add('player') player_component = player_node.add(app.registry.isaac.alice.Replay) player_component.config['cask_directory'] = '/home/bob/cask' app.connect(player_component, 'color', viewer_component, 'color_listener')
類似地,您可以向 Python 應(yīng)用程序添加一個(gè) cask 作為一個(gè)可能的選項(xiàng),就像您使用 realseness camera 一樣。這里,名稱color
是用于記錄彩色相機(jī)圖像流的通道名稱。然后你就可以查看視頻流,就好像它來自真實(shí)的攝像機(jī)一樣。
使用模擬傳感器
如前所述,您已經(jīng)有了一個(gè) Python 應(yīng)用程序,可以在記錄的傳感器數(shù)據(jù)( cask )和真實(shí)傳感器數(shù)據(jù)( camera )之間切換。現(xiàn)在再添加一個(gè)可能的數(shù)據(jù)源:來自 ISAAC Sim Unity3D 的模擬傳感器。將 Sim 選項(xiàng)添加到命令行參數(shù)源,并將模擬相機(jī)消息流連接到查看器以進(jìn)行可視化,如以下代碼示例所示:
parser.add_argument('--source', type=str, dest='source', help='The source to get data from', choices=['cask', 'camera', 'image', 'sim'], default='sim') … if args.source == 'image': ... elif args.source == 'cask': ... elif args.source == 'camera': ... elif args.source == 'sim': app.load('packages/navsim/apps/navsim_tcp.subgraph.json') app.connect('interface/output', 'color', 'viewer/ColorCameraViewer', 'color_listener') app.run()
檢索 ISAAC 是 Unity3D。有關(guān)詳細(xì)信息,請(qǐng)參閱ISAAC Sim Unity3D。
啟動(dòng) ISAAC 是 Unity3D :
./build/sample.x86_64 --scene medium_warehouse
默認(rèn)情況下, Python 應(yīng)用程序嘗試與同一主機(jī)上的模擬對(duì)話。如果應(yīng)用程序正在另一臺(tái)主機(jī)上運(yùn)行,請(qǐng)為組件interface/output
配置相應(yīng)的主機(jī)參數(shù)。有關(guān)詳細(xì)信息,請(qǐng)參閱isaac.alice.TcpSubscriber。運(yùn)行該應(yīng)用程序,模擬攝像機(jī)的鏡頭可以看到。
鏡頭來自安裝在模擬機(jī)器人上的模擬攝像機(jī)。試著在模擬圖形用戶界面( GUI )上玩一些可移動(dòng)的物體,比如納米盒子,看看模擬相機(jī)的工作原理和真相機(jī)一樣。
用子圖把它拉到一起
正如您所注意到的,組件(從代碼創(chuàng)建的實(shí)例)和連接它們的邊組成了一個(gè)圖形。這樣的圖可以從 JSON 文件加載,也可以根據(jù)需要從 Python 應(yīng)用程序加載。有關(guān)詳細(xì)信息,請(qǐng)參閱 MIG 。
例如,模擬通信子圖packages/navsim/apps/navsim_tcp.subgraph.json
封裝了用于使用 TCP 與 ISAAC Sim Unity3D 或 NVIDIA Omniverse 通信的節(jié)點(diǎn)、組件和邊。要使其對(duì)應(yīng)用程序可用,請(qǐng)將以下 Bazel 數(shù)據(jù)依賴項(xiàng)添加到您先前創(chuàng)建的生成文件中:
data = [ "http://packages/navsim/apps:navsim_tcp_subgraph", ],
在 Python 應(yīng)用程序中,可以使用以下命令加載它:
app.load('packages/navsim/apps/navsim_tcp.subgraph.json')
子圖組件更像是由一組節(jié)點(diǎn)組成的配方,而不是容器。加載子圖更像是按照配方創(chuàng)建節(jié)點(diǎn)和組件。在視圖中,您可以看到從子圖(圖 4 )創(chuàng)建的所有節(jié)點(diǎn)(場(chǎng)景管理器、接口)。通過將它們與其他節(jié)點(diǎn)連接,可以使用app.connect
創(chuàng)建更復(fù)雜的應(yīng)用程序。
![](https://file.elecfans.com/web2/M00/3F/D0/pYYBAGJqERCAOjDBAABtbqC2r0g563.png)
當(dāng)加載多個(gè)子圖時(shí),命名沖突 MIG ht 會(huì)發(fā)生,因?yàn)樵谌魏螒?yīng)用程序中,節(jié)點(diǎn)都需要具有唯一的名稱。若要避免此類沖突,請(qǐng)使用另一個(gè)參數(shù)加載子圖:
app.load( 'packages/navsim/apps/navsim_tcp.subgraph.json', 'simulation', )
這里,第二個(gè)參數(shù)是 JSON 文件中指定的所有節(jié)點(diǎn)的“ node name prefix ”。例如,packages/navsim/apps/navsim_tcp.subgraph.json
文件指定一個(gè)名為interface
的節(jié)點(diǎn)。前面的語句將創(chuàng)建一個(gè)名為simulation.interface
的節(jié)點(diǎn),而不是interface
。
在 Jetson 上部署應(yīng)用程序
現(xiàn)在有了一個(gè) Python 應(yīng)用程序。在真正的 Jetson 板上運(yùn)行只需要一個(gè)命令:
./engine/build/deploy.sh -h -p //apps/mybot:mybot-pkg -d jetpack43
有關(guān)將應(yīng)用程序部署到 Jetson 的更多信息,請(qǐng)參閱入門和在 Jetson 上部署和運(yùn)行。
使用 SSH 連接到您的 Jetson 板或從 GUI 打開一個(gè)終端并檢查文件夾/home/nvidia/deploy/bob/mybot-pkg
。如果您在 Jetson 和開發(fā)設(shè)置上使用不同的用戶名,請(qǐng)將nvidia
替換為 Jetson 板上的用戶名,將 bob 替換為開發(fā)設(shè)置上的用戶名。
使用以下命令在 Jetson 上運(yùn)行應(yīng)用程序:
nvidia@Jetson:~/deploy/bob/mybot-pkg$ ./run apps/mybot/mybot.py
如果您正在使用存儲(chǔ)庫之外的資源,請(qǐng)考慮將它們添加到應(yīng)用程序的 Bazel 依賴項(xiàng)中,以便可以使用deploy.sh
將它們與應(yīng)用程序一起自動(dòng)部署到deploy.sh
。
如果您在 PC 機(jī)上使用 ISAAC Sim Unity3D ,則可以正常通信。
使用 Jupyter 筆記本
因?yàn)檫@里有 pythonapi ,所以 Jupyter 筆記本肯定可以工作。將以下生成文件與空的mybot.ipynb
一起使用:
isaac_jupyter_app( name = "mybot", modules = [ "message_generators", "viewers", ], notebook = "mybot.ipynb", )
以類似于 Jetson 板或 X86 工作站的方式部署應(yīng)用程序,并使用以下命令啟動(dòng) Jupyter :
jupyter notebook apps/mybot/mybot.ipynb
你現(xiàn)在可以走了。 run 函數(shù)被阻塞,只有在 robotic 應(yīng)用程序停止時(shí)才返回。要以交互方式使用 robotics 應(yīng)用程序,請(qǐng)相應(yīng)地使用 start 和 stop 函數(shù)。
Python 在模擬移動(dòng)機(jī)器人中的應(yīng)用
在使用模擬傳感器工作的部分,有一個(gè)模擬機(jī)器人,上面安裝了模擬攝像機(jī)。 ISAAC Sim Unity3D 是用來模擬移動(dòng)機(jī)器人的。對(duì)于在 ISAAC Sim Unity3D 中控制帶有差分基座的模擬機(jī)器人的示例 robot 應(yīng)用程序,請(qǐng)檢查//apps/navsim:navsim_navigate
中的應(yīng)用程序。組件和子圖可以在 JSON 文件apps/navsim/navsim_navigate.app.json
中找到。有關(guān)詳細(xì)信息,請(qǐng)參見ISAAC Sim Unity3D。
用 Python 模擬機(jī)器人手臂
除了移動(dòng)機(jī)器人,用 Jupyter 筆記本電腦進(jìn)行簡(jiǎn)單的聯(lián)合控制SDK 也可以用于構(gòu)建機(jī)器人手臂的應(yīng)用程序。有了Omniverse ISAAC?,你可以在沒有真正硬件的情況下使用模擬機(jī)械手臂。有關(guān)更多信息,請(qǐng)按照用 Jupyter 筆記本電腦進(jìn)行簡(jiǎn)單的聯(lián)合控制上的“ UR10 in用 Jupyter 筆記本電腦進(jìn)行簡(jiǎn)單的聯(lián)合控制用 Jupyter 筆記本電腦進(jìn)行簡(jiǎn)單的聯(lián)合控制Sim ”會(huì)話說明操作。應(yīng)用程序?qū)⒃谀M中控制機(jī)械臂,如圖 5 所示。
以下是應(yīng)用程序中發(fā)生的情況。第一件事是加載一個(gè)子圖,允許通過 TCP 與模擬器通信。
app.load(filename="packages/navsim/apps/navsim_tcp.subgraph.json", prefix="simulation")
若要為關(guān)節(jié)生成平滑運(yùn)動(dòng),請(qǐng)為節(jié)點(diǎn)加載另一個(gè)子圖:
app.load( filename="packages/planner/apps/multi_joint_lqr_control.subgraph.json", prefix="lqr")
該子圖封裝 LQR 規(guī)劃器的節(jié)點(diǎn),生成當(dāng)前關(guān)節(jié)狀態(tài)和目標(biāo)關(guān)節(jié)位置的命令。將仿真節(jié)點(diǎn)與規(guī)劃器的節(jié)點(diǎn)連接起來,以使機(jī)械臂關(guān)節(jié)狀態(tài)消息和命令消息在它們之間流動(dòng):
app.connect(simulation_node["output"], "joint_state", lqr_interface, "joint_state") app.connect(lqr_interface, "joint_command", simulation_node["input"], "joint_position")
用 Python 編碼的代碼集 PyCodeletJointPositionControl
從滑塊讀取目標(biāo)關(guān)節(jié)位置值,并將這些值作為CompositeProto
消息發(fā)布:
class JointPositionControl(Codelet): def start(self): self.tx = self.isaac_proto_tx("CompositeProto", "command") self._widget = CompositeWidget(self.config.joints "position", self.config.limits) def tick(self): self.tx._msg = self._widget.composite self.tx.publish()
有關(guān)詳細(xì)信息,請(qǐng)參見創(chuàng)建 Python 代碼。
然后,JointPositionControl
代碼集連接到一個(gè)節(jié)點(diǎn),并連接到 LQR planner 的目標(biāo)輸入通道:
widget_node = app.add("command_generator") joint_commander = widget_node.add(JointPositionControl) app.connect(joint_commander, "command", lqr_interface, "joint_target")
啟動(dòng)應(yīng)用程序應(yīng)用程序啟動(dòng)你可以隨意使用手臂。
帶模擬攝像機(jī)的模擬機(jī)械臂
在 Omniverse ISAAC Sim 中,要有一個(gè)帶攝像頭的機(jī)械臂,請(qǐng)加載 stageomni:/Isaac/Samples/Isaac_SDK/Scenario/sortbot_sim.usd
。在 Omniverse ISAAC Sim 中啟動(dòng)仿真和機(jī)器人引擎橋,并將視口從透視切換到腕部攝影機(jī),如圖 6 和 7 所示。
![](https://file.elecfans.com/web2/M00/3F/CA/poYBAGJqEO-AD9iyAAJSrmlnkpk031.png)
與之前的應(yīng)用程序一樣,您可以將模擬攝影機(jī)通道連接到ColorCameraViewer
代碼板以可視化畫面,并將DepthCameraViewer
連接到可視化模擬深度傳感器數(shù)據(jù)。
app.load_module("viewers") viewers = app.add("viewers") color_viewer = viewers.add(app.registry.isaac.viewers.ColorCameraViewer, "ColorViewer") app.connect(simulation_node["output"], "color", color_viewer, "color_listener") depth_viewer = viewers.add(app.registry.isaac.viewers.DepthCameraViewer, "DepthViewer") app.connect(simulation_node["output"], "depth", depth_viewer, "depth_listener") depth_viewer.config.max_visualization_depth = 3
啟動(dòng)應(yīng)用程序,模擬的攝像機(jī)鏡頭應(yīng)該會(huì)出現(xiàn)在眼前:
![](https://file.elecfans.com/web2/M00/3F/D0/pYYBAGJqEOWADqM6AAHS6wP3Dn8408.png)
總結(jié)
在本文中,您使用 pythonapi 從頭創(chuàng)建了一個(gè)機(jī)器人應(yīng)用程序。您使應(yīng)用程序可以使用真實(shí)的攝影機(jī)、錄制的攝影機(jī)數(shù)據(jù)和模擬攝影機(jī)。我們還向您展示了如何使用 pythonapi 處理模擬移動(dòng)機(jī)器人和模擬機(jī)械臂。做機(jī)器人玩得開心!
關(guān)于作者
Yang Liu 是一名軟件工程師,負(fù)責(zé)開發(fā) NVIDIA ISAAC SDK 的各個(gè)部分。他獲得了達(dá)拉斯德克薩斯大學(xué)計(jì)算機(jī)科學(xué)博士學(xué)位。
審核編輯:郭婷
-
API
+關(guān)注
關(guān)注
2文章
1511瀏覽量
62402 -
應(yīng)用程序
+關(guān)注
關(guān)注
38文章
3292瀏覽量
57918 -
python
+關(guān)注
關(guān)注
56文章
4807瀏覽量
85040
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
NVIDIA宣布NVIDIA Isaac重要更新
簡(jiǎn)述NVIDIA Isaac的重要更新
![簡(jiǎn)述<b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b>的重要更新](https://file1.elecfans.com/web3/M00/06/4D/wKgZPGeJuW6ABAsjAAB1Cvn6Rz4691.png)
NVIDIA發(fā)布Isaac GR00T Blueprint,加速人形機(jī)器人開發(fā)
NVIDIA推出Isaac GR00T Blueprint
NVIDIA發(fā)布人形機(jī)器人重磅更新!Isaac GR00T Blueprint厲害在哪?
![<b class='flag-5'>NVIDIA</b>發(fā)布人形<b class='flag-5'>機(jī)器人</b>重磅更新!<b class='flag-5'>Isaac</b> GR00T Blueprint厲害在哪?](https://file1.elecfans.com/web3/M00/05/2C/wKgZPGd90dqAdYoJAAJuo4H-Iao319.png)
NVIDIA通過加速AWS上的機(jī)器人仿真推進(jìn)物理AI的發(fā)展
NVIDIA與學(xué)術(shù)研究人員聯(lián)合開發(fā)手術(shù)機(jī)器人
NVIDIA提供一套服務(wù)、模型以及計(jì)算平臺(tái) 加速人形機(jī)器人發(fā)展
NVIDIA 加速人形機(jī)器人發(fā)展
![<b class='flag-5'>NVIDIA</b> 加速人形<b class='flag-5'>機(jī)器人</b>發(fā)展](https://file1.elecfans.com/web2/M00/00/37/wKgaomaoPuqAcTA9AAIqXxCBvhQ130.jpg)
逐際動(dòng)力攜手英偉達(dá)Isaac平臺(tái), 助力通用機(jī)器人研發(fā)
NVIDIA Isaac 機(jī)器人平臺(tái)利用最新的生成式 AI 和先進(jìn)的仿真技術(shù),加速 AI 機(jī)器人技術(shù)的發(fā)展
![<b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> <b class='flag-5'>機(jī)器人</b>平臺(tái)利用最新的生成式 AI 和先進(jìn)的仿真技術(shù),加速 AI <b class='flag-5'>機(jī)器人</b>技術(shù)的發(fā)展](https://file1.elecfans.com//web2/M00/EC/89/wKgaomZe5cOAJ4oaAABqKAD4BXg456.png)
全球機(jī)器人開發(fā)領(lǐng)域采用NVIDIA 機(jī)器人開發(fā)和生產(chǎn)
使用NVIDIA Isaac Manipulator生成抓取姿勢(shì)和機(jī)器人運(yùn)動(dòng)
![使用<b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> Manipulator生成抓取姿勢(shì)和<b class='flag-5'>機(jī)器人</b>運(yùn)動(dòng)](https://file1.elecfans.com/web2/M00/E7/3B/wKgaomZGwpiAUj33AAAPHdYGBVc223.gif)
NVIDIA Isaac機(jī)器人平臺(tái)升級(jí),加速AI機(jī)器人技術(shù)革新
NVIDIA入局人形機(jī)器人!Isaac平臺(tái)迎來重要更新
![<b class='flag-5'>NVIDIA</b>入局人形<b class='flag-5'>機(jī)器人</b>!<b class='flag-5'>Isaac</b>平臺(tái)迎來重要更新](https://file1.elecfans.com/web2/M00/C6/A4/wKgaomYCICOAaM8QAAAOhww1HOw582.jpg)
評(píng)論