From 1b63ab04a08708b267fd74b697ac814cdb125e7c Mon Sep 17 00:00:00 2001 From: fan-ziqi Date: Thu, 5 Dec 2024 17:48:08 +0800 Subject: [PATCH] docs: update zhcn --- docs/conf.py | 6 +- docs/locale/zh_CN/LC_MESSAGES/index.po | 83 ++-- .../api/lab/omni.isaac.lab.actuators.po | 66 ++- .../source/api/lab/omni.isaac.lab.app.po | 14 +- .../source/api/lab/omni.isaac.lab.assets.po | 41 +- .../api/lab/omni.isaac.lab.controllers.po | 24 +- .../source/api/lab/omni.isaac.lab.devices.po | 19 +- .../source/api/lab/omni.isaac.lab.envs.mdp.po | 83 ++-- .../source/api/lab/omni.isaac.lab.envs.po | 64 ++- .../source/api/lab/omni.isaac.lab.envs.ui.po | 21 +- .../source/api/lab/omni.isaac.lab.managers.po | 29 +- .../source/api/lab/omni.isaac.lab.markers.po | 24 +- .../source/api/lab/omni.isaac.lab.scene.po | 17 +- .../lab/omni.isaac.lab.sensors.patterns.po | 19 +- .../source/api/lab/omni.isaac.lab.sensors.po | 60 ++- .../api/lab/omni.isaac.lab.sim.converters.po | 30 +- .../source/api/lab/omni.isaac.lab.sim.po | 39 +- .../api/lab/omni.isaac.lab.sim.schemas.po | 20 +- .../api/lab/omni.isaac.lab.sim.spawners.po | 36 +- .../source/api/lab/omni.isaac.lab.terrains.po | 90 ++-- .../source/api/lab/omni.isaac.lab.utils.po | 117 +++-- ...ni.isaac.lab_tasks.utils.data_collector.po | 24 +- .../lab_tasks/omni.isaac.lab_tasks.utils.po | 19 +- .../omni.isaac.lab_tasks.utils.wrappers.po | 42 +- .../LC_MESSAGES/source/features/multi_gpu.po | 94 ++-- .../source/how-to/import_new_asset.po | 312 +++++++------- .../source/how-to/multi_asset_spawning.po | 118 ++--- .../overview/core-concepts/actuators.po | 137 +++--- .../core-concepts/motion_generators.po | 402 ++++++++++++++++++ .../overview/developer-guide/vs_code.po | 70 +-- .../source/overview/environments.po | 5 +- .../LC_MESSAGES/source/overview/showroom.po | 72 ++-- .../source/tutorials/00_sim/create_empty.po | 154 +++---- .../source/tutorials/00_sim/launch_app.po | 185 ++++---- .../source/tutorials/00_sim/spawn_prims.po | 203 ++++----- .../tutorials/01_assets/run_articulation.po | 151 +++---- .../01_assets/run_deformable_object.po | 224 +++++----- .../tutorials/01_assets/run_rigid_object.po | 179 ++++---- .../source/tutorials/02_scene/create_scene.po | 174 ++++---- .../tutorials/03_envs/create_direct_rl_env.po | 222 +++++----- .../03_envs/create_manager_base_env.po | 271 ++++++------ .../03_envs/create_manager_rl_env.po | 231 +++++----- .../tutorials/03_envs/modify_direct_rl_env.po | 148 +++---- .../tutorials/03_envs/register_rl_env_gym.po | 155 +++---- .../04_sensors/add_sensors_on_robot.po | 228 +++++----- .../tutorials/05_controllers/run_diff_ik.po | 139 +++--- 46 files changed, 2930 insertions(+), 1931 deletions(-) create mode 100644 docs/locale/zh_CN/LC_MESSAGES/source/overview/core-concepts/motion_generators.po diff --git a/docs/conf.py b/docs/conf.py index b9a7a2c901..d3d673d9d1 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -186,13 +186,13 @@ # -- Internationalization ---------------------------------------------------- # specifying the natural language populates some key tags -language = "en" +language = "zh_CN" # -- Options for HTML output ------------------------------------------------- import sphinx_book_theme -html_title = "Isaac Lab Documentation" +html_title = "Isaac Lab 文档" html_theme_path = [sphinx_book_theme.get_html_theme_path()] html_theme = "sphinx_book_theme" html_favicon = "source/_static/favicon.ico" @@ -215,7 +215,7 @@ "show_toc_level": 1, "use_sidenotes": True, "logo": { - "text": "Isaac Lab Documentation", + "text": "Isaac Lab 文档", "image_light": "source/_static/NVIDIA-logo-white.png", "image_dark": "source/_static/NVIDIA-logo-black.png", }, diff --git a/docs/locale/zh_CN/LC_MESSAGES/index.po b/docs/locale/zh_CN/LC_MESSAGES/index.po index 3e1039e9df..7b32731d35 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/index.po +++ b/docs/locale/zh_CN/LC_MESSAGES/index.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-28 10:51+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.16.0\n" #: ../../index.rst:81 @@ -66,18 +66,18 @@ msgid "Project Links" msgstr "项目链接" #: ../../index.rst:-1 -msgid "H1 Humanoid example using Isaac Lab" -msgstr "H1人形机器人 使用 Isaac Lab 的示例" +msgid "H1人形机器人 使用 Isaac Lab 的示例" +msgstr "" #: ../../index.rst:11 msgid "" "本翻译项目不属于 NVIDIA 或 IsaacLab 官方文档,由 `范子琦 `__ " -"提供中文翻译,仅供学习交流使用,禁止转载或用于商业用途。详情请查看 `关于翻译 `_ " -"章节。" +"提供中文翻译,仅供学习交流使用,禁止转载或用于商业用途。详情请查看 `关于翻译 `_" +" 章节。" msgstr "" "本翻译项目不属于 NVIDIA 或 IsaacLab 官方文档,由 `范子琦 `__ " -"提供中文翻译,仅供学习交流使用,禁止转载或用于商业用途。详情请查看 `关于翻译 `_ " -"章节。" +"提供中文翻译,仅供学习交流使用,禁止转载或用于商业用途。详情请查看 `关于翻译 `_" +" 章节。" #: ../../index.rst:13 msgid "官方文档引入了版本系统,可以查看历史版本的文档。译者精力有限,故不提供历史版本翻译,本站只同步更新main分支的文档。" @@ -87,12 +87,14 @@ msgstr "官方文档引入了版本系统,可以查看历史版本的文档。 msgid "" "**Isaac Lab** is a unified and modular framework for robot learning that " "aims to simplify common workflows in robotics research (such as " -"reinforcement learning, learning from demonstrations, and motion planning). " -"It is built upon `NVIDIA Isaac Sim`_ to leverage the latest simulation " -"capabilities for photo-realistic scenes, and fast and efficient simulation." +"reinforcement learning, learning from demonstrations, and motion " +"planning). It is built upon `NVIDIA Isaac Sim`_ to leverage the latest " +"simulation capabilities for photo-realistic scenes, and fast and " +"efficient simulation." msgstr "" -"**Isaac Lab** 是一个统一的、模块化的机器人学习框架,旨在简化机器人研究中的常见工作流程(如强化学习、从示范中学习和运动规划)。它构建在 " -"`NVIDIA Isaac Sim`_ 之上,以利用最新的仿真能力以用于逼真的场景和快速高效的模拟。" +"**Isaac Lab** " +"是一个统一的、模块化的机器人学习框架,旨在简化机器人研究中的常见工作流程(如强化学习、从示范中学习和运动规划)。它构建在 `NVIDIA " +"Isaac Sim`_ 之上,以利用最新的仿真能力以用于逼真的场景和快速高效的模拟。" #: ../../index.rst:21 msgid "The core objectives of the framework are:" @@ -110,33 +112,33 @@ msgstr "**灵活性**: 适应社区的不断变化需求。" #: ../../index.rst:25 msgid "" -"**Openness**: Remain open-sourced to allow the community to contribute and " -"extend the framework." +"**Openness**: Remain open-sourced to allow the community to contribute " +"and extend the framework." msgstr "**开放性**: 保持开源,允许社区贡献和扩展该框架。" #: ../../index.rst:26 msgid "" -"**Battery-included**: Include a number of environments, sensors, and tasks " -"that are ready to use." +"**Battery-included**: Include a number of environments, sensors, and " +"tasks that are ready to use." msgstr "**功能齐全**: 包括多种环境、传感器和任务,可供直接使用。" #: ../../index.rst:28 msgid "" "Key features available in Isaac Lab include fast and accurate physics " -"simulation provided by PhysX, tiled rendering APIs for vectorized rendering," -" domain randomization for improving robustness and adaptability, and support" -" for running in the cloud." +"simulation provided by PhysX, tiled rendering APIs for vectorized " +"rendering, domain randomization for improving robustness and " +"adaptability, and support for running in the cloud." msgstr "" "Isaac Lab 中提供的主要功能包括由 PhysX 提供的快速准确的物理仿真,用于矢量化渲染的分块渲染 " "API,用于改善鲁棒性和适应性的域随机化,以及支持在云端运行的功能。" #: ../../index.rst:32 msgid "" -"Additionally, Isaac Lab provides over 26 environments, and we are actively " -"working on adding more environments to the list. These include classic " -"control tasks, fixed-arm and dexterous manipulation tasks, legged locomotion" -" tasks, and navigation tasks. A complete list is available in the " -"`environments `_ section." +"Additionally, Isaac Lab provides over 26 environments, and we are " +"actively working on adding more environments to the list. These include " +"classic control tasks, fixed-arm and dexterous manipulation tasks, legged" +" locomotion tasks, and navigation tasks. A complete list is available in " +"the `environments `_ section." msgstr "" "另外,Isaac 实验室提供超过 26 " "个环境,并且我们正在积极地努力添加更多环境到列表中。这些环境包括经典控制任务、固定臂和熟练的操纵任务、腿部运动任务和导航任务。完整列表可在 " @@ -144,9 +146,9 @@ msgstr "" #: ../../index.rst:36 msgid "" -"The framework also includes over 16 robots. If you are looking to add a new " -"robot, please refer to the :ref:`how-to` section. The current list of robots" -" includes:" +"The framework also includes over 16 robots. If you are looking to add a " +"new robot, please refer to the :ref:`how-to` section. The current list of" +" robots includes:" msgstr "该框架还包括超过16个机器人。如果您想添加新的机器人,请参考 :ref:`how-to` 部分。目前的机器人列表包括: " #: ../../index.rst:39 @@ -159,11 +161,11 @@ msgstr "**固定机械臂和机械手**: UR10, Franka, Allegro, Shadow Hand" #: ../../index.rst:41 msgid "" -"**Quadrupeds**: Anybotics Anymal-B, Anymal-C, Anymal-D, Unitree A1, Unitree " -"Go1, Unitree Go2, Boston Dynamics Spot" +"**Quadrupeds**: Anybotics Anymal-B, Anymal-C, Anymal-D, Unitree A1, " +"Unitree Go1, Unitree Go2, Boston Dynamics Spot" msgstr "" -"**四足机器人**: Anybotics Anymal-B, Anymal-C, Anymal-D, Unitree A1, Unitree Go1, " -"Unitree Go2, Boston Dynamics Spot" +"**四足机器人**: Anybotics Anymal-B, Anymal-C, Anymal-D, Unitree A1, Unitree " +"Go1, Unitree Go2, Boston Dynamics Spot" #: ../../index.rst:42 msgid "**Humanoids**: Unitree H1, Unitree G1" @@ -185,8 +187,8 @@ msgstr "" ":doc:`/source/setup/faq` 部分。" #: ../../index.rst:-1 -msgid "Example tasks created using Isaac Lab" -msgstr "使用 Isaac Lab 创建的示例任务" +msgid "使用 Isaac Lab 创建的示例任务" +msgstr "" #: ../../index.rst:55 msgid "License" @@ -205,8 +207,8 @@ msgstr "致谢" #: ../../index.rst:62 msgid "" "Isaac Lab development initiated from the `Orbit `_ framework. We would appreciate if you would cite it in " -"academic publications as well:" +"orbit.github.io/>`_ framework. We would appreciate if you would cite it " +"in academic publications as well:" msgstr "" "Isaac Lab 的开发始于 `Orbit `_ " "框架。如果您在学术出版物中引用它,我们将不胜感激: " @@ -230,3 +232,10 @@ msgstr ":ref:`modindex`" #: ../../index.rst:165 msgid ":ref:`search`" msgstr ":ref:`search`" + +#~ msgid "H1 Humanoid example using Isaac Lab" +#~ msgstr "H1人形机器人 使用 Isaac Lab 的示例" + +#~ msgid "Example tasks created using Isaac Lab" +#~ msgstr "使用 Isaac Lab 创建的示例任务" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.actuators.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.actuators.po index 4d9ff98a58..9188ded0b9 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.actuators.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.actuators.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-15 14:37+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -635,7 +635,7 @@ msgstr "" #: omni.isaac.lab.actuators.actuator_pd.ImplicitActuator.reset #: omni.isaac.lab.actuators.actuator_pd.RemotizedPDActuator.__init__ #: omni.isaac.lab.actuators.actuator_pd.RemotizedPDActuator.compute -msgid "Parameters" +msgid "参数" msgstr "" #: ../../docstring of omni.isaac.lab.actuators.ActuatorNetLSTM.cfg:1 @@ -935,7 +935,7 @@ msgstr "" #: omni.isaac.lab.actuators.actuator_pd.IdealPDActuator.compute #: omni.isaac.lab.actuators.actuator_pd.ImplicitActuator.compute #: omni.isaac.lab.actuators.actuator_pd.RemotizedPDActuator.compute -msgid "Returns" +msgid "返回" msgstr "" #: of omni.isaac.lab.actuators.actuator_base.ActuatorBase.compute:10 @@ -1204,7 +1204,7 @@ msgstr "" #: of omni.isaac.lab.actuators.actuator_pd.IdealPDActuator:1 #: omni.isaac.lab.actuators.actuator_pd.ImplicitActuator:1 -msgid "Bases: :py:class:`~omni.isaac.lab.actuators.actuator_base.ActuatorBase`" +msgid "基类::py:class:`~omni.isaac.lab.actuators.actuator_base.ActuatorBase`" msgstr "" #: of omni.isaac.lab.actuators.actuator_pd.ImplicitActuator:3 @@ -1336,7 +1336,7 @@ msgstr "" #: of omni.isaac.lab.actuators.actuator_cfg.IdealPDActuatorCfg:1 #: omni.isaac.lab.actuators.actuator_cfg.ImplicitActuatorCfg:1 -msgid "Bases: :py:class:`~omni.isaac.lab.actuators.actuator_cfg.ActuatorBaseCfg`" +msgid "基类::py:class:`~omni.isaac.lab.actuators.actuator_cfg.ActuatorBaseCfg`" msgstr "" #: of omni.isaac.lab.actuators.actuator_cfg.ImplicitActuatorCfg:3 @@ -1571,7 +1571,7 @@ msgstr "" #: of omni.isaac.lab.actuators.actuator_pd.DCMotor:1 #: omni.isaac.lab.actuators.actuator_pd.DelayedPDActuator:1 -msgid "Bases: :py:class:`~omni.isaac.lab.actuators.actuator_pd.IdealPDActuator`" +msgid "基类::py:class:`~omni.isaac.lab.actuators.actuator_pd.IdealPDActuator`" msgstr "" #: of omni.isaac.lab.actuators.actuator_pd.DCMotor:3 @@ -1726,9 +1726,7 @@ msgstr "" #: of omni.isaac.lab.actuators.actuator_cfg.DCMotorCfg:1 #: omni.isaac.lab.actuators.actuator_cfg.DelayedPDActuatorCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.actuators.actuator_cfg.IdealPDActuatorCfg`" +msgid "基类::py:class:`~omni.isaac.lab.actuators.actuator_cfg.IdealPDActuatorCfg`" msgstr "" #: of omni.isaac.lab.actuators.DCMotorCfg.saturation_effort:1::1 @@ -1984,7 +1982,7 @@ msgid "Remotized PD Actuator" msgstr "" #: of omni.isaac.lab.actuators.actuator_pd.RemotizedPDActuator:1 -msgid "Bases: :py:class:`~omni.isaac.lab.actuators.actuator_pd.DelayedPDActuator`" +msgid "基类::py:class:`~omni.isaac.lab.actuators.actuator_pd.DelayedPDActuator`" msgstr "" #: of omni.isaac.lab.actuators.actuator_pd.RemotizedPDActuator:3 @@ -2106,9 +2104,7 @@ msgid "" msgstr "" #: of omni.isaac.lab.actuators.actuator_cfg.RemotizedPDActuatorCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.actuators.actuator_cfg.DelayedPDActuatorCfg`" +msgid "基类::py:class:`~omni.isaac.lab.actuators.actuator_cfg.DelayedPDActuatorCfg`" msgstr "" #: of omni.isaac.lab.actuators.actuator_cfg.RemotizedPDActuatorCfg:5 @@ -2213,7 +2209,7 @@ msgstr "" #: of omni.isaac.lab.actuators.actuator_net.ActuatorNetLSTM:1 #: omni.isaac.lab.actuators.actuator_net.ActuatorNetMLP:1 -msgid "Bases: :py:class:`~omni.isaac.lab.actuators.actuator_pd.DCMotor`" +msgid "基类::py:class:`~omni.isaac.lab.actuators.actuator_pd.DCMotor`" msgstr "" #: of omni.isaac.lab.actuators.actuator_net.ActuatorNetMLP:3 @@ -2321,7 +2317,7 @@ msgstr "" #: of omni.isaac.lab.actuators.actuator_cfg.ActuatorNetLSTMCfg:1 #: omni.isaac.lab.actuators.actuator_cfg.ActuatorNetMLPCfg:1 -msgid "Bases: :py:class:`~omni.isaac.lab.actuators.actuator_cfg.DCMotorCfg`" +msgid "基类::py:class:`~omni.isaac.lab.actuators.actuator_cfg.DCMotorCfg`" msgstr "" #: of omni.isaac.lab.actuators.ActuatorNetMLPCfg.stiffness:1::1 @@ -2601,3 +2597,43 @@ msgid "" "`\\" msgstr "" +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~omni.isaac.lab.actuators.actuator_base.ActuatorBase`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.actuators.actuator_cfg.ActuatorBaseCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.actuators.actuator_pd.IdealPDActuator`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.actuators.actuator_cfg.IdealPDActuatorCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.actuators.actuator_pd.DelayedPDActuator`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.actuators.actuator_cfg.DelayedPDActuatorCfg`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~omni.isaac.lab.actuators.actuator_pd.DCMotor`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~omni.isaac.lab.actuators.actuator_cfg.DCMotorCfg`" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.app.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.app.po index 09bdb4fa8d..6fe1784a36 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.app.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.app.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-10-30 16:09+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/api/lab/omni.isaac.lab.app.rst:2 msgid "omni.isaac.lab.app" @@ -226,7 +226,7 @@ msgstr "" #: of omni.isaac.lab.app.app_launcher.AppLauncher.__init__ #: omni.isaac.lab.app.app_launcher.AppLauncher.add_app_launcher_args -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab.app.app_launcher.AppLauncher.__init__:3 @@ -247,7 +247,7 @@ msgid "" msgstr "" #: of omni.isaac.lab.app.app_launcher.AppLauncher.__init__ -msgid "Raises" +msgid "抛出" msgstr "" #: of omni.isaac.lab.app.app_launcher.AppLauncher.__init__:11 @@ -392,3 +392,9 @@ msgid "" "options." msgstr "" +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.assets.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.assets.po index 845d393d79..b34898bfed 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.assets.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.assets.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-15 14:37+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -528,7 +528,7 @@ msgstr "" #: omni.isaac.lab.assets.rigid_object_collection.rigid_object_collection.RigidObjectCollection.write_object_state_to_sim #: omni.isaac.lab.assets.rigid_object_collection.rigid_object_collection.RigidObjectCollection.write_object_velocity_to_sim #: omni.isaac.lab.assets.rigid_object_collection.rigid_object_collection_data.RigidObjectCollectionData.update -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab.assets.asset_base.AssetBase.__init__:3 @@ -536,7 +536,7 @@ msgid "The configuration class for the asset." msgstr "" #: of omni.isaac.lab.assets.asset_base.AssetBase.__init__ -msgid "Raises" +msgid "抛出" msgstr "" #: of omni.isaac.lab.assets.asset_base.AssetBase.__init__:5 @@ -573,7 +573,7 @@ msgstr "" #: omni.isaac.lab.assets.rigid_object_collection.rigid_object_collection.RigidObjectCollection.find_objects #: omni.isaac.lab.assets.rigid_object_collection.rigid_object_collection.RigidObjectCollection.reshape_data_to_view #: omni.isaac.lab.assets.rigid_object_collection.rigid_object_collection.RigidObjectCollection.reshape_view_to_data -msgid "Returns" +msgid "返回" msgstr "" #: of omni.isaac.lab.assets.asset_base.AssetBase.set_debug_vis:5 @@ -836,7 +836,7 @@ msgstr "" #: omni.isaac.lab.assets.deformable_object.deformable_object.DeformableObject:1 #: omni.isaac.lab.assets.rigid_object.rigid_object.RigidObject:1 #: omni.isaac.lab.assets.rigid_object_collection.rigid_object_collection.RigidObjectCollection:1 -msgid "Bases: :py:class:`~omni.isaac.lab.assets.asset_base.AssetBase`" +msgid "基类::py:class:`~omni.isaac.lab.assets.asset_base.AssetBase`" msgstr "" #: of omni.isaac.lab.assets.rigid_object.rigid_object.RigidObject:3 @@ -1239,7 +1239,7 @@ msgstr "" #: omni.isaac.lab.assets.rigid_object.rigid_object_data.RigidObjectData:1 #: omni.isaac.lab.assets.rigid_object_collection.rigid_object_collection_cfg.RigidObjectCollectionCfg:1 #: omni.isaac.lab.assets.rigid_object_collection.rigid_object_collection_data.RigidObjectCollectionData:1 -msgid "Bases: :py:class:`object`" +msgid "基类::py:class:`object`" msgstr "" #: of omni.isaac.lab.assets.rigid_object.rigid_object_data.RigidObjectData:3 @@ -1851,7 +1851,7 @@ msgstr "" #: of omni.isaac.lab.assets.articulation.articulation_cfg.ArticulationCfg:1 #: omni.isaac.lab.assets.deformable_object.deformable_object_cfg.DeformableObjectCfg:1 #: omni.isaac.lab.assets.rigid_object.rigid_object_cfg.RigidObjectCfg:1 -msgid "Bases: :py:class:`~omni.isaac.lab.assets.asset_base_cfg.AssetBaseCfg`" +msgid "基类::py:class:`~omni.isaac.lab.assets.asset_base_cfg.AssetBaseCfg`" msgstr "" #: of @@ -1897,9 +1897,7 @@ msgstr "" #: of #: omni.isaac.lab.assets.articulation.articulation_cfg.ArticulationCfg.InitialStateCfg:1 #: omni.isaac.lab.assets.rigid_object.rigid_object_cfg.RigidObjectCfg.InitialStateCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.assets.asset_base_cfg.AssetBaseCfg.InitialStateCfg`" +msgid "基类::py:class:`~omni.isaac.lab.assets.asset_base_cfg.AssetBaseCfg.InitialStateCfg`" msgstr "" #: of @@ -5406,3 +5404,26 @@ msgstr "" msgid "This attribute is only used when debug visualization is enabled." msgstr "" +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~omni.isaac.lab.assets.asset_base.AssetBase`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`object`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~omni.isaac.lab.assets.asset_base_cfg.AssetBaseCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.assets.asset_base_cfg.AssetBaseCfg.InitialStateCfg`" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.controllers.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.controllers.po index 00ce7e373a..52312cf42f 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.controllers.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.controllers.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-27 02:27+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/api/lab/omni.isaac.lab.controllers.rst:2 msgid "omni.isaac.lab.controllers" @@ -66,7 +66,7 @@ msgstr "" #: of omni.isaac.lab.controllers.differential_ik.DifferentialIKController:1 #: omni.isaac.lab.controllers.differential_ik_cfg.DifferentialIKControllerCfg:1 -msgid "Bases: :py:class:`object`" +msgid "基类::py:class:`object`" msgstr "" #: of omni.isaac.lab.controllers.differential_ik.DifferentialIKController:3 @@ -226,7 +226,7 @@ msgstr "" #: omni.isaac.lab.controllers.differential_ik.DifferentialIKController.compute #: omni.isaac.lab.controllers.differential_ik.DifferentialIKController.reset #: omni.isaac.lab.controllers.differential_ik.DifferentialIKController.set_command -msgid "Parameters" +msgid "参数" msgstr "" #: of @@ -282,7 +282,7 @@ msgstr "" #: of #: omni.isaac.lab.controllers.differential_ik.DifferentialIKController.set_command -msgid "Raises" +msgid "抛出" msgstr "" #: of @@ -324,7 +324,7 @@ msgstr "" #: of #: omni.isaac.lab.controllers.differential_ik.DifferentialIKController.compute -msgid "Returns" +msgid "返回" msgstr "" #: of @@ -449,3 +449,15 @@ msgstr "" msgid "\"lambda_val\": Damping coefficient (default: 0.01)." msgstr "" +#~ msgid "Bases: :py:class:`object`" +#~ msgstr "" + +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.devices.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.devices.po index e5cb52ac60..14447b9e09 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.devices.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.devices.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-27 20:01+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/api/lab/omni.isaac.lab.devices.rst:2 msgid "omni.isaac.lab.devices" @@ -200,7 +200,7 @@ msgstr "" #: omni.isaac.lab.devices.spacemouse.se2_spacemouse.Se2SpaceMouse.add_callback #: omni.isaac.lab.devices.spacemouse.se3_spacemouse.Se3SpaceMouse.__init__ #: omni.isaac.lab.devices.spacemouse.se3_spacemouse.Se3SpaceMouse.add_callback -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab.devices.device_base.DeviceBase.add_callback:3 @@ -228,7 +228,7 @@ msgstr "" #: omni.isaac.lab.devices.keyboard.se3_keyboard.Se3Keyboard.advance #: omni.isaac.lab.devices.spacemouse.se2_spacemouse.Se2SpaceMouse.advance #: omni.isaac.lab.devices.spacemouse.se3_spacemouse.Se3SpaceMouse.advance -msgid "Returns" +msgid "返回" msgstr "" #: of omni.isaac.lab.devices.device_base.DeviceBase.advance:3 @@ -245,7 +245,7 @@ msgstr "" #: omni.isaac.lab.devices.keyboard.se3_keyboard.Se3Keyboard:1 #: omni.isaac.lab.devices.spacemouse.se2_spacemouse.Se2SpaceMouse:1 #: omni.isaac.lab.devices.spacemouse.se3_spacemouse.Se3SpaceMouse:1 -msgid "Bases: :py:class:`~omni.isaac.lab.devices.device_base.DeviceBase`" +msgid "基类::py:class:`~omni.isaac.lab.devices.device_base.DeviceBase`" msgstr "" #: of omni.isaac.lab.devices.gamepad.se2_gamepad.Se2Gamepad:3 @@ -895,3 +895,12 @@ msgstr "" msgid "Magnitude of scale input rotation commands scaling. Defaults to 0.8." msgstr "" +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~omni.isaac.lab.devices.device_base.DeviceBase`" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.envs.mdp.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.envs.mdp.po index dbeac7e717..901def8517 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.envs.mdp.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.envs.mdp.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-15 14:37+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -392,7 +392,7 @@ msgstr "" #: omni.isaac.lab.envs.mdp.observations.imu_orientation #: omni.isaac.lab.envs.mdp.rewards.is_terminated_term.__init__ #: omni.isaac.lab.envs.mdp.rewards.joint_vel_limits -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab.envs.mdp.observations.imu_ang_vel:3 @@ -414,7 +414,7 @@ msgstr "" #: omni.isaac.lab.envs.mdp.observations.imu_ang_vel #: omni.isaac.lab.envs.mdp.observations.imu_lin_acc #: omni.isaac.lab.envs.mdp.observations.imu_orientation -msgid "Returns" +msgid "返回" msgstr "" #: of omni.isaac.lab.envs.mdp.observations.imu_orientation:6 @@ -585,7 +585,7 @@ msgstr "" #: of omni.isaac.lab.envs.mdp.events.randomize_rigid_body_material.__init__ #: omni.isaac.lab.envs.mdp.events.reset_root_state_from_terrain #: omni.isaac.lab.envs.mdp.observations.image_features -msgid "Raises" +msgid "抛出" msgstr "" #: of omni.isaac.lab.envs.mdp.observations.image_features:35 @@ -825,7 +825,7 @@ msgstr "" #: omni.isaac.lab.envs.mdp.actions.actions_cfg.JointActionCfg:1 #: omni.isaac.lab.envs.mdp.actions.actions_cfg.JointPositionToLimitsActionCfg:1 #: omni.isaac.lab.envs.mdp.actions.actions_cfg.NonHolonomicActionCfg:1 -msgid "Bases: :py:class:`~omni.isaac.lab.managers.manager_term_cfg.ActionTermCfg`" +msgid "基类::py:class:`~omni.isaac.lab.managers.manager_term_cfg.ActionTermCfg`" msgstr "" #: of omni.isaac.lab.envs.mdp.actions.actions_cfg.JointActionCfg:3 @@ -1087,9 +1087,7 @@ msgstr "" #: omni.isaac.lab.envs.mdp.actions.actions_cfg.JointPositionActionCfg:1 #: omni.isaac.lab.envs.mdp.actions.actions_cfg.JointVelocityActionCfg:1 #: omni.isaac.lab.envs.mdp.actions.actions_cfg.RelativeJointPositionActionCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.envs.mdp.actions.actions_cfg.JointActionCfg`" +msgid "基类::py:class:`~omni.isaac.lab.envs.mdp.actions.actions_cfg.JointActionCfg`" msgstr "" #: of omni.isaac.lab.envs.mdp.actions.actions_cfg.JointPositionActionCfg:3 @@ -1426,9 +1424,7 @@ msgstr "" #: of #: omni.isaac.lab.envs.mdp.actions.actions_cfg.EMAJointPositionToLimitsActionCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.envs.mdp.actions.actions_cfg.JointPositionToLimitsActionCfg`" +msgid "基类::py:class:`~omni.isaac.lab.envs.mdp.actions.actions_cfg.JointPositionToLimitsActionCfg`" msgstr "" #: of @@ -1559,9 +1555,7 @@ msgstr "" #: of #: omni.isaac.lab.envs.mdp.actions.actions_cfg.BinaryJointPositionActionCfg:1 #: omni.isaac.lab.envs.mdp.actions.actions_cfg.BinaryJointVelocityActionCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.envs.mdp.actions.actions_cfg.BinaryJointActionCfg`" +msgid "基类::py:class:`~omni.isaac.lab.envs.mdp.actions.actions_cfg.BinaryJointActionCfg`" msgstr "" #: of @@ -1840,7 +1834,7 @@ msgstr "" #: omni.isaac.lab.envs.mdp.commands.commands_cfg.UniformPose2dCommandCfg.Ranges:1 #: omni.isaac.lab.envs.mdp.commands.commands_cfg.UniformPoseCommandCfg.Ranges:1 #: omni.isaac.lab.envs.mdp.commands.commands_cfg.UniformVelocityCommandCfg.Ranges:1 -msgid "Bases: :py:class:`object`" +msgid "基类::py:class:`object`" msgstr "" #: of @@ -2564,9 +2558,7 @@ msgstr "" #: omni.isaac.lab.envs.mdp.commands.commands_cfg.UniformPose2dCommandCfg:1 #: omni.isaac.lab.envs.mdp.commands.commands_cfg.UniformPoseCommandCfg:1 #: omni.isaac.lab.envs.mdp.commands.commands_cfg.UniformVelocityCommandCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.managers.manager_term_cfg.CommandTermCfg`" +msgid "基类::py:class:`~omni.isaac.lab.managers.manager_term_cfg.CommandTermCfg`" msgstr "" #: of @@ -2872,9 +2864,7 @@ msgid "" msgstr "" #: of omni.isaac.lab.envs.mdp.commands.commands_cfg.NormalVelocityCommandCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.envs.mdp.commands.commands_cfg.UniformVelocityCommandCfg`" +msgid "基类::py:class:`~omni.isaac.lab.envs.mdp.commands.commands_cfg.UniformVelocityCommandCfg`" msgstr "" #: of @@ -3346,9 +3336,7 @@ msgstr "" #: of #: omni.isaac.lab.envs.mdp.commands.commands_cfg.TerrainBasedPose2dCommandCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.envs.mdp.commands.commands_cfg.UniformPose2dCommandCfg`" +msgid "基类::py:class:`~omni.isaac.lab.envs.mdp.commands.commands_cfg.UniformPose2dCommandCfg`" msgstr "" #: of @@ -4013,3 +4001,50 @@ msgstr "" msgid "The number of steps after which the change should be applied." msgstr "" +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.managers.manager_term_cfg.ActionTermCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.envs.mdp.actions.actions_cfg.JointActionCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.envs.mdp.actions.actions_cfg.JointPositionToLimitsActionCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.envs.mdp.actions.actions_cfg.BinaryJointActionCfg`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`object`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.managers.manager_term_cfg.CommandTermCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.envs.mdp.commands.commands_cfg.UniformVelocityCommandCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.envs.mdp.commands.commands_cfg.UniformPose2dCommandCfg`" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.envs.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.envs.po index 546a82dbbe..ac4315ea94 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.envs.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.envs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-05 15:08+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -499,7 +499,7 @@ msgstr "" #: omni.isaac.lab.envs.manager_based_rl_env.ManagerBasedRLEnv.__init__ #: omni.isaac.lab.envs.manager_based_rl_env.ManagerBasedRLEnv.render #: omni.isaac.lab.envs.manager_based_rl_env.ManagerBasedRLEnv.step -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab.envs.direct_marl_env.DirectMARLEnv.__init__:3 @@ -514,7 +514,7 @@ msgstr "" #: omni.isaac.lab.envs.direct_rl_env.DirectRLEnv.render #: omni.isaac.lab.envs.manager_based_env.ManagerBasedEnv.__init__ #: omni.isaac.lab.envs.manager_based_rl_env.ManagerBasedRLEnv.render -msgid "Raises" +msgid "抛出" msgstr "" #: of omni.isaac.lab.envs.direct_marl_env.DirectMARLEnv.__init__:7 @@ -639,7 +639,7 @@ msgstr "" #: omni.isaac.lab.envs.manager_based_env.ManagerBasedEnv.step #: omni.isaac.lab.envs.manager_based_rl_env.ManagerBasedRLEnv.render #: omni.isaac.lab.envs.manager_based_rl_env.ManagerBasedRLEnv.step -msgid "Returns" +msgid "返回" msgstr "" #: of omni.isaac.lab.envs.direct_rl_env.DirectRLEnv.reset:12 @@ -846,7 +846,7 @@ msgstr "" #: of omni.isaac.lab.envs.DirectMARLEnvCfg.viewer:1::1 #: omni.isaac.lab.envs.DirectRLEnvCfg.viewer:1::1 #: omni.isaac.lab.envs.ManagerBasedEnvCfg.viewer:1::1 -msgid "alias of :py:class:`~omni.isaac.lab.envs.ui.base_env_window.BaseEnvWindow`" +msgid ":py:class:`~omni.isaac.lab.envs.ui.base_env_window.BaseEnvWindow` 的别名" msgstr "" #: ../../docstring of omni.isaac.lab.envs.DirectMARLEnvCfg.viewer:1 @@ -977,8 +977,7 @@ msgstr "" #: of omni.isaac.lab.envs.manager_based_rl_env.ManagerBasedRLEnv:1 msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.envs.manager_based_env.ManagerBasedEnv`, " +"基类::py:class:`~omni.isaac.lab.envs.manager_based_env.ManagerBasedEnv`, " ":py:class:`~gymnasium.core.Env`" msgstr "" @@ -1390,7 +1389,7 @@ msgstr "" #: omni.isaac.lab.envs.DirectRLEnv.unwrapped #: omni.isaac.lab.envs.ManagerBasedRLEnv.np_random_seed #: omni.isaac.lab.envs.ManagerBasedRLEnv.unwrapped -msgid "Return type" +msgid "返回类型" msgstr "" #: of omni.isaac.lab.envs.DirectRLEnv.unwrapped:3 @@ -1399,9 +1398,7 @@ msgid "The base non-wrapped :class:`gymnasium.Env` instance" msgstr "" #: of omni.isaac.lab.envs.manager_based_rl_env_cfg.ManagerBasedRLEnvCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.envs.manager_based_env_cfg.ManagerBasedEnvCfg`" +msgid "基类::py:class:`~omni.isaac.lab.envs.manager_based_env_cfg.ManagerBasedEnvCfg`" msgstr "" #: of @@ -1414,8 +1411,8 @@ msgstr "" #: of #: omni.isaac.lab.envs.manager_based_rl_env_cfg.ManagerBasedRLEnvCfg:1::1 msgid "" -"alias of " ":py:class:`~omni.isaac.lab.envs.ui.manager_based_rl_env_window.ManagerBasedRLEnvWindow`" +" 的别名" msgstr "" #: of @@ -1662,7 +1659,7 @@ msgstr "" #: of omni.isaac.lab.envs.direct_marl_env.DirectMARLEnv:1 #: omni.isaac.lab.envs.direct_rl_env.DirectRLEnv:1 -msgid "Bases: :py:class:`~gymnasium.core.Env`" +msgid "基类::py:class:`~gymnasium.core.Env`" msgstr "" #: of omni.isaac.lab.envs.direct_rl_env.DirectRLEnv:3 @@ -1871,7 +1868,7 @@ msgstr "" #: of omni.isaac.lab.envs.direct_marl_env_cfg.DirectMARLEnvCfg:1 #: omni.isaac.lab.envs.direct_rl_env_cfg.DirectRLEnvCfg:1 -msgid "Bases: :py:class:`object`" +msgid "基类::py:class:`object`" msgstr "" #: of omni.isaac.lab.envs.direct_rl_env_cfg.DirectRLEnvCfg:3 @@ -2751,3 +2748,42 @@ msgid "" "\"asset_root\"." msgstr "" +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + +#~ msgid "" +#~ "alias of " +#~ ":py:class:`~omni.isaac.lab.envs.ui.base_env_window.BaseEnvWindow`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.envs.manager_based_env.ManagerBasedEnv`," +#~ " :py:class:`~gymnasium.core.Env`" +#~ msgstr "" + +#~ msgid "Return type" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.envs.manager_based_env_cfg.ManagerBasedEnvCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "alias of " +#~ ":py:class:`~omni.isaac.lab.envs.ui.manager_based_rl_env_window.ManagerBasedRLEnvWindow`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~gymnasium.core.Env`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`object`" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.envs.ui.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.envs.ui.po index f47e45c8e4..728347fff1 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.envs.ui.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.envs.ui.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 06:36+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/api/lab/omni.isaac.lab.envs.ui.rst:2 msgid "omni.isaac.lab.envs.ui" @@ -119,7 +119,7 @@ msgstr "" #: omni.isaac.lab.envs.ui.viewport_camera_controller.ViewportCameraController.set_view_env_index #: omni.isaac.lab.envs.ui.viewport_camera_controller.ViewportCameraController.update_view_location #: omni.isaac.lab.envs.ui.viewport_camera_controller.ViewportCameraController.update_view_to_asset_root -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab.envs.ui.base_env_window.BaseEnvWindow.__init__:3 @@ -138,7 +138,7 @@ msgstr "" #: of #: omni.isaac.lab.envs.ui.manager_based_rl_env_window.ManagerBasedRLEnvWindow:1 -msgid "Bases: :py:class:`~omni.isaac.lab.envs.ui.base_env_window.BaseEnvWindow`" +msgid "基类::py:class:`~omni.isaac.lab.envs.ui.base_env_window.BaseEnvWindow`" msgstr "" #: of @@ -314,7 +314,7 @@ msgstr "" #: omni.isaac.lab.envs.ui.viewport_camera_controller.ViewportCameraController.__init__ #: omni.isaac.lab.envs.ui.viewport_camera_controller.ViewportCameraController.set_view_env_index #: omni.isaac.lab.envs.ui.viewport_camera_controller.ViewportCameraController.update_view_to_asset_root -msgid "Raises" +msgid "抛出" msgstr "" #: of @@ -367,3 +367,14 @@ msgid "" "is used." msgstr "" +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.envs.ui.base_env_window.BaseEnvWindow`" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.managers.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.managers.po index 403c696513..fb59da0ff4 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.managers.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.managers.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-15 14:37+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -610,7 +610,7 @@ msgstr "" #: omni.isaac.lab.managers.termination_manager.TerminationManager.get_term_cfg #: omni.isaac.lab.managers.termination_manager.TerminationManager.reset #: omni.isaac.lab.managers.termination_manager.TerminationManager.set_term_cfg -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab.managers.scene_entity_cfg.SceneEntityCfg.resolve:7 @@ -629,7 +629,7 @@ msgstr "" #: omni.isaac.lab.managers.scene_entity_cfg.SceneEntityCfg.resolve #: omni.isaac.lab.managers.termination_manager.TerminationManager.get_term_cfg #: omni.isaac.lab.managers.termination_manager.TerminationManager.set_term_cfg -msgid "Raises" +msgid "抛出" msgstr "" #: of omni.isaac.lab.managers.scene_entity_cfg.SceneEntityCfg.resolve:9 @@ -824,7 +824,7 @@ msgstr "" #: omni.isaac.lab.managers.termination_manager.TerminationManager.get_term #: omni.isaac.lab.managers.termination_manager.TerminationManager.get_term_cfg #: omni.isaac.lab.managers.termination_manager.TerminationManager.reset -msgid "Returns" +msgid "返回" msgstr "" #: of omni.isaac.lab.managers.event_manager.EventManager.reset:6 @@ -989,7 +989,7 @@ msgstr "" #: omni.isaac.lab.managers.observation_manager.ObservationManager:1 #: omni.isaac.lab.managers.reward_manager.RewardManager:1 #: omni.isaac.lab.managers.termination_manager.TerminationManager:1 -msgid "Bases: :py:class:`~omni.isaac.lab.managers.manager_base.ManagerBase`" +msgid "基类::py:class:`~omni.isaac.lab.managers.manager_base.ManagerBase`" msgstr "" #: of omni.isaac.lab.managers.observation_manager.ObservationManager:3 @@ -1704,7 +1704,7 @@ msgid "The action term with the specified name." msgstr "" #: of omni.isaac.lab.managers.action_manager.ActionTerm:1 -msgid "Bases: :py:class:`~omni.isaac.lab.managers.manager_base.ManagerTermBase`" +msgid "基类::py:class:`~omni.isaac.lab.managers.manager_base.ManagerTermBase`" msgstr "" #: of omni.isaac.lab.managers.action_manager.ActionTerm:3 @@ -3085,3 +3085,20 @@ msgid "" "not logged." msgstr "" +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~omni.isaac.lab.managers.manager_base.ManagerBase`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.managers.manager_base.ManagerTermBase`" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.markers.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.markers.po index e5e0c73a27..93be6206b1 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.markers.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.markers.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 06:36+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/api/lab/omni.isaac.lab.markers.rst:2 msgid "omni.isaac.lab.markers" @@ -77,7 +77,7 @@ msgid "Visualization Markers" msgstr "" #: of omni.isaac.lab.markers.visualization_markers.VisualizationMarkers:1 -msgid "Bases: :py:class:`object`" +msgid "基类::py:class:`object`" msgstr "" #: of omni.isaac.lab.markers.visualization_markers.VisualizationMarkers:3 @@ -234,7 +234,7 @@ msgstr "" #: omni.isaac.lab.markers.visualization_markers.VisualizationMarkers.__init__ #: omni.isaac.lab.markers.visualization_markers.VisualizationMarkers.set_visibility #: omni.isaac.lab.markers.visualization_markers.VisualizationMarkers.visualize -msgid "Parameters" +msgid "参数" msgstr "" #: of @@ -245,7 +245,7 @@ msgstr "" #: of #: omni.isaac.lab.markers.visualization_markers.VisualizationMarkers.__init__ #: omni.isaac.lab.markers.visualization_markers.VisualizationMarkers.visualize -msgid "Raises" +msgid "抛出" msgstr "" #: of @@ -265,7 +265,7 @@ msgstr "" #: of #: omni.isaac.lab.markers.visualization_markers.VisualizationMarkers.is_visible -msgid "Returns" +msgid "返回" msgstr "" #: of @@ -402,3 +402,15 @@ msgid "" "the marker. The key is used to identify the marker in the class." msgstr "" +#~ msgid "Bases: :py:class:`object`" +#~ msgstr "" + +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.scene.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.scene.po index 92114c8918..57d09b081b 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.scene.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.scene.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-05 15:08+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -103,7 +103,7 @@ msgid "interactive Scene" msgstr "" #: of omni.isaac.lab.scene.interactive_scene.InteractiveScene:1 -msgid "Bases: :py:class:`object`" +msgid "基类::py:class:`object`" msgstr "" #: of omni.isaac.lab.scene.interactive_scene.InteractiveScene:3 @@ -443,7 +443,7 @@ msgstr "" #: omni.isaac.lab.scene.interactive_scene.InteractiveScene.reset #: omni.isaac.lab.scene.interactive_scene.InteractiveScene.reset_to #: omni.isaac.lab.scene.interactive_scene.InteractiveScene.update -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab.scene.interactive_scene.InteractiveScene.__init__:3 @@ -516,7 +516,7 @@ msgstr "" #: of omni.isaac.lab.scene.InteractiveScene.state #: omni.isaac.lab.scene.interactive_scene.InteractiveScene.get_state #: omni.isaac.lab.scene.interactive_scene.InteractiveScene.keys -msgid "Returns" +msgid "返回" msgstr "" #: of omni.isaac.lab.scene.InteractiveScene.state:3 @@ -662,3 +662,12 @@ msgid "" "needs to be set to False." msgstr "" +#~ msgid "Bases: :py:class:`object`" +#~ msgstr "" + +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sensors.patterns.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sensors.patterns.po index 3e52f61ca8..9e519c00b2 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sensors.patterns.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sensors.patterns.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-13 10:42+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/api/lab/omni.isaac.lab.sensors.patterns.rst:2 msgid "omni.isaac.lab.sensors.patterns" @@ -125,7 +125,7 @@ msgstr "" #: omni.isaac.lab.sensors.ray_caster.patterns.patterns.lidar_pattern #: omni.isaac.lab.sensors.ray_caster.patterns.patterns.pinhole_camera_pattern #: omni.isaac.lab.sensors.ray_caster.patterns.patterns_cfg.PinholeCameraPatternCfg.from_intrinsic_matrix -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab.sensors.ray_caster.patterns.patterns.bpearl_pattern:8 @@ -147,7 +147,7 @@ msgstr "" #: omni.isaac.lab.sensors.ray_caster.patterns.patterns.lidar_pattern #: omni.isaac.lab.sensors.ray_caster.patterns.patterns.pinhole_camera_pattern #: omni.isaac.lab.sensors.ray_caster.patterns.patterns_cfg.PinholeCameraPatternCfg.from_intrinsic_matrix -msgid "Returns" +msgid "返回" msgstr "" #: of omni.isaac.lab.sensors.ray_caster.patterns.patterns.bpearl_pattern:11 @@ -157,7 +157,7 @@ msgid "The starting positions and directions of the rays." msgstr "" #: of omni.isaac.lab.sensors.ray_caster.patterns.patterns.grid_pattern -msgid "Raises" +msgid "抛出" msgstr "" #: of omni.isaac.lab.sensors.ray_caster.patterns.patterns.grid_pattern:12 @@ -666,3 +666,12 @@ msgid "" "LiDAR sensor." msgstr "" +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sensors.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sensors.po index 0c1c1c4b60..2afec3c778 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sensors.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sensors.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-15 14:37+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -578,7 +578,7 @@ msgstr "" #: omni.isaac.lab.sensors.sensor_base.SensorBase.__init__ #: omni.isaac.lab.sensors.sensor_base.SensorBase.reset #: omni.isaac.lab.sensors.sensor_base.SensorBase.set_debug_vis -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab.sensors.sensor_base.SensorBase.__init__:3 @@ -643,7 +643,7 @@ msgstr "" #: omni.isaac.lab.sensors.contact_sensor.contact_sensor.ContactSensor.compute_first_contact #: omni.isaac.lab.sensors.contact_sensor.contact_sensor.ContactSensor.find_bodies #: omni.isaac.lab.sensors.sensor_base.SensorBase.set_debug_vis -msgid "Returns" +msgid "返回" msgstr "" #: of omni.isaac.lab.sensors.sensor_base.SensorBase.set_debug_vis:5 @@ -799,7 +799,7 @@ msgstr "" #: omni.isaac.lab.sensors.frame_transformer.frame_transformer.FrameTransformer:1 #: omni.isaac.lab.sensors.imu.imu.Imu:1 #: omni.isaac.lab.sensors.ray_caster.ray_caster.RayCaster:1 -msgid "Bases: :py:class:`~omni.isaac.lab.sensors.sensor_base.SensorBase`" +msgid "基类::py:class:`~omni.isaac.lab.sensors.sensor_base.SensorBase`" msgstr "" #: of omni.isaac.lab.sensors.camera.camera.Camera:3 @@ -1110,7 +1110,7 @@ msgstr "" #: omni.isaac.lab.sensors.ray_caster.ray_caster_camera.RayCasterCamera.__init__ #: omni.isaac.lab.sensors.ray_caster.ray_caster_camera.RayCasterCamera.set_world_poses #: omni.isaac.lab.sensors.ray_caster.ray_caster_camera.RayCasterCamera.set_world_poses_from_view -msgid "Raises" +msgid "抛出" msgstr "" #: of omni.isaac.lab.sensors.camera.camera.Camera.__init__:5 @@ -1401,7 +1401,7 @@ msgstr "" #: omni.isaac.lab.sensors.frame_transformer.frame_transformer_cfg.FrameTransformerCfg:1 #: omni.isaac.lab.sensors.imu.imu_cfg.ImuCfg:1 #: omni.isaac.lab.sensors.ray_caster.ray_caster_cfg.RayCasterCfg:1 -msgid "Bases: :py:class:`~omni.isaac.lab.sensors.sensor_base_cfg.SensorBaseCfg`" +msgid "基类::py:class:`~omni.isaac.lab.sensors.sensor_base_cfg.SensorBaseCfg`" msgstr "" #: of omni.isaac.lab.sensors.camera.camera_cfg.CameraCfg:1 @@ -1552,7 +1552,7 @@ msgstr "" #: omni.isaac.lab.sensors.imu.imu_cfg.ImuCfg.OffsetCfg:1 #: omni.isaac.lab.sensors.ray_caster.ray_caster_camera_cfg.RayCasterCameraCfg.OffsetCfg:1 #: omni.isaac.lab.sensors.ray_caster.ray_caster_cfg.RayCasterCfg.OffsetCfg:1 -msgid "Bases: :py:class:`object`" +msgid "基类::py:class:`object`" msgstr "" #: of omni.isaac.lab.sensors.CameraCfg.OffsetCfg.pos:1::1 @@ -1775,7 +1775,7 @@ msgid "Tile-Rendered USD Camera" msgstr "" #: of omni.isaac.lab.sensors.camera.tiled_camera.TiledCamera:1 -msgid "Bases: :py:class:`~omni.isaac.lab.sensors.camera.camera.Camera`" +msgid "基类::py:class:`~omni.isaac.lab.sensors.camera.camera.Camera`" msgstr "" #: of omni.isaac.lab.sensors.camera.tiled_camera.TiledCamera:3 @@ -1900,7 +1900,7 @@ msgid "If Isaac Sim version < 4.2" msgstr "" #: of omni.isaac.lab.sensors.camera.tiled_camera_cfg.TiledCameraCfg:1 -msgid "Bases: :py:class:`~omni.isaac.lab.sensors.camera.camera_cfg.CameraCfg`" +msgid "基类::py:class:`~omni.isaac.lab.sensors.camera.camera_cfg.CameraCfg`" msgstr "" #: of @@ -3321,7 +3321,7 @@ msgid "Ray-Cast Camera" msgstr "" #: of omni.isaac.lab.sensors.ray_caster.ray_caster_camera.RayCasterCamera:1 -msgid "Bases: :py:class:`~omni.isaac.lab.sensors.ray_caster.ray_caster.RayCaster`" +msgid "基类::py:class:`~omni.isaac.lab.sensors.ray_caster.ray_caster.RayCaster`" msgstr "" #: of omni.isaac.lab.sensors.ray_caster.ray_caster_camera.RayCasterCamera:3 @@ -3471,9 +3471,7 @@ msgstr "" #: of #: omni.isaac.lab.sensors.ray_caster.ray_caster_camera_cfg.RayCasterCameraCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.sensors.ray_caster.ray_caster_cfg.RayCasterCfg`" +msgid "基类::py:class:`~omni.isaac.lab.sensors.ray_caster.ray_caster_cfg.RayCasterCfg`" msgstr "" #: of @@ -3733,3 +3731,39 @@ msgid "" " world Z." msgstr "" +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~omni.isaac.lab.sensors.sensor_base.SensorBase`" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.sensors.sensor_base_cfg.SensorBaseCfg`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`object`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~omni.isaac.lab.sensors.camera.camera.Camera`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~omni.isaac.lab.sensors.camera.camera_cfg.CameraCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.sensors.ray_caster.ray_caster.RayCaster`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.sensors.ray_caster.ray_caster_cfg.RayCasterCfg`" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.converters.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.converters.po index cc019e936d..e6c5eecd2d 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.converters.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.converters.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-15 14:37+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -273,7 +273,7 @@ msgstr "" #: omni.isaac.lab.sim.converters.asset_converter_base.AssetConverterBase.__init__ #: omni.isaac.lab.sim.converters.mesh_converter.MeshConverter.__init__ #: omni.isaac.lab.sim.converters.urdf_converter.UrdfConverter.__init__ -msgid "Parameters" +msgid "参数" msgstr "" #: of @@ -283,7 +283,7 @@ msgstr "" #: of #: omni.isaac.lab.sim.converters.asset_converter_base.AssetConverterBase.__init__ -msgid "Raises" +msgid "抛出" msgstr "" #: of @@ -459,9 +459,7 @@ msgstr "" #: of omni.isaac.lab.sim.converters.mesh_converter.MeshConverter:1 #: omni.isaac.lab.sim.converters.urdf_converter.UrdfConverter:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.sim.converters.asset_converter_base.AssetConverterBase`" +msgid "基类::py:class:`~omni.isaac.lab.sim.converters.asset_converter_base.AssetConverterBase`" msgstr "" #: of omni.isaac.lab.sim.converters.mesh_converter.MeshConverter:3 @@ -555,9 +553,7 @@ msgstr "" #: of omni.isaac.lab.sim.converters.mesh_converter_cfg.MeshConverterCfg:1 #: omni.isaac.lab.sim.converters.urdf_converter_cfg.UrdfConverterCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.sim.converters.asset_converter_base_cfg.AssetConverterBaseCfg`" +msgid "基类::py:class:`~omni.isaac.lab.sim.converters.asset_converter_base_cfg.AssetConverterBaseCfg`" msgstr "" #: of @@ -1072,3 +1068,19 @@ msgid "" "overridden by the configured value." msgstr "" +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.sim.converters.asset_converter_base.AssetConverterBase`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.sim.converters.asset_converter_base_cfg.AssetConverterBaseCfg`" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.po index be270c02b5..6581a84639 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-18 10:56+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -162,7 +162,7 @@ msgid "Simulation Context" msgstr "" #: of omni.isaac.lab.sim.simulation_context.SimulationContext:1 -msgid "Bases: :py:class:`~omni.isaac.core.simulation_context.SimulationContext`" +msgid "基类::py:class:`~omni.isaac.core.simulation_context.SimulationContext`" msgstr "" #: of omni.isaac.lab.sim.simulation_context.SimulationContext:3 @@ -407,7 +407,7 @@ msgid "" msgstr "" #: of omni.isaac.lab.sim.simulation_context.SimulationContext.RenderMode:1 -msgid "Bases: :py:class:`~enum.IntEnum`" +msgid "基类::py:class:`~enum.IntEnum`" msgstr "" #: of omni.isaac.lab.sim.simulation_context.SimulationContext.RenderMode:3 @@ -555,7 +555,7 @@ msgstr "" #: omni.isaac.lab.sim.utils.safe_set_attribute_on_usd_prim #: omni.isaac.lab.sim.utils.safe_set_attribute_on_usd_schema #: omni.isaac.lab.sim.utils.select_usd_variants -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab.sim.simulation_context.SimulationContext.__init__:3 @@ -676,7 +676,7 @@ msgstr "" #: omni.isaac.lab.sim.utils.make_uninstanceable #: omni.isaac.lab.sim.utils.safe_set_attribute_on_usd_schema #: omni.isaac.lab.sim.utils.select_usd_variants -msgid "Raises" +msgid "抛出" msgstr "" #: of @@ -716,7 +716,7 @@ msgstr "" #: omni.isaac.lab.sim.utils.find_matching_prims #: omni.isaac.lab.sim.utils.get_all_matching_child_prims #: omni.isaac.lab.sim.utils.get_first_matching_child_prim -msgid "Returns" +msgid "返回" msgstr "" #: of omni.isaac.lab.sim.simulation_context.SimulationContext.step:4 @@ -754,7 +754,7 @@ msgstr "" #: of omni.isaac.lab.sim.simulation_cfg.PhysxCfg:1 #: omni.isaac.lab.sim.simulation_cfg.RenderCfg:1 #: omni.isaac.lab.sim.simulation_cfg.SimulationCfg:1 -msgid "Bases: :py:class:`object`" +msgid "基类::py:class:`object`" msgstr "" #: of omni.isaac.lab.sim.SimulationCfg.physics_prim_path:1::1 @@ -1658,7 +1658,7 @@ msgid "" msgstr "" #: of omni.isaac.lab.sim.simulation_context.build_simulation_context -msgid "Yields" +msgid "生成器" msgstr "" #: of omni.isaac.lab.sim.simulation_context.build_simulation_context:32 @@ -2234,3 +2234,26 @@ msgstr "" msgid "If the prim at the specified path is not valid." msgstr "" +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.core.simulation_context.SimulationContext`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~enum.IntEnum`" +#~ msgstr "" + +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`object`" +#~ msgstr "" + +#~ msgid "Yields" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.schemas.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.schemas.po index 10df6455b4..d39e018775 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.schemas.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.schemas.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-27 20:01+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/api/lab/omni.isaac.lab.sim.schemas.rst:2 msgid "omni.isaac.lab.sim.schemas" @@ -494,7 +494,7 @@ msgstr "" #: omni.isaac.lab.sim.schemas.schemas.modify_joint_drive_properties #: omni.isaac.lab.sim.schemas.schemas.modify_mass_properties #: omni.isaac.lab.sim.schemas.schemas.modify_rigid_body_properties -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab.sim.schemas.schemas.define_articulation_root_properties:5 @@ -533,7 +533,7 @@ msgstr "" #: omni.isaac.lab.sim.schemas.schemas.modify_articulation_root_properties #: omni.isaac.lab.sim.schemas.schemas.modify_fixed_tendon_properties #: omni.isaac.lab.sim.schemas.schemas.modify_joint_drive_properties -msgid "Raises" +msgid "抛出" msgstr "" #: of omni.isaac.lab.sim.schemas.schemas.define_articulation_root_properties:10 @@ -600,7 +600,7 @@ msgstr "" #: omni.isaac.lab.sim.schemas.schemas.modify_joint_drive_properties #: omni.isaac.lab.sim.schemas.schemas.modify_mass_properties #: omni.isaac.lab.sim.schemas.schemas.modify_rigid_body_properties -msgid "Returns" +msgid "返回" msgstr "" #: of omni.isaac.lab.sim.schemas.schemas.modify_articulation_root_properties:33 @@ -1767,3 +1767,13 @@ msgstr "" #: of omni.isaac.lab.sim.schemas.schemas.modify_deformable_body_properties:32 msgid "The prim path to the deformable body." msgstr "" + +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.spawners.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.spawners.po index 2f3513624d..6f8424f98a 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.spawners.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.sim.spawners.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-15 14:37+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -621,7 +621,7 @@ msgstr "" #: of omni.isaac.lab.sim.spawners.spawner_cfg.DeformableObjectSpawnerCfg:1 #: omni.isaac.lab.sim.spawners.spawner_cfg.RigidObjectSpawnerCfg:1 -msgid "Bases: :py:class:`~omni.isaac.lab.sim.spawners.spawner_cfg.SpawnerCfg`" +msgid "基类::py:class:`~omni.isaac.lab.sim.spawners.spawner_cfg.SpawnerCfg`" msgstr "" #: of omni.isaac.lab.sim.spawners.spawner_cfg.DeformableObjectSpawnerCfg:11 @@ -1388,7 +1388,7 @@ msgstr "" #: omni.isaac.lab.sim.spawners.shapes.shapes.spawn_sphere #: omni.isaac.lab.sim.spawners.wrappers.wrappers.spawn_multi_asset #: omni.isaac.lab.sim.spawners.wrappers.wrappers.spawn_multi_usd_file -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab.sim.spawners.from_files.from_files.spawn_from_urdf:15 @@ -1486,7 +1486,7 @@ msgstr "" #: omni.isaac.lab.sim.spawners.shapes.shapes.spawn_sphere #: omni.isaac.lab.sim.spawners.wrappers.wrappers.spawn_multi_asset #: omni.isaac.lab.sim.spawners.wrappers.wrappers.spawn_multi_usd_file -msgid "Returns" +msgid "返回" msgstr "" #: of @@ -1525,7 +1525,7 @@ msgstr "" #: omni.isaac.lab.sim.spawners.shapes.shapes.spawn_cuboid #: omni.isaac.lab.sim.spawners.shapes.shapes.spawn_cylinder #: omni.isaac.lab.sim.spawners.shapes.shapes.spawn_sphere -msgid "Raises" +msgid "抛出" msgstr "" #: of @@ -1549,7 +1549,7 @@ msgstr "" #: omni.isaac.lab.sim.spawners.shapes.shapes_cfg.CuboidCfg:1 #: omni.isaac.lab.sim.spawners.shapes.shapes_cfg.CylinderCfg:1 #: omni.isaac.lab.sim.spawners.shapes.shapes_cfg.SphereCfg:1 -msgid "Bases: :py:class:`~omni.isaac.lab.sim.spawners.shapes.shapes_cfg.ShapeCfg`" +msgid "基类::py:class:`~omni.isaac.lab.sim.spawners.shapes.shapes_cfg.ShapeCfg`" msgstr "" #: of omni.isaac.lab.sim.spawners.meshes.meshes_cfg.MeshCapsuleCfg:3 @@ -2301,7 +2301,7 @@ msgstr "" #: omni.isaac.lab.sim.spawners.meshes.meshes_cfg.MeshCuboidCfg:1 #: omni.isaac.lab.sim.spawners.meshes.meshes_cfg.MeshCylinderCfg:1 #: omni.isaac.lab.sim.spawners.meshes.meshes_cfg.MeshSphereCfg:1 -msgid "Bases: :py:class:`~omni.isaac.lab.sim.spawners.meshes.meshes_cfg.MeshCfg`" +msgid "基类::py:class:`~omni.isaac.lab.sim.spawners.meshes.meshes_cfg.MeshCfg`" msgstr "" #: of @@ -6727,3 +6727,25 @@ msgid "" "`\\" msgstr "" +#~ msgid "Bases: :py:class:`~omni.isaac.lab.sim.spawners.spawner_cfg.SpawnerCfg`" +#~ msgstr "" + +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.sim.spawners.shapes.shapes_cfg.ShapeCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.sim.spawners.meshes.meshes_cfg.MeshCfg`" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.terrains.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.terrains.po index be5a70a715..66e50f5ad0 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.terrains.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.terrains.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-15 14:37+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -123,7 +123,7 @@ msgstr "" #: of omni.isaac.lab.terrains.terrain_importer.TerrainImporter:1 #: omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshRepeatedObjectsTerrainCfg.ObjectCfg:1 -msgid "Bases: :py:class:`object`" +msgid "基类::py:class:`object`" msgstr "" #: of omni.isaac.lab.terrains.terrain_importer.TerrainImporter:3 @@ -385,7 +385,7 @@ msgstr "" #: omni.isaac.lab.terrains.utils.color_meshes_by_height #: omni.isaac.lab.terrains.utils.create_prim_from_mesh #: omni.isaac.lab.terrains.utils.find_flat_patches -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab.terrains.terrain_importer.TerrainImporter.__init__:3 @@ -403,7 +403,7 @@ msgstr "" #: omni.isaac.lab.terrains.trimesh.mesh_terrains.repeated_objects_terrain #: omni.isaac.lab.terrains.trimesh.mesh_terrains.star_terrain #: omni.isaac.lab.terrains.utils.find_flat_patches -msgid "Raises" +msgid "抛出" msgstr "" #: of omni.isaac.lab.terrains.terrain_importer.TerrainImporter.__init__:5 @@ -484,7 +484,7 @@ msgstr "" #: omni.isaac.lab.terrains.trimesh.mesh_terrains.star_terrain #: omni.isaac.lab.terrains.utils.color_meshes_by_height #: omni.isaac.lab.terrains.utils.find_flat_patches -msgid "Returns" +msgid "返回" msgstr "" #: of omni.isaac.lab.terrains.terrain_importer.TerrainImporter.set_debug_vis:5 @@ -1682,9 +1682,7 @@ msgstr "" #: omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshRandomGridTerrainCfg:1 #: omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshRepeatedObjectsTerrainCfg:1 #: omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshStarTerrainCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.terrains.terrain_generator_cfg.SubTerrainBaseCfg`" +msgid "基类::py:class:`~omni.isaac.lab.terrains.terrain_generator_cfg.SubTerrainBaseCfg`" msgstr "" #: of omni.isaac.lab.terrains.height_field.hf_terrains_cfg.HfTerrainBaseCfg:1 @@ -1878,9 +1876,7 @@ msgstr "" #: omni.isaac.lab.terrains.height_field.hf_terrains_cfg.HfRandomUniformTerrainCfg:1 #: omni.isaac.lab.terrains.height_field.hf_terrains_cfg.HfSteppingStonesTerrainCfg:1 #: omni.isaac.lab.terrains.height_field.hf_terrains_cfg.HfWaveTerrainCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.terrains.height_field.hf_terrains_cfg.HfTerrainBaseCfg`" +msgid "基类::py:class:`~omni.isaac.lab.terrains.height_field.hf_terrains_cfg.HfTerrainBaseCfg`" msgstr "" #: of @@ -2161,9 +2157,7 @@ msgstr "" #: of #: omni.isaac.lab.terrains.height_field.hf_terrains_cfg.HfInvertedPyramidSlopedTerrainCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.terrains.height_field.hf_terrains_cfg.HfPyramidSlopedTerrainCfg`" +msgid "基类::py:class:`~omni.isaac.lab.terrains.height_field.hf_terrains_cfg.HfPyramidSlopedTerrainCfg`" msgstr "" #: of @@ -2394,9 +2388,7 @@ msgstr "" #: of #: omni.isaac.lab.terrains.height_field.hf_terrains_cfg.HfInvertedPyramidStairsTerrainCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.terrains.height_field.hf_terrains_cfg.HfPyramidStairsTerrainCfg`" +msgid "基类::py:class:`~omni.isaac.lab.terrains.height_field.hf_terrains_cfg.HfPyramidStairsTerrainCfg`" msgstr "" #: of @@ -3074,9 +3066,7 @@ msgstr "" #: of #: omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshInvertedPyramidStairsTerrainCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshPyramidStairsTerrainCfg`" +msgid "基类::py:class:`~omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshPyramidStairsTerrainCfg`" msgstr "" #: of @@ -3970,9 +3960,7 @@ msgstr "" #: omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshRepeatedBoxesTerrainCfg:1 #: omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshRepeatedCylindersTerrainCfg:1 #: omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshRepeatedPyramidsTerrainCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshRepeatedObjectsTerrainCfg`" +msgid "基类::py:class:`~omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshRepeatedObjectsTerrainCfg`" msgstr "" #: of @@ -4053,9 +4041,7 @@ msgstr "" #: omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshRepeatedBoxesTerrainCfg.ObjectCfg:1 #: omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshRepeatedCylindersTerrainCfg.ObjectCfg:1 #: omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshRepeatedPyramidsTerrainCfg.ObjectCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshRepeatedObjectsTerrainCfg.ObjectCfg`" +msgid "基类::py:class:`~omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshRepeatedObjectsTerrainCfg.ObjectCfg`" msgstr "" #: of @@ -4427,7 +4413,7 @@ msgstr "" #: of omni.isaac.lab.terrains.utils.color_meshes_by_height #: omni.isaac.lab.terrains.utils.create_prim_from_mesh -msgid "Keyword Arguments" +msgid "关键字参数" msgstr "" #: of omni.isaac.lab.terrains.utils.color_meshes_by_height:7 @@ -4587,3 +4573,53 @@ msgid "" "number of iterations is reached." msgstr "" +#~ msgid "Bases: :py:class:`object`" +#~ msgstr "" + +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.terrains.terrain_generator_cfg.SubTerrainBaseCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.terrains.height_field.hf_terrains_cfg.HfTerrainBaseCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.terrains.height_field.hf_terrains_cfg.HfPyramidSlopedTerrainCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.terrains.height_field.hf_terrains_cfg.HfPyramidStairsTerrainCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshPyramidStairsTerrainCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshRepeatedObjectsTerrainCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.terrains.trimesh.mesh_terrains_cfg.MeshRepeatedObjectsTerrainCfg.ObjectCfg`" +#~ msgstr "" + +#~ msgid "Keyword Arguments" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.utils.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.utils.po index 2b2a09e9c5..1f3b97a767 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.utils.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab/omni.isaac.lab.utils.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-15 14:37+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -319,7 +319,7 @@ msgstr "" #: omni.isaac.lab.utils.timer.Timer.get_timer_info #: omni.isaac.lab.utils.warp.ops.convert_to_warp_mesh #: omni.isaac.lab.utils.warp.ops.raycast_mesh -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab.utils.configclass.configclass:46 @@ -408,7 +408,7 @@ msgstr "" #: omni.isaac.lab.utils.timer.Timer.get_timer_info #: omni.isaac.lab.utils.warp.ops.convert_to_warp_mesh #: omni.isaac.lab.utils.warp.ops.raycast_mesh -msgid "Returns" +msgid "返回" msgstr "" #: of omni.isaac.lab.utils.configclass.configclass:49 @@ -500,7 +500,7 @@ msgstr "" #: omni.isaac.lab.utils.string.string_to_callable #: omni.isaac.lab.utils.string.to_camel_case #: omni.isaac.lab.utils.timer.Timer.get_timer_info -msgid "Raises" +msgid "抛出" msgstr "" #: of omni.isaac.lab.utils.io.pkl.load_pickle:5 @@ -837,7 +837,7 @@ msgstr "" #: omni.isaac.lab.utils.noise.noise_cfg.NoiseModelCfg:1 #: omni.isaac.lab.utils.noise.noise_model.NoiseModel:1 #: omni.isaac.lab.utils.types.ArticulationActions:1 -msgid "Bases: :py:class:`object`" +msgid "基类::py:class:`object`" msgstr "" #: of omni.isaac.lab.utils.buffers.circular_buffer.CircularBuffer:3 @@ -3046,7 +3046,7 @@ msgstr "" #: of omni.isaac.lab.utils.math.create_rotation_matrix_from_view #: omni.isaac.lab.utils.string.string_to_callable -msgid "Return type" +msgid "返回类型" msgstr "" #: of omni.isaac.lab.utils.math.create_rotation_matrix_from_view:24 @@ -3195,7 +3195,7 @@ msgid "" msgstr "" #: of omni.isaac.lab.utils.modifiers.modifier_base.ModifierBase:1 -msgid "Bases: :py:class:`~abc.ABC`" +msgid "基类::py:class:`~abc.ABC`" msgstr "" #: of omni.isaac.lab.utils.modifiers.modifier_base.ModifierBase:3 @@ -3261,9 +3261,7 @@ msgstr "" #: of omni.isaac.lab.utils.modifiers.modifier.DigitalFilter:1 #: omni.isaac.lab.utils.modifiers.modifier.Integrator:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.utils.modifiers.modifier_base.ModifierBase`" +msgid "基类::py:class:`~omni.isaac.lab.utils.modifiers.modifier_base.ModifierBase`" msgstr "" #: of omni.isaac.lab.utils.modifiers.modifier.DigitalFilter:3 @@ -3306,7 +3304,7 @@ msgid "" msgstr "" #: of omni.isaac.lab.utils.modifiers.modifier.DigitalFilter:23 -msgid "Examples" +msgid "示例" msgstr "" #: of omni.isaac.lab.utils.modifiers.modifier.DigitalFilter:24 @@ -3432,9 +3430,7 @@ msgstr "" #: of omni.isaac.lab.utils.modifiers.modifier_cfg.DigitalFilterCfg:1 #: omni.isaac.lab.utils.modifiers.modifier_cfg.IntegratorCfg:1 -msgid "" -"Bases: " -":py:class:`~omni.isaac.lab.utils.modifiers.modifier_cfg.ModifierCfg`" +msgid "基类::py:class:`~omni.isaac.lab.utils.modifiers.modifier_cfg.ModifierCfg`" msgstr "" #: of omni.isaac.lab.utils.modifiers.modifier_cfg.DigitalFilterCfg:3 @@ -3709,9 +3705,7 @@ msgid "" msgstr "" #: of omni.isaac.lab.utils.noise:1::1 -msgid "" -"alias of " -":py:class:`~omni.isaac.lab.utils.noise.noise_cfg.ConstantNoiseCfg`" +msgid ":py:class:`~omni.isaac.lab.utils.noise.noise_cfg.ConstantNoiseCfg` 的别名" msgstr "" #: of omni.isaac.lab.utils.noise:1::1 @@ -3721,7 +3715,7 @@ msgid "" msgstr "" #: of omni.isaac.lab.utils.noise:1::1 -msgid "alias of :py:class:`~omni.isaac.lab.utils.noise.noise_cfg.UniformNoiseCfg`" +msgid ":py:class:`~omni.isaac.lab.utils.noise.noise_cfg.UniformNoiseCfg` 的别名" msgstr "" #: of omni.isaac.lab.utils.noise:1::1 @@ -3731,9 +3725,7 @@ msgid "" msgstr "" #: of omni.isaac.lab.utils.noise:1::1 -msgid "" -"alias of " -":py:class:`~omni.isaac.lab.utils.noise.noise_cfg.GaussianNoiseCfg`" +msgid ":py:class:`~omni.isaac.lab.utils.noise.noise_cfg.GaussianNoiseCfg` 的别名" msgstr "" #: of omni.isaac.lab.utils.noise.noise_cfg.NoiseCfg:1::1 @@ -3790,7 +3782,7 @@ msgstr "" #: of omni.isaac.lab.utils.noise.noise_cfg.ConstantNoiseCfg:1 #: omni.isaac.lab.utils.noise.noise_cfg.GaussianNoiseCfg:1 #: omni.isaac.lab.utils.noise.noise_cfg.UniformNoiseCfg:1 -msgid "Bases: :py:class:`~omni.isaac.lab.utils.noise.noise_cfg.NoiseCfg`" +msgid "基类::py:class:`~omni.isaac.lab.utils.noise.noise_cfg.NoiseCfg`" msgstr "" #: of omni.isaac.lab.utils.noise.ConstantNoiseCfg.bias:1::1 @@ -3848,7 +3840,7 @@ msgid "" msgstr "" #: of omni.isaac.lab.utils.noise.noise_cfg.NoiseModelCfg:1::1 -msgid "alias of :py:class:`~omni.isaac.lab.utils.noise.noise_model.NoiseModel`" +msgid ":py:class:`~omni.isaac.lab.utils.noise.noise_model.NoiseModel` 的别名" msgstr "" #: of omni.isaac.lab.utils.noise.noise_model.NoiseModel:1::1 @@ -3863,7 +3855,7 @@ msgid "The noise configuration to use." msgstr "" #: of omni.isaac.lab.utils.noise.noise_cfg.NoiseModelWithAdditiveBiasCfg:1 -msgid "Bases: :py:class:`~omni.isaac.lab.utils.noise.noise_cfg.NoiseModelCfg`" +msgid "基类::py:class:`~omni.isaac.lab.utils.noise.noise_cfg.NoiseModelCfg`" msgstr "" #: of @@ -3896,8 +3888,8 @@ msgstr "" #: of #: omni.isaac.lab.utils.noise.NoiseModelWithAdditiveBiasCfg.noise_cfg:1::1 msgid "" -"alias of " ":py:class:`~omni.isaac.lab.utils.noise.noise_model.NoiseModelWithAdditiveBias`" +" 的别名" msgstr "" #: ../../docstring of @@ -3984,7 +3976,7 @@ msgid "The data with the noise applied. Shape is the same as the input data." msgstr "" #: of omni.isaac.lab.utils.noise.noise_model.NoiseModelWithAdditiveBias:1 -msgid "Bases: :py:class:`~omni.isaac.lab.utils.noise.noise_model.NoiseModel`" +msgid "基类::py:class:`~omni.isaac.lab.utils.noise.noise_model.NoiseModel`" msgstr "" #: of omni.isaac.lab.utils.noise.noise_model.NoiseModelWithAdditiveBias:3 @@ -4335,11 +4327,11 @@ msgid "A timer for performance measurements." msgstr "" #: of omni.isaac.lab.utils.timer.TimerError:1 -msgid "Bases: :py:class:`Exception`" +msgid "基类::py:class:`Exception`" msgstr "" #: of omni.isaac.lab.utils.timer.Timer:1 -msgid "Bases: :py:class:`~contextlib.ContextDecorator`" +msgid "基类::py:class:`~contextlib.ContextDecorator`" msgstr "" #: of omni.isaac.lab.utils.timer.Timer:3 @@ -4720,3 +4712,72 @@ msgid "" " returned tensor contains :obj:`int(-1)` for missed hits." msgstr "" +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`object`" +#~ msgstr "" + +#~ msgid "Return type" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~abc.ABC`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.utils.modifiers.modifier_base.ModifierBase`" +#~ msgstr "" + +#~ msgid "Examples" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~omni.isaac.lab.utils.modifiers.modifier_cfg.ModifierCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "alias of " +#~ ":py:class:`~omni.isaac.lab.utils.noise.noise_cfg.ConstantNoiseCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "alias of " +#~ ":py:class:`~omni.isaac.lab.utils.noise.noise_cfg.UniformNoiseCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "alias of " +#~ ":py:class:`~omni.isaac.lab.utils.noise.noise_cfg.GaussianNoiseCfg`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~omni.isaac.lab.utils.noise.noise_cfg.NoiseCfg`" +#~ msgstr "" + +#~ msgid "alias of :py:class:`~omni.isaac.lab.utils.noise.noise_model.NoiseModel`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~omni.isaac.lab.utils.noise.noise_cfg.NoiseModelCfg`" +#~ msgstr "" + +#~ msgid "" +#~ "alias of " +#~ ":py:class:`~omni.isaac.lab.utils.noise.noise_model.NoiseModelWithAdditiveBias`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~omni.isaac.lab.utils.noise.noise_model.NoiseModel`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`Exception`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~contextlib.ContextDecorator`" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab_tasks/omni.isaac.lab_tasks.utils.data_collector.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab_tasks/omni.isaac.lab_tasks.utils.data_collector.po index 4c5a7b47ba..70fc4adc2b 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab_tasks/omni.isaac.lab_tasks.utils.data_collector.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab_tasks/omni.isaac.lab_tasks.utils.data_collector.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 06:36+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/api/lab_tasks/omni.isaac.lab_tasks.utils.data_collector.rst:2 msgid "omni.isaac.lab_tasks.utils.data_collector" @@ -72,7 +72,7 @@ msgstr "" #: of #: omni.isaac.lab_tasks.utils.data_collector.robomimic_data_collector.RobomimicDataCollector:1 -msgid "Bases: :py:class:`object`" +msgid "基类::py:class:`object`" msgstr "" #: of @@ -218,7 +218,7 @@ msgstr "" #: omni.isaac.lab_tasks.utils.data_collector.robomimic_data_collector.RobomimicDataCollector.__init__ #: omni.isaac.lab_tasks.utils.data_collector.robomimic_data_collector.RobomimicDataCollector.add #: omni.isaac.lab_tasks.utils.data_collector.robomimic_data_collector.RobomimicDataCollector.flush -msgid "Parameters" +msgid "参数" msgstr "" #: of @@ -253,7 +253,7 @@ msgstr "" #: of #: omni.isaac.lab_tasks.utils.data_collector.robomimic_data_collector.RobomimicDataCollector.is_stopped -msgid "Returns" +msgid "返回" msgstr "" #: of @@ -282,7 +282,7 @@ msgstr "" #: of #: omni.isaac.lab_tasks.utils.data_collector.robomimic_data_collector.RobomimicDataCollector.add -msgid "Raises" +msgid "抛出" msgstr "" #: of @@ -297,3 +297,15 @@ msgstr "" msgid "Environment indices to write data for. Defaults to (0)." msgstr "" +#~ msgid "Bases: :py:class:`object`" +#~ msgstr "" + +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab_tasks/omni.isaac.lab_tasks.utils.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab_tasks/omni.isaac.lab_tasks.utils.po index eec071a2fa..3c4091dcb8 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab_tasks/omni.isaac.lab_tasks.utils.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab_tasks/omni.isaac.lab_tasks.utils.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-13 10:42+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/api/lab_tasks/omni.isaac.lab_tasks.utils.rst:2 msgid "omni.isaac.lab_tasks.utils" @@ -111,7 +111,7 @@ msgstr "" #: omni.isaac.lab_tasks.utils.parse_cfg.get_checkpoint_path #: omni.isaac.lab_tasks.utils.parse_cfg.load_cfg_from_registry #: omni.isaac.lab_tasks.utils.parse_cfg.parse_env_cfg -msgid "Parameters" +msgid "参数" msgstr "" #: of omni.isaac.lab_tasks.utils.importer.import_packages:14 @@ -172,7 +172,7 @@ msgstr "" #: of omni.isaac.lab_tasks.utils.parse_cfg.get_checkpoint_path #: omni.isaac.lab_tasks.utils.parse_cfg.load_cfg_from_registry #: omni.isaac.lab_tasks.utils.parse_cfg.parse_env_cfg -msgid "Returns" +msgid "返回" msgstr "" #: of omni.isaac.lab_tasks.utils.parse_cfg.get_checkpoint_path:19 @@ -182,7 +182,7 @@ msgstr "" #: of omni.isaac.lab_tasks.utils.parse_cfg.get_checkpoint_path #: omni.isaac.lab_tasks.utils.parse_cfg.load_cfg_from_registry #: omni.isaac.lab_tasks.utils.parse_cfg.parse_env_cfg -msgid "Raises" +msgid "抛出" msgstr "" #: of omni.isaac.lab_tasks.utils.parse_cfg.get_checkpoint_path:21 @@ -256,3 +256,12 @@ msgid "" "use a class for the environment configuration." msgstr "" +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab_tasks/omni.isaac.lab_tasks.utils.wrappers.po b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab_tasks/omni.isaac.lab_tasks.utils.wrappers.po index ffe4a5040e..3f0af1eb59 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/api/lab_tasks/omni.isaac.lab_tasks.utils.wrappers.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/api/lab_tasks/omni.isaac.lab_tasks.utils.wrappers.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-27 20:01+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/api/lab_tasks/omni.isaac.lab_tasks.utils.wrappers.rst:2 msgid "omni.isaac.lab_tasks.utils.wrappers" @@ -102,7 +102,7 @@ msgstr "" #: of omni.isaac.lab_tasks.utils.wrappers.rl_games.RlGamesGpuEnv:1 #: omni.isaac.lab_tasks.utils.wrappers.rl_games.RlGamesVecEnvWrapper:1 -msgid "Bases: :py:class:`~rl_games.common.vecenv.IVecEnv`" +msgid "基类::py:class:`~rl_games.common.vecenv.IVecEnv`" msgstr "" #: of omni.isaac.lab_tasks.utils.wrappers.rl_games.RlGamesVecEnvWrapper:3 @@ -339,7 +339,7 @@ msgstr "" #: omni.isaac.lab_tasks.utils.wrappers.sb3.Sb3VecEnvWrapper.__init__ #: omni.isaac.lab_tasks.utils.wrappers.sb3.process_sb3_cfg #: omni.isaac.lab_tasks.utils.wrappers.skrl.SkrlVecEnvWrapper -msgid "Parameters" +msgid "参数" msgstr "" #: of @@ -370,7 +370,7 @@ msgstr "" #: omni.isaac.lab_tasks.utils.wrappers.rsl_rl.vecenv_wrapper.RslRlVecEnvWrapper.__init__ #: omni.isaac.lab_tasks.utils.wrappers.sb3.Sb3VecEnvWrapper.__init__ #: omni.isaac.lab_tasks.utils.wrappers.skrl.SkrlVecEnvWrapper -msgid "Raises" +msgid "抛出" msgstr "" #: of @@ -448,7 +448,7 @@ msgstr "" #: of omni.isaac.lab_tasks.utils.wrappers.rl_games.RlGamesGpuEnv.get_env_info #: omni.isaac.lab_tasks.utils.wrappers.rl_games.RlGamesGpuEnv.get_number_of_agents #: omni.isaac.lab_tasks.utils.wrappers.sb3.process_sb3_cfg -msgid "Returns" +msgid "返回" msgstr "" #: of @@ -591,7 +591,7 @@ msgstr "" #: omni.isaac.lab_tasks.utils.wrappers.rsl_rl.rl_cfg.RslRlOnPolicyRunnerCfg:1 #: omni.isaac.lab_tasks.utils.wrappers.rsl_rl.rl_cfg.RslRlPpoActorCriticCfg:1 #: omni.isaac.lab_tasks.utils.wrappers.rsl_rl.rl_cfg.RslRlPpoAlgorithmCfg:1 -msgid "Bases: :py:class:`object`" +msgid "基类::py:class:`object`" msgstr "" #: of @@ -1129,7 +1129,7 @@ msgstr "" #: of #: omni.isaac.lab_tasks.utils.wrappers.rsl_rl.vecenv_wrapper.RslRlVecEnvWrapper:1 -msgid "Bases: :py:class:`~rsl_rl.env.VecEnv`" +msgid "基类::py:class:`~rsl_rl.env.VecEnv`" msgstr "" #: of @@ -1371,7 +1371,7 @@ msgid "" msgstr "" #: of omni.isaac.lab_tasks.utils.wrappers.sb3.Sb3VecEnvWrapper:1 -msgid "Bases: :py:class:`~stable_baselines3.common.vec_env.base_vec_env.VecEnv`" +msgid "基类::py:class:`~stable_baselines3.common.vec_env.base_vec_env.VecEnv`" msgstr "" #: of omni.isaac.lab_tasks.utils.wrappers.sb3.Sb3VecEnvWrapper:3 @@ -1491,3 +1491,27 @@ msgid "" ":py:obj:`unwrapped " "`\\" msgstr "" + +#~ msgid "Bases: :py:class:`~rl_games.common.vecenv.IVecEnv`" +#~ msgstr "" + +#~ msgid "Parameters" +#~ msgstr "" + +#~ msgid "Raises" +#~ msgstr "" + +#~ msgid "Returns" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`object`" +#~ msgstr "" + +#~ msgid "Bases: :py:class:`~rsl_rl.env.VecEnv`" +#~ msgstr "" + +#~ msgid "" +#~ "Bases: " +#~ ":py:class:`~stable_baselines3.common.vec_env.base_vec_env.VecEnv`" +#~ msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/features/multi_gpu.po b/docs/locale/zh_CN/LC_MESSAGES/source/features/multi_gpu.po index a6ed4a55b9..edf7d10e59 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/features/multi_gpu.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/features/multi_gpu.po @@ -6,16 +6,16 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-27 20:01+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/features/multi_gpu.rst:2 msgid "Multi-GPU and Multi-Node Training" @@ -24,10 +24,11 @@ msgstr "多GPU和多节点训练" #: ../../source/features/multi_gpu.rst:6 msgid "" "Isaac Lab supports multi-GPU and multi-node reinforcement learning. " -"Currently, this feature is only available for RL-Games and skrl libraries " -"workflows. We are working on extending this feature to other workflows." +"Currently, this feature is only available for RL-Games and skrl libraries" +" workflows. We are working on extending this feature to other workflows." msgstr "" -"Isaac Lab支持多GPU和多节点的强化学习。目前,此功能仅适用于RL-Games和skrl库工作流程。我们正在努力将此功能扩展到其他工作流程中。" +"Isaac Lab支持多GPU和多节点的强化学习。目前,此功能仅适用于RL-" +"Games和skrl库工作流程。我们正在努力将此功能扩展到其他工作流程中。" #: ../../source/features/multi_gpu.rst:12 msgid "" @@ -45,28 +46,30 @@ msgid "" "For complex reinforcement learning environments, it may be desirable to " "scale up training across multiple GPUs. This is possible in Isaac Lab " "through the use of the `PyTorch distributed " -"`_ framework or the `JAX " -"distributed `_ " -"module respectively." +"`_ framework or the " +"`JAX distributed " +"`_ module " +"respectively." msgstr "" "对于复杂的强化学习环境,可能希望跨多个GPU扩展训练。在Isaac Lab中可以通过分别使用 `PyTorch分布式 " -"`_ 框架或者 `JAX distributed " -"`_ 模块来实现这一点。" +"`_ 框架或者 `JAX " +"distributed `_" +" 模块来实现这一点。" #: ../../source/features/multi_gpu.rst:24 msgid "" "In PyTorch, the :meth:`torch.distributed` API is used to launch multiple " "processes of training, where the number of processes must be equal to or " -"less than the number of GPUs available. Each process runs on a dedicated GPU" -" and launches its own instance of Isaac Sim and the Isaac Lab environment. " -"Each process collects its own rollouts during the training process and has " -"its own copy of the policy network. During training, gradients are " -"aggregated across the processes and broadcasted back to the process at the " -"end of the epoch." +"less than the number of GPUs available. Each process runs on a dedicated " +"GPU and launches its own instance of Isaac Sim and the Isaac Lab " +"environment. Each process collects its own rollouts during the training " +"process and has its own copy of the policy network. During training, " +"gradients are aggregated across the processes and broadcasted back to the" +" process at the end of the epoch." msgstr "" ":meth:`torch.distributed` " -"在PyTorch中,API用于启动多个训练进程,其中进程的数量必须等于或小于可用的GPU数量。每个进程在专用GPU上运行,并启动其自己的Isaac " -"Sim和Isaac Lab环境实例。在训练过程中,梯度在进程之间汇总,并在周期结束时广播回进程。" +"在PyTorch中,API用于启动多个训练进程,其中进程的数量必须等于或小于可用的GPU数量。每个进程在专用GPU上运行,并启动其自己的Isaac" +" Sim和Isaac Lab环境实例。在训练过程中,梯度在进程之间汇总,并在周期结束时广播回进程。" #: ../../source/features/multi_gpu.rst:31 msgid "" @@ -76,8 +79,8 @@ msgid "" msgstr "在JAX中,由于机器学习框架不会自动从单个程序调用中启动多个进程,skrl库提供了一个模块来启动它们。" #: ../../source/features/multi_gpu.rst:-1 -msgid "Multi-GPU training paradigm" -msgstr "多GPU训练范式" +msgid "多GPU训练范式" +msgstr "" #: ../../source/features/multi_gpu.rst:48 msgid "" @@ -107,51 +110,56 @@ msgstr "多节点训练" #: ../../source/features/multi_gpu.rst:82 msgid "" -"To scale up training beyond multiple GPUs on a single machine, it is also " -"possible to train across multiple nodes. To train across multiple " -"nodes/machines, it is required to launch an individual process on each node." +"To scale up training beyond multiple GPUs on a single machine, it is also" +" possible to train across multiple nodes. To train across multiple " +"nodes/machines, it is required to launch an individual process on each " +"node." msgstr "要在单台计算机上跨多个GPU扩展训练,还可以在多个节点上训练。要在多个节点/机器上训练,需要在每个节点上启动一个单独的进程。" #: ../../source/features/multi_gpu.rst:85 msgid "" -"For the master node, use the following command, where ``--nproc_per_node`` " -"represents the number of available GPUs, and ``--nnodes`` represents the " -"number of nodes:" -msgstr "" -"对于主节点,请使用以下命令,其中 ``--nproc_per_node`` 表示可用的GPU数量, ``--nnodes`` 表示节点的数量: " +"For the master node, use the following command, where " +"``--nproc_per_node`` represents the number of available GPUs, and " +"``--nnodes`` represents the number of nodes:" +msgstr "对于主节点,请使用以下命令,其中 ``--nproc_per_node`` 表示可用的GPU数量, ``--nnodes`` 表示节点的数量: " #: ../../source/features/multi_gpu.rst:117 msgid "" -"Note that the port (``5555``) can be replaced with any other available port." +"Note that the port (``5555``) can be replaced with any other available " +"port." msgstr "注意,端口( ``5555`` )可以更换为任何其他可用端口。" #: ../../source/features/multi_gpu.rst:119 msgid "" -"For non-master nodes, use the following command, replacing ``--node_rank`` " -"with the index of each machine:" +"For non-master nodes, use the following command, replacing " +"``--node_rank`` with the index of each machine:" msgstr "对于非主节点,请使用以下命令,将 ``--node_rank`` 替换为每台机器的索引: " #: ../../source/features/multi_gpu.rst:150 msgid "" "For more details on multi-node training with PyTorch, please visit the " "`PyTorch documentation " -"`_. " -"For more details on multi-node training with JAX, please visit the `skrl " -"documentation " -"`_ and the" -" `JAX documentation " +"`_." +" For more details on multi-node training with JAX, please visit the `skrl" +" documentation " +"`_ and " +"the `JAX documentation " "`_." msgstr "" "有关使用PyTorch进行多节点训练的更多详细信息,请访问 `PyTorch 文档 " "`_ " "。有关使用JAX进行多节点训练的更多详细信息,请访问 `skrl 文档 " -"`_ 和 `JAX " -"文档 `_ 。" +"`_ 和 " +"`JAX 文档 `_ 。" #: ../../source/features/multi_gpu.rst:158 msgid "" "As mentioned in the PyTorch documentation, \"multi-node training is " -"bottlenecked by inter-node communication latencies\". When this latency is " -"high, it is possible multi-node training will perform worse than running on " -"a single node instance." +"bottlenecked by inter-node communication latencies\". When this latency " +"is high, it is possible multi-node training will perform worse than " +"running on a single node instance." msgstr "如PyTorch文档中所述, ``多节点训练受到节点间通信延迟的瓶颈`` 。当这种延迟较高时,多节点训练可能表现不如在单节点实例上运行。" + +#~ msgid "Multi-GPU training paradigm" +#~ msgstr "多GPU训练范式" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/how-to/import_new_asset.po b/docs/locale/zh_CN/LC_MESSAGES/source/how-to/import_new_asset.po index 1eadb2179b..9e273b8820 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/how-to/import_new_asset.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/how-to/import_new_asset.po @@ -6,16 +6,16 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-13 10:42+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/how-to/import_new_asset.rst:2 msgid "Importing a New Asset" @@ -23,22 +23,22 @@ msgstr "导入新资产" #: ../../source/how-to/import_new_asset.rst:6 msgid "" -"NVIDIA Omniverse relies on the Universal Scene Description (USD) file format" -" to import and export assets. USD is an open source file format developed by" -" Pixar Animation Studios. It is a scene description format optimized for " -"large-scale, complex data sets. While this format is widely used in the film" -" and animation industry, it is less common in the robotics community." +"NVIDIA Omniverse relies on the Universal Scene Description (USD) file " +"format to import and export assets. USD is an open source file format " +"developed by Pixar Animation Studios. It is a scene description format " +"optimized for large-scale, complex data sets. While this format is widely" +" used in the film and animation industry, it is less common in the " +"robotics community." msgstr "" "NVIDIA Omniverse 依赖于通用场景描述(USD)文件格式来导入和导出资产。USD " "是由皮克斯动画工作室开发的开源文件格式。这是一种针对大规模、复杂数据集进行优化的场景描述格式。虽然这种格式在电影和动画行业广泛使用,但在机器人社区中并不常见。" #: ../../source/how-to/import_new_asset.rst:12 msgid "" -"To this end, NVIDIA has developed various importers that allow you to import" -" assets from other file formats into USD. These importers are available as " -"extensions to Omniverse Kit:" -msgstr "" -"为此,NVIDIA 开发了各种导入器,允许您将其他文件格式的资产导入到 USD 中。这些导入器作为 Omniverse Kit 的扩展可用: " +"To this end, NVIDIA has developed various importers that allow you to " +"import assets from other file formats into USD. These importers are " +"available as extensions to Omniverse Kit:" +msgstr "为此,NVIDIA 开发了各种导入器,允许您将其他文件格式的资产导入到 USD 中。这些导入器作为 Omniverse Kit 的扩展可用: " #: ../../source/how-to/import_new_asset.rst:16 msgid "**URDF Importer** - Import assets from URDF files." @@ -50,8 +50,8 @@ msgstr "**MJCF 导入器** - 从 MJCF 文件导入资产。" #: ../../source/how-to/import_new_asset.rst:18 msgid "" -"**Asset Importer** - Import assets from various file formats, including OBJ," -" FBX, STL, and glTF." +"**Asset Importer** - Import assets from various file formats, including " +"OBJ, FBX, STL, and glTF." msgstr "**资产导入器** - 从各种文件格式(包括 OBJ、FBX、STL 和 glTF)导入资产。" #: ../../source/how-to/import_new_asset.rst:21 @@ -59,24 +59,24 @@ msgid "" "The recommended workflow from NVIDIA is to use the above importers to " "convert the asset into its USD representation. Once the asset is in USD " "format, you can use the Omniverse Kit to edit the asset and export it to " -"other file formats. Isaac Sim includes these importers by default. They can " -"also be enabled manually in Omniverse Kit." +"other file formats. Isaac Sim includes these importers by default. They " +"can also be enabled manually in Omniverse Kit." msgstr "" -"NVIDIA 建议的工作流程是使用上述导入器将资产转换为其 USD 表示形式。一旦资产以 USD 格式存在,您可以使用 Omniverse Kit " -"对资产进行编辑,并将其导出到其他文件格式。Isaac Sim 默认包含这些导入程序。它们也可以在 Omniverse Kit 中手动启用。" +"NVIDIA 建议的工作流程是使用上述导入器将资产转换为其 USD 表示形式。一旦资产以 USD 格式存在,您可以使用 Omniverse Kit" +" 对资产进行编辑,并将其导出到其他文件格式。Isaac Sim 默认包含这些导入程序。它们也可以在 Omniverse Kit 中手动启用。" #: ../../source/how-to/import_new_asset.rst:26 msgid "" -"An important note to use assets for large-scale simulation is to ensure that" -" they are in `instanceable`_ format. This allows the asset to be efficiently" -" loaded into memory and used multiple times in a scene. Otherwise, the asset" -" will be loaded into memory multiple times, which can cause performance " -"issues. For more details on instanceable assets, please check the Isaac Sim " -"`documentation`_." +"An important note to use assets for large-scale simulation is to ensure " +"that they are in `instanceable`_ format. This allows the asset to be " +"efficiently loaded into memory and used multiple times in a scene. " +"Otherwise, the asset will be loaded into memory multiple times, which can" +" cause performance issues. For more details on instanceable assets, " +"please check the Isaac Sim `documentation`_." msgstr "" "用于大规模仿真中使用资产的重要注意事项是确保它们是 `实例化`_ " -"格式。这允许资产有效地加载到内存中,并在场景中多次使用。否则,资产将多次加载到内存中,可能导致性能问题。有关实例化资产的更多详细信息,请查看 Isaac" -" Sim `文档`_ 。" +"格式。这允许资产有效地加载到内存中,并在场景中多次使用。否则,资产将多次加载到内存中,可能导致性能问题。有关实例化资产的更多详细信息,请查看 " +"Isaac Sim `文档`_ 。" #: ../../source/how-to/import_new_asset.rst:34 msgid "Using URDF Importer" @@ -84,38 +84,41 @@ msgstr "使用 URDF 导入器" #: ../../source/how-to/import_new_asset.rst:36 msgid "" -"For using the URDF importer in the GUI, please check the documentation at " -"`URDF importer`_. For using the URDF importer from Python scripts, we " -"include a utility tool called ``convert_urdf.py``. This script creates an " -"instance of :class:`~sim.converters.UrdfConverterCfg` which is then passed " -"to the :class:`~sim.converters.UrdfConverter` class." +"For using the URDF importer in the GUI, please check the documentation at" +" `URDF importer`_. For using the URDF importer from Python scripts, we " +"include a utility tool called ``convert_urdf.py``. This script creates an" +" instance of :class:`~sim.converters.UrdfConverterCfg` which is then " +"passed to the :class:`~sim.converters.UrdfConverter` class." msgstr "" "要在GUI中使用URDF导入器,请查阅 `URDF 导入器`_ 的文档。要在Python脚本中使用URDF导入器,我们提供了一个名为 " -"``convert_urdf.py`` 的实用工具。这个脚本创建了 :class:`~sim.converters.UrdfConverterCfg` " -"的一个实例,然后将其传递给 :class:`~sim.converters.UrdfConverter` 类。" +"``convert_urdf.py`` 的实用工具。这个脚本创建了 " +":class:`~sim.converters.UrdfConverterCfg` 的一个实例,然后将其传递给 " +":class:`~sim.converters.UrdfConverter` 类。" #: ../../source/how-to/import_new_asset.rst:39 msgid "" -"The URDF importer has various configuration parameters that can be set to " -"control the behavior of the importer. The default values for the importer's " -"configuration parameters are specified are in the " -":class:`~sim.converters.UrdfConverterCfg` class, and they are listed below. " -"We made a few commonly modified settings to be available as command-line " -"arguments when calling the ``convert_urdf.py``, and they are marked with " -"``*``` in the list. For a comprehensive list of the configuration " -"parameters, please check the the documentation at `URDF importer`_." +"The URDF importer has various configuration parameters that can be set to" +" control the behavior of the importer. The default values for the " +"importer's configuration parameters are specified are in the " +":class:`~sim.converters.UrdfConverterCfg` class, and they are listed " +"below. We made a few commonly modified settings to be available as " +"command-line arguments when calling the ``convert_urdf.py``, and they are" +" marked with ``*``` in the list. For a comprehensive list of the " +"configuration parameters, please check the the documentation at `URDF " +"importer`_." msgstr "" "URDF 导入器具有各种配置参数,可以设置来控制导入器的行为。导入器的配置参数的默认值在 " -":class:`~sim.converters.UrdfConverterCfg` 类中指定,并列在下方。我们将一些常修改的设置作为命令行参数在调用 " -"``convert_urdf.py`` 时可用,并在列表中用 ``*`` 标记。要获取配置参数的详细列表,请查看 `URDF 导入器`_ 的文档。" +":class:`~sim.converters.UrdfConverterCfg` " +"类中指定,并列在下方。我们将一些常修改的设置作为命令行参数在调用 ``convert_urdf.py`` 时可用,并在列表中用 ``*`` " +"标记。要获取配置参数的详细列表,请查看 `URDF 导入器`_ 的文档。" #: ../../source/how-to/import_new_asset.rst:42 msgid "" -":attr:`~sim.converters.UrdfConverterCfg.fix_base*` - Whether to fix the base" -" of the robot. This depends on whether you have a floating-base or fixed-" -"base robot. The command-line flag is ``--fix-base`` where when set, the " -"importer will fix the base of the robot, otherwise it will default to " -"floating-base." +":attr:`~sim.converters.UrdfConverterCfg.fix_base*` - Whether to fix the " +"base of the robot. This depends on whether you have a floating-base or " +"fixed-base robot. The command-line flag is ``--fix-base`` where when set," +" the importer will fix the base of the robot, otherwise it will default " +"to floating-base." msgstr "" ":attr:`~sim.converters.UrdfConverterCfg.fix_base*` - " "是否固定机器人的基座。这取决于你是否有浮动基座或固定基座的机器人。命令行标志是 ``--fix-base`` " @@ -125,8 +128,8 @@ msgstr "" msgid "" ":attr:`~sim.converters.UrdfConverterCfg.make_instanceable*` - Whether to " "create instanceable assets. Usually, this should be set to ``True``. The " -"command-line flag is ``--make-instanceable`` where when set, the importer " -"will create instanceable assets, otherwise it will default to non-" +"command-line flag is ``--make-instanceable`` where when set, the importer" +" will create instanceable assets, otherwise it will default to non-" "instanceable." msgstr "" ":attr:`~sim.converters.UrdfConverterCfg.make_instanceable*` - " @@ -135,11 +138,11 @@ msgstr "" #: ../../source/how-to/import_new_asset.rst:48 msgid "" -":attr:`~sim.converters.UrdfConverterCfg.merge_fixed_joints*` - Whether to " -"merge the fixed joints. Usually, this should be set to ``True`` to reduce " -"the asset complexity. The command-line flag is ``--merge-joints`` where when" -" set, the importer will merge the fixed joints, otherwise it will default to" -" not merging the fixed joints." +":attr:`~sim.converters.UrdfConverterCfg.merge_fixed_joints*` - Whether to" +" merge the fixed joints. Usually, this should be set to ``True`` to " +"reduce the asset complexity. The command-line flag is ``--merge-joints`` " +"where when set, the importer will merge the fixed joints, otherwise it " +"will default to not merging the fixed joints." msgstr "" ":attr:`~sim.converters.UrdfConverterCfg.merge_fixed_joints*` - " "是否合并固定关节。通常应将此设置为 ``True`` 以减少实体的复杂性。命令行标志是 ``--merge-joints`` " @@ -147,39 +150,39 @@ msgstr "" #: ../../source/how-to/import_new_asset.rst:51 msgid "" -":attr:`~sim.converters.UrdfConverterCfg.default_drive_type` - The drive-type" -" for the joints. We recommend this to always be ``\"none\"``. This allows " -"changing the drive configuration using the actuator models." +":attr:`~sim.converters.UrdfConverterCfg.default_drive_type` - The drive-" +"type for the joints. We recommend this to always be ``\"none\"``. This " +"allows changing the drive configuration using the actuator models." msgstr "" ":attr:`~sim.converters.UrdfConverterCfg.default_drive_type` - " "关节的驱动类型。我们建议始终设置为 ``\"none\"`` 。这允许使用执行器模型更改驱动配置。" #: ../../source/how-to/import_new_asset.rst:54 msgid "" -":attr:`~sim.converters.UrdfConverterCfg.default_drive_stiffness` - The drive" -" stiffness for the joints. We recommend this to always be ``0.0``. This " -"allows changing the drive configuration using the actuator models." +":attr:`~sim.converters.UrdfConverterCfg.default_drive_stiffness` - The " +"drive stiffness for the joints. We recommend this to always be ``0.0``. " +"This allows changing the drive configuration using the actuator models." msgstr "" ":attr:`~sim.converters.UrdfConverterCfg.default_drive_stiffness` - " "关节的驱动刚度。我们建议始终设置为 ``0.0`` 。这允许使用执行器模型更改驱动配置。" #: ../../source/how-to/import_new_asset.rst:57 msgid "" -":attr:`~sim.converters.UrdfConverterCfg.default_drive_damping` - The drive " -"damping for the joints. Similar to the stiffness, we recommend this to " -"always be ``0.0``." +":attr:`~sim.converters.UrdfConverterCfg.default_drive_damping` - The " +"drive damping for the joints. Similar to the stiffness, we recommend this" +" to always be ``0.0``." msgstr "" ":attr:`~sim.converters.UrdfConverterCfg.default_drive_damping` - " "关节的驱动阻尼。类似于刚度,我们建议始终将其设置为 ``0.0`` 。" #: ../../source/how-to/import_new_asset.rst:61 msgid "" -"Note that when instanceable option is selected, the importer will create two" -" USD files: one for all the mesh data and one for all the non-mesh data " -"(e.g. joints, rigid bodies, etc.). The prims in the mesh data file are " -"referenced in the non-mesh data file. This allows the mesh data (which is " -"often bulky) to be loaded into memory only once and used multiple times in a" -" scene." +"Note that when instanceable option is selected, the importer will create " +"two USD files: one for all the mesh data and one for all the non-mesh " +"data (e.g. joints, rigid bodies, etc.). The prims in the mesh data file " +"are referenced in the non-mesh data file. This allows the mesh data " +"(which is often bulky) to be loaded into memory only once and used " +"multiple times in a scene." msgstr "" "请注意,当选择了可实例化选项时,导入器将创建两个USD文件: " "一个存储所有网格数据,另一个存储所有非网格数据(如关节、刚体等)。网格数据文件中的基元在非网格数据文件中被引用。这使得网格数据(通常体积庞大)只需要加载一次并在场景中多次使用。" @@ -192,17 +195,18 @@ msgstr "示例用法" #: ../../source/how-to/import_new_asset.rst:70 msgid "" -"In this example, we use the pre-processed URDF file of the ANYmal-D robot. " -"To check the pre-process URDF, please check the file the `anymal.urdf`_. The" -" main difference between the pre-processed URDF and the original URDF are:" +"In this example, we use the pre-processed URDF file of the ANYmal-D " +"robot. To check the pre-process URDF, please check the file the " +"`anymal.urdf`_. The main difference between the pre-processed URDF and " +"the original URDF are:" msgstr "" -"在此示例中,我们使用了 ANYmal-D 机器人的经过处理的 URDF 文件。要检查经过处理的 URDF,请查看文件 `anymal.urdf`_ " -"。经过处理的 URDF 与原始 URDF 之间的主要区别在于: " +"在此示例中,我们使用了 ANYmal-D 机器人的经过处理的 URDF 文件。要检查经过处理的 URDF,请查看文件 `anymal.urdf`_" +" 。经过处理的 URDF 与原始 URDF 之间的主要区别在于: " #: ../../source/how-to/import_new_asset.rst:74 msgid "" -"We removed the ```` tag from the URDF. This tag is not supported by " -"the URDF importer." +"We removed the ```` tag from the URDF. This tag is not supported " +"by the URDF importer." msgstr "我们从 URDF 中移除了 ```` 标记。此标记不受 URDF 导入器支持。" #: ../../source/how-to/import_new_asset.rst:75 @@ -213,27 +217,28 @@ msgstr "我们从 URDF 中移除了 ```` 标记。此标记不受 #: ../../source/how-to/import_new_asset.rst:76 msgid "" -"We removed various collision bodies from the URDF to reduce the complexity " -"of the asset." +"We removed various collision bodies from the URDF to reduce the " +"complexity of the asset." msgstr "我们从 URDF 中移除了各种碰撞体,以减少资产的复杂性。" #: ../../source/how-to/import_new_asset.rst:77 msgid "" -"We changed all the joint's damping and friction parameters to ``0.0``. This " -"ensures that we can perform effort-control on the joints without PhysX " -"adding additional damping." +"We changed all the joint's damping and friction parameters to ``0.0``. " +"This ensures that we can perform effort-control on the joints without " +"PhysX adding additional damping." msgstr "我们将所有关节的阻尼和摩擦参数改为 ``0.0`` 。这确保在没有 PhysX 添加额外阻尼的情况下,我们可以对关节进行努力控制。" #: ../../source/how-to/import_new_asset.rst:79 msgid "" -"We added the ```` tag to fixed joints. This ensures that the " -"importer does not merge these fixed joints." +"We added the ```` tag to fixed joints. This ensures that " +"the importer does not merge these fixed joints." msgstr "我们向固定关节添加了 ```` 标记。这确保导入器不会合并这些固定关节。" #: ../../source/how-to/import_new_asset.rst:82 #: ../../source/how-to/import_new_asset.rst:149 msgid "" -"The following shows the steps to clone the repository and run the converter:" +"The following shows the steps to clone the repository and run the " +"converter:" msgstr "以下显示了克隆存储库并运行转换器的步骤: " #: ../../source/how-to/import_new_asset.rst:101 @@ -242,13 +247,14 @@ msgid "" "``source/extensions/omni.isaac.lab_assets/data/Robots/ANYbotics/`` " "directory:" msgstr "" -"执行上述脚本将在 ``source/extensions/omni.isaac.lab_assets/data/Robots/ANYbotics/`` " +"执行上述脚本将在 " +"``source/extensions/omni.isaac.lab_assets/data/Robots/ANYbotics/`` " "目录内创建两个 USD 文件: " #: ../../source/how-to/import_new_asset.rst:104 msgid "" -"``anymal_d.usd`` - This is the main asset file. It contains all the non-mesh" -" data." +"``anymal_d.usd`` - This is the main asset file. It contains all the non-" +"mesh data." msgstr "``anymal_d.usd`` - 这是主资产文件。它包含所有非网格数据。" #: ../../source/how-to/import_new_asset.rst:105 @@ -267,19 +273,21 @@ msgstr "" #: ../../source/how-to/import_new_asset.rst:113 msgid "" -"To run the script headless, you can add the ``--headless`` flag. This will " -"not open the GUI and exit the script after the conversion is complete." +"To run the script headless, you can add the ``--headless`` flag. This " +"will not open the GUI and exit the script after the conversion is " +"complete." msgstr "要以无头模式运行脚本,可以添加 ``--headless`` 标志。这将不会打开 GUI,并在完成转换后退出脚本。" #: ../../source/how-to/import_new_asset.rst:116 msgid "" -"You can press play on the opened window to see the asset in the scene. The " -"asset should fall under gravity. If it blows up, then it might be that you " -"have self-collisions present in the URDF." +"You can press play on the opened window to see the asset in the scene. " +"The asset should fall under gravity. If it blows up, then it might be " +"that you have self-collisions present in the URDF." msgstr "您可以在打开的窗口上按播放按钮来查看场景中的资产。资产应该受重力影响下落。如果它爆炸了,那可能是因为URDF中存在自碰撞。" #: ../../source/how-to/import_new_asset.rst:-1 -msgid "result of convert_urdf.py" +#, fuzzy +msgid "convert_urdf.py 的结果" msgstr "convert_urdf.py 的结果" #: ../../source/how-to/import_new_asset.rst:127 @@ -288,9 +296,9 @@ msgstr "使用 MJCF 导入器" #: ../../source/how-to/import_new_asset.rst:129 msgid "" -"Similar to the URDF Importer, the MJCF Importer also has a GUI interface. " -"Please check the documentation at `MJCF importer`_ for more details. For " -"using the MJCF importer from Python scripts, we include a utility tool " +"Similar to the URDF Importer, the MJCF Importer also has a GUI interface." +" Please check the documentation at `MJCF importer`_ for more details. For" +" using the MJCF importer from Python scripts, we include a utility tool " "called ``convert_mjcf.py``. This script creates an instance of " ":class:`~sim.converters.MjcfConverterCfg` which is then passed to the " ":class:`~sim.converters.MjcfConverter` class." @@ -302,25 +310,25 @@ msgstr "" #: ../../source/how-to/import_new_asset.rst:131 msgid "" -"The default values for the importer's configuration parameters are specified" -" in the :class:`~sim.converters.MjcfConverterCfg` class. The configuration " -"parameters are listed below. We made a few commonly modified settings to be " -"available as command-line arguments when calling the ``convert_mjcf.py``, " -"and they are marked with ``*`` in the list. For a comprehensive list of the " -"configuration parameters, please check the the documentation at `MJCF " -"importer`_." +"The default values for the importer's configuration parameters are " +"specified in the :class:`~sim.converters.MjcfConverterCfg` class. The " +"configuration parameters are listed below. We made a few commonly " +"modified settings to be available as command-line arguments when calling " +"the ``convert_mjcf.py``, and they are marked with ``*`` in the list. For " +"a comprehensive list of the configuration parameters, please check the " +"the documentation at `MJCF importer`_." msgstr "" "导入器配置参数的默认值在 :class:`~sim.converters.MjcfConverterCfg` " -"类中指定。配置参数如下所示。我们对一些常见修改的设置进行了调整,使其在调用 `convert_mjcf.py` 时可以作为命令行参数使用,并在列表中用 " -"``*`` 标记。有关配置参数的全面列表,请查看 `MJCF importer`_ 处的文档。" +"类中指定。配置参数如下所示。我们对一些常见修改的设置进行了调整,使其在调用 `convert_mjcf.py` " +"时可以作为命令行参数使用,并在列表中用 ``*`` 标记。有关配置参数的全面列表,请查看 `MJCF importer`_ 处的文档。" #: ../../source/how-to/import_new_asset.rst:134 msgid "" -":attr:`~sim.converters.MjcfConverterCfg.fix_base*` - Whether to fix the base" -" of the robot. This depends on whether you have a floating-base or fixed-" -"base robot. The command-line flag is ``--fix-base`` where when set, the " -"importer will fix the base of the robot, otherwise it will default to " -"floating-base." +":attr:`~sim.converters.MjcfConverterCfg.fix_base*` - Whether to fix the " +"base of the robot. This depends on whether you have a floating-base or " +"fixed-base robot. The command-line flag is ``--fix-base`` where when set," +" the importer will fix the base of the robot, otherwise it will default " +"to floating-base." msgstr "" ":attr:`~sim.converters.MjcfConverterCfg.fix_base*` - " "是否固定机器人的基座。这取决于您的机器人是浮动基座还是固定基座。命令行标志是 ``--fix-base`` " @@ -330,8 +338,8 @@ msgstr "" msgid "" ":attr:`~sim.converters.MjcfConverterCfg.make_instanceable*` - Whether to " "create instanceable assets. Usually, this should be set to ``True``. The " -"command-line flag is ``--make-instanceable`` where when set, the importer " -"will create instanceable assets, otherwise it will default to non-" +"command-line flag is ``--make-instanceable`` where when set, the importer" +" will create instanceable assets, otherwise it will default to non-" "instanceable." msgstr "" ":attr:`~sim.converters.MjcfConverterCfg.make_instanceable*` - " @@ -340,24 +348,25 @@ msgstr "" #: ../../source/how-to/import_new_asset.rst:140 msgid "" -":attr:`~sim.converters.MjcfConverterCfg.import_sites*` - Whether to parse " -"the tag in the MJCF. Usually, this should be set to ``True``. The " -"command-line flag is ``--import-sites`` where when set, the importer will " -"parse the tag, otherwise it will default to not parsing the " -"tag." +":attr:`~sim.converters.MjcfConverterCfg.import_sites*` - Whether to parse" +" the tag in the MJCF. Usually, this should be set to ``True``. The" +" command-line flag is ``--import-sites`` where when set, the importer " +"will parse the tag, otherwise it will default to not parsing the " +" tag." msgstr "" ":attr:`~sim.converters.MjcfConverterCfg.import_sites*` - " -"是否解析MJCF中的标签。通常应设置为 ``True`` 。命令行标志是 ``--import-sites`` ,当设置时,导入器将解析 " -" 标签,否则将默认不解析 标签。" +"是否解析MJCF中的标签。通常应设置为 ``True`` 。命令行标志是 ``--import-sites`` " +",当设置时,导入器将解析 标签,否则将默认不解析 标签。" #: ../../source/how-to/import_new_asset.rst:147 msgid "" -"In this example, we use the MuJoCo model of the Unitree's H1 humanoid robot " -"in the `mujoco_menagerie`_." +"In this example, we use the MuJoCo model of the Unitree's H1 humanoid " +"robot in the `mujoco_menagerie`_." msgstr "在这个例子中,我们使用Unitree的H1人形机器人在 `mujoco_menagerie`_ 中的MuJoCo模型。" #: ../../source/how-to/import_new_asset.rst:-1 -msgid "result of convert_mjcf.py" +#, fuzzy +msgid "convert_mjcf.py 的结果" msgstr "convert_mjcf.py 的结果" #: ../../source/how-to/import_new_asset.rst:176 @@ -366,17 +375,18 @@ msgstr "使用网格导入器" #: ../../source/how-to/import_new_asset.rst:178 msgid "" -"Omniverse Kit includes the mesh converter tool that uses the ASSIMP library " -"to import assets from various mesh formats (e.g. OBJ, FBX, STL, glTF, etc.)." -" The asset converter tool is available as an extension to Omniverse Kit. " -"Please check the `asset converter`_ documentation for more details. However," -" unlike Isaac Sim's URDF and MJCF importers, the asset converter tool does " -"not support creating instanceable assets. This means that the asset will be " -"loaded into memory multiple times if it is used multiple times in a scene." +"Omniverse Kit includes the mesh converter tool that uses the ASSIMP " +"library to import assets from various mesh formats (e.g. OBJ, FBX, STL, " +"glTF, etc.). The asset converter tool is available as an extension to " +"Omniverse Kit. Please check the `asset converter`_ documentation for more" +" details. However, unlike Isaac Sim's URDF and MJCF importers, the asset " +"converter tool does not support creating instanceable assets. This means " +"that the asset will be loaded into memory multiple times if it is used " +"multiple times in a scene." msgstr "" "Omniverse Kit 包括使用 ASSIMP 库导入各种网格格式的资产的网格转换器工具(例如 OBJ、FBX、STL、glTF " -"等)。资产转换器工具作为 Omniverse Kit 的扩展提供。请查看 `资产转换器`_ 文档了解更多详细信息。然而,与 Isaac Sim 的 " -"URDF 和 MJCF 导入器不同,资产转换器工具不支持创建实例化资产。这意味着如果在场景中多次使用资产,则资产将多次加载到内存中。" +"等)。资产转换器工具作为 Omniverse Kit 的扩展提供。请查看 `资产转换器`_ 文档了解更多详细信息。然而,与 Isaac Sim 的" +" URDF 和 MJCF 导入器不同,资产转换器工具不支持创建实例化资产。这意味着如果在场景中多次使用资产,则资产将多次加载到内存中。" #: ../../source/how-to/import_new_asset.rst:185 msgid "" @@ -384,11 +394,11 @@ msgid "" "asset converter tool to import the asset and then converts it into an " "instanceable asset. Internally, this script creates an instance of " ":class:`~sim.converters.MeshConverterCfg` which is then passed to the " -":class:`~sim.converters.MeshConverter` class. Since the mesh file does not " -"contain any physics information, the configuration class accepts different " -"physics properties (such as mass, collision shape, etc.) as input. Please " -"check the documentation for :class:`~sim.converters.MeshConverterCfg` for " -"more details." +":class:`~sim.converters.MeshConverter` class. Since the mesh file does " +"not contain any physics information, the configuration class accepts " +"different physics properties (such as mass, collision shape, etc.) as " +"input. Please check the documentation for " +":class:`~sim.converters.MeshConverterCfg` for more details." msgstr "" "因此,我们包含一个名为 ``convert_mesh.py`` " "的实用工具,它使用资产转换器工具导入资产,然后将其转换为实例化资产。在内部,此脚本创建了一个 " @@ -399,9 +409,9 @@ msgstr "" #: ../../source/how-to/import_new_asset.rst:196 msgid "" -"We use an OBJ file of a cube to demonstrate the usage of the mesh converter." -" The following shows the steps to clone the repository and run the " -"converter:" +"We use an OBJ file of a cube to demonstrate the usage of the mesh " +"converter. The following shows the steps to clone the repository and run " +"the converter:" msgstr "我们使用一个立方体的 OBJ 文件来演示网格转换器的用法。以下显示了克隆存储库并运行转换器的步骤: " #: ../../source/how-to/import_new_asset.rst:216 @@ -413,8 +423,8 @@ msgid "" "Similar to the URDF and MJCF converter, executing the above script will " "create two USD files inside the " "``source/extensions/omni.isaac.lab_assets/data/Props/CubeMultiColor/`` " -"directory. Additionally, if you press play on the opened window, you should " -"see the asset fall down under the influence of gravity." +"directory. Additionally, if you press play on the opened window, you " +"should see the asset fall down under the influence of gravity." msgstr "" "类似于URDF和MJCF转换器,执行上述脚本将在 " "``source/extensions/omni.isaac.lab_assets/data/Props/CubeMultiColor/`` " @@ -422,17 +432,17 @@ msgstr "" #: ../../source/how-to/import_new_asset.rst:223 msgid "" -"If you do not set the ``--mass`` flag, then no rigid body properties will be" -" added to the asset. It will be imported as a static asset." +"If you do not set the ``--mass`` flag, then no rigid body properties will" +" be added to the asset. It will be imported as a static asset." msgstr "如果您不设置 ``--mass`` 标志,则不会向资产添加刚体属性。它将作为静态资产导入。" #: ../../source/how-to/import_new_asset.rst:225 msgid "" "If you also do not set the ``--collision-approximation`` flag, then the " -"asset will not have any collider properties as well and will be imported as " -"a visual asset." +"asset will not have any collider properties as well and will be imported " +"as a visual asset." msgstr "如果您还未设置 ``--collision-approximation`` 标志,则资产也不会有任何碰撞器属性,并且将作为视觉资产导入。" -#: ../../source/how-to/import_new_asset.rst:-1 -msgid "result of convert_mesh.py" -msgstr "convert_mjcf.py 的结果" +#~ msgid "result of convert_mesh.py" +#~ msgstr "convert_mjcf.py 的结果" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/how-to/multi_asset_spawning.po b/docs/locale/zh_CN/LC_MESSAGES/source/how-to/multi_asset_spawning.po index 6a9a145193..4be95a23bc 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/how-to/multi_asset_spawning.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/how-to/multi_asset_spawning.po @@ -6,16 +6,16 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.2.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-15 22:28+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/how-to/multi_asset_spawning.rst:3 msgid "Spawning Multiple Assets" @@ -24,15 +24,16 @@ msgstr "生成多个资产" #: ../../source/how-to/multi_asset_spawning.rst:7 msgid "" "Typical spawning configurations (introduced in the :ref:`tutorial-spawn-" -"prims` tutorial) copy the same asset (or USD primitive) across the different" -" resolved prim paths from the expressions. For instance, if the user " -"specifies to spawn the asset at \"/World/Table\\_.*/Object\", the same asset" -" is created at the paths \"/World/Table_0/Object\", " +"prims` tutorial) copy the same asset (or USD primitive) across the " +"different resolved prim paths from the expressions. For instance, if the " +"user specifies to spawn the asset at \"/World/Table\\_.*/Object\", the " +"same asset is created at the paths \"/World/Table_0/Object\", " "\"/World/Table_1/Object\" and so on." msgstr "" "典型的生成配置(在 :ref:`tutorial-spawn-prims` 教程中介绍)复制相同的资产(或 USD " -"基元)到不同的已解析的基元路径表达式中。例如,如果用户指定要在 \"/World/Table\\_.*/Object\" 生成资产,则相同的资产将在路径" -" \"/World/Table_0/Object\" 、 \"/World/Table_1/Object\" 等处创建。" +"基元)到不同的已解析的基元路径表达式中。例如,如果用户指定要在 \"/World/Table\\_.*/Object\" " +"生成资产,则相同的资产将在路径 \"/World/Table_0/Object\" 、 \"/World/Table_1/Object\" " +"等处创建。" #: ../../source/how-to/multi_asset_spawning.rst:12 msgid "However, we also support multi-asset spawning with two mechanisms:" @@ -47,8 +48,9 @@ msgstr "刚性物体集合。这允许用户在每个环境中生成多个刚性 #: ../../source/how-to/multi_asset_spawning.rst:17 msgid "" -"Spawning different assets under the same prim path. This allows the user to " -"create diverse simulations, where each environment has a different asset." +"Spawning different assets under the same prim path. This allows the user " +"to create diverse simulations, where each environment has a different " +"asset." msgstr "在同一 prim 路径下生成不同的资产。这允许用户创建各种不同的模拟,其中每个环境都有不同的资产。" #: ../../source/how-to/multi_asset_spawning.rst:20 @@ -57,10 +59,9 @@ msgstr "本指南描述了如何使用这两种机制。" #: ../../source/how-to/multi_asset_spawning.rst:22 msgid "" -"The sample script ``multi_asset.py`` is used as a reference, located in the " -"``IsaacLab/source/standalone/demos`` directory." -msgstr "" -"示例脚本 ``multi_asset.py`` 用作参考,位于 ``IsaacLab/source/standalone/demos`` 目录中。" +"The sample script ``multi_asset.py`` is used as a reference, located in " +"the ``IsaacLab/source/standalone/demos`` directory." +msgstr "示例脚本 ``multi_asset.py`` 用作参考,位于 ``IsaacLab/source/standalone/demos`` 目录中。" #: ../../source/how-to/multi_asset_spawning.rst msgid "Code for multi_asset.py" @@ -76,7 +77,8 @@ msgstr "一个包含圆锥体、立方体和球体的刚性物体集合" #: ../../source/how-to/multi_asset_spawning.rst:36 msgid "" -"a rigid object that is either a cone, a cube, or a sphere, chosen at random" +"a rigid object that is either a cone, a cube, or a sphere, chosen at " +"random" msgstr "一个随机选择为圆锥体、立方体或球体的刚性物体" #: ../../source/how-to/multi_asset_spawning.rst:37 @@ -86,8 +88,9 @@ msgid "" msgstr "一个随机选择为 ANYmal-C 或 ANYmal-D 机器人的关节" #: ../../source/how-to/multi_asset_spawning.rst:-1 -msgid "result of multi_asset.py" -msgstr "multi_asset.py 的结果" +#, fuzzy +msgid "multi_asset.py 的结果" +msgstr "multi_asset.py 的代码" #: ../../source/how-to/multi_asset_spawning.rst:45 msgid "Rigid Object Collections" @@ -96,10 +99,10 @@ msgstr "刚性物体集合" #: ../../source/how-to/multi_asset_spawning.rst:47 msgid "" "Multiple rigid objects can be spawned in each environment and " -"accessed/modified with a unified ``(env_ids, obj_ids)`` API. While the user " -"could also create multiple rigid objects by spawning them individually, the " -"API is more user-friendly and more efficient since it uses a single physics " -"view under the hood to handle all the objects." +"accessed/modified with a unified ``(env_ids, obj_ids)`` API. While the " +"user could also create multiple rigid objects by spawning them " +"individually, the API is more user-friendly and more efficient since it " +"uses a single physics view under the hood to handle all the objects." msgstr "" "可以在每个环境中生成多个刚性物体,并使用统一的 ``(env_ids, obj_ids)`` API " "进行访问/修改。虽然用户也可以通过分别生成它们来创建多个刚性物体,但该API更加用户友好且高效,因为它在底层使用单个物理视图来处理所有物体。" @@ -109,8 +112,8 @@ msgid "" "The configuration :class:`~assets.RigidObjectCollectionCfg` is used to " "create the collection. It's attribute " ":attr:`~assets.RigidObjectCollectionCfg.rigid_objects` is a dictionary " -"containing :class:`~assets.RigidObjectCfg` objects. The keys serve as unique" -" identifiers for each rigid object in the collection." +"containing :class:`~assets.RigidObjectCfg` objects. The keys serve as " +"unique identifiers for each rigid object in the collection." msgstr "" "配置 :class:`~assets.RigidObjectCollectionCfg` 用于创建集合。它的属性 " ":attr:`~assets.RigidObjectCollectionCfg.rigid_objects` 是包含 " @@ -122,8 +125,8 @@ msgstr "在同一 prim 路径下生成不同的资产" #: ../../source/how-to/multi_asset_spawning.rst:64 msgid "" -"It is possible to spawn different assets and USDs under the same prim path " -"in each environment using the spawners " +"It is possible to spawn different assets and USDs under the same prim " +"path in each environment using the spawners " ":class:`~sim.spawners.wrappers.MultiAssetSpawnerCfg` and " ":class:`~sim.spawners.wrappers.MultiUsdFileCfg`:" msgstr "" @@ -140,15 +143,15 @@ msgstr "" #: ../../source/how-to/multi_asset_spawning.rst:75 msgid "" -"This function allows you to define a list of different assets that can be " -"spawned as rigid objects. When " -":attr:`~sim.spawners.wrappers.MultiAssetSpawnerCfg.random_choice` is set to " -"True, one asset from the list is randomly selected and spawned at the " +"This function allows you to define a list of different assets that can be" +" spawned as rigid objects. When " +":attr:`~sim.spawners.wrappers.MultiAssetSpawnerCfg.random_choice` is set " +"to True, one asset from the list is randomly selected and spawned at the " "specified prim path." msgstr "" "此函数允许您定义可以作为刚性对象生成的不同资产的列表。当 " -":attr:`~sim.spawners.wrappers.MultiAssetSpawnerCfg.random_choice` 设置为 True " -"时,将从列表中随机选择一个资产,并在指定的基元路径上生成它。" +":attr:`~sim.spawners.wrappers.MultiAssetSpawnerCfg.random_choice` 设置为 " +"True 时,将从列表中随机选择一个资产,并在指定的基元路径上生成它。" #: ../../source/how-to/multi_asset_spawning.rst:79 msgid "" @@ -161,8 +164,8 @@ msgstr "" #: ../../source/how-to/multi_asset_spawning.rst:87 msgid "" -"Similar to before, this configuration allows the selection of different USD " -"files representing articulated assets." +"Similar to before, this configuration allows the selection of different " +"USD files representing articulated assets." msgstr "与之前类似,此配置允许选择代表关节资产的不同 USD 文件。" #: ../../source/how-to/multi_asset_spawning.rst:91 @@ -175,15 +178,14 @@ msgstr "相似的资产结构" #: ../../source/how-to/multi_asset_spawning.rst:96 msgid "" -"While spawning and handling multiple assets using the same physics interface" -" (the rigid object or articulation classes), it is essential to have the " -"assets at all the prim locations follow a similar structure. In case of an " -"articulation, this means that they all must have the same number of links " -"and joints, the same number of collision bodies and the same names for them." -" If that is not the case, the physics parsing of the prims can get affected " -"and fail." -msgstr "" -"在使用相同的物理接口(刚性对象或关节类)生成和处理多个资产时,必须确保所有基元路径上的资产遵循相似的结构。对于关节来说,这意味着它们都必须具有相同数量的链接和关节、相同数量的碰撞体,以及相同的名称。如果不是这种情况,基元的物理解析可能会受到影响并且失败。" +"While spawning and handling multiple assets using the same physics " +"interface (the rigid object or articulation classes), it is essential to " +"have the assets at all the prim locations follow a similar structure. In " +"case of an articulation, this means that they all must have the same " +"number of links and joints, the same number of collision bodies and the " +"same names for them. If that is not the case, the physics parsing of the " +"prims can get affected and fail." +msgstr "在使用相同的物理接口(刚性对象或关节类)生成和处理多个资产时,必须确保所有基元路径上的资产遵循相似的结构。对于关节来说,这意味着它们都必须具有相同数量的链接和关节、相同数量的碰撞体,以及相同的名称。如果不是这种情况,基元的物理解析可能会受到影响并且失败。" #: ../../source/how-to/multi_asset_spawning.rst:101 msgid "" @@ -198,19 +200,19 @@ msgstr "在交互式场景中禁用物理复制" #: ../../source/how-to/multi_asset_spawning.rst:107 msgid "" -"By default, the flag :attr:`scene.InteractiveScene.replicate_physics` is set" -" to True. This flag informs the physics engine that the simulation " -"environments are copies of one another so it just needs to parse the first " -"environment to understand the entire simulation scene. This helps speed up " -"the simulation scene parsing." +"By default, the flag :attr:`scene.InteractiveScene.replicate_physics` is " +"set to True. This flag informs the physics engine that the simulation " +"environments are copies of one another so it just needs to parse the " +"first environment to understand the entire simulation scene. This helps " +"speed up the simulation scene parsing." msgstr "" "默认情况下,标志 :attr:`scene.InteractiveScene.replicate_physics` 被设置为 " "True。此标志告知物理引擎模拟环境是彼此的副本,因此只需解析第一个环境即可了解整个模拟场景。这有助于加快模拟场景的解析速度。" #: ../../source/how-to/multi_asset_spawning.rst:111 msgid "" -"However, in the case of spawning different assets in different environments," -" this assumption does not hold anymore. Hence the flag " +"However, in the case of spawning different assets in different " +"environments, this assumption does not hold anymore. Hence the flag " ":attr:`scene.InteractiveScene.replicate_physics` must be disabled." msgstr "" "但是,在不同环境中生成不同的资产的情况下,这一假设不再成立。因此,必须禁用标志 " @@ -222,13 +224,17 @@ msgstr "代码执行" #: ../../source/how-to/multi_asset_spawning.rst:122 msgid "" -"To execute the script with multiple environments and randomized assets, use " -"the following command:" +"To execute the script with multiple environments and randomized assets, " +"use the following command:" msgstr "要执行带有多个环境和随机资产的脚本,请使用以下命令:" #: ../../source/how-to/multi_asset_spawning.rst:128 msgid "" -"This command runs the simulation with 2048 environments, each with randomly " -"selected assets. To stop the simulation, you can close the window, or press " -"``Ctrl+C`` in the terminal." +"This command runs the simulation with 2048 environments, each with " +"randomly selected assets. To stop the simulation, you can close the " +"window, or press ``Ctrl+C`` in the terminal." msgstr "此命令运行具有 2048 个环境的模拟场景,每个环境都具有随机选择的资产。要停止模拟,可以关闭窗口或在终端中按下 ``Ctrl+C`` 。" + +#~ msgid "result of multi_asset.py" +#~ msgstr "multi_asset.py 的结果" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/overview/core-concepts/actuators.po b/docs/locale/zh_CN/LC_MESSAGES/source/overview/core-concepts/actuators.po index cd2bf6547d..d8c5dd9473 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/overview/core-concepts/actuators.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/overview/core-concepts/actuators.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-18 10:56+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.16.0\n" #: ../../source/overview/core-concepts/actuators.rst:5 @@ -23,28 +23,26 @@ msgstr "执行器" #: ../../source/overview/core-concepts/actuators.rst:7 msgid "" -"An articulated system comprises of actuated joints, also called the degrees " -"of freedom (DOF). In a physical system, the actuation typically happens " -"either through active components, such as electric or hydraulic motors, or " -"passive components, such as springs. These components can introduce certain " -"non-linear characteristics which includes delays or maximum producible " -"velocity or torque." -msgstr "" -"一个关节系统由驱动关节组成,也称为自由度(DOF)。在物理系统中,驱动通常通过主动组件进行,例如电动或液压马达,或通过被动组件,例如弹簧。这些组件可能会引入某些非线性特性,包括延迟或最大可产生的速度或扭矩。" +"An articulated system comprises of actuated joints, also called the " +"degrees of freedom (DOF). In a physical system, the actuation typically " +"happens either through active components, such as electric or hydraulic " +"motors, or passive components, such as springs. These components can " +"introduce certain non-linear characteristics which includes delays or " +"maximum producible velocity or torque." +msgstr "一个关节系统由驱动关节组成,也称为自由度(DOF)。在物理系统中,驱动通常通过主动组件进行,例如电动或液压马达,或通过被动组件,例如弹簧。这些组件可能会引入某些非线性特性,包括延迟或最大可产生的速度或扭矩。" #: ../../source/overview/core-concepts/actuators.rst:12 msgid "" "In simulation, the joints are either position, velocity, or torque-" -"controlled. For position and velocity control, the physics engine internally" -" implements a spring-damp (PD) controller which computes the torques applied" -" on the actuated joints. In torque-control, the commands are set directly as" -" the joint efforts. While this mimics an ideal behavior of the joint " -"mechanism, it does not truly model how the drives work in the physical " -"world. Thus, we provide a mechanism to inject external models to compute the" -" joint commands that would represent the physical robot's behavior." -msgstr "" -"在仿真中,关节可以是位置控制、速度控制或扭矩控制。对于位置和速度控制,物理引擎内部实现了一个弹簧-" -"阻尼(PD)控制器,用于计算作用在执行关节上的扭矩。在扭矩控制中,命令直接设置为关节力。虽然这模拟了关节机制的理想行为,但并不能真实地模拟驱动器在现实世界中的工作方式。因此,我们提供了一个机制来注入外部模型,以计算关节命令,以代表物理机器人的行为。" +"controlled. For position and velocity control, the physics engine " +"internally implements a spring-damp (PD) controller which computes the " +"torques applied on the actuated joints. In torque-control, the commands " +"are set directly as the joint efforts. While this mimics an ideal " +"behavior of the joint mechanism, it does not truly model how the drives " +"work in the physical world. Thus, we provide a mechanism to inject " +"external models to compute the joint commands that would represent the " +"physical robot's behavior." +msgstr "在仿真中,关节可以是位置控制、速度控制或扭矩控制。对于位置和速度控制,物理引擎内部实现了一个弹簧-阻尼(PD)控制器,用于计算作用在执行关节上的扭矩。在扭矩控制中,命令直接设置为关节力。虽然这模拟了关节机制的理想行为,但并不能真实地模拟驱动器在现实世界中的工作方式。因此,我们提供了一个机制来注入外部模型,以计算关节命令,以代表物理机器人的行为。" #: ../../source/overview/core-concepts/actuators.rst:20 msgid "Actuator models" @@ -61,50 +59,52 @@ msgid "" msgstr "**隐式**: 对应于理想的仿真机制(由物理引擎提供)。" #: ../../source/overview/core-concepts/actuators.rst:25 -msgid "" -"**explicit**: corresponds to external drive models (implemented by user)." -msgstr "**明确**: 对应于外部驱动器模型(由用户实现)。" +msgid "**explicit**: corresponds to external drive models (implemented by user)." +msgstr "**显式**: 对应于外部驱动器模型(由用户实现)。" #: ../../source/overview/core-concepts/actuators.rst:27 msgid "" -"The explicit actuator model performs two steps: 1) it computes the desired " -"joint torques for tracking the input commands, and 2) it clips the desired " -"torques based on the motor capabilities. The clipped torques are the desired" -" actuation efforts that are set into the simulation." -msgstr "" -"显式执行器模型执行两个步骤: 1)计算用于跟踪输入命令的期望关节力矩,2)根据电机能力对期望力矩进行修剪。修剪后的力矩是设置到模拟中的期望执行力。" +"The explicit actuator model performs two steps: 1) it computes the " +"desired joint torques for tracking the input commands, and 2) it clips " +"the desired torques based on the motor capabilities. The clipped torques " +"are the desired actuation efforts that are set into the simulation." +msgstr "显式执行器模型执行两个步骤: 1)计算用于跟踪输入命令的期望关节力矩,2)根据电机能力对期望力矩进行裁减。裁减后的力矩是设置到模拟中的期望执行力。" #: ../../source/overview/core-concepts/actuators.rst:31 msgid "" "As an example of an ideal explicit actuator model, we provide the " -":class:`omni.isaac.lab.actuators.IdealPDActuator` class, which implements a " -"PD controller with feed-forward effort, and simple clipping based on the " -"configured maximum effort:" +":class:`omni.isaac.lab.actuators.IdealPDActuator` class, which implements" +" a PD controller with feed-forward effort, and simple clipping based on " +"the configured maximum effort:" msgstr "" "作为理想显式执行器模型的示例,我们提供 :class:`omni.isaac.lab.actuators.IdealPDActuator` " "类,它实现了具有前馈力的 PD 控制器,并根据配置的最大力进行简单剪裁。" #: ../../source/overview/core-concepts/actuators.rst:35 msgid "" -"\\tau_{j, computed} & = k_p * (q - q_{des}) + k_d * (\\dot{q} - \\dot{q}_{des}) + \\tau_{ff} \\\\\n" -"\\tau_{j, applied} & = clip(\\tau_{computed}, -\\tau_{j, max}, \\tau_{j, max})" +"\\tau_{j, computed} & = k_p * (q - q_{des}) + k_d * (\\dot{q} - " +"\\dot{q}_{des}) + \\tau_{ff} \\\\\n" +"\\tau_{j, applied} & = clip(\\tau_{computed}, -\\tau_{j, max}, \\tau_{j, " +"max})" msgstr "" -"\\tau_{j, computed} & = k_p * (q - q_{des}) + k_d * (\\dot{q} - \\dot{q}_{des}) + \\tau_{ff} \\\\\n" -"\\tau_{j, applied} & = clip(\\tau_{computed}, -\\tau_{j, max}, \\tau_{j, max})" +"\\tau_{j, computed} & = k_p * (q - q_{des}) + k_d * (\\dot{q} - " +"\\dot{q}_{des}) + \\tau_{ff} \\\\\n" +"\\tau_{j, applied} & = clip(\\tau_{computed}, -\\tau_{j, max}, \\tau_{j, " +"max})" #: ../../source/overview/core-concepts/actuators.rst:41 msgid "" -"where, :math:`k_p` and :math:`k_d` are joint stiffness and damping gains, " -":math:`q` and :math:`\\dot{q}` are the current joint positions and " -"velocities, :math:`q_{des}`, :math:`\\dot{q}_{des}` and :math:`\\tau_{ff}` " -"are the desired joint positions, velocities and torques commands. The " -"parameters :math:`\\gamma` and :math:`\\tau_{motor, max}` are the gear box " -"ratio and the maximum motor effort possible." +"where, :math:`k_p` and :math:`k_d` are joint stiffness and damping gains," +" :math:`q` and :math:`\\dot{q}` are the current joint positions and " +"velocities, :math:`q_{des}`, :math:`\\dot{q}_{des}` and " +":math:`\\tau_{ff}` are the desired joint positions, velocities and " +"torques commands. The parameters :math:`\\gamma` and :math:`\\tau_{motor," +" max}` are the gear box ratio and the maximum motor effort possible." msgstr "" -"在这里, :math:`k_p` 和 :math:`k_d` 是关节刚度和阻尼增益, :math:`q` 和 :math:`\\dot{q}` " -"是当前关节位置和速度, :math:`q_{des}` , :math:`\\dot{q}_{des}` 和 :math:`\\tau_{ff}` " -"是期望的关节位置、速度和力矩指令。参数 :math:`\\gamma` 和 :math:`\\tau_{motor, max}` " -"是齿轮箱比和最大电机力矩。" +"其中, :math:`k_p` 和 :math:`k_d` 是关节刚度和阻尼增益, :math:`q` 和 :math:`\\dot{q}` " +"是当前关节位置和速度, :math:`q_{des}` , :math:`\\dot{q}_{des}` 和 :math:`\\tau_{ff}`" +" 是期望的关节位置、速度和力矩指令。参数 :math:`\\gamma` 和 :math:`\\tau_{motor, max}` " +"是齿轮箱传动比和最大电机力矩。" #: ../../source/overview/core-concepts/actuators.rst:47 msgid "Actuator groups" @@ -114,44 +114,47 @@ msgstr "执行器组" msgid "" "The actuator models by themselves are computational blocks that take as " "inputs the desired joint commands and output the joint commands to apply " -"into the simulator. They do not contain any knowledge about the joints they " -"are acting on themselves. These are handled by the " -":class:`omni.isaac.lab.assets.Articulation` class, which wraps around the " -"physics engine's articulation class." +"into the simulator. They do not contain any knowledge about the joints " +"they are acting on themselves. These are handled by the " +":class:`omni.isaac.lab.assets.Articulation` class, which wraps around the" +" physics engine's articulation class." msgstr "" "执行器模型本身是计算块,其输入为期望的关节命令,并输出应用于模拟器的关节命令。它们不包含任何关于它们自身作用的关节的知识。这些由 " ":class:`omni.isaac.lab.assets.Articulation` 类处理,该类包装了物理引擎的关节类。" #: ../../source/overview/core-concepts/actuators.rst:54 msgid "" -"Actuator are collected as a set of actuated joints on an articulation that " -"are using the same actuator model. For instance, the quadruped, ANYmal-C, " -"uses series elastic actuator, ANYdrive 3.0, for all its joints. This " -"grouping configures the actuator model for those joints, translates the " -"input commands to the joint level commands, and returns the articulation " -"action to set into the simulator. Having an arm with a different actuator " -"model, such as a DC motor, would require configuring a different actuator " -"group." +"Actuator are collected as a set of actuated joints on an articulation " +"that are using the same actuator model. For instance, the quadruped, " +"ANYmal-C, uses series elastic actuator, ANYdrive 3.0, for all its joints." +" This grouping configures the actuator model for those joints, translates" +" the input commands to the joint level commands, and returns the " +"articulation action to set into the simulator. Having an arm with a " +"different actuator model, such as a DC motor, would require configuring a" +" different actuator group." msgstr "" -"执行器被收集为一组在关节上被激活的执行器,这些关节使用相同的执行器模型。例如,四足动物机器人ANYmal-C 使用串联弹性执行器ANYdrive 3.0" -" " -"作为所有关节的执行器。这种分组配置了这些关节的执行器模型,将输入命令转换为关节级命令,并将关节动作返回到模拟器中。如果有一只手臂使用不同的执行器模型,比如直流电机,就需要配置不同的执行器组。" +"执行器被聚合为一组在关节上被激活的执行器,这些关节使用相同的执行器模型。例如,四足动物机器人ANYmal-C使用串联弹性执行器ANYdrive " +"3.0作为所有关节的执行器。此分组配置了这些关节的执行器模型,将输入命令转换为关节级别的命令,并将关节动作返回到模拟器中。如果有一只手臂使用不同的执行器模型,比如直流电机,就需要配置不同的执行器组。" #: ../../source/overview/core-concepts/actuators.rst:60 msgid "" "The following figure shows the actuator groups for a legged mobile " "manipulator:" -msgstr "以下图显示了一个腿式移动机械手的执行器组。" +msgstr "以下图显示了一个腿式移动机械臂的执行器组。" #: ../../source/overview/core-concepts/actuators.rst:-1 -msgid "Actuator models for a legged mobile manipulator" -msgstr "腿足移动操控器的驱动器模型" +msgid "腿足移动操控器的驱动器模型" +msgstr "" #: ../../source/overview/core-concepts/actuators.rst:76 msgid "" -"We provide implementations for various explicit actuator models. These are " -"detailed in `omni.isaac.lab.actuators " +"We provide implementations for various explicit actuator models. These " +"are detailed in `omni.isaac.lab.actuators " "<../../api/lab/omni.isaac.lab.actuators.html>`_ sub-package." msgstr "" "我们为各种显式执行器模型提供实现。这些详细信息可在 `omni.isaac.lab.actuators " "<../../api/lab/omni.isaac.lab.actuators.html>`_ 子包中找到。" + +#~ msgid "Actuator models for a legged mobile manipulator" +#~ msgstr "腿式移动操控器的执行器模型" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/overview/core-concepts/motion_generators.po b/docs/locale/zh_CN/LC_MESSAGES/source/overview/core-concepts/motion_generators.po new file mode 100644 index 0000000000..101b302072 --- /dev/null +++ b/docs/locale/zh_CN/LC_MESSAGES/source/overview/core-concepts/motion_generators.po @@ -0,0 +1,402 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022-2024, The Isaac Lab Project Developers. +# This file is distributed under the same license as the Isaac Lab package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Isaac Lab 1.3.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-11-22 09:07+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Ziqi Fan \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../source/overview/core-concepts/motion_generators.rst:2 +msgid "Motion Generators" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:4 +msgid "" +"Robotic tasks are typically defined in task-space in terms of desired " +"end-effector trajectory, while control actions are executed in the joint-" +"space. This naturally leads to *joint-space* and *task-space* " +"(operational-space) control methods. However, successful execution of " +"interaction tasks using motion control often requires an accurate model " +"of both the robot manipulator as well as its environment. While a " +"sufficiently precise manipulator's model might be known, detailed " +"description of environment is hard to obtain " +":cite:p:`siciliano2009force`. Planning errors caused by this mismatch can" +" be overcome by introducing a *compliant* behavior during interaction." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:15 +msgid "" +"While compliance is achievable passively through robot's structure (such " +"as elastic actuators, soft robot arms), we are more interested in " +"controller designs that focus on active interaction control. These are " +"broadly categorized into:" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:20 +msgid "" +"**impedance control:** indirect control method where motion deviations " +"caused during interaction relates to contact force as a mass-spring-" +"damper system with adjustable parameters (stiffness and damping). A " +"specialized case of this is *stiffness* control where only the static " +"relationship between position error and contact force is considered." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:26 +msgid "" +"**hybrid force/motion control:** active control method which controls " +"motion and force along unconstrained and constrained task directions " +"respectively. Among the various schemes for hybrid motion control, the " +"provided implementation is based on inverse dynamics control in the " +"operational space :cite:p:`khatib1987osc`." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:33 +msgid "" +"To provide an even broader set of motion generators, we welcome " +"contributions from the community. If you are interested, please open an " +"issue to start a discussion!" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:38 +msgid "Joint-space controllers" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:41 +msgid "Torque control" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:43 +#: ../../source/overview/core-concepts/motion_generators.rst:59 +#: ../../source/overview/core-concepts/motion_generators.rst:82 +msgid "Action dimensions: ``\"n\"`` (number of joints)" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:45 +msgid "" +"In torque control mode, the input actions are directly set as feed-" +"forward joint torque commands, i.e. at every time-step," +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:48 +msgid "\\tau = \\tau_{des}" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:52 +msgid "" +"Thus, this control mode is achievable by setting the command type for the" +" actuator group, via the :class:`ActuatorControlCfg` class, to " +"``\"t_abs\"``." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:57 +msgid "Velocity control" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:61 +msgid "" +"In velocity control mode, a proportional control law is required to " +"reduce the error between the current and desired joint velocities. Based " +"on input actions, the joint torques commands are computed as:" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:64 +msgid "\\tau = k_d (\\dot{q}_{des} - \\dot{q})" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:68 +msgid "where :math:`k_d` are the gains parsed from configuration." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:70 +msgid "" +"This control mode is achievable by setting the command type for the " +"actuator group, via the :class:`ActuatorControlCfg` class, to " +"``\"v_abs\"`` or ``\"v_rel\"``." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:75 +msgid "" +"While performing velocity control, in many cases, gravity compensation is" +" required to ensure better tracking of the command. In this case, we " +"suggest disabling gravity for the links in the articulation in " +"simulation." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:80 +msgid "Position control with fixed impedance" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:84 +msgid "" +"In position control mode, a proportional-damping (PD) control law is " +"employed to track the desired joint positions and ensuring the " +"articulation remains still at the desired location (i.e., desired joint " +"velocities are zero). Based on the input actions, the joint torque " +"commands are computed as:" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:88 +msgid "\\tau = k_p (q_{des} - q) - k_d \\dot{q}" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:92 +msgid "where :math:`k_p` and :math:`k_d` are the gains parsed from configuration." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:94 +msgid "" +"In its simplest above form, the control mode is achievable by setting " +"the command type for the actuator group, via the " +":class:`ActuatorControlCfg` class, to ``\"p_abs\"`` or ``\"p_rel\"``." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:97 +msgid "" +"However, a more complete formulation which considers the dynamics of the " +"articulation would be:" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:99 +msgid "\\tau = M \\left( k_p (q_{des} - q) - k_d \\dot{q} \\right) + g" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:103 +msgid "" +"where :math:`M` is the joint-space inertia matrix of size :math:`n " +"\\times n`, and :math:`g` is the joint-space gravity vector. This " +"implementation is available through the :class:`JointImpedanceController`" +" class by setting the impedance mode to ``\"fixed\"``. The gains " +":math:`k_p` are parsed from the input configuration and :math:`k_d` are " +"computed while considering the system as a decoupled point-mass " +"oscillator, i.e.," +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:108 +msgid "k_d = 2 \\sqrt{k_p} \\times D" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:112 +msgid "" +"where :math:`D` is the damping ratio of the system. Critical damping is " +"achieved for :math:`D = 1`, overcritical damping for :math:`D > 1` and " +"undercritical damping for :math:`D < 1`." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:115 +msgid "" +"Additionally, it is possible to disable the inertial or gravity " +"compensation in the controller by setting the flags " +":attr:`inertial_compensation` and :attr:`gravity_compensation` in the " +"configuration to :obj:`False`, respectively." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:120 +msgid "Position control with variable stiffness" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:122 +msgid "Action dimensions: ``\"2n\"`` (number of joints)" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:124 +msgid "" +"In stiffness control, the same formulation as above is employed, however," +" the gains :math:`k_p` are part of the input commands. This " +"implementation is available through the :class:`JointImpedanceController`" +" class by setting the impedance mode to ``\"variable_kp\"``." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:129 +msgid "Position control with variable impedance" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:131 +msgid "Action dimensions: ``\"3n\"`` (number of joints)" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:133 +msgid "" +"In impedance control, the same formulation as above is employed, however," +" both :math:`k_p` and :math:`k_d` are part of the input commands. This " +"implementation is available through the :class:`JointImpedanceController`" +" class by setting the impedance mode to ``\"variable\"``." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:138 +msgid "Task-space controllers" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:141 +msgid "Differential inverse kinematics (IK)" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:143 +msgid "" +"Action dimensions: ``\"3\"`` (relative/absolute position), ``\"6\"`` " +"(relative pose), or ``\"7\"`` (absolute pose)" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:145 +msgid "" +"Inverse kinematics converts the task-space tracking error to joint-space " +"error. In its most typical implementation, the pose error in the task-" +"sace, :math:`\\Delta \\chi_e = (\\Delta p_e, \\Delta \\phi_e)`, is " +"computed as the cartesian distance between the desired and current task-" +"space positions, and the shortest distance in :math:`\\mathbb{SO}(3)` " +"between the desired and current task-space orientations." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:150 +msgid "" +"Using the geometric Jacobian :math:`J_{eO} \\in \\mathbb{R}^{6 \\times " +"n}`, that relates task-space velocity to joint-space velocities, we " +"design the control law to obtain the desired joint positions as:" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:153 +msgid "q_{des} = q + \\eta J_{eO}^{-} \\Delta \\chi_e" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:157 +msgid "" +"where :math:`\\eta` is a scaling parameter and :math:`J_{eO}^{-}` is the " +"pseudo-inverse of the Jacobian." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:159 +msgid "" +"It is possible to compute the pseudo-inverse of the Jacobian using " +"different formulations:" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:161 +msgid "Moore-Penrose pseduo-inverse: :math:`A^{-} = A^T(AA^T)^{-1}`." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:162 +msgid "" +"Levenberg-Marquardt pseduo-inverse (damped least-squares): :math:`A^{-} =" +" A^T (AA^T + \\lambda \\mathbb{I})^{-1}`." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:163 +msgid "Tanspose pseudo-inverse: :math:`A^{-} = A^T`." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:164 +msgid "" +"Adaptive singular-vale decomposition (SVD) pseduo-inverse from " +":cite:t:`buss2004ik`." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:166 +msgid "" +"These implementations are available through the " +":class:`DifferentialInverseKinematics` class." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:169 +msgid "Impedance controller" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:172 +msgid "" +"It uses task-space pose error and Jacobian to compute join torques " +"through mass-spring-damper system with a) fixed stiffness, b) variable " +"stiffness (stiffness control), and c) variable stiffness and damping " +"(impedance control)." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:177 +msgid "Operational-space controller" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:179 +msgid "" +"Similar to task-space impedance control but uses the Equation of Motion " +"(EoM) for computing the task-space force" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:184 +msgid "Closed-loop proportional force controller" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:186 +msgid "" +"It uses a proportional term to track the desired wrench command with " +"respect to current wrench at the end-effector." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:191 +msgid "Hybrid force-motion controller" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:193 +msgid "" +"It combines closed-loop force control and operational-space motion " +"control to compute the desired wrench at the end-effector. It uses " +"selection matrices that define the unconstrainted and constrained task " +"directions." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:200 +msgid "Reactive planners" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:202 +msgid "" +"Typical task-space controllers do not account for motion constraints such" +" as joint limits, self-collision and environment collision. Instead they " +"rely on high-level planners (such as RRT) to handle these non-Euclidean " +"constraints and give joint/task-space way-points to the controller. " +"However, these methods are often conservative and have undesirable " +"deceleration when close to an object. More recently, different approaches" +" combine the constraints directly into an optimization problem, thereby " +"providing a holistic solution for motion generation and control." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:212 +msgid "We currently support the following planners:" +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:214 +msgid "" +"**RMPFlow (lula):** An acceleration-based policy that composes various " +"Reimannian Motion Policies (RMPs) to solve a hierarchy of tasks " +":cite:p:`cheng2021rmpflow`. It is capable of performing dynamic collision" +" avoidance while navigating the end-effector to a target." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:218 +msgid "" +"**MPC (OCS2):** A receding horizon control policy based on sequential " +"linear-quadratic (SLQ) programming. It formulates various constraints " +"into a single optimization problem via soft-penalties and uses automatic " +"differentiation to compute derivatives of the system dynamics, " +"constraints and costs. Currently, we support the MPC formulation for end-" +"effector trajectory tracking in fixed-arm and mobile manipulators. The " +"formulation considers a kinematic system model with joint limits and " +"self-collision avoidance :cite:p:`mittal2021articulated`." +msgstr "" + +#: ../../source/overview/core-concepts/motion_generators.rst:227 +msgid "" +"We wrap around the python bindings for these reactive planners to perform" +" a batched computing of robot actions. However, their current " +"implementations are CPU-based which may cause certain slowdown for " +"learning." +msgstr "" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/overview/developer-guide/vs_code.po b/docs/locale/zh_CN/LC_MESSAGES/source/overview/developer-guide/vs_code.po index 483016174d..7ffa69a5d0 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/overview/developer-guide/vs_code.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/overview/developer-guide/vs_code.po @@ -6,16 +6,16 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-27 20:01+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/overview/developer-guide/vs_code.rst:2 msgid "Setting up Visual Studio Code" @@ -23,10 +23,10 @@ msgstr "在使用Visual Studio Code前的设置" #: ../../source/overview/developer-guide/vs_code.rst:4 msgid "" -"The following is only applicable for Isaac Sim installed via the Omniverse " -"Launcher. The Isaac Lab repository includes the VSCode settings to easily " -"allow setting up your development environment. These are included in the " -"``.vscode`` directory and include the following files:" +"The following is only applicable for Isaac Sim installed via the " +"Omniverse Launcher. The Isaac Lab repository includes the VSCode settings" +" to easily allow setting up your development environment. These are " +"included in the ``.vscode`` directory and include the following files:" msgstr "" "以下仅适用于通过 Omniverse Launcher 安装的 Isaac Sim。Isaac Lab 仓库包含 VSCode " "设置,以便轻松设置您的开发环境。这些设置包含在 ``.vscode`` 目录中,并包括以下文件: " @@ -41,49 +41,50 @@ msgstr "打开 ``IsaacLab`` 目录在Visual Studio Code IDE。" #: ../../source/overview/developer-guide/vs_code.rst:25 msgid "" -"Run VSCode `Tasks `__, by " -"pressing ``Ctrl+Shift+P``, selecting ``Tasks: Run Task`` and running the " -"``setup_python_env`` in the drop down menu." +"Run VSCode `Tasks `__, " +"by pressing ``Ctrl+Shift+P``, selecting ``Tasks: Run Task`` and running " +"the ``setup_python_env`` in the drop down menu." msgstr "" -"运行 VSCode `Tasks `__ ,通过按下 " -"``Ctrl+Shift+P``,选择 ``Tasks: Run Task`` 并在下拉菜单中运行 ``setup_python_env`` 。" +"运行 VSCode `Tasks `__ " +",通过按下 ``Ctrl+Shift+P``,选择 ``Tasks: Run Task`` 并在下拉菜单中运行 " +"``setup_python_env`` 。" #: ../../source/overview/developer-guide/vs_code.rst -msgid "VSCode Tasks" +#, fuzzy +msgid "VSCode 任务" msgstr "VSCode 任务" #: ../../source/overview/developer-guide/vs_code.rst:34 -msgid "" -"If everything executes correctly, it should create the following files:" +msgid "If everything executes correctly, it should create the following files:" msgstr "如果一切执行正确,它应该创建以下文件: " #: ../../source/overview/developer-guide/vs_code.rst:36 msgid "" -"``.vscode/launch.json``: Contains the launch configurations for debugging " -"python code." +"``.vscode/launch.json``: Contains the launch configurations for debugging" +" python code." msgstr "``.vscode/launch.json``: 包含用于调试 python 代码的启动配置。" #: ../../source/overview/developer-guide/vs_code.rst:37 msgid "" -"``.vscode/settings.json``: Contains the settings for the python interpreter " -"and the python environment." +"``.vscode/settings.json``: Contains the settings for the python " +"interpreter and the python environment." msgstr "``.vscode/settings.json``: 包含 python 解释器和 python 环境的设置。" #: ../../source/overview/developer-guide/vs_code.rst:39 msgid "" -"For more information on VSCode support for Omniverse, please refer to the " -"following links:" +"For more information on VSCode support for Omniverse, please refer to the" +" following links:" msgstr "有关 VSCode 对 Omniverse 的支持的更多信息,请参考以下链接: " #: ../../source/overview/developer-guide/vs_code.rst:42 msgid "" "`Isaac Sim VSCode support " -"`__" +"`__" msgstr "" "`Isaac Sim VSCode 支持 " -"`__" +"`__" #: ../../source/overview/developer-guide/vs_code.rst:43 msgid "" @@ -99,20 +100,20 @@ msgstr "配置 Python 解释器" #: ../../source/overview/developer-guide/vs_code.rst:49 msgid "" -"In the provided configuration, we set the default python interpreter to use " -"the python executable provided by Omniverse. This is specified in the " -"``.vscode/settings.json`` file:" +"In the provided configuration, we set the default python interpreter to " +"use the python executable provided by Omniverse. This is specified in the" +" ``.vscode/settings.json`` file:" msgstr "" "在提供的配置中,我们将默认的 python 解释器设置为使用 Omniverse 提供的 python 可执行文件。这在 " "``.vscode/settings.json`` 文件中指定: " #: ../../source/overview/developer-guide/vs_code.rst:59 msgid "" -"If you want to use a different python interpreter (for instance, from your " -"conda environment), you need to change the python interpreter used by " -"selecting and activating the python interpreter of your choice in the bottom" -" left corner of VSCode, or opening the command palette (``Ctrl+Shift+P``) " -"and selecting ``Python: Select Interpreter``." +"If you want to use a different python interpreter (for instance, from " +"your conda environment), you need to change the python interpreter used " +"by selecting and activating the python interpreter of your choice in the " +"bottom left corner of VSCode, or opening the command palette " +"(``Ctrl+Shift+P``) and selecting ``Python: Select Interpreter``." msgstr "" "如果你想使用不同的 python 解释器(例如,从你的 conda 环境),你需要通过选择并激活你在 VSCode 左下角选择的 python " "解释器来更改使用的 python 解释器,或者打开命令面板(``Ctrl+Shift+P``)并选择 ``Python: Select " @@ -128,3 +129,4 @@ msgstr "" "有关如何为 VSCode 设置 Python 解释器的更多信息,请参考 `VSCode documentation " "`_。" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/overview/environments.po b/docs/locale/zh_CN/LC_MESSAGES/source/overview/environments.po index b4282bced4..009c92ab79 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/overview/environments.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/overview/environments.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-05 15:08+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" "Language: zh_CN\n" @@ -552,7 +552,8 @@ msgid "|velocity-rough-unitree-go2|" msgstr "|velocity-rough-unitree-go2|" #: ../../source/overview/environments.rst:246 -msgid "velocity-rough-unitree-go2" +#, fuzzy +msgid "`velocity-rough-unitree-go2`" msgstr "`velocity-rough-unitree-go2`" #: ../../source/overview/environments.rst:192 diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/overview/showroom.po b/docs/locale/zh_CN/LC_MESSAGES/source/overview/showroom.po index d863aa971a..f7da0c2351 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/overview/showroom.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/overview/showroom.po @@ -6,16 +6,16 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-10-15 11:18+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/overview/showroom.rst:2 msgid "Showroom Demos" @@ -23,10 +23,10 @@ msgstr "展厅演示" #: ../../source/overview/showroom.rst:4 msgid "" -"The main core interface extension in Isaac Lab ``omni.isaac.lab`` provides " -"the main modules for actuators, objects, robots and sensors. We provide a " -"list of demo scripts and tutorials. These showcase how to use the provided " -"interfaces within a code in a minimal way." +"The main core interface extension in Isaac Lab ``omni.isaac.lab`` " +"provides the main modules for actuators, objects, robots and sensors. We " +"provide a list of demo scripts and tutorials. These showcase how to use " +"the provided interfaces within a code in a minimal way." msgstr "" "在 Isaac Lab ``omni.isaac.lab`` " "中,主要的核心接口扩展提供了执行器、对象、机器人和传感器的主要模块。我们提供了一份演示脚本和教程的列表。这些展示了如何以最简方式在代码中使用提供的接口。" @@ -36,8 +36,7 @@ msgid "A few quick showroom scripts to run and checkout:" msgstr "一些快速的展厅脚本可供运行和查看: " #: ../../source/overview/showroom.rst:11 -msgid "" -"Spawn different quadrupeds and make robots stand using position commands:" +msgid "Spawn different quadrupeds and make robots stand using position commands:" msgstr "生成不同的四足动物,并使用位置命令让机器人站立: " #: ../../source/overview/showroom.rst @@ -49,33 +48,32 @@ msgid ":icon:`fa-brands fa-windows` Windows" msgstr ":icon:`fa-brands fa-windows` Windows" #: ../../source/overview/showroom.rst -msgid "Quadrupeds in Isaac Lab" -msgstr "Isaac Lab中的四足机器人" +msgid "Isaac Lab中的四足机器人" +msgstr "" #: ../../source/overview/showroom.rst:34 msgid "Spawn different arms and apply random joint position commands:" msgstr "生成不同的手臂,并应用随机关节位置指令: " #: ../../source/overview/showroom.rst -msgid "Arms in Isaac Lab" -msgstr "Isaac Lab中的机械臂" +msgid "Isaac Lab中的机械臂" +msgstr "" #: ../../source/overview/showroom.rst:57 msgid "Spawn different hands and command them to open and close:" msgstr "生成不同的手,并控制它们打开和关闭: " #: ../../source/overview/showroom.rst -msgid "Dexterous hands in Isaac Lab" -msgstr "Isaac Lab中的灵巧手" +msgid "Isaac Lab中的灵巧手" +msgstr "" #: ../../source/overview/showroom.rst:80 -msgid "" -"Spawn different deformable (soft) bodies and let them fall from a height:" +msgid "Spawn different deformable (soft) bodies and let them fall from a height:" msgstr "生成不同可变形(软)体,并让它们从一定高度落下: " #: ../../source/overview/showroom.rst -msgid "Deformable primitive-shaped objects in Isaac Lab" -msgstr "在Isaac Lab中可变形的原始形状物体" +msgid "在Isaac Lab中可变形的原始形状物体" +msgstr "" #: ../../source/overview/showroom.rst:103 msgid "" @@ -84,8 +82,8 @@ msgid "" msgstr "使用交互式场景,在不同的环境中生成各种资产" #: ../../source/overview/showroom.rst -msgid "Multiple assets managed through the same simulation handles" -msgstr "通过相同的模拟处理多个资产" +msgid "通过相同的模拟处理多个资产" +msgstr "" #: ../../source/overview/showroom.rst:126 msgid "" @@ -94,13 +92,35 @@ msgid "" msgstr "创建和生成具有不同配置的程序生成地形" #: ../../source/overview/showroom.rst -msgid "Procedural Terrains in Isaac Lab" -msgstr "Isaac Lab中的程序生成地形" +msgid "Isaac Lab中的程序生成地形" +msgstr "" #: ../../source/overview/showroom.rst:149 msgid "Define multiple markers that are useful for visualizations:" msgstr "定义多个对可视化有用的标记:" #: ../../source/overview/showroom.rst -msgid "Markers in Isaac Lab" -msgstr "Isaac Lab中的标记符号" +msgid "Isaac Lab中的标记符号" +msgstr "" + +#~ msgid "Quadrupeds in Isaac Lab" +#~ msgstr "Isaac Lab中的四足机器人" + +#~ msgid "Arms in Isaac Lab" +#~ msgstr "Isaac Lab中的机械臂" + +#~ msgid "Dexterous hands in Isaac Lab" +#~ msgstr "Isaac Lab中的灵巧手" + +#~ msgid "Deformable primitive-shaped objects in Isaac Lab" +#~ msgstr "在Isaac Lab中可变形的原始形状物体" + +#~ msgid "Multiple assets managed through the same simulation handles" +#~ msgstr "通过相同的模拟处理多个资产" + +#~ msgid "Procedural Terrains in Isaac Lab" +#~ msgstr "Isaac Lab中的程序生成地形" + +#~ msgid "Markers in Isaac Lab" +#~ msgstr "Isaac Lab中的标记符号" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/00_sim/create_empty.po b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/00_sim/create_empty.po index 3d54276427..4ca1336d1e 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/00_sim/create_empty.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/00_sim/create_empty.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-25 13:53+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.16.0\n" #: ../../source/tutorials/00_sim/create_empty.rst:2 @@ -35,8 +35,8 @@ msgstr "" #: ../../source/tutorials/00_sim/create_empty.rst:10 msgid "" "Please review `Isaac Sim Interface`_ and `Isaac Sim Workflows`_ prior to " -"beginning this tutorial to get an initial understanding of working with the " -"simulator." +"beginning this tutorial to get an initial understanding of working with " +"the simulator." msgstr "请在开始本教程之前查看 `Isaac Sim 接口`_ 和 `Isaac Sim 工作流`_ ,以获得对与模拟器一起工作的初步了解。" #: ../../source/tutorials/00_sim/create_empty.rst:15 @@ -47,8 +47,7 @@ msgstr "代码" msgid "" "The tutorial corresponds to the ``create_empty.py`` script in the " "``source/standalone/tutorials/00_sim`` directory." -msgstr "" -"本教程对应于 ``source/standalone/tutorials/00_sim`` 目录中的 ``create_empty.py`` 脚本。" +msgstr "本教程对应于 ``source/standalone/tutorials/00_sim`` 目录中的 ``create_empty.py`` 脚本。" #: ../../source/tutorials/00_sim/create_empty.rst msgid "Code for create_empty.py" @@ -64,18 +63,17 @@ msgstr "启动模拟器" #: ../../source/tutorials/00_sim/create_empty.rst:34 msgid "" -"The first step when working with standalone Python scripts is to launch the " -"simulation application. This is necessary to do at the start since various " -"dependency modules of Isaac Sim are only available after the simulation app " -"is running." -msgstr "" -"使用独立的 Python 脚本时的第一步是启动模拟应用程序。这是必要的,因为只有在模拟应用程序运行后,Isaac Sim 的各种依赖模块才可用。" +"The first step when working with standalone Python scripts is to launch " +"the simulation application. This is necessary to do at the start since " +"various dependency modules of Isaac Sim are only available after the " +"simulation app is running." +msgstr "使用独立的 Python 脚本时的第一步是启动模拟应用程序。这是必要的,因为只有在模拟应用程序运行后,Isaac Sim 的各种依赖模块才可用。" #: ../../source/tutorials/00_sim/create_empty.rst:38 msgid "" "This can be done by importing the :class:`app.AppLauncher` class. This " -"utility class wraps around :class:`omni.isaac.kit.SimulationApp` class to " -"launch the simulator. It provides mechanisms to configure the simulator " +"utility class wraps around :class:`omni.isaac.kit.SimulationApp` class to" +" launch the simulator. It provides mechanisms to configure the simulator " "using command-line arguments and environment variables." msgstr "" "这可以通过导入 :class:`app.AppLauncher` 类来完成。此实用程序类包装了 " @@ -83,15 +81,15 @@ msgstr "" #: ../../source/tutorials/00_sim/create_empty.rst:42 msgid "" -"For this tutorial, we mainly look at adding the command-line options to a " -"user-defined :class:`argparse.ArgumentParser`. This is done by passing the " -"parser instance to the :meth:`app.AppLauncher.add_app_launcher_args` method," -" which appends different parameters to it. These include launching the app " -"headless, configuring different Livestream options, and enabling off-screen " -"rendering." +"For this tutorial, we mainly look at adding the command-line options to a" +" user-defined :class:`argparse.ArgumentParser`. This is done by passing " +"the parser instance to the :meth:`app.AppLauncher.add_app_launcher_args` " +"method, which appends different parameters to it. These include launching" +" the app headless, configuring different Livestream options, and enabling" +" off-screen rendering." msgstr "" -"对于本教程,我们主要关注将命令行选项添加到用户定义的 :class:`argparse.ArgumentParser` 中。通过将解析器实例传递给 " -":meth:`app.AppLauncher.add_app_launcher_args` " +"对于本教程,我们主要关注将命令行选项添加到用户定义的 :class:`argparse.ArgumentParser` 中。通过将解析器实例传递给" +" :meth:`app.AppLauncher.add_app_launcher_args` " "方法,并向其附加不同的参数来完成。这些参数包括启动应用程序无头模式、配置不同的实时流选项和启用脱机渲染。" #: ../../source/tutorials/00_sim/create_empty.rst:54 @@ -117,65 +115,63 @@ msgstr "配置模拟上下文" #: ../../source/tutorials/00_sim/create_empty.rst:70 msgid "" -"When launching the simulator from a standalone script, the user has complete" -" control over playing, pausing and stepping the simulator. All these " -"operations are handled through the **simulation context**. It takes care of " -"various timeline events and also configures the `physics scene`_ for " -"simulation." +"When launching the simulator from a standalone script, the user has " +"complete control over playing, pausing and stepping the simulator. All " +"these operations are handled through the **simulation context**. It takes" +" care of various timeline events and also configures the `physics scene`_" +" for simulation." msgstr "" -"当从独立脚本启动模拟器时,用户可以完全控制播放、暂停和步进模拟器。所有这些操作都通过 **模拟上下文** 处理。它负责各种时间轴事件,并为模拟器配置 " -"`物理场景`_ 。" +"当从独立脚本启动模拟器时,用户可以完全控制播放、暂停和步进模拟器。所有这些操作都通过 **模拟上下文** " +"处理。它负责各种时间轴事件,并为模拟器配置 `物理场景`_ 。" #: ../../source/tutorials/00_sim/create_empty.rst:75 msgid "" -"In Isaac Lab, the :class:`sim.SimulationContext` class inherits from Isaac " -"Sim's :class:`omni.isaac.core.simulation_context.SimulationContext` to allow" -" configuring the simulation through Python's ``dataclass`` object and handle" -" certain intricacies of the simulation stepping." +"In Isaac Lab, the :class:`sim.SimulationContext` class inherits from " +"Isaac Sim's :class:`omni.isaac.core.simulation_context.SimulationContext`" +" to allow configuring the simulation through Python's ``dataclass`` " +"object and handle certain intricacies of the simulation stepping." msgstr "" "在 Isaac Lab 中 , :class:`sim.SimulationContext` 类继承了 Isaac Sim 的 " -":class:`omni.isaac.core.simulation_context.SimulationContext` ,以允许通过 Python " -"的 ``dataclass`` 对象配置模拟器,并处理模拟步进的某些复杂性。" +":class:`omni.isaac.core.simulation_context.SimulationContext` ,以允许通过 " +"Python 的 ``dataclass`` 对象配置模拟器,并处理模拟步进的某些复杂性。" #: ../../source/tutorials/00_sim/create_empty.rst:79 msgid "" "For this tutorial, we set the physics and rendering time step to 0.01 " "seconds. This is done by passing these quantities to the " -":class:`sim.SimulationCfg`, which is then used to create an instance of the " -"simulation context." +":class:`sim.SimulationCfg`, which is then used to create an instance of " +"the simulation context." msgstr "" "对于本教程,我们将将物理和渲染时间步长设置为0.01秒。通过将这些数量传递给 :class:`sim.SimulationCfg` " ",然后用它创建模拟上下文的实例。" #: ../../source/tutorials/00_sim/create_empty.rst:89 msgid "" -"Following the creation of the simulation context, we have only configured " -"the physics acting on the simulated scene. This includes the device to use " -"for simulation, the gravity vector, and other advanced solver parameters. " -"There are now two main steps remaining to run the simulation:" -msgstr "" -"创建模拟上下文后,我们只配置了作用于模拟场景的物理。这包括用于模拟的设备、重力矢量和其他高级求解器参数。现在还有两个主要步骤剩下来运行模拟: " +"Following the creation of the simulation context, we have only configured" +" the physics acting on the simulated scene. This includes the device to " +"use for simulation, the gravity vector, and other advanced solver " +"parameters. There are now two main steps remaining to run the simulation:" +msgstr "创建模拟上下文后,我们只配置了作用于模拟场景的物理。这包括用于模拟的设备、重力矢量和其他高级求解器参数。现在还有两个主要步骤剩下来运行模拟: " #: ../../source/tutorials/00_sim/create_empty.rst:93 msgid "" -"Designing the simulation scene: Adding sensors, robots and other simulated " -"objects" +"Designing the simulation scene: Adding sensors, robots and other " +"simulated objects" msgstr "设计模拟场景: 添加传感器、机器人和其他模拟对象" #: ../../source/tutorials/00_sim/create_empty.rst:94 msgid "" -"Running the simulation loop: Stepping the simulator, and setting and getting" -" data from the simulator" +"Running the simulation loop: Stepping the simulator, and setting and " +"getting data from the simulator" msgstr "运行模拟循环: 使模拟器进行步进,并从模拟器中设置和获取数据" #: ../../source/tutorials/00_sim/create_empty.rst:96 msgid "" -"In this tutorial, we look at Step 2 first for an empty scene to focus on the" -" simulation control first. In the following tutorials, we will look into " -"Step 1 and working with simulation handles for interacting with the " +"In this tutorial, we look at Step 2 first for an empty scene to focus on " +"the simulation control first. In the following tutorials, we will look " +"into Step 1 and working with simulation handles for interacting with the " "simulator." -msgstr "" -"在本教程中,我们首先看Step 2的空场景,以便首先关注模拟控制。在以下教程中,我们将深入研究Step 1和使用模拟处理程序与模拟器进行交互。" +msgstr "在本教程中,我们首先看Step 2的空场景,以便首先关注模拟控制。在以下教程中,我们将深入研究Step 1和使用模拟处理程序与模拟器进行交互。" #: ../../source/tutorials/00_sim/create_empty.rst:101 msgid "Running the simulation" @@ -184,10 +180,10 @@ msgstr "运行模拟" #: ../../source/tutorials/00_sim/create_empty.rst:103 msgid "" "The first thing, after setting up the simulation scene, is to call the " -":meth:`sim.SimulationContext.reset` method. This method plays the timeline " -"and initializes the physics handles in the simulator. It must always be " -"called the first time before stepping the simulator. Otherwise, the " -"simulation handles are not initialized properly." +":meth:`sim.SimulationContext.reset` method. This method plays the " +"timeline and initializes the physics handles in the simulator. It must " +"always be called the first time before stepping the simulator. Otherwise," +" the simulation handles are not initialized properly." msgstr "" "在设置模拟场景之后,第一件事是调用 :meth:`sim.SimulationContext.reset` " "方法。此方法播放时间轴并初始化模拟器中的物理处理。在第一次步进模拟器之前必须始终调用此方法,否则模拟处理不会正确初始化。" @@ -198,16 +194,17 @@ msgid "" ":meth:`sim.SimulationContext.play` method as the latter only plays the " "timeline and does not initializes the physics handles." msgstr "" -":meth:`sim.SimulationContext.reset` 不同于 :meth:`sim.SimulationContext.play` " -"方法,因为后者只播放时间轴而不初始化物理处理。" +":meth:`sim.SimulationContext.reset` 不同于 " +":meth:`sim.SimulationContext.play` 方法,因为后者只播放时间轴而不初始化物理处理。" #: ../../source/tutorials/00_sim/create_empty.rst:113 msgid "" -"After playing the simulation timeline, we set up a simple simulation loop " -"where the simulator is stepped repeatedly while the simulation app is " -"running. The method :meth:`sim.SimulationContext.step` takes in as argument " -":attr:`render`, which dictates whether the step includes updating the " -"rendering-related events or not. By default, this flag is set to True." +"After playing the simulation timeline, we set up a simple simulation loop" +" where the simulator is stepped repeatedly while the simulation app is " +"running. The method :meth:`sim.SimulationContext.step` takes in as " +"argument :attr:`render`, which dictates whether the step includes " +"updating the rendering-related events or not. By default, this flag is " +"set to True." msgstr "" "播放模拟时间轴后,我们设置了一个简单的模拟循环,其中模拟器在模拟应用程序运行时重复进行步进。 " ":meth:`sim.SimulationContext.step` 方法带有 :attr:`render` " @@ -219,8 +216,8 @@ msgstr "退出模拟" #: ../../source/tutorials/00_sim/create_empty.rst:126 msgid "" -"Lastly, the simulation application is stopped and its window is closed by " -"calling :meth:`omni.isaac.kit.SimulationApp.close` method." +"Lastly, the simulation application is stopped and its window is closed by" +" calling :meth:`omni.isaac.kit.SimulationApp.close` method." msgstr "最后,通过调用 :meth:`omni.isaac.kit.SimulationApp.close` 方法停止模拟应用程序并关闭其窗口。" #: ../../source/tutorials/00_sim/create_empty.rst:136 @@ -235,20 +232,21 @@ msgstr "现在我们已经浏览了代码,让我们运行脚本并查看结果 #: ../../source/tutorials/00_sim/create_empty.rst:145 msgid "" -"The simulation should be playing, and the stage should be rendering. To stop" -" the simulation, you can either close the window, or press ``Ctrl+C`` in the" -" terminal." +"The simulation should be playing, and the stage should be rendering. To " +"stop the simulation, you can either close the window, or press ``Ctrl+C``" +" in the terminal." msgstr "模拟应该正在进行,并且场景应该正在渲染。要停止模拟,可以关闭窗口或在终端中按下 ``Ctrl+C`` 。" #: ../../source/tutorials/00_sim/create_empty.rst:-1 -msgid "result of create_empty.py" -msgstr "create_empty.py 的结果" +#, fuzzy +msgid "create_empty.py 的结果" +msgstr "create_empty.py的代码" #: ../../source/tutorials/00_sim/create_empty.rst:153 msgid "" -"Passing ``--help`` to the above script will show the different command-line " -"arguments added earlier by the :class:`app.AppLauncher` class. To run the " -"script headless, you can execute the following:" +"Passing ``--help`` to the above script will show the different command-" +"line arguments added earlier by the :class:`app.AppLauncher` class. To " +"run the script headless, you can execute the following:" msgstr "" "将 ``--help`` 传递给上述脚本将显示先前由 :class:`app.AppLauncher` " "类添加的不同命令行参数。要以无头模式运行脚本,可以执行以下操作: " @@ -256,6 +254,10 @@ msgstr "" #: ../../source/tutorials/00_sim/create_empty.rst:162 msgid "" "Now that we have a basic understanding of how to run a simulation, let's " -"move on to the following tutorial where we will learn how to add assets to " -"the stage." +"move on to the following tutorial where we will learn how to add assets " +"to the stage." msgstr "现在我们对如何运行模拟有了基本的了解,让我们转到下一个教程,在那里我们将学习如何将资产添加到场景。" + +#~ msgid "result of create_empty.py" +#~ msgstr "create_empty.py 的结果" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/00_sim/launch_app.po b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/00_sim/launch_app.po index 61a8252d9c..460dbedee8 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/00_sim/launch_app.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/00_sim/launch_app.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-25 13:53+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.16.0\n" #: ../../source/tutorials/00_sim/launch_app.rst:2 @@ -23,12 +23,12 @@ msgstr "深入了解AppLauncher" #: ../../source/tutorials/00_sim/launch_app.rst:6 msgid "" -"In this tutorial, we will dive into the :class:`app.AppLauncher` class to " -"configure the simulator using CLI arguments and environment variables " +"In this tutorial, we will dive into the :class:`app.AppLauncher` class to" +" configure the simulator using CLI arguments and environment variables " "(envars). Particularly, we will demonstrate how to use " ":class:`~app.AppLauncher` to enable livestreaming and configure the " -":class:`omni.isaac.kit.SimulationApp` instance it wraps, while also allowing" -" user-provided options." +":class:`omni.isaac.kit.SimulationApp` instance it wraps, while also " +"allowing user-provided options." msgstr "" "在本教程中,我们将深入研究 :class:`app.AppLauncher` " "类,以使用CLI参数和环境变量(envars)配置模拟器。特别地,我们将展示如何使用 :class:`~app.AppLauncher` " @@ -37,17 +37,17 @@ msgstr "" #: ../../source/tutorials/00_sim/launch_app.rst:11 msgid "" "The :class:`~app.AppLauncher` is a wrapper for " -":class:`~omni.isaac.kit.SimulationApp` to simplify its configuration. The " -":class:`~omni.isaac.kit.SimulationApp` has many extensions that must be " -"loaded to enable different capabilities, and some of these extensions are " -"order- and inter-dependent. Additionally, there are startup options such as " -"``headless`` which must be set at instantiation time, and which have an " -"implied relationship with some extensions, e.g. the livestreaming " +":class:`~omni.isaac.kit.SimulationApp` to simplify its configuration. The" +" :class:`~omni.isaac.kit.SimulationApp` has many extensions that must be " +"loaded to enable different capabilities, and some of these extensions are" +" order- and inter-dependent. Additionally, there are startup options such" +" as ``headless`` which must be set at instantiation time, and which have " +"an implied relationship with some extensions, e.g. the livestreaming " "extensions. The :class:`~app.AppLauncher` presents an interface that can " -"handle these extensions and startup options in a portable manner across a " -"variety of use cases. To achieve this, we offer CLI and envar flags which " -"can be merged with user-defined CLI args, while passing forward arguments " -"intended for :class:`~omni.isaac.kit.SimulationApp`." +"handle these extensions and startup options in a portable manner across a" +" variety of use cases. To achieve this, we offer CLI and envar flags " +"which can be merged with user-defined CLI args, while passing forward " +"arguments intended for :class:`~omni.isaac.kit.SimulationApp`." msgstr "" ":class:`~app.AppLauncher` 是 :class:`~omni.isaac.kit.SimulationApp` " "的一个包装器,用于简化其配置。 :class:`~omni.isaac.kit.SimulationApp` " @@ -64,8 +64,7 @@ msgstr "代码" msgid "" "The tutorial corresponds to the ``launch_app.py`` script in the " "``source/standalone/tutorials/00_sim`` directory." -msgstr "" -"该教程对应于 ``source/standalone/tutorials/00_sim`` 目录中的 ``launch_app.py`` 脚本。" +msgstr "该教程对应于 ``source/standalone/tutorials/00_sim`` 目录中的 ``launch_app.py`` 脚本。" #: ../../source/tutorials/00_sim/launch_app.rst msgid "Code for launch_app.py" @@ -81,17 +80,17 @@ msgstr "向argparser添加参数" #: ../../source/tutorials/00_sim/launch_app.rst:42 msgid "" -":class:`~app.AppLauncher` is designed to be compatible with custom CLI args " -"that users need for their own scripts, while still providing a portable CLI " -"interface." +":class:`~app.AppLauncher` is designed to be compatible with custom CLI " +"args that users need for their own scripts, while still providing a " +"portable CLI interface." msgstr ":class:`~app.AppLauncher` 旨在与用户自定义脚本需要的自定义CLI参数兼容,同时提供便携CLI界面。" #: ../../source/tutorials/00_sim/launch_app.rst:45 msgid "" "In this tutorial, a standard :class:`argparse.ArgumentParser` is " -"instantiated and given the script-specific ``--size`` argument, as well as " -"the arguments ``--height`` and ``--width``. The latter are ingested by " -":class:`~omni.isaac.kit.SimulationApp`." +"instantiated and given the script-specific ``--size`` argument, as well " +"as the arguments ``--height`` and ``--width``. The latter are ingested by" +" :class:`~omni.isaac.kit.SimulationApp`." msgstr "" "在本教程中,实例化了一个标准的 :class:`argparse.ArgumentParser` ,并赋予了特定脚本的 ``--size`` " "参数,以及参数 ``--height`` 和 ``--width`` 。后者被 " @@ -99,18 +98,19 @@ msgstr "" #: ../../source/tutorials/00_sim/launch_app.rst:49 msgid "" -"The argument ``--size`` is not used by :class:`~app.AppLauncher`, but will " -"merge seamlessly with the :class:`~app.AppLauncher` interface. In-script " -"arguments can be merged with the :class:`~app.AppLauncher` interface via the" -" :meth:`~app.AppLauncher.add_app_launcher_args` method, which will return a " -"modified :class:`~argparse.ArgumentParser` with the " +"The argument ``--size`` is not used by :class:`~app.AppLauncher`, but " +"will merge seamlessly with the :class:`~app.AppLauncher` interface. In-" +"script arguments can be merged with the :class:`~app.AppLauncher` " +"interface via the :meth:`~app.AppLauncher.add_app_launcher_args` method, " +"which will return a modified :class:`~argparse.ArgumentParser` with the " ":class:`~app.AppLauncher` arguments appended. This can then be processed " "into an :class:`argparse.Namespace` using the standard " ":meth:`argparse.ArgumentParser.parse_args` method and passed directly to " ":class:`~app.AppLauncher` for instantiation." msgstr "" -"参数 ``--size`` 不被 :class:`~app.AppLauncher` 使用,但会与 :class:`~app.AppLauncher` " -"界面无缝合并。可以通过 :meth:`~app.AppLauncher.add_app_launcher_args` 方法将脚本参数与 " +"参数 ``--size`` 不被 :class:`~app.AppLauncher` 使用,但会与 " +":class:`~app.AppLauncher` 界面无缝合并。可以通过 " +":meth:`~app.AppLauncher.add_app_launcher_args` 方法将脚本参数与 " ":class:`~app.AppLauncher` 界面合并,该方法会返回一个修改过的 " ":class:`~argparse.ArgumentParser` ,其中包含 :class:`~app.AppLauncher` " "参数。然后可以使用标准的 :meth:`argparse.ArgumentParser.parse_args` 方法将其处理为一个 " @@ -118,9 +118,9 @@ msgstr "" #: ../../source/tutorials/00_sim/launch_app.rst:62 msgid "" -"The above only illustrates only one of several ways of passing arguments to " -":class:`~app.AppLauncher`. Please consult its documentation page to see " -"further options." +"The above only illustrates only one of several ways of passing arguments " +"to :class:`~app.AppLauncher`. Please consult its documentation page to " +"see further options." msgstr "上述仅演示了一种向 :class:`~app.AppLauncher` 传递参数的方式。请查阅其文档页面以获取更多选项。" #: ../../source/tutorials/00_sim/launch_app.rst:66 @@ -129,31 +129,30 @@ msgstr "理解--help的输出" #: ../../source/tutorials/00_sim/launch_app.rst:68 msgid "" -"While executing the script, we can pass the ``--help`` argument and see the " -"combined outputs of the custom arguments and those from " +"While executing the script, we can pass the ``--help`` argument and see " +"the combined outputs of the custom arguments and those from " ":class:`~app.AppLauncher`." -msgstr "" -"在执行脚本时,我们可以传递 ``--help`` 参数,并查看自定义参数和 :class:`~app.AppLauncher` 的合并输出。" +msgstr "在执行脚本时,我们可以传递 ``--help`` 参数,并查看自定义参数和 :class:`~app.AppLauncher` 的合并输出。" #: ../../source/tutorials/00_sim/launch_app.rst:102 msgid "" -"This readout details the ``--size``, ``--height``, and ``--width`` arguments" -" defined in the script directly, as well as the :class:`~app.AppLauncher` " -"arguments." +"This readout details the ``--size``, ``--height``, and ``--width`` " +"arguments defined in the script directly, as well as the " +":class:`~app.AppLauncher` arguments." msgstr "" "该输出详细描述了脚本中直接定义的 ``--size``、``--height`` 和 ``--width`` 参数,以及 " ":class:`~app.AppLauncher` 的参数。" #: ../../source/tutorials/00_sim/launch_app.rst:105 msgid "" -"The ``[INFO]`` messages preceding the help output also reads out which of " -"these arguments are going to be interpreted as arguments to the " +"The ``[INFO]`` messages preceding the help output also reads out which of" +" these arguments are going to be interpreted as arguments to the " ":class:`~omni.isaac.kit.SimulationApp` instance which the " -":class:`~app.AppLauncher` class wraps. In this case, it is ``--height`` and " -"``--width``. These are classified as such because they match the name and " -"type of an argument which can be processed by " -":class:`~omni.isaac.kit.SimulationApp`. Please refer to the `specification`_" -" for such arguments for more examples." +":class:`~app.AppLauncher` class wraps. In this case, it is ``--height`` " +"and ``--width``. These are classified as such because they match the name" +" and type of an argument which can be processed by " +":class:`~omni.isaac.kit.SimulationApp`. Please refer to the " +"`specification`_ for such arguments for more examples." msgstr "" "在帮助输出之前的 ``[INFO]`` 消息还指出了这些参数将被解释为 :class:`~app.AppLauncher` 类包装的 " ":class:`~omni.isaac.kit.SimulationApp` 实例的参数。在这种情况下,它是 ``--height`` 和 " @@ -167,11 +166,11 @@ msgstr "使用环境变量" #: ../../source/tutorials/00_sim/launch_app.rst:115 msgid "" "As noted in the help message, the :class:`~app.AppLauncher` arguments " -"(``--livestream``, ``--headless``) have corresponding environment variables " -"(envar) as well. These are detailed in :mod:`omni.isaac.lab.app` " -"documentation. Providing any of these arguments through CLI is equivalent to" -" running the script in a shell environment where the corresponding envar is " -"set." +"(``--livestream``, ``--headless``) have corresponding environment " +"variables (envar) as well. These are detailed in " +":mod:`omni.isaac.lab.app` documentation. Providing any of these arguments" +" through CLI is equivalent to running the script in a shell environment " +"where the corresponding envar is set." msgstr "" "如帮助信息中所述, :class:`~app.AppLauncher` 的参数( ``--livestream``、``--headless`` " ")有相应的环境变量(envar)。这些在 :mod:`omni.isaac.lab.app` " @@ -179,11 +178,12 @@ msgstr "" #: ../../source/tutorials/00_sim/launch_app.rst:120 msgid "" -"The support for :class:`~app.AppLauncher` envars are simply a convenience to" -" provide session-persistent configurations, and can be set in the user's " -"``${HOME}/.bashrc`` for persistent settings between sessions. In the case " -"where these arguments are provided from the CLI, they will override their " -"corresponding envar, as we will demonstrate later in this tutorial." +"The support for :class:`~app.AppLauncher` envars are simply a convenience" +" to provide session-persistent configurations, and can be set in the " +"user's ``${HOME}/.bashrc`` for persistent settings between sessions. In " +"the case where these arguments are provided from the CLI, they will " +"override their corresponding envar, as we will demonstrate later in this " +"tutorial." msgstr "" "支持 :class:`~app.AppLauncher` envar只是为了提供会话持久性配置的便利,并可以在用户的 " "``${HOME}/.bashrc`` " @@ -191,14 +191,14 @@ msgstr "" #: ../../source/tutorials/00_sim/launch_app.rst:125 msgid "" -"These arguments can be used with any script that starts the simulation using" -" :class:`~app.AppLauncher`, with one exception, ``--enable_cameras``. This " -"setting sets the rendering pipeline to use the offscreen renderer. However, " -"this setting is only compatible with the " -":class:`omni.isaac.lab.sim.SimulationContext`. It will not work with Isaac " -"Sim's :class:`omni.isaac.core.simulation_context.SimulationContext` class. " -"For more information on this flag, please see the :class:`~app.AppLauncher` " -"API documentation." +"These arguments can be used with any script that starts the simulation " +"using :class:`~app.AppLauncher`, with one exception, " +"``--enable_cameras``. This setting sets the rendering pipeline to use the" +" offscreen renderer. However, this setting is only compatible with the " +":class:`omni.isaac.lab.sim.SimulationContext`. It will not work with " +"Isaac Sim's :class:`omni.isaac.core.simulation_context.SimulationContext`" +" class. For more information on this flag, please see the " +":class:`~app.AppLauncher` API documentation." msgstr "" "这些参数可以与使用 :class:`~app.AppLauncher` 启动模拟的任何脚本一起使用,只有一个例外,即 " "``--enable_cameras`` 。此设置将设置渲染管线以使用离屏渲染器。但是,这个设置仅与 " @@ -216,21 +216,22 @@ msgstr "现在我们将运行示例脚本: " #: ../../source/tutorials/00_sim/launch_app.rst:141 msgid "" -"This will spawn a 0.5m\\ :sup:`3` volume cuboid in the simulation. No GUI " -"will appear, equivalent to if we had passed the ``--headless`` flag because " -"headlessness is implied by our ``LIVESTREAM`` envar. If a visualization is " -"desired, we could get one via Isaac's `Native Livestreaming`_. Streaming is " -"currently the only supported method of visualization from within the " -"container. The process can be killed by pressing ``Ctrl+C`` in the launching" -" terminal." +"This will spawn a 0.5m\\ :sup:`3` volume cuboid in the simulation. No GUI" +" will appear, equivalent to if we had passed the ``--headless`` flag " +"because headlessness is implied by our ``LIVESTREAM`` envar. If a " +"visualization is desired, we could get one via Isaac's `Native " +"Livestreaming`_. Streaming is currently the only supported method of " +"visualization from within the container. The process can be killed by " +"pressing ``Ctrl+C`` in the launching terminal." msgstr "" "这将在模拟中生成一个0.5立方米的体积长方体。不会出现GUI,等同于如果我们传递了 ``--headless`` 标志,因为无头模式是由我们的 " "``LIVESTREAM`` envar隐含的。如果需要可视化,可以通过Isaac的 `Native Livestreaming`_ " "来实现。目前,流传输是容器内可视化的唯一支持方法。可以通过在启动终端中按 ``Ctrl+C`` 键终止该进程。" #: ../../source/tutorials/00_sim/launch_app.rst:-1 -msgid "result of launch_app.py" -msgstr "launch_app.py 的结果" +#, fuzzy +msgid "launch_app.py 的结果" +msgstr "launch_app.py的代码" #: ../../source/tutorials/00_sim/launch_app.rst:152 msgid "" @@ -238,17 +239,17 @@ msgid "" "commands:" msgstr "现在,让我们看看 :class:`~app.AppLauncher` 如何处理冲突命令: " -#: ../../source/tutorials/00_sim/launch_app.rst:159 +#: ../../source/tutorials/00_sim/launch_app.rst:158 msgid "" -"This will cause the same behavior as in the previous run, because although " -"we have set ``LIVESTREAM=0`` in our envars, CLI args such as " -"``--livestream`` take precedence in determining behavior. The process can be" -" killed by pressing ``Ctrl+C`` in the launching terminal." +"This will cause the same behavior as in the previous run, because " +"although we have set ``LIVESTREAM=0`` in our envars, CLI args such as " +"``--livestream`` take precedence in determining behavior. The process can" +" be killed by pressing ``Ctrl+C`` in the launching terminal." msgstr "" -"这会导致与上次运行相同的行为,因为虽然我们在envars中设置了 ``LIVESTREAM=0`` ,但CLI参数如 ``--livestream`` " -"优先确定行为。可以通过在启动终端中按 ``Ctrl+C`` 键来终止该进程。" +"这会导致与上次运行相同的行为,因为虽然我们在envars中设置了 ``LIVESTREAM=0`` ,但CLI参数如 " +"``--livestream`` 优先确定行为。可以通过在启动终端中按 ``Ctrl+C`` 键来终止该进程。" -#: ../../source/tutorials/00_sim/launch_app.rst:163 +#: ../../source/tutorials/00_sim/launch_app.rst:162 msgid "" "Finally, we will examine passing arguments to " ":class:`~omni.isaac.kit.SimulationApp` through :class:`~app.AppLauncher`:" @@ -256,13 +257,17 @@ msgstr "" "最后,我们将研究通过 :class:`~app.AppLauncher` 向 " ":class:`~omni.isaac.kit.SimulationApp` 传递参数: " -#: ../../source/tutorials/00_sim/launch_app.rst:171 +#: ../../source/tutorials/00_sim/launch_app.rst:169 msgid "" -"This will cause the same behavior as before, but now the viewport will be " -"rendered at 1920x1080p resolution. This can be useful when we want to gather" -" high-resolution video, or we can specify a lower resolution if we want our " -"simulation to be more performant. The process can be killed by pressing " -"``Ctrl+C`` in the launching terminal." +"This will cause the same behavior as before, but now the viewport will be" +" rendered at 1920x1080p resolution. This can be useful when we want to " +"gather high-resolution video, or we can specify a lower resolution if we " +"want our simulation to be more performant. The process can be killed by " +"pressing ``Ctrl+C`` in the launching terminal." msgstr "" "这将导致与之前的行为相同,但现在视口将以1920x1080p分辨率进行渲染。在希望收集高分辨率视频或者希望使模拟更具性能时,这可能非常有用。可以通过在启动终端中按" " ``Ctrl+C`` 键来终止该进程。" + +#~ msgid "result of launch_app.py" +#~ msgstr "launch_app.py 的结果" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/00_sim/spawn_prims.po b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/00_sim/spawn_prims.po index 79d7d5d62a..4ffb280054 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/00_sim/spawn_prims.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/00_sim/spawn_prims.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-25 13:53+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.16.0\n" #: ../../source/tutorials/00_sim/spawn_prims.rst:5 @@ -25,8 +25,9 @@ msgstr "生成基本物体到场景中" msgid "" "This tutorial explores how to spawn various objects (or prims) into the " "scene in Isaac Lab from Python. It builds upon the previous tutorial on " -"running the simulator from a standalone script and demonstrates how to spawn" -" a ground plane, lights, primitive shapes, and meshes from USD files." +"running the simulator from a standalone script and demonstrates how to " +"spawn a ground plane, lights, primitive shapes, and meshes from USD " +"files." msgstr "" "本教程探讨了如何从Python在Isaac " "Lab中将各种对象(或基本物体)生成到场景中。它基于先前的教程,演示了如何从独立脚本运行模拟器,并演示了如何生成地面平面、灯光、基本形状和来自USD文件的网格。" @@ -38,8 +39,8 @@ msgstr "代码" #: ../../source/tutorials/00_sim/spawn_prims.rst:17 msgid "" "The tutorial corresponds to the ``spawn_prims.py`` script in the " -"``source/standalone/tutorials/00_sim`` directory. Let's take a look at the " -"Python script:" +"``source/standalone/tutorials/00_sim`` directory. Let's take a look at " +"the Python script:" msgstr "" "该教程对应于 ``source/standalone/tutorials/00_sim`` 目录中的 ``spawn_prims.py`` " "脚本。让我们看一下Python脚本: " @@ -56,9 +57,9 @@ msgstr "代码解释" msgid "" "Scene designing in Omniverse is built around a software system and file " "format called USD (Universal Scene Description). It allows describing 3D " -"scenes in a hierarchical manner, similar to a file system. Since USD is a " -"comprehensive framework, we recommend reading the `USD documentation`_ to " -"learn more about it." +"scenes in a hierarchical manner, similar to a file system. Since USD is a" +" comprehensive framework, we recommend reading the `USD documentation`_ " +"to learn more about it." msgstr "" "Omniverse中的场景设计是建立在名为USD(Universal Scene " "Description)的软件系统和文件格式周围的。它允许以层次结构方式描述3D场景,类似于文件系统。由于USD是一个全面的框架,我们建议阅读 " @@ -72,59 +73,60 @@ msgstr "为了完整起见,在本教程中我们介绍USD的必要概念。" #: ../../source/tutorials/00_sim/spawn_prims.rst:38 msgid "" -"**Primitives (Prims)**: These are the basic building blocks of a USD scene. " -"They can be thought of as nodes in a scene graph. Each node can be a mesh, a" -" light, a camera, or a transform. It can also be a group of other prims " -"under it." +"**Primitives (Prims)**: These are the basic building blocks of a USD " +"scene. They can be thought of as nodes in a scene graph. Each node can be" +" a mesh, a light, a camera, or a transform. It can also be a group of " +"other prims under it." msgstr "" "**基本形状(Prims)**: " "这些是USD场景的基本构建块。它们可以被视为场景图中的节点。每个节点可以是网格、光源、相机或变换。它也可以是其下其他基本物体的组。" #: ../../source/tutorials/00_sim/spawn_prims.rst:40 msgid "" -"**Attributes**: These are the properties of a prim. They can be thought of " -"as key-value pairs. For example, a prim can have an attribute called " +"**Attributes**: These are the properties of a prim. They can be thought " +"of as key-value pairs. For example, a prim can have an attribute called " "``color`` with a value of ``red``." msgstr "" -"**属性**: 这些是基本物体的属性。可以将它们看作是键-值对。例如,一个基本物体可以有一个名为 ``color`` 的属性,其值为 ``red`` 。" +"**属性**: 这些是基本物体的属性。可以将它们看作是键-值对。例如,一个基本物体可以有一个名为 ``color`` 的属性,其值为 " +"``red`` 。" #: ../../source/tutorials/00_sim/spawn_prims.rst:42 msgid "" "**Relationships**: These are the connections between prims. They can be " -"thought of as pointers to other prims. For example, a mesh prim can have a " -"relationship to a material prim for shading." +"thought of as pointers to other prims. For example, a mesh prim can have " +"a relationship to a material prim for shading." msgstr "**关系**: 这些是基本物体之间的连接。可以将它们视为指向其他基体的指针。例如,一个网格基本体可以与一个用于着色的材质基本体建立关系。" #: ../../source/tutorials/00_sim/spawn_prims.rst:45 msgid "" "A collection of these prims, with their attributes and relationships, is " -"called a **USD stage**. It can be thought of as a container for all prims in" -" a scene. When we say we are designing a scene, we are actually designing a " -"USD stage." +"called a **USD stage**. It can be thought of as a container for all prims" +" in a scene. When we say we are designing a scene, we are actually " +"designing a USD stage." msgstr "" "这些基本物体、其属性和关系的集合被称为一个 **USD阶段** " "。可以将其看作是场景中所有基本物体的容器。当我们说我们正在设计一个场景时,我们实际上正在设计一个USD阶段。" #: ../../source/tutorials/00_sim/spawn_prims.rst:48 msgid "" -"While working with direct USD APIs provides a lot of flexibility, it can be " -"cumbersome to learn and use. To make it easier to design scenes, Isaac Lab " -"builds on top of the USD APIs to provide a configuration-driven interface to" -" spawn prims into a scene. These are included in the :mod:`sim.spawners` " -"module." +"While working with direct USD APIs provides a lot of flexibility, it can " +"be cumbersome to learn and use. To make it easier to design scenes, Isaac" +" Lab builds on top of the USD APIs to provide a configuration-driven " +"interface to spawn prims into a scene. These are included in the " +":mod:`sim.spawners` module." msgstr "" "使用直接的USD API提供了很大的灵活性,但学习和使用起来可能很麻烦。为了更轻松地设计场景,Isaac Lab建立在USD " "API之上,提供了一个基于配置的接口来将基本物体生成到场景中。这些包含在 :mod:`sim.spawners` 模块中。" #: ../../source/tutorials/00_sim/spawn_prims.rst:52 msgid "" -"When spawning prims into the scene, each prim requires a configuration class" -" instance that defines the prim's attributes and relationships (through " -"material and shading information). The configuration class is then passed to" -" its respective function where the prim name and transformation are " -"specified. The function then spawns the prim into the scene." -msgstr "" -"当将基本物体生成到场景中时,每个基本物体都需要一个定义其属性和关系(通过材质和着色信息)的配置类实例。然后将配置类传递给其相应的函数,其中指定了基本物体名称和变换。该函数然后将基本物体生成到场景中。" +"When spawning prims into the scene, each prim requires a configuration " +"class instance that defines the prim's attributes and relationships " +"(through material and shading information). The configuration class is " +"then passed to its respective function where the prim name and " +"transformation are specified. The function then spawns the prim into the " +"scene." +msgstr "当将基本物体生成到场景中时,每个基本物体都需要一个定义其属性和关系(通过材质和着色信息)的配置类实例。然后将配置类传递给其相应的函数,其中指定了基本物体名称和变换。该函数然后将基本物体生成到场景中。" #: ../../source/tutorials/00_sim/spawn_prims.rst:56 msgid "At a high-level, this is how it works:" @@ -133,21 +135,20 @@ msgstr "在高层次上,它是如何工作的: " #: ../../source/tutorials/00_sim/spawn_prims.rst:71 msgid "" "In this tutorial, we demonstrate the spawning of various different prims " -"into the scene. For more information on the available spawners, please refer" -" to the :mod:`sim.spawners` module in Isaac Lab." +"into the scene. For more information on the available spawners, please " +"refer to the :mod:`sim.spawners` module in Isaac Lab." msgstr "" -"在本教程中,我们演示将各种不同的基本物体生成到场景中。有关可用的生成器的更多信息,请参考Isaac Lab中的 :mod:`sim.spawners` " -"模块 ." +"在本教程中,我们演示将各种不同的基本物体生成到场景中。有关可用的生成器的更多信息,请参考Isaac Lab中的 " +":mod:`sim.spawners` 模块 ." #: ../../source/tutorials/00_sim/spawn_prims.rst:76 msgid "" -"All the scene designing must happen before the simulation starts. Once the " -"simulation starts, we recommend keeping the scene frozen and only altering " -"the properties of the prim. This is particularly important for GPU " -"simulation as adding new prims during simulation may alter the physics " -"simulation buffers on GPU and lead to unexpected behaviors." -msgstr "" -"所有的场景设计必须在仿真开始之前进行。一旦仿真开始,我们建议保持场景冻结,并仅更改基本物体的属性。这对于GPU仿真特别重要,因为在仿真过程中添加新的基本物体可能会改变GPU上的物理仿真缓冲区,并导致意外行为。" +"All the scene designing must happen before the simulation starts. Once " +"the simulation starts, we recommend keeping the scene frozen and only " +"altering the properties of the prim. This is particularly important for " +"GPU simulation as adding new prims during simulation may alter the " +"physics simulation buffers on GPU and lead to unexpected behaviors." +msgstr "所有的场景设计必须在仿真开始之前进行。一旦仿真开始,我们建议保持场景冻结,并仅更改基本物体的属性。这对于GPU仿真特别重要,因为在仿真过程中添加新的基本物体可能会改变GPU上的物理仿真缓冲区,并导致意外行为。" #: ../../source/tutorials/00_sim/spawn_prims.rst:83 msgid "Spawning a ground plane" @@ -155,8 +156,9 @@ msgstr "生成地面平面" #: ../../source/tutorials/00_sim/spawn_prims.rst:85 msgid "" -"The :class:`~sim.spawners.from_files.GroundPlaneCfg` configures a grid-like " -"ground plane with modifiable properties such as its appearance and size." +"The :class:`~sim.spawners.from_files.GroundPlaneCfg` configures a grid-" +"like ground plane with modifiable properties such as its appearance and " +"size." msgstr "" ":class:`~sim.spawners.from_files.GroundPlaneCfg` " "配置了一个类似网格的地面平面,其外观和大小等属性可修改。" @@ -168,9 +170,9 @@ msgstr "生成灯光" #: ../../source/tutorials/00_sim/spawn_prims.rst:97 msgid "" "It is possible to spawn `different light prims`_ into the stage. These " -"include distant lights, sphere lights, disk lights, and cylinder lights. In " -"this tutorial, we spawn a distant light which is a light that is infinitely " -"far away from the scene and shines in a single direction." +"include distant lights, sphere lights, disk lights, and cylinder lights. " +"In this tutorial, we spawn a distant light which is a light that is " +"infinitely far away from the scene and shines in a single direction." msgstr "" "可以将 `不同类型的灯光基本体`_ " "生成到场景中。这些包括远光灯、球形灯、圆盘灯和圆柱灯。在本教程中,我们生成一个远光灯,这是一种远离场景无限远的灯,只朝一个方向发光。" @@ -181,48 +183,50 @@ msgstr "生成基本形状" #: ../../source/tutorials/00_sim/spawn_prims.rst:110 msgid "" -"Before spawning primitive shapes, we introduce the concept of a transform " -"prim or Xform. A transform prim is a prim that contains only transformation " -"properties. It is used to group other prims under it and to transform them " -"as a group. Here we make an Xform prim to group all the primitive shapes " -"under it." -msgstr "" -"在生成基本形状之前,我们介绍了一个变换基本体或Xform的概念。变换基本体是一个仅包含变换属性的基本体。它用于将其他基本体分组,并作为一个组对其进行变换。在这里,我们创建一个Xform基本体,将所有的基本形状分组在其中。" +"Before spawning primitive shapes, we introduce the concept of a transform" +" prim or Xform. A transform prim is a prim that contains only " +"transformation properties. It is used to group other prims under it and " +"to transform them as a group. Here we make an Xform prim to group all the" +" primitive shapes under it." +msgstr "在生成基本形状之前,我们介绍了一个变换基本体或Xform的概念。变换基本体是一个仅包含变换属性的基本体。它用于将其他基本体分组,并作为一个组对其进行变换。在这里,我们创建一个Xform基本体,将所有的基本形状分组在其中。" #: ../../source/tutorials/00_sim/spawn_prims.rst:119 msgid "" -"Next, we spawn a cone using the :class:`~sim.spawners.shapes.ConeCfg` class." -" It is possible to specify the radius, height, physics properties, and " -"material properties of the cone. By default, the physics and material " -"properties are disabled." +"Next, we spawn a cone using the :class:`~sim.spawners.shapes.ConeCfg` " +"class. It is possible to specify the radius, height, physics properties, " +"and material properties of the cone. By default, the physics and material" +" properties are disabled." msgstr "" "接下来,我们使用 :class:`~sim.spawners.shapes.ConeCfg` " "类生成一个圆锥体。可以指定圆锥体的半径、高度、物理属性和材质属性。默认情况下,物理和材质属性是禁用的。" #: ../../source/tutorials/00_sim/spawn_prims.rst:123 msgid "" -"The first two cones we spawn ``Cone1`` and ``Cone2`` are visual elements and" -" do not have physics enabled." +"The first two cones we spawn ``Cone1`` and ``Cone2`` are visual elements " +"and do not have physics enabled." msgstr "我们生成的前两个圆锥 ``Cone1`` 和 ``Cone2`` 是视觉元素,不启用物理属性。" #: ../../source/tutorials/00_sim/spawn_prims.rst:130 msgid "" -"For the third cone ``ConeRigid``, we add rigid body physics to it by setting" -" the attributes for that in the configuration class. Through these " -"attributes, we can specify the mass, friction, and restitution of the cone. " -"If unspecified, they default to the default values set by USD Physics." +"For the third cone ``ConeRigid``, we add rigid body physics to it by " +"setting the attributes for that in the configuration class. Through these" +" attributes, we can specify the mass, friction, and restitution of the " +"cone. If unspecified, they default to the default values set by USD " +"Physics." msgstr "" "对于第三个圆锥 ``ConeRigid`` " -",我们在配置类中设置刚体物理属性。通过这些属性,我们可以指定圆锥体的质量、摩擦力和弹性。如果未指定,它们将默认为USD Physics设置的默认值。" +",我们在配置类中设置刚体物理属性。通过这些属性,我们可以指定圆锥体的质量、摩擦力和弹性。如果未指定,它们将默认为USD " +"Physics设置的默认值。" #: ../../source/tutorials/00_sim/spawn_prims.rst:139 msgid "" "Lastly, we spawn a cuboid ``CuboidDeformable`` which contains deformable " -"body physics properties. Unlike the rigid body simulation, a deformable body" -" can have relative motion between its vertices. This is useful for " -"simulating soft bodies like cloth, rubber, or jello. It is important to note" -" that deformable bodies are only supported in GPU simulation and require a " -"mesh object to be spawned with the deformable body physics properties." +"body physics properties. Unlike the rigid body simulation, a deformable " +"body can have relative motion between its vertices. This is useful for " +"simulating soft bodies like cloth, rubber, or jello. It is important to " +"note that deformable bodies are only supported in GPU simulation and " +"require a mesh object to be spawned with the deformable body physics " +"properties." msgstr "" "最后,我们生成一个长方体 ``CuboidDeformable`` " ",其中包含可变形体物理属性。与刚体模拟不同,可变形体可以在其顶点之间具有相对运动。这对于模拟软体如布料、橡胶或果冻非常有用。需要注意的是,可变形体仅在GPU模拟中受支持,并且需要生成一个带有可变形体物理属性的网格对象。" @@ -233,22 +237,21 @@ msgstr "从另一个文件生成" #: ../../source/tutorials/00_sim/spawn_prims.rst:152 msgid "" -"Lastly, it is possible to spawn prims from other file formats such as other " -"USD, URDF, or OBJ files. In this tutorial, we spawn a USD file of a table " -"into the scene. The table is a mesh prim and has a material prim associated " -"with it. All of this information is stored in its USD file." -msgstr "" -"最后,可以从其他文件格式生成基本体,例如其他USD、URDF或OBJ文件。在本教程中,我们将一个表的USD文件生成到场景中。这个表是一个网格基本体,并且有一个与之关联的材质基本体。所有这些信息都存储在其USD文件中。" +"Lastly, it is possible to spawn prims from other file formats such as " +"other USD, URDF, or OBJ files. In this tutorial, we spawn a USD file of a" +" table into the scene. The table is a mesh prim and has a material prim " +"associated with it. All of this information is stored in its USD file." +msgstr "最后,可以从其他文件格式生成基本体,例如其他USD、URDF或OBJ文件。在本教程中,我们将一个表的USD文件生成到场景中。这个表是一个网格基本体,并且有一个与之关联的材质基本体。所有这些信息都存储在其USD文件中。" #: ../../source/tutorials/00_sim/spawn_prims.rst:161 msgid "" -"The table above is added as a reference to the scene. In layman terms, this " -"means that the table is not actually added to the scene, but a ``pointer`` " -"to the table asset is added. This allows us to modify the table asset and " -"have the changes reflected in the scene in a non-destructive manner. For " -"example, we can change the material of the table without actually modifying " -"the underlying file for the table asset directly. Only the changes are " -"stored in the USD stage." +"The table above is added as a reference to the scene. In layman terms, " +"this means that the table is not actually added to the scene, but a " +"``pointer`` to the table asset is added. This allows us to modify the " +"table asset and have the changes reflected in the scene in a non-" +"destructive manner. For example, we can change the material of the table " +"without actually modifying the underlying file for the table asset " +"directly. Only the changes are stored in the USD stage." msgstr "" "上面的表被添加为场景的一个引用。简单来说,这意味着表实际上并没有添加到场景中,而是添加了一个指向表资产的 ``指针`` " "。这允许我们修改表资产,并使更改以非破坏性的方式反映在场景中。例如,我们可以更改表的材质,而不实际修改表资产的底层文件。只有更改存储在USD阶段中。" @@ -265,26 +268,32 @@ msgstr "与之前的教程类似,要运行脚本,请执行以下命令: " #: ../../source/tutorials/00_sim/spawn_prims.rst:176 msgid "" -"Once the simulation starts, you should see a window with a ground plane, a " -"light, some cones, and a table. The green cone, which has rigid body physics" -" enabled, should fall and collide with the table and the ground plane. The " -"other cones are visual elements and should not move. To stop the simulation," -" you can close the window, or press ``Ctrl+C`` in the terminal." +"Once the simulation starts, you should see a window with a ground plane, " +"a light, some cones, and a table. The green cone, which has rigid body " +"physics enabled, should fall and collide with the table and the ground " +"plane. The other cones are visual elements and should not move. To stop " +"the simulation, you can close the window, or press ``Ctrl+C`` in the " +"terminal." msgstr "" "一旦仿真开始,您应该看到一个具有地面平面、灯光、一些圆锥体和一个表的窗口。启用刚体物理属性的绿色圆锥体应该会掉落并与表和地面平面碰撞。其他圆锥体是视觉元素,不应该移动。要停止仿真,您可以关闭窗口,或在终端中按" " ``Ctrl+C`` 。" #: ../../source/tutorials/00_sim/spawn_prims.rst:-1 -msgid "result of spawn_prims.py" -msgstr "spawn_prims.py 的结果" +#, fuzzy +msgid "spawn_prims.py 的结果" +msgstr "spawn_prims.py的代码" #: ../../source/tutorials/00_sim/spawn_prims.rst:186 msgid "" "This tutorial provided a foundation for spawning various prims into the " -"scene in Isaac Lab. Although simple, it demonstrates the basic concepts of " -"scene designing in Isaac Lab and how to use the spawners. In the coming " -"tutorials, we will now look at how to interact with the scene and the " -"simulation." +"scene in Isaac Lab. Although simple, it demonstrates the basic concepts " +"of scene designing in Isaac Lab and how to use the spawners. In the " +"coming tutorials, we will now look at how to interact with the scene and " +"the simulation." msgstr "" "本教程为在Isaac Lab中生成各种基本体提供了一个基础。虽然简单,但它展示了在Isaac " "Lab中设计场景的基本概念以及如何使用生成器。在接下来的教程中,我们将看看如何与场景和仿真进行交互。" + +#~ msgid "result of spawn_prims.py" +#~ msgstr "spawn_prims.py 的结果" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/01_assets/run_articulation.po b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/01_assets/run_articulation.po index f91749e5c0..102a1a76ba 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/01_assets/run_articulation.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/01_assets/run_articulation.po @@ -6,16 +6,16 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-27 20:01+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/tutorials/01_assets/run_articulation.rst:4 msgid "Interacting with an articulation" @@ -25,9 +25,9 @@ msgstr "与关节交互" msgid "" "This tutorial shows how to interact with an articulated robot in the " "simulation. It is a continuation of the :ref:`tutorial-interact-rigid-" -"object` tutorial, where we learned how to interact with a rigid object. On " -"top of setting the root state, we will see how to set the joint state and " -"apply commands to the articulated robot." +"object` tutorial, where we learned how to interact with a rigid object. " +"On top of setting the root state, we will see how to set the joint state " +"and apply commands to the articulated robot." msgstr "" "本教程展示了如何与模拟中的关节机器人进行交互。这是 :ref:`tutorial-interact-rigid-object` " "教程的延续,其中我们学习了如何与刚体对象交互。除了设置根状态外,我们还将看到如何设置关节状态并向关节机器人应用命令。" @@ -58,37 +58,37 @@ msgstr "场景设计" #: ../../source/tutorials/01_assets/run_articulation.rst:36 msgid "" -"Similar to the previous tutorial, we populate the scene with a ground plane " -"and a distant light. Instead of spawning rigid objects, we now spawn a cart-" -"pole articulation from its USD file. The cart-pole is a simple robot " -"consisting of a cart and a pole attached to it. The cart is free to move " -"along the x-axis, and the pole is free to rotate about the cart. The USD " -"file for the cart-pole contains the robot's geometry, joints, and other " -"physical properties." +"Similar to the previous tutorial, we populate the scene with a ground " +"plane and a distant light. Instead of spawning rigid objects, we now " +"spawn a cart-pole articulation from its USD file. The cart-pole is a " +"simple robot consisting of a cart and a pole attached to it. The cart is " +"free to move along the x-axis, and the pole is free to rotate about the " +"cart. The USD file for the cart-pole contains the robot's geometry, " +"joints, and other physical properties." msgstr "" "与上一个教程相似,我们在场景中添加了地面平面和远程光线。现在,我们不再产生刚性物体,而是从其 USD " -"文件中生成一个车杆关节。车杆是一个简单的机器人,由一个小车和一个连接到它的杆组成。小车可以沿 x 轴自由移动,而杆可以围绕小车自由旋转。车杆的 USD " -"文件包含了机器人的几何形状、关节和其他物理性质。" +"文件中生成一个车杆关节。车杆是一个简单的机器人,由一个小车和一个连接到它的杆组成。小车可以沿 x 轴自由移动,而杆可以围绕小车自由旋转。车杆的 " +"USD 文件包含了机器人的几何形状、关节和其他物理性质。" #: ../../source/tutorials/01_assets/run_articulation.rst:42 msgid "" -"For the cart-pole, we use its pre-defined configuration object, which is an " -"instance of the :class:`assets.ArticulationCfg` class. This class contains " -"information about the articulation's spawning strategy, default initial " -"state, actuator models for different joints, and other meta-information. A " -"deeper-dive into how to create this configuration object is provided in the " -":ref:`how-to-write-articulation-config` tutorial." +"For the cart-pole, we use its pre-defined configuration object, which is " +"an instance of the :class:`assets.ArticulationCfg` class. This class " +"contains information about the articulation's spawning strategy, default " +"initial state, actuator models for different joints, and other meta-" +"information. A deeper-dive into how to create this configuration object " +"is provided in the :ref:`how-to-write-articulation-config` tutorial." msgstr "" "对于车杆,我们使用其预定义的配置对象,这是 :class:`assets.ArticulationCfg` " -"类的一个实例。这个类包含关于关节产生策略、默认初始状态、不同关节的执行器模型和其他元信息的信息。如何创建这个配置对象的更深入介绍在 :ref:`how-" -"to-write-articulation-config` 教程中提供。" +"类的一个实例。这个类包含关于关节产生策略、默认初始状态、不同关节的执行器模型和其他元信息的信息。如何创建这个配置对象的更深入介绍在 :ref" +":`how-to-write-articulation-config` 教程中提供。" #: ../../source/tutorials/01_assets/run_articulation.rst:47 msgid "" "As seen in the previous tutorial, we can spawn the articulation into the " "scene in a similar fashion by creating an instance of the " -":class:`assets.Articulation` class by passing the configuration object to " -"its constructor." +":class:`assets.Articulation` class by passing the configuration object to" +" its constructor." msgstr "" "正如在上一个教程中看到的,我们可以通过创建 :class:`assets.Articulation` " "类的实例并将配置对象传递给它的构造函数的方式类似地将关节放入场景中。" @@ -99,9 +99,9 @@ msgstr "运行模拟循环" #: ../../source/tutorials/01_assets/run_articulation.rst:59 msgid "" -"Continuing from the previous tutorial, we reset the simulation at regular " -"intervals, set commands to the articulation, step the simulation, and update" -" the articulation's internal buffers." +"Continuing from the previous tutorial, we reset the simulation at regular" +" intervals, set commands to the articulation, step the simulation, and " +"update the articulation's internal buffers." msgstr "从上一个教程中继续,我们定期重置模拟,对关节机器人设置命令,推进模拟,并更新关节机器人的内部缓冲区。" #: ../../source/tutorials/01_assets/run_articulation.rst:63 @@ -110,20 +110,20 @@ msgstr "重置模拟" #: ../../source/tutorials/01_assets/run_articulation.rst:65 msgid "" -"Similar to a rigid object, an articulation also has a root state. This state" -" corresponds to the root body in the articulation tree. On top of the root " -"state, an articulation also has joint states. These states correspond to the" -" joint positions and velocities." -msgstr "" -"与刚体物体类似,关节机器人也有一个根状态。这个状态对应于关节机器人树中的根体。在根状态之上,关节机器人还有关节状态。这些状态对应于关节的位置和速度。" +"Similar to a rigid object, an articulation also has a root state. This " +"state corresponds to the root body in the articulation tree. On top of " +"the root state, an articulation also has joint states. These states " +"correspond to the joint positions and velocities." +msgstr "与刚体物体类似,关节机器人也有一个根状态。这个状态对应于关节机器人树中的根体。在根状态之上,关节机器人还有关节状态。这些状态对应于关节的位置和速度。" #: ../../source/tutorials/01_assets/run_articulation.rst:69 msgid "" "To reset the articulation, we first set the root state by calling the " -":meth:`Articulation.write_root_state_to_sim` method. Similarly, we set the " -"joint states by calling the :meth:`Articulation.write_joint_state_to_sim` " -"method. Finally, we call the :meth:`Articulation.reset` method to reset any " -"internal buffers and caches." +":meth:`Articulation.write_root_state_to_sim` method. Similarly, we set " +"the joint states by calling the " +":meth:`Articulation.write_joint_state_to_sim` method. Finally, we call " +"the :meth:`Articulation.reset` method to reset any internal buffers and " +"caches." msgstr "" "为了重置关节机器人,我们首先通过调用 :meth:`Articulation.write_root_state_to_sim` " "方法设置根状态。类似地,我们通过调用 :meth:`Articulation.write_joint_state_to_sim` " @@ -139,39 +139,39 @@ msgstr "向关节机器人应用命令涉及两个步骤: " #: ../../source/tutorials/01_assets/run_articulation.rst:83 msgid "" -"*Setting the joint targets*: This sets the desired joint position, velocity," -" or effort targets for the articulation." +"*Setting the joint targets*: This sets the desired joint position, " +"velocity, or effort targets for the articulation." msgstr "*设置关节目标*: 这为关节机器人设置期望的关节位置、速度或努力目标。" #: ../../source/tutorials/01_assets/run_articulation.rst:84 msgid "" "*Writing the data to the simulation*: Based on the articulation's " -"configuration, this step handles any :ref:`actuation conversions ` and writes the converted values to the PhysX buffer." +"configuration, this step handles any :ref:`actuation conversions " +"` and writes the converted values to the PhysX " +"buffer." msgstr "" "*将数据写入模拟*: 根据关节机器人的配置,这一步处理任何 :ref:`动作转换 ` 并将转换后的值写入 " "PhysX 缓冲区。" #: ../../source/tutorials/01_assets/run_articulation.rst:87 msgid "" -"In this tutorial, we control the articulation using joint effort commands. " -"For this to work, we need to set the articulation's stiffness and damping " -"parameters to zero. This is done a-priori inside the cart-pole's pre-defined" -" configuration object." -msgstr "" -"在本教程中,我们使用关节努力命令来控制关节机器人。为此工作,我们需要将关节机器人的刚度和阻尼参数设置为零。这是在车杆的预定义配置对象内部预先完成的。" +"In this tutorial, we control the articulation using joint effort " +"commands. For this to work, we need to set the articulation's stiffness " +"and damping parameters to zero. This is done a-priori inside the cart-" +"pole's pre-defined configuration object." +msgstr "在本教程中,我们使用关节努力命令来控制关节机器人。为此工作,我们需要将关节机器人的刚度和阻尼参数设置为零。这是在车杆的预定义配置对象内部预先完成的。" #: ../../source/tutorials/01_assets/run_articulation.rst:91 msgid "" "At every step, we randomly sample joint efforts and set them to the " "articulation by calling the :meth:`Articulation.set_joint_effort_target` " "method. After setting the targets, we call the " -":meth:`Articulation.write_data_to_sim` method to write the data to the PhysX" -" buffer. Finally, we step the simulation." +":meth:`Articulation.write_data_to_sim` method to write the data to the " +"PhysX buffer. Finally, we step the simulation." msgstr "" "在每一步中,我们随机采样关节努力并通过调用 :meth:`Articulation.set_joint_effort_target` " -"方法将它们设置给关节机器人。在设置好目标后,我们通过调用 :meth:`Articulation.write_data_to_sim` 方法将数据写入 " -"PhysX 缓冲区。最后,我们推进模拟。" +"方法将它们设置给关节机器人。在设置好目标后,我们通过调用 :meth:`Articulation.write_data_to_sim` " +"方法将数据写入 PhysX 缓冲区。最后,我们推进模拟。" #: ../../source/tutorials/01_assets/run_articulation.rst:103 msgid "Updating the state" @@ -179,12 +179,13 @@ msgstr "更新状态" #: ../../source/tutorials/01_assets/run_articulation.rst:105 msgid "" -"Every articulation class contains a :class:`assets.ArticulationData` object." -" This stores the state of the articulation. To update the state inside the " -"buffer, we call the :meth:`assets.Articulation.update` method." +"Every articulation class contains a :class:`assets.ArticulationData` " +"object. This stores the state of the articulation. To update the state " +"inside the buffer, we call the :meth:`assets.Articulation.update` method." msgstr "" "每个关节机器人类包含一个 :class:`assets.ArticulationData` " -"对象。这个对象保存了关节机器人的状态。为了更新缓冲区内的状态,我们调用 :meth:`assets.Articulation.update` 方法。" +"对象。这个对象保存了关节机器人的状态。为了更新缓冲区内的状态,我们调用 :meth:`assets.Articulation.update` " +"方法。" #: ../../source/tutorials/01_assets/run_articulation.rst:115 msgid "The Code Execution" @@ -192,35 +193,41 @@ msgstr "代码执行" #: ../../source/tutorials/01_assets/run_articulation.rst:118 msgid "" -"To run the code and see the results, let's run the script from the terminal:" +"To run the code and see the results, let's run the script from the " +"terminal:" msgstr "要运行代码并查看结果,让我们从终端运行脚本: " #: ../../source/tutorials/01_assets/run_articulation.rst:125 msgid "" -"This command should open a stage with a ground plane, lights, and two cart-" -"poles that are moving around randomly. To stop the simulation, you can " -"either close the window, or press ``Ctrl+C`` in the terminal." +"This command should open a stage with a ground plane, lights, and two " +"cart-poles that are moving around randomly. To stop the simulation, you " +"can either close the window, or press ``Ctrl+C`` in the terminal." msgstr "" -"这个命令应该会打开一个包含地面平面、灯光和两个随机移动的cart-poles的场景。要停止模拟,您可以关闭窗口,或在终端中按 ``Ctrl+C`` 。" +"这个命令应该会打开一个包含地面平面、灯光和两个随机移动的cart-poles的场景。要停止模拟,您可以关闭窗口,或在终端中按 ``Ctrl+C``" +" 。" #: ../../source/tutorials/01_assets/run_articulation.rst:-1 -msgid "result of run_articulation.py" -msgstr "run_articulation.py 的结果" +#, fuzzy +msgid "run_articulation.py 的结果" +msgstr "代码 `run_articulation.py` 的内容" #: ../../source/tutorials/01_assets/run_articulation.rst:133 msgid "" "In this tutorial, we learned how to create and interact with a simple " -"articulation. We saw how to set the state of an articulation (its root and " -"joint state) and how to apply commands to it. We also saw how to update its " -"buffers to read the latest state from the simulation." -msgstr "" -"在本教程中,我们学会了如何创建和交互一个简单的关节机器人。我们看到了如何设置关节机器人的状态(其根和关节状态),以及如何对其应用命令。我们还看到了如何更新其缓冲区,以从模拟中读取最新状态。" +"articulation. We saw how to set the state of an articulation (its root " +"and joint state) and how to apply commands to it. We also saw how to " +"update its buffers to read the latest state from the simulation." +msgstr "在本教程中,我们学会了如何创建和交互一个简单的关节机器人。我们看到了如何设置关节机器人的状态(其根和关节状态),以及如何对其应用命令。我们还看到了如何更新其缓冲区,以从模拟中读取最新状态。" #: ../../source/tutorials/01_assets/run_articulation.rst:137 msgid "" -"In addition to this tutorial, we also provide a few other scripts that spawn" -" different robots.These are included in the ``source/standalone/demos`` " -"directory. You can run these scripts as:" +"In addition to this tutorial, we also provide a few other scripts that " +"spawn different robots.These are included in the " +"``source/standalone/demos`` directory. You can run these scripts as:" msgstr "" "除了这个教程之外,我们还提供了一些生成不同机器人的其他脚本。这些包括在 ``source/standalone/demos`` " "目录中。您可以运行这些脚本,比如: " + +#~ msgid "result of run_articulation.py" +#~ msgstr "run_articulation.py 的结果" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/01_assets/run_deformable_object.po b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/01_assets/run_deformable_object.po index 5ac722f9be..d4a4e7b189 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/01_assets/run_deformable_object.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/01_assets/run_deformable_object.po @@ -6,16 +6,16 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-27 20:01+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/tutorials/01_assets/run_deformable_object.rst:5 msgid "Interacting with a deformable object" @@ -23,22 +23,22 @@ msgstr "与可变形对象交互" #: ../../source/tutorials/01_assets/run_deformable_object.rst:9 msgid "" -"While deformable objects sometimes refer to a broader class of objects, such" -" as cloths, fluids and soft bodies, in PhysX, deformable objects " -"syntactically correspond to soft bodies. Unlike rigid objects, soft bodies " -"can deform under external forces and collisions." +"While deformable objects sometimes refer to a broader class of objects, " +"such as cloths, fluids and soft bodies, in PhysX, deformable objects " +"syntactically correspond to soft bodies. Unlike rigid objects, soft " +"bodies can deform under external forces and collisions." msgstr "" "虽然可变形物体有时指的是一个更广泛的物体类别,如衣物、流体和软体,但在 `PhysX` " "中,可变形物体在语法上对应于软体。与刚体不同,软体在外部力量和碰撞下可以变形。" #: ../../source/tutorials/01_assets/run_deformable_object.rst:13 msgid "" -"Soft bodies are simulated using Finite Element Method (FEM) in PhysX. The " -"soft body comprises of two tetrahedral meshes -- a simulation mesh and a " -"collision mesh. The simulation mesh is used to simulate the deformations of " -"the soft body, while the collision mesh is used to detect collisions with " -"other objects in the scene. For more details, please check the `PhysX " -"documentation`_." +"Soft bodies are simulated using Finite Element Method (FEM) in PhysX. The" +" soft body comprises of two tetrahedral meshes -- a simulation mesh and a" +" collision mesh. The simulation mesh is used to simulate the deformations" +" of the soft body, while the collision mesh is used to detect collisions " +"with other objects in the scene. For more details, please check the " +"`PhysX documentation`_." msgstr "" "软体通过 Finite Element Method (FEM) 在 PhysX 中进行模拟。软体由两个四面体网格组成 -- " "一个模拟网格和一个碰撞网格。模拟网格用于模拟软体的变形,而碰撞网格用于检测与场景中其他物体的碰撞。有关更多细节,请查看 `PhysX " @@ -47,11 +47,10 @@ msgstr "" #: ../../source/tutorials/01_assets/run_deformable_object.rst:18 msgid "" "This tutorial shows how to interact with a deformable object in the " -"simulation. We will spawn a set of soft cubes and see how to set their nodal" -" positions and velocities, along with apply kinematic commands to the mesh " -"nodes to move the soft body." -msgstr "" -"本教程展示了如何在模拟中与可变形对象进行交互。我们将生成一组软体立方体,并了解如何设置它们的节点位置和速度,以及如何对网格节点应用运动学命令以移动软体。" +"simulation. We will spawn a set of soft cubes and see how to set their " +"nodal positions and velocities, along with apply kinematic commands to " +"the mesh nodes to move the soft body." +msgstr "本教程展示了如何在模拟中与可变形对象进行交互。我们将生成一组软体立方体,并了解如何设置它们的节点位置和速度,以及如何对网格节点应用运动学命令以移动软体。" #: ../../source/tutorials/01_assets/run_deformable_object.rst:24 msgid "The Code" @@ -59,8 +58,8 @@ msgstr "代码" #: ../../source/tutorials/01_assets/run_deformable_object.rst:26 msgid "" -"The tutorial corresponds to the ``run_deformable_object.py`` script in the " -"``source/standalone/tutorials/01_assets`` directory." +"The tutorial corresponds to the ``run_deformable_object.py`` script in " +"the ``source/standalone/tutorials/01_assets`` directory." msgstr "" "该教程对应于 ``run_deformable_object.py`` 脚本,在 " "``source/standalone/tutorials/01_assets`` 目录中。" @@ -79,11 +78,12 @@ msgstr "设计场景" #: ../../source/tutorials/01_assets/run_deformable_object.rst:43 msgid "" -"Similar to the :ref:`tutorial-interact-rigid-object` tutorial, we populate " -"the scene with a ground plane and a light source. In addition, we add a " -"deformable object to the scene using the :class:`assets.DeformableObject` " -"class. This class is responsible for spawning the prims at the input path " -"and initializes their corresponding deformable body physics handles." +"Similar to the :ref:`tutorial-interact-rigid-object` tutorial, we " +"populate the scene with a ground plane and a light source. In addition, " +"we add a deformable object to the scene using the " +":class:`assets.DeformableObject` class. This class is responsible for " +"spawning the prims at the input path and initializes their corresponding " +"deformable body physics handles." msgstr "" "类似于 :ref:`tutorial-interact-rigid-object` 教程,我们用一个地面平面和一个光源填充场景。此外,我们使用 " ":class:`assets.DeformableObject` " @@ -93,30 +93,33 @@ msgstr "" msgid "" "In this tutorial, we create a cubical soft object using the spawn " "configuration similar to the deformable cube in the :ref:`Spawn Objects " -"` tutorial. The only difference is that now we wrap " -"the spawning configuration into the :class:`assets.DeformableObjectCfg` " -"class. This class contains information about the asset's spawning strategy " -"and default initial state. When this class is passed to the " -":class:`assets.DeformableObject` class, it spawns the object and initializes" -" the corresponding physics handles when the simulation is played." +"` tutorial. The only difference is that now we wrap" +" the spawning configuration into the :class:`assets.DeformableObjectCfg` " +"class. This class contains information about the asset's spawning " +"strategy and default initial state. When this class is passed to the " +":class:`assets.DeformableObject` class, it spawns the object and " +"initializes the corresponding physics handles when the simulation is " +"played." msgstr "" -"在本教程中,我们使用与 :ref:`Spawn Objects ` 教程中的可变立方体类似的 spawn " -"配置来创建一个立方体软体对象。唯一的区别是我们现在将 spawn 配置包装到 :class:`assets.DeformableObjectCfg` " -"类中。这个类包含有关资产的 spawn 策略和默认初始状态的信息。当这个类传递给 :class:`assets.DeformableObject` " +"在本教程中,我们使用与 :ref:`Spawn Objects ` 教程中的可变立方体类似的 " +"spawn 配置来创建一个立方体软体对象。唯一的区别是我们现在将 spawn 配置包装到 " +":class:`assets.DeformableObjectCfg` 类中。这个类包含有关资产的 spawn " +"策略和默认初始状态的信息。当这个类传递给 :class:`assets.DeformableObject` " "类时,它会在模拟播放时生成对象并初始化相应的物理句柄。" #: ../../source/tutorials/01_assets/run_deformable_object.rst:56 msgid "" "The deformable object is only supported in GPU simulation and requires a " -"mesh object to be spawned with the deformable body physics properties on it." +"mesh object to be spawned with the deformable body physics properties on " +"it." msgstr "可变形对象仅在 GPU 模拟中受支持,并且需要一个网格对象来生成,且该网格对象上必须具有可变形体物理属性。" #: ../../source/tutorials/01_assets/run_deformable_object.rst:60 msgid "" -"As seen in the rigid body tutorial, we can spawn the deformable object into " -"the scene in a similar fashion by creating an instance of the " -":class:`assets.DeformableObject` class by passing the configuration object " -"to its constructor." +"As seen in the rigid body tutorial, we can spawn the deformable object " +"into the scene in a similar fashion by creating an instance of the " +":class:`assets.DeformableObject` class by passing the configuration " +"object to its constructor." msgstr "" "如在刚体教程中所见,我们可以通过创建 :class:`assets.DeformableObject` " "类的实例,并将配置对象传递给其构造函数,以类似的方式将可变形对象生成到场景中。" @@ -127,9 +130,9 @@ msgstr "运行模拟循环" #: ../../source/tutorials/01_assets/run_deformable_object.rst:71 msgid "" -"Continuing from the rigid body tutorial, we reset the simulation at regular " -"intervals, apply kinematic commands to the deformable body, step the " -"simulation, and update the deformable object's internal buffers." +"Continuing from the rigid body tutorial, we reset the simulation at " +"regular intervals, apply kinematic commands to the deformable body, step " +"the simulation, and update the deformable object's internal buffers." msgstr "继续刚体教程,我们在定期间隔内重置模拟,对可变形物体应用运动学命令,推进模拟,并更新可变形对象的内部缓冲区。" #: ../../source/tutorials/01_assets/run_deformable_object.rst:75 @@ -138,33 +141,33 @@ msgstr "重置模拟状态" #: ../../source/tutorials/01_assets/run_deformable_object.rst:77 msgid "" -"Unlike rigid bodies and articulations, deformable objects have a different " -"state representation. The state of a deformable object is defined by the " -"nodal positions and velocities of the mesh. The nodal positions and " -"velocities are defined in the **simulation world frame** and are stored in " -"the :attr:`assets.DeformableObject.data` attribute." +"Unlike rigid bodies and articulations, deformable objects have a " +"different state representation. The state of a deformable object is " +"defined by the nodal positions and velocities of the mesh. The nodal " +"positions and velocities are defined in the **simulation world frame** " +"and are stored in the :attr:`assets.DeformableObject.data` attribute." msgstr "" -"与刚体和关节不同,可变形物体具有不同的状态表示。可变形物体的状态由网格的节点位置和速度定义。节点位置和速度定义在 **simulation world " -"frame** 中,并存储在 :attr:`assets.DeformableObject.data` 属性中。" +"与刚体和关节不同,可变形物体具有不同的状态表示。可变形物体的状态由网格的节点位置和速度定义。节点位置和速度定义在 **simulation " +"world frame** 中,并存储在 :attr:`assets.DeformableObject.data` 属性中。" #: ../../source/tutorials/01_assets/run_deformable_object.rst:81 msgid "" "We use the :attr:`assets.DeformableObject.data.default_nodal_state_w` " -"attribute to get the default nodal state of the spawned object prims. This " -"default state can be configured from the " -":attr:`assets.DeformableObjectCfg.init_state` attribute, which we left as " -"identity in this tutorial." +"attribute to get the default nodal state of the spawned object prims. " +"This default state can be configured from the " +":attr:`assets.DeformableObjectCfg.init_state` attribute, which we left as" +" identity in this tutorial." msgstr "" -"我们使用 :attr:`assets.DeformableObject.data.default_nodal_state_w` 属性来获取生成的对象 " -"prims 的默认节点状态。这个默认状态可以通过 :attr:`assets.DeformableObjectCfg.init_state` " -"属性进行配置,在本教程中我们将其保持为身份。" +"我们使用 :attr:`assets.DeformableObject.data.default_nodal_state_w` " +"属性来获取生成的对象 prims 的默认节点状态。这个默认状态可以通过 " +":attr:`assets.DeformableObjectCfg.init_state` 属性进行配置,在本教程中我们将其保持为身份。" #: ../../source/tutorials/01_assets/run_deformable_object.rst:86 msgid "" -"The initial state in the configuration :attr:`assets.DeformableObjectCfg` " -"specifies the pose of the deformable object at the time of spawning. Based " -"on this initial state, the default nodal state is obtained when the " -"simulation is played for the first time." +"The initial state in the configuration :attr:`assets.DeformableObjectCfg`" +" specifies the pose of the deformable object at the time of spawning. " +"Based on this initial state, the default nodal state is obtained when the" +" simulation is played for the first time." msgstr "" "配置中的初始状态 :attr:`assets.DeformableObjectCfg` " "指定了在生成时变形对象的姿态。根据这个初始状态,当模拟第一次播放时,会得到默认的节点状态。" @@ -177,23 +180,24 @@ msgstr "我们对节点位置应用变换,以随机化可变形物体的初始 #: ../../source/tutorials/01_assets/run_deformable_object.rst:97 msgid "" -"To reset the deformable object, we first set the nodal state by calling the " -":meth:`assets.DeformableObject.write_nodal_state_to_sim` method. This method" -" writes the nodal state of the deformable object prim into the simulation " -"buffer. Additionally, we free all the kinematic targets set for the nodes in" -" the previous simulation step by calling the " -":meth:`assets.DeformableObject.write_nodal_kinematic_target_to_sim` method. " -"We explain the kinematic targets in the next section." +"To reset the deformable object, we first set the nodal state by calling " +"the :meth:`assets.DeformableObject.write_nodal_state_to_sim` method. This" +" method writes the nodal state of the deformable object prim into the " +"simulation buffer. Additionally, we free all the kinematic targets set " +"for the nodes in the previous simulation step by calling the " +":meth:`assets.DeformableObject.write_nodal_kinematic_target_to_sim` " +"method. We explain the kinematic targets in the next section." msgstr "" -"要重置可变形对象,我们首先通过调用 :meth:`assets.DeformableObject.write_nodal_state_to_sim` " +"要重置可变形对象,我们首先通过调用 " +":meth:`assets.DeformableObject.write_nodal_state_to_sim` " "方法来设置节点状态。此方法将可变形对象原始的节点状态写入仿真缓冲区。此外,我们通过调用 " ":meth:`assets.DeformableObject.write_nodal_kinematic_target_to_sim` " "方法来释放在上一个仿真步骤中为节点设置的所有运动学目标。我们将在下一节中解释运动学目标。" #: ../../source/tutorials/01_assets/run_deformable_object.rst:103 msgid "" -"Finally, we call the :meth:`assets.DeformableObject.reset` method to reset " -"any internal buffers and caches." +"Finally, we call the :meth:`assets.DeformableObject.reset` method to " +"reset any internal buffers and caches." msgstr "最后,我们调用 :meth:`assets.DeformableObject.reset` 方法来重置任何内部缓冲区和缓存。" #: ../../source/tutorials/01_assets/run_deformable_object.rst:111 @@ -203,28 +207,29 @@ msgstr "逐步模拟" #: ../../source/tutorials/01_assets/run_deformable_object.rst:113 msgid "" "Deformable bodies support user-driven kinematic control where a user can " -"specify position targets for some of the mesh nodes while the rest of the " -"nodes are simulated using the FEM solver. This `partial kinematic`_ control " -"is useful for applications where the user wants to interact with the " -"deformable object in a controlled manner." +"specify position targets for some of the mesh nodes while the rest of the" +" nodes are simulated using the FEM solver. This `partial kinematic`_ " +"control is useful for applications where the user wants to interact with " +"the deformable object in a controlled manner." msgstr "" "可变形体支持用户驱动的运动学控制,其中用户可以为一些网格节点指定位置目标,而其余节点则通过 FEM 求解器进行模拟。这种 `partial " "kinematic`_ 控制对于用户希望以受控方式与可变形对象交互的应用程序非常有用。" #: ../../source/tutorials/01_assets/run_deformable_object.rst:117 msgid "" -"In this tutorial, we apply kinematic commands to two out of the four cubes " -"in the scene. We set the position targets for the node at index 0 (bottom-" -"left corner) to move the cube along the z-axis." +"In this tutorial, we apply kinematic commands to two out of the four " +"cubes in the scene. We set the position targets for the node at index 0 " +"(bottom-left corner) to move the cube along the z-axis." msgstr "在本教程中,我们将运动学命令应用于场景中的四个立方体中的两个。我们设置索引为 0(左下角)的节点的位置目标,使立方体沿 z 轴移动。" #: ../../source/tutorials/01_assets/run_deformable_object.rst:120 msgid "" -"At every step, we increment the kinematic position target for the node by a " -"small value. Additionally, we set the flag to indicate that the target is a " -"kinematic target for that node in the simulation buffer. These are set into " -"the simulation buffer by calling the " -":meth:`assets.DeformableObject.write_nodal_kinematic_target_to_sim` method." +"At every step, we increment the kinematic position target for the node by" +" a small value. Additionally, we set the flag to indicate that the target" +" is a kinematic target for that node in the simulation buffer. These are " +"set into the simulation buffer by calling the " +":meth:`assets.DeformableObject.write_nodal_kinematic_target_to_sim` " +"method." msgstr "" "在每一步中,我们通过一个小值来增加节点的运动学位置目标。此外,我们设置标志以指示该目标是仿真缓冲区中该节点的运动学目标。这些设置通过调用 " ":meth:`assets.DeformableObject.write_nodal_kinematic_target_to_sim` " @@ -233,10 +238,10 @@ msgstr "" #: ../../source/tutorials/01_assets/run_deformable_object.rst:130 msgid "" "Similar to the rigid object and articulation, we perform the " -":meth:`assets.DeformableObject.write_data_to_sim` method before stepping the" -" simulation. For deformable objects, this method does not apply any external" -" forces to the object. However, we keep this method for completeness and " -"future extensions." +":meth:`assets.DeformableObject.write_data_to_sim` method before stepping " +"the simulation. For deformable objects, this method does not apply any " +"external forces to the object. However, we keep this method for " +"completeness and future extensions." msgstr "" "类似于刚体和关节,我们在进行仿真步进之前执行 :meth:`assets.DeformableObject.write_data_to_sim` " "方法。对于可变形对象,此方法不会对对象施加任何外部力。然而,我们保留此方法以便于完整性和未来扩展。" @@ -252,17 +257,16 @@ msgid "" ":class:`assets.DeformableObject.data` attribute. This is done using the " ":meth:`assets.DeformableObject.update` method." msgstr "" -"在运行模拟后,我们更新可变对象 prims 的内部缓冲区,以反映它们在 :class:`assets.DeformableObject.data` " -"属性中的新状态。这是通过 :meth:`assets.DeformableObject.update` 方法完成的。" +"在运行模拟后,我们更新可变对象 prims 的内部缓冲区,以反映它们在 :class:`assets.DeformableObject.data`" +" 属性中的新状态。这是通过 :meth:`assets.DeformableObject.update` 方法完成的。" #: ../../source/tutorials/01_assets/run_deformable_object.rst:145 msgid "" -"At a fixed interval, we print the root position of the deformable object to " -"the terminal. As mentioned earlier, there is no concept of a root state for " -"deformable objects. However, we compute the root position as the average " -"position of all the nodes in the mesh." -msgstr "" -"在固定的间隔下,我们将可变形物体的根位置打印到终端。如前所述,对于可变形物体来说,没有根状态的概念。然而,我们计算根位置的方法是所有网格节点的平均位置。" +"At a fixed interval, we print the root position of the deformable object " +"to the terminal. As mentioned earlier, there is no concept of a root " +"state for deformable objects. However, we compute the root position as " +"the average position of all the nodes in the mesh." +msgstr "在固定的间隔下,我们将可变形物体的根位置打印到终端。如前所述,对于可变形物体来说,没有根状态的概念。然而,我们计算根位置的方法是所有网格节点的平均位置。" #: ../../source/tutorials/01_assets/run_deformable_object.rst:156 msgid "The Code Execution" @@ -277,28 +281,34 @@ msgstr "现在我们已经浏览了代码,接下来运行脚本并查看结果 #: ../../source/tutorials/01_assets/run_deformable_object.rst:165 msgid "" "This should open a stage with a ground plane, lights, and several green " -"cubes. Two of the four cubes must be dropping from a height and settling on " -"to the ground. Meanwhile the other two cubes must be moving along the " -"z-axis. You should see a marker showing the kinematic target position for " -"the nodes at the bottom-left corner of the cubes. To stop the simulation, " -"you can either close the window, or press ``Ctrl+C`` in the terminal" +"cubes. Two of the four cubes must be dropping from a height and settling " +"on to the ground. Meanwhile the other two cubes must be moving along the " +"z-axis. You should see a marker showing the kinematic target position for" +" the nodes at the bottom-left corner of the cubes. To stop the " +"simulation, you can either close the window, or press ``Ctrl+C`` in the " +"terminal" msgstr "" "这应该会打开一个包含地面、灯光和几个绿色立方体的场景。其中两个立方体必须从高度上落下并落在地面上。同时,另外两个立方体必须沿 `z` " "轴移动。你应该会看到一个标记,显示位于立方体左下角的节点的运动学目标位置。要停止仿真,你可以关闭窗口,或在终端中按 ``Ctrl+C`` 。" #: ../../source/tutorials/01_assets/run_deformable_object.rst:-1 -msgid "result of run_deformable_object.py" -msgstr "`run_deformable_object.py` 的结果" +#, fuzzy +msgid "`run_deformable_object.py` 的结果" +msgstr "`run_deformable_object.py` 的代码" #: ../../source/tutorials/01_assets/run_deformable_object.rst:175 msgid "" "This tutorial showed how to spawn deformable objects and wrap them in a " -":class:`DeformableObject` class to initialize their physics handles which " -"allows setting and obtaining their state. We also saw how to apply kinematic" -" commands to the deformable object to move the mesh nodes in a controlled " -"manner. In the next tutorial, we will see how to create a scene using the " -":class:`InteractiveScene` class." +":class:`DeformableObject` class to initialize their physics handles which" +" allows setting and obtaining their state. We also saw how to apply " +"kinematic commands to the deformable object to move the mesh nodes in a " +"controlled manner. In the next tutorial, we will see how to create a " +"scene using the :class:`InteractiveScene` class." msgstr "" "本教程展示了如何生成可变形物体并将它们包裹在一个 :class:`DeformableObject` " "类中,以初始化它们的物理处理器,从而允许设置和获取它们的状态。我们还看到了如何对可变形物体应用运动指令,以控制方式移动网格节点。在接下来的教程中,我们将看到如何使用" " :class:`InteractiveScene` 类创建场景。" + +#~ msgid "result of run_deformable_object.py" +#~ msgstr "`run_deformable_object.py` 的结果" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/01_assets/run_rigid_object.po b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/01_assets/run_rigid_object.po index 2de9715e41..35e8b0603a 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/01_assets/run_rigid_object.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/01_assets/run_rigid_object.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-25 13:53+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.16.0\n" #: ../../source/tutorials/01_assets/run_rigid_object.rst:5 @@ -24,10 +24,10 @@ msgstr "与刚性物体交互" #: ../../source/tutorials/01_assets/run_rigid_object.rst:9 msgid "" "In the previous tutorials, we learned the essential workings of the " -"standalone script and how to spawn different objects (or *prims*) into the " -"simulation. This tutorial shows how to create and interact with a rigid " -"object. For this, we will use the :class:`assets.RigidObject` class provided" -" in Isaac Lab." +"standalone script and how to spawn different objects (or *prims*) into " +"the simulation. This tutorial shows how to create and interact with a " +"rigid object. For this, we will use the :class:`assets.RigidObject` class" +" provided in Isaac Lab." msgstr "" "在以前的教程中,我们学习了独立脚本的基本工作原理以及如何将不同的对象(或 *对象* " ")生成到模拟中。本教程展示了如何创建和与刚性物体交互。为此,我们将使用 Isaac Lab 中提供的 " @@ -55,15 +55,15 @@ msgstr "代码解释" #: ../../source/tutorials/01_assets/run_rigid_object.rst:30 msgid "" -"In this script, we split the ``main`` function into two separate functions, " -"which highlight the two main steps of setting up any simulation in the " -"simulator:" +"In this script, we split the ``main`` function into two separate " +"functions, which highlight the two main steps of setting up any " +"simulation in the simulator:" msgstr "在此脚本中,我们将 ``main`` 函数拆分为两个单独的函数,这两个函数强调了在模拟器中设置任何模拟的两个主要步骤: " #: ../../source/tutorials/01_assets/run_rigid_object.rst:33 msgid "" -"**Design scene**: As the name suggests, this part is responsible for adding " -"all the prims to the scene." +"**Design scene**: As the name suggests, this part is responsible for " +"adding all the prims to the scene." msgstr "**设计场景**: 顾名思义,这一部分负责将所有对象添加到场景中。" #: ../../source/tutorials/01_assets/run_rigid_object.rst:34 @@ -75,14 +75,13 @@ msgstr "**运行模拟**: 这部分负责推进模拟器,与场景中的对象 #: ../../source/tutorials/01_assets/run_rigid_object.rst:37 msgid "" -"A distinction between these two steps is necessary because the second step " -"only happens after the first step is complete and the simulator is reset. " -"Once the simulator is reset (which automatically plays the simulation), no " -"new (physics-enabled) prims should be added to the scene as it may lead to " -"unexpected behaviors. However, the prims can be interacted with through " -"their respective handles." -msgstr "" -"这两个步骤之间的区别是必需的,因为只有在第一步完成并且模拟器被重置后,第二步才会发生。一旦模拟器被重置(自动播放模拟),就不应该再向场景中添加新的(带有物理效果)对象,因为这可能会导致意外行为。但是,可以通过它们各自的句柄与对象进行交互。" +"A distinction between these two steps is necessary because the second " +"step only happens after the first step is complete and the simulator is " +"reset. Once the simulator is reset (which automatically plays the " +"simulation), no new (physics-enabled) prims should be added to the scene " +"as it may lead to unexpected behaviors. However, the prims can be " +"interacted with through their respective handles." +msgstr "这两个步骤之间的区别是必需的,因为只有在第一步完成并且模拟器被重置后,第二步才会发生。一旦模拟器被重置(自动播放模拟),就不应该再向场景中添加新的(带有物理效果)对象,因为这可能会导致意外行为。但是,可以通过它们各自的句柄与对象进行交互。" #: ../../source/tutorials/01_assets/run_rigid_object.rst:44 msgid "Designing the scene" @@ -90,11 +89,11 @@ msgstr "设计场景" #: ../../source/tutorials/01_assets/run_rigid_object.rst:46 msgid "" -"Similar to the previous tutorial, we populate the scene with a ground plane " -"and a light source. In addition, we add a rigid object to the scene using " -"the :class:`assets.RigidObject` class. This class is responsible for " -"spawning the prims at the input path and initializes their corresponding " -"rigid body physics handles." +"Similar to the previous tutorial, we populate the scene with a ground " +"plane and a light source. In addition, we add a rigid object to the scene" +" using the :class:`assets.RigidObject` class. This class is responsible " +"for spawning the prims at the input path and initializes their " +"corresponding rigid body physics handles." msgstr "" "与之前的教程类似,我们使用一个地面平面和一个光源填充场景。此外,我们使用 :class:`assets.RigidObject` " "类将一个刚性物体添加到场景中。该类负责在输入路径处生成对象,同时初始化其对应的刚性物理句柄。" @@ -103,41 +102,43 @@ msgstr "" msgid "" "In this tutorial, we create a conical rigid object using the spawn " "configuration similar to the rigid cone in the :ref:`Spawn Objects " -"` tutorial. The only difference is that now we wrap " -"the spawning configuration into the :class:`assets.RigidObjectCfg` class. " -"This class contains information about the asset's spawning strategy, default" -" initial state, and other meta-information. When this class is passed to the" -" :class:`assets.RigidObject` class, it spawns the object and initializes the" -" corresponding physics handles when the simulation is played." +"` tutorial. The only difference is that now we wrap" +" the spawning configuration into the :class:`assets.RigidObjectCfg` " +"class. This class contains information about the asset's spawning " +"strategy, default initial state, and other meta-information. When this " +"class is passed to the :class:`assets.RigidObject` class, it spawns the " +"object and initializes the corresponding physics handles when the " +"simulation is played." msgstr "" "在本教程中,我们使用与 :ref:`Spawn Objects ` " -"教程中刚性锥体类似的生成配置创建一个圆锥形刚性物体。唯一的区别是现在我们将生成配置封装到 :class:`assets.RigidObjectCfg` " -"类中。该类包含有关资产生成策略、默认初始状态和其他元信息的信息。当将此类传递给 :class:`assets.RigidObject` " -"类时,当播放模拟时,它会生成对象并初始化相应的物理句柄。" +"教程中刚性锥体类似的生成配置创建一个圆锥形刚性物体。唯一的区别是现在我们将生成配置封装到 " +":class:`assets.RigidObjectCfg` 类中。该类包含有关资产生成策略、默认初始状态和其他元信息的信息。当将此类传递给 " +":class:`assets.RigidObject` 类时,当播放模拟时,它会生成对象并初始化相应的物理句柄。" #: ../../source/tutorials/01_assets/run_rigid_object.rst:57 msgid "" -"As an example on spawning the rigid object prim multiple times, we create " -"its parent Xform prims, ``/World/Origin{i}``, that correspond to different " -"spawn locations. When the regex expression ``/World/Origin*/Cone`` is passed" -" to the :class:`assets.RigidObject` class, it spawns the rigid object prim " -"at each of the ``/World/Origin{i}`` locations. For instance, if " -"``/World/Origin1`` and ``/World/Origin2`` are present in the scene, the " -"rigid object prims are spawned at the locations ``/World/Origin1/Cone`` and " +"As an example on spawning the rigid object prim multiple times, we create" +" its parent Xform prims, ``/World/Origin{i}``, that correspond to " +"different spawn locations. When the regex expression " +"``/World/Origin*/Cone`` is passed to the :class:`assets.RigidObject` " +"class, it spawns the rigid object prim at each of the " +"``/World/Origin{i}`` locations. For instance, if ``/World/Origin1`` and " +"``/World/Origin2`` are present in the scene, the rigid object prims are " +"spawned at the locations ``/World/Origin1/Cone`` and " "``/World/Origin2/Cone`` respectively." msgstr "" -"作为多次生成刚性物体对象的示例,我们创建其父级 Xform 对象, ``/World/Origin{i}`` ,它们对应不同的生成位置。当将正则表达式 " -"``/World/Origin*/Cone`` 传递给 :class:`assets.RigidObject` 类时,它会在每个 " -"``/World/Origin{i}`` 位置生成刚性物体对象。例如,如果场景中存在 ``/World/Origin1`` 和 " -"``/World/Origin2`` ,则刚性物体对象会分别生成在位置 ``/World/Origin1/Cone`` 和 " -"``/World/Origin2/Cone`` 上。" +"作为多次生成刚性物体对象的示例,我们创建其父级 Xform 对象, ``/World/Origin{i}`` " +",它们对应不同的生成位置。当将正则表达式 ``/World/Origin*/Cone`` 传递给 " +":class:`assets.RigidObject` 类时,它会在每个 ``/World/Origin{i}`` " +"位置生成刚性物体对象。例如,如果场景中存在 ``/World/Origin1`` 和 ``/World/Origin2`` " +",则刚性物体对象会分别生成在位置 ``/World/Origin1/Cone`` 和 ``/World/Origin2/Cone`` 上。" #: ../../source/tutorials/01_assets/run_rigid_object.rst:69 msgid "" -"Since we want to interact with the rigid object, we pass this entity back to" -" the main function. This entity is then used to interact with the rigid " -"object in the simulation loop. In later tutorials, we will see a more " -"convenient way to handle multiple scene entities using the " +"Since we want to interact with the rigid object, we pass this entity back" +" to the main function. This entity is then used to interact with the " +"rigid object in the simulation loop. In later tutorials, we will see a " +"more convenient way to handle multiple scene entities using the " ":class:`scene.InteractiveScene` class." msgstr "" "因为我们想要与刚性物体交互,我们将此实体传递回主函数。然后,该实体用于在模拟循环中与刚性物体交互。在后续教程中,我们将看到如何使用 " @@ -149,13 +150,12 @@ msgstr "运行模拟循环" #: ../../source/tutorials/01_assets/run_rigid_object.rst:82 msgid "" -"We modify the simulation loop to interact with the rigid object to include " -"three steps -- resetting the simulation state at fixed intervals, stepping " -"the simulation, and updating the internal buffers of the rigid object. For " -"the convenience of this tutorial, we extract the rigid object's entity from " -"the scene dictionary and store it in a variable." -msgstr "" -"我们修改了模拟循环以与刚性物体交互,包括三个步骤——在固定间隔重置模拟状态,推进模拟,以及更新刚性物体的内部缓冲区。为了方便本教程,我们从场景字典中提取刚性物体的实体并将其存储在一个变量中。" +"We modify the simulation loop to interact with the rigid object to " +"include three steps -- resetting the simulation state at fixed intervals," +" stepping the simulation, and updating the internal buffers of the rigid " +"object. For the convenience of this tutorial, we extract the rigid " +"object's entity from the scene dictionary and store it in a variable." +msgstr "我们修改了模拟循环以与刚性物体交互,包括三个步骤——在固定间隔重置模拟状态,推进模拟,以及更新刚性物体的内部缓冲区。为了方便本教程,我们从场景字典中提取刚性物体的实体并将其存储在一个变量中。" #: ../../source/tutorials/01_assets/run_rigid_object.rst:88 msgid "Resetting the simulation state" @@ -163,13 +163,14 @@ msgstr "重置模拟状态" #: ../../source/tutorials/01_assets/run_rigid_object.rst:90 msgid "" -"To reset the simulation state of the spawned rigid object prims, we need to " -"set their pose and velocity. Together they define the root state of the " -"spawned rigid objects. It is important to note that this state is defined in" -" the **simulation world frame**, and not of their parent Xform prim. This is" -" because the physics engine only understands the world frame and not the " -"parent Xform prim's frame. Thus, we need to transform desired state of the " -"rigid object prim into the world frame before setting it." +"To reset the simulation state of the spawned rigid object prims, we need " +"to set their pose and velocity. Together they define the root state of " +"the spawned rigid objects. It is important to note that this state is " +"defined in the **simulation world frame**, and not of their parent Xform " +"prim. This is because the physics engine only understands the world frame" +" and not the parent Xform prim's frame. Thus, we need to transform " +"desired state of the rigid object prim into the world frame before " +"setting it." msgstr "" "为了重置生成的刚性物体对象的模拟状态,我们需要设置其姿势和速度。它们共同定义了生成的刚性物体对象的根状态。重要的是要注意,此状态定义在 " "**模拟世界坐标系** 中,而不是它们父级 Xform 对象的坐标系。这是因为物理引擎只能理解世界坐标系,而不能理解父级 Xform " @@ -177,14 +178,15 @@ msgstr "" #: ../../source/tutorials/01_assets/run_rigid_object.rst:96 msgid "" -"We use the :attr:`assets.RigidObject.data.default_root_state` attribute to " -"get the default root state of the spawned rigid object prims. This default " -"state can be configured from the :attr:`assets.RigidObjectCfg.init_state` " -"attribute, which we left as identity in this tutorial. We then randomize the" -" translation of the root state and set the desired state of the rigid object" -" prim using the :meth:`assets.RigidObject.write_root_state_to_sim` method. " -"As the name suggests, this method writes the root state of the rigid object " -"prim into the simulation buffer." +"We use the :attr:`assets.RigidObject.data.default_root_state` attribute " +"to get the default root state of the spawned rigid object prims. This " +"default state can be configured from the " +":attr:`assets.RigidObjectCfg.init_state` attribute, which we left as " +"identity in this tutorial. We then randomize the translation of the root " +"state and set the desired state of the rigid object prim using the " +":meth:`assets.RigidObject.write_root_state_to_sim` method. As the name " +"suggests, this method writes the root state of the rigid object prim into" +" the simulation buffer." msgstr "" "我们使用 :attr:`assets.RigidObject.data.default_root_state` " "属性获取生成的刚性物体对象的默认根状态。该默认状态可以从 :attr:`assets.RigidObjectCfg.init_state` " @@ -201,8 +203,8 @@ msgid "" "Before stepping the simulation, we perform the " ":meth:`assets.RigidObject.write_data_to_sim` method. This method writes " "other data, such as external forces, into the simulation buffer. In this " -"tutorial, we do not apply any external forces to the rigid object, so this " -"method is not necessary. However, it is included for completeness." +"tutorial, we do not apply any external forces to the rigid object, so " +"this method is not necessary. However, it is included for completeness." msgstr "" "在推进模拟之前,我们执行 :meth:`assets.RigidObject.write_data_to_sim` " "方法。此方法将其他数据,例如外部力,写入模拟缓冲区。在本教程中,我们没有对刚性物体施加任何外部力,因此此方法不是必需的。但是,为了完整性,我们还是加入了它。" @@ -213,8 +215,8 @@ msgstr "更新状态" #: ../../source/tutorials/01_assets/run_rigid_object.rst:122 msgid "" -"After stepping the simulation, we update the internal buffers of the rigid " -"object prims to reflect their new state inside the " +"After stepping the simulation, we update the internal buffers of the " +"rigid object prims to reflect their new state inside the " ":class:`assets.RigidObject.data` attribute. This is done using the " ":meth:`assets.RigidObject.update` method." msgstr "" @@ -234,24 +236,29 @@ msgstr "现在我们已经浏览了代码,让我们运行脚本并查看结果 #: ../../source/tutorials/01_assets/run_rigid_object.rst:141 msgid "" "This should open a stage with a ground plane, lights, and several green " -"cones. The cones must be dropping from a random height and settling on to " -"the ground. To stop the simulation, you can either close the window, or " +"cones. The cones must be dropping from a random height and settling on to" +" the ground. To stop the simulation, you can either close the window, or " "press the ``STOP`` button in the UI, or press ``Ctrl+C`` in the terminal" msgstr "" -"这应该打开一个场景,上面有一个地面平面、灯光和几个绿色圆锥体。圆锥体应该从一个随机高度掉落并落到地面上。要停止模拟,你可以关闭窗口,或者在 UI 中按下" -" ``STOP`` 按钮,或者在终端中按下 ``Ctrl+C``" +"这应该打开一个场景,上面有一个地面平面、灯光和几个绿色圆锥体。圆锥体应该从一个随机高度掉落并落到地面上。要停止模拟,你可以关闭窗口,或者在 UI " +"中按下 ``STOP`` 按钮,或者在终端中按下 ``Ctrl+C``" #: ../../source/tutorials/01_assets/run_rigid_object.rst:-1 -msgid "result of run_rigid_object.py" -msgstr "run_rigid_object.py 的结果" +#, fuzzy +msgid "run_rigid_object.py 的结果" +msgstr "run_rigid_object.py 的代码" #: ../../source/tutorials/01_assets/run_rigid_object.rst:151 msgid "" "This tutorial showed how to spawn rigid objects and wrap them in a " -":class:`RigidObject` class to initialize their physics handles which allows " -"setting and obtaining their state. In the next tutorial, we will see how to " -"interact with an articulated object which is a collection of rigid objects " -"connected by joints." +":class:`RigidObject` class to initialize their physics handles which " +"allows setting and obtaining their state. In the next tutorial, we will " +"see how to interact with an articulated object which is a collection of " +"rigid objects connected by joints." msgstr "" "本教程展示了如何生成刚性物体并将它们封装在一个 :class:`RigidObject` " "类中以初始化它们的物理句柄,从而允许设置和获取它们的状态。在下一个教程中,我们将看到如何与由关节连接的一系列刚性物体组成的关节物体进行交互。" + +#~ msgid "result of run_rigid_object.py" +#~ msgstr "run_rigid_object.py 的结果" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/02_scene/create_scene.po b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/02_scene/create_scene.po index 7045eb0f14..fda5182fb9 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/02_scene/create_scene.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/02_scene/create_scene.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-25 13:53+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.16.0\n" #: ../../source/tutorials/02_scene/create_scene.rst:4 @@ -23,25 +23,25 @@ msgstr "使用交互式场景" #: ../../source/tutorials/02_scene/create_scene.rst:8 msgid "" -"So far in the tutorials, we manually spawned assets into the simulation and " -"created object instances to interact with them. However, as the complexity " -"of the scene increases, it becomes tedious to perform these tasks manually. " -"In this tutorial, we will introduce the :class:`scene.InteractiveScene` " -"class, which provides a convenient interface for spawning prims and managing" -" them in the simulation." +"So far in the tutorials, we manually spawned assets into the simulation " +"and created object instances to interact with them. However, as the " +"complexity of the scene increases, it becomes tedious to perform these " +"tasks manually. In this tutorial, we will introduce the " +":class:`scene.InteractiveScene` class, which provides a convenient " +"interface for spawning prims and managing them in the simulation." msgstr "" "到目前为止,在教程中,我们手动将资产生成到模拟中,并创建对象实例与之交互。然而,随着场景复杂度的增加,手动执行这些任务变得很繁琐。在本教程中,我们将介绍" " :class:`scene.InteractiveScene` 类,该类提供了一个方便的接口,用于生成prims并在模拟中管理它们。" #: ../../source/tutorials/02_scene/create_scene.rst:14 msgid "" -"At a high-level, the interactive scene is a collection of scene entities. " -"Each entity can be either a non-interactive prim (e.g. ground plane, light " -"source), an interactive prim (e.g. articulation, rigid object), or a sensor " -"(e.g. camera, lidar). The interactive scene provides a convenient interface " -"for spawning these entities and managing them in the simulation." -msgstr "" -"在高层次上,交互式场景是场景实体的集合。每个实体可以是不可交互的prim(例如地面平面、光源)、可交互的prim(例如关节、刚体物体)或传感器(例如摄像机、激光雷达)。交互式场景提供了一个便捷的接口,用于生成这些实体并在模拟中管理它们。" +"At a high-level, the interactive scene is a collection of scene entities." +" Each entity can be either a non-interactive prim (e.g. ground plane, " +"light source), an interactive prim (e.g. articulation, rigid object), or " +"a sensor (e.g. camera, lidar). The interactive scene provides a " +"convenient interface for spawning these entities and managing them in the" +" simulation." +msgstr "在高层次上,交互式场景是场景实体的集合。每个实体可以是不可交互的prim(例如地面平面、光源)、可交互的prim(例如关节、刚体物体)或传感器(例如摄像机、激光雷达)。交互式场景提供了一个便捷的接口,用于生成这些实体并在模拟中管理它们。" #: ../../source/tutorials/02_scene/create_scene.rst:20 msgid "Compared the manual approach, it provides the following benefits:" @@ -54,8 +54,7 @@ msgid "" msgstr "减轻了用户需要单独生成每个资产,因为这是隐含处理的。" #: ../../source/tutorials/02_scene/create_scene.rst:23 -msgid "" -"Enables user-friendly cloning of scene prims for multiple environments." +msgid "Enables user-friendly cloning of scene prims for multiple environments." msgstr "可便于用户友好地克隆场景prims以用于多个环境。" #: ../../source/tutorials/02_scene/create_scene.rst:24 @@ -67,11 +66,11 @@ msgstr "将所有场景实体收集到一个单一对象中,这样更易于管 #: ../../source/tutorials/02_scene/create_scene.rst:26 msgid "" "In this tutorial, we take the cartpole example from the :ref:`tutorial-" -"interact-articulation` tutorial and replace the ``design_scene`` function " -"with an :class:`scene.InteractiveScene` object. While it may seem like " +"interact-articulation` tutorial and replace the ``design_scene`` function" +" with an :class:`scene.InteractiveScene` object. While it may seem like " "overkill to use the interactive scene for this simple example, it will " -"become more useful in the future as more assets and sensors are added to the" -" scene." +"become more useful in the future as more assets and sensors are added to " +"the scene." msgstr "" "在这个教程中,我们从 :ref:`tutorial-interact-articulation` 教程中的cartpole示例开始,并用 " ":class:`scene.InteractiveScene` 对象替换 ``design_scene`` " @@ -85,8 +84,7 @@ msgstr "代码" msgid "" "This tutorial corresponds to the ``create_scene.py`` script within " "``source/standalone/tutorials/02_scene``." -msgstr "" -"该教程对应于 ``source/standalone/tutorials/02_scene`` 中的 ``create_scene.py`` 脚本。" +msgstr "该教程对应于 ``source/standalone/tutorials/02_scene`` 中的 ``create_scene.py`` 脚本。" #: ../../source/tutorials/02_scene/create_scene.rst msgid "Code for create_scene.py" @@ -109,9 +107,9 @@ msgstr "场景配置" #: ../../source/tutorials/02_scene/create_scene.rst:56 msgid "" "The scene is composed of a collection of entities, each with their own " -"configuration. These are specified in a configuration class that inherits " -"from :class:`scene.InteractiveSceneCfg`. The configuration class is then " -"passed to the :class:`scene.InteractiveScene` constructor to create the " +"configuration. These are specified in a configuration class that inherits" +" from :class:`scene.InteractiveSceneCfg`. The configuration class is then" +" passed to the :class:`scene.InteractiveScene` constructor to create the " "scene." msgstr "" "场景由一系列带有自己配置的实体组成。这些都是在继承自 :class:`scene.InteractiveSceneCfg` " @@ -128,11 +126,11 @@ msgstr "" #: ../../source/tutorials/02_scene/create_scene.rst:68 msgid "" -"The variable names in the configuration class are used as keys to access the" -" corresponding entity from the :class:`scene.InteractiveScene` object. For " -"example, the cartpole can be accessed via ``scene[\"cartpole\"]``. However, " -"we will get to that later. First, let's look at how individual scene " -"entities are configured." +"The variable names in the configuration class are used as keys to access " +"the corresponding entity from the :class:`scene.InteractiveScene` object." +" For example, the cartpole can be accessed via ``scene[\"cartpole\"]``. " +"However, we will get to that later. First, let's look at how individual " +"scene entities are configured." msgstr "" "配置类中的变量名称用作用于从 :class:`scene.InteractiveScene` 对象访问对应实体的键。例如,可以通过 " "``scene[\"cartpole\"]`` 来访问cartpole。然而,我们会稍后再解释这个。首先,让我们看看如何配置单个场景实体。" @@ -140,17 +138,18 @@ msgstr "" #: ../../source/tutorials/02_scene/create_scene.rst:73 msgid "" "Similar to how a rigid object and articulation were configured in the " -"previous tutorials, the configurations are specified using a configuration " -"class. However, there is a key difference between the configurations for the" -" ground plane and light source and the configuration for the cartpole. The " -"ground plane and light source are non-interactive prims, while the cartpole " -"is an interactive prim. This distinction is reflected in the configuration " -"classes used to specify them. The configurations for the ground plane and " -"light source are specified using an instance of the " -":class:`assets.AssetBaseCfg` class while the cartpole is configured using an" -" instance of the :class:`assets.ArticulationCfg`. Anything that is not an " -"interactive prim (i.e., neither an asset nor a sensor) is not *handled* by " -"the scene during simulation steps." +"previous tutorials, the configurations are specified using a " +"configuration class. However, there is a key difference between the " +"configurations for the ground plane and light source and the " +"configuration for the cartpole. The ground plane and light source are " +"non-interactive prims, while the cartpole is an interactive prim. This " +"distinction is reflected in the configuration classes used to specify " +"them. The configurations for the ground plane and light source are " +"specified using an instance of the :class:`assets.AssetBaseCfg` class " +"while the cartpole is configured using an instance of the " +":class:`assets.ArticulationCfg`. Anything that is not an interactive prim" +" (i.e., neither an asset nor a sensor) is not *handled* by the scene " +"during simulation steps." msgstr "" "与先前教程中配置刚体物体和关节类似,配置使用配置类来指定。然而,地面平面和光源的配置与cartpole的配置之间存在一个关键区别。地面平面和光源是不可交互的,而cartpole是可交互的。这种区别在用于指定它们的配置类中得到了体现。地面平面和光源的配置使用" " :class:`assets.AssetBaseCfg` 的实例来指定,而cartpole使用 " @@ -159,8 +158,8 @@ msgstr "" #: ../../source/tutorials/02_scene/create_scene.rst:84 msgid "" -"Another key difference to note is in the specification of the prim paths for" -" the different prims:" +"Another key difference to note is in the specification of the prim paths " +"for the different prims:" msgstr "另一个需要注意的关键区别是不同prim的prim路径的指定方法: " #: ../../source/tutorials/02_scene/create_scene.rst:87 @@ -177,19 +176,20 @@ msgstr "Cartpole:``{ENV_REGEX_NS}/Robot``" #: ../../source/tutorials/02_scene/create_scene.rst:91 msgid "" -"As we learned earlier, Omniverse creates a graph of prims in the USD stage. " -"The prim paths are used to specify the location of the prim in the graph. " -"The ground plane and light source are specified using absolute paths, while " -"the cartpole is specified using a relative path. The relative path is " -"specified using the ``ENV_REGEX_NS`` variable, which is a special variable " -"that is replaced with the environment name during scene creation. Any entity" -" that has the ``ENV_REGEX_NS`` variable in its prim path will be cloned for" -" each environment. This path is replaced by the scene object with " -"``/World/envs/env_{i}`` where ``i`` is the environment index." +"As we learned earlier, Omniverse creates a graph of prims in the USD " +"stage. The prim paths are used to specify the location of the prim in the" +" graph. The ground plane and light source are specified using absolute " +"paths, while the cartpole is specified using a relative path. The " +"relative path is specified using the ``ENV_REGEX_NS`` variable, which is " +"a special variable that is replaced with the environment name during " +"scene creation. Any entity that has the ``ENV_REGEX_NS`` variable in its " +"prim path will be cloned for each environment. This path is replaced by " +"the scene object with ``/World/envs/env_{i}`` where ``i`` is the " +"environment index." msgstr "" "如前所述,Omniverse在USD阶段创建了prims的图形。prim路径用于指定图中prim的位置。地面平面和光源使用绝对路径来指定,而cartpole使用相对路径来指定。相对路径使用" -" ``ENV_REGEX_NS`` 变量来进行指定,这是一个特殊的变量,在场景创建期间会被环境名称替换。任何带有 ``ENV_REGEX_NS`` " -"变量的实体的prim路径在每个环境中都会被克隆。这个路径会被场景对象替换为 ``/World/envs/env_{i}`` ,其中 ``i`` " +" ``ENV_REGEX_NS`` 变量来进行指定,这是一个特殊的变量,在场景创建期间会被环境名称替换。任何带有 ``ENV_REGEX_NS``" +" 变量的实体的prim路径在每个环境中都会被克隆。这个路径会被场景对象替换为 ``/World/envs/env_{i}`` ,其中 ``i`` " "是环境索引。" #: ../../source/tutorials/02_scene/create_scene.rst:101 @@ -198,15 +198,15 @@ msgstr "场景实例化" #: ../../source/tutorials/02_scene/create_scene.rst:103 msgid "" -"Unlike before where we called the ``design_scene`` function to create the " -"scene, we now create an instance of the :class:`scene.InteractiveScene` " +"Unlike before where we called the ``design_scene`` function to create the" +" scene, we now create an instance of the :class:`scene.InteractiveScene` " "class and pass in the configuration object to its constructor. While " -"creating the configuration instance of ``CartpoleSceneCfg`` we specify how " -"many environment copies we want to create using the ``num_envs`` argument. " -"This will be used to clone the scene for each environment." +"creating the configuration instance of ``CartpoleSceneCfg`` we specify " +"how many environment copies we want to create using the ``num_envs`` " +"argument. This will be used to clone the scene for each environment." msgstr "" -"与以前调用 ``design_scene`` 函数来创建场景不同,现在我们创建一个 :class:`scene.InteractiveScene` " -"类的实例,并将配置对象传递给它的构造函数。在创建 ``CartpoleSceneCfg`` 配置实例时,我们使用 ``num_envs`` " +"与以前调用 ``design_scene`` 函数来创建场景不同,现在我们创建一个 :class:`scene.InteractiveScene`" +" 类的实例,并将配置对象传递给它的构造函数。在创建 ``CartpoleSceneCfg`` 配置实例时,我们使用 ``num_envs`` " "参数指定要创建多少个环境的副本。这将用于为每个环境克隆场景。" #: ../../source/tutorials/02_scene/create_scene.rst:115 @@ -219,9 +219,9 @@ msgid "" "tutorials, the scene elements can be accessed from the " ":class:`InteractiveScene` object using the ``[]`` operator. The operator " "takes in a string key and returns the corresponding entity. The key is " -"specified through the configuration class for each entity. For example, the " -"cartpole is specified using the key ``\"cartpole\"`` in the configuration " -"class." +"specified through the configuration class for each entity. For example, " +"the cartpole is specified using the key ``\"cartpole\"`` in the " +"configuration class." msgstr "" "与以前教程中的方法类似,可以使用 :class:`InteractiveScene` 对象从字典中获取场景元素,通过使用 ``[]`` " "操作符。操作符接受一个字符串键,并返回相应的实体。键是通过每个实体的配置类指定的。例如,cartpole在配置类中使用键 " @@ -239,10 +239,8 @@ msgid "" msgstr "脚本的其余部分看起来与先前与 :class:`assets.Articulation` 接口的脚本类似,只是调用的方法有一些小的不同: " #: ../../source/tutorials/02_scene/create_scene.rst:134 -msgid "" -":meth:`assets.Articulation.reset` ⟶ :meth:`scene.InteractiveScene.reset`" -msgstr "" -":meth:`assets.Articulation.reset` ⟶ :meth:`scene.InteractiveScene.reset`" +msgid ":meth:`assets.Articulation.reset` ⟶ :meth:`scene.InteractiveScene.reset`" +msgstr ":meth:`assets.Articulation.reset` ⟶ :meth:`scene.InteractiveScene.reset`" #: ../../source/tutorials/02_scene/create_scene.rst:135 msgid "" @@ -253,10 +251,8 @@ msgstr "" ":meth:`scene.InteractiveScene.write_data_to_sim`" #: ../../source/tutorials/02_scene/create_scene.rst:136 -msgid "" -":meth:`assets.Articulation.update` ⟶ :meth:`scene.InteractiveScene.update`" -msgstr "" -":meth:`assets.Articulation.update` ⟶ :meth:`scene.InteractiveScene.update`" +msgid ":meth:`assets.Articulation.update` ⟶ :meth:`scene.InteractiveScene.update`" +msgstr ":meth:`assets.Articulation.update` ⟶ :meth:`scene.InteractiveScene.update`" #: ../../source/tutorials/02_scene/create_scene.rst:138 msgid "" @@ -270,35 +266,41 @@ msgstr "代码执行" #: ../../source/tutorials/02_scene/create_scene.rst:147 msgid "" -"Let's run the script to simulate 32 cartpoles in the scene. We can do this " -"by passing the ``--num_envs`` argument to the script." +"Let's run the script to simulate 32 cartpoles in the scene. We can do " +"this by passing the ``--num_envs`` argument to the script." msgstr "让我们运行脚本以模拟场景中的32个cartpoles。我们可以通过向脚本传递 ``--num_envs`` 参数来实现这一点。" #: ../../source/tutorials/02_scene/create_scene.rst:154 msgid "" -"This should open a stage with 32 cartpoles swinging around randomly. You can" -" use the mouse to rotate the camera and the arrow keys to move around the " -"scene." +"This should open a stage with 32 cartpoles swinging around randomly. You " +"can use the mouse to rotate the camera and the arrow keys to move around " +"the scene." msgstr "这应该会打开一个场景,上面有32个随机摆动的cartpole。您可以使用鼠标旋转摄像机,使用箭头键在场景中移动。" #: ../../source/tutorials/02_scene/create_scene.rst:-1 -msgid "result of create_scene.py" -msgstr "create_scene.py 的结果" +#, fuzzy +msgid "create_scene.py 的结果" +msgstr "create_scene.py的代码" #: ../../source/tutorials/02_scene/create_scene.rst:163 msgid "" "In this tutorial, we saw how to use :class:`scene.InteractiveScene` to " -"create a scene with multiple assets. We also saw how to use the ``num_envs``" -" argument to clone the scene for multiple environments." +"create a scene with multiple assets. We also saw how to use the " +"``num_envs`` argument to clone the scene for multiple environments." msgstr "" "在本教程中,我们学习了如何使用 :class:`scene.InteractiveScene` 创建一个带有多个资产的场景。我们还学习了如何使用 " "``num_envs`` 参数来为多个环境克隆场景。" #: ../../source/tutorials/02_scene/create_scene.rst:167 msgid "" -"There are many more example usages of the :class:`scene.InteractiveSceneCfg`" -" in the tasks found under the ``omni.isaac.lab_tasks`` extension. Please " -"check out the source code to see how they are used for more complex scenes." +"There are many more example usages of the " +":class:`scene.InteractiveSceneCfg` in the tasks found under the " +"``omni.isaac.lab_tasks`` extension. Please check out the source code to " +"see how they are used for more complex scenes." msgstr "" "在 ``omni.isaac.lab_tasks`` 扩展中, :class:`scene.InteractiveSceneCfg` " "还有许多其他示例用法。请查看源代码,了解它们在更复杂的场景中的使用方式。" + +#~ msgid "result of create_scene.py" +#~ msgstr "create_scene.py 的结果" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/create_direct_rl_env.po b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/create_direct_rl_env.po index 3aa3a5ab5e..685b16eb23 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/create_direct_rl_env.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/create_direct_rl_env.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-25 13:53+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.16.0\n" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:5 @@ -23,22 +23,22 @@ msgstr "创建直接工作流RL环境" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:9 msgid "" -"In addition to the :class:`envs.ManagerBasedRLEnv` class, which encourages " -"the use of configuration classes for more modular environments, the " -":class:`~omni.isaac.lab.envs.DirectRLEnv` class allows for more direct " -"control in the scripting of environment." +"In addition to the :class:`envs.ManagerBasedRLEnv` class, which " +"encourages the use of configuration classes for more modular " +"environments, the :class:`~omni.isaac.lab.envs.DirectRLEnv` class allows " +"for more direct control in the scripting of environment." msgstr "" "除了 :class:`envs.ManagerBasedRLEnv` 类之外,还可以使用配置类来为更模块化的环境提供支持, " ":class:`~omni.isaac.lab.envs.DirectRLEnv` 类允许在环境脚本化中进行更直接的控制。" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:13 msgid "" -"Instead of using Manager classes for defining rewards and observations, the " -"direct workflow tasks implement the full reward and observation functions " -"directly in the task script. This allows for more control in the " -"implementation of the methods, such as using pytorch jit features, and " -"provides a less abstracted framework that makes it easier to find the " -"various pieces of code." +"Instead of using Manager classes for defining rewards and observations, " +"the direct workflow tasks implement the full reward and observation " +"functions directly in the task script. This allows for more control in " +"the implementation of the methods, such as using pytorch jit features, " +"and provides a less abstracted framework that makes it easier to find the" +" various pieces of code." msgstr "" "直接工作流任务实现完全奖励和观察功能的直接任务脚本。这允许在方法的实现中更多地控制,比如使用Pytorch " "jit功能,并提供一个更少抽象的框架,更容易找到各种代码片段。" @@ -49,8 +49,7 @@ msgid "" "direct workflow implementation to create a task for balancing the pole " "upright. We will learn how to specify the task using by implementing " "functions for scene creation, actions, resets, rewards and observations." -msgstr "" -"在本教程中,我们将使用直接工作流实现来配置cartpole环境,以创建一个平衡杆直立的任务。我们将学习如何使用实现场景创建,动作,重置,奖励和观察的功能来指定任务。" +msgstr "在本教程中,我们将使用直接工作流实现来配置cartpole环境,以创建一个平衡杆直立的任务。我们将学习如何使用实现场景创建,动作,重置,奖励和观察的功能来指定任务。" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:25 msgid "The Code" @@ -72,13 +71,13 @@ msgstr "解释代码" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:40 msgid "" -"Similar to the manager-based environments, a configuration class is defined " -"for the task to hold settings for the simulation parameters, the scene, the " -"actors, and the task. With the direct workflow implementation, the " -":class:`envs.DirectRLEnvCfg` class is used as the base class for " -"configurations. Since the direct workflow implementation does not use Action" -" and Observation managers, the task config should define the number of " -"actions and observations for the environment." +"Similar to the manager-based environments, a configuration class is " +"defined for the task to hold settings for the simulation parameters, the " +"scene, the actors, and the task. With the direct workflow implementation," +" the :class:`envs.DirectRLEnvCfg` class is used as the base class for " +"configurations. Since the direct workflow implementation does not use " +"Action and Observation managers, the task config should define the number" +" of actions and observations for the environment." msgstr "" "与基于管理器的环境类似,为任务定义一个配置类,以保存模拟参数、场景、演员和任务的设置。使用直接工作流实现, " ":class:`envs.DirectRLEnvCfg` " @@ -86,8 +85,8 @@ msgstr "" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:55 msgid "" -"The config class can also be used to define task-specific attributes, such " -"as scaling for reward terms and thresholds for reset conditions." +"The config class can also be used to define task-specific attributes, " +"such as scaling for reward terms and thresholds for reset conditions." msgstr "配置类也可以用来定义特定于任务的属性,例如奖励项的缩放和重置条件的阈值。" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:74 @@ -98,9 +97,9 @@ msgstr "在创建新环境时,代码应该定义一个新的类,该类继承 #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:84 msgid "" -"The class can also hold class variables that are accessible by all functions" -" in the class, including functions for applying actions, computing resets, " -"rewards, and observations." +"The class can also hold class variables that are accessible by all " +"functions in the class, including functions for applying actions, " +"computing resets, rewards, and observations." msgstr "该类也可以包含所有类函数都可访问的类变量,包括应用动作、计算重置、奖励和观察的功能。" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:88 @@ -109,13 +108,14 @@ msgstr "场景创建" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:90 msgid "" -"In contrast to manager-based environments where the scene creation is taken " -"care of by the framework, the direct workflow implementation provides " -"flexibility for users to implement their own scene creation function. This " -"includes adding actors into the stage, cloning the environments, filtering " -"collisions between the environments, adding the actors into the scene, and " -"adding any additional props to the scene, such as ground plane and lights. " -"These operations should be implemented in the ``_setup_scene(self)`` method." +"In contrast to manager-based environments where the scene creation is " +"taken care of by the framework, the direct workflow implementation " +"provides flexibility for users to implement their own scene creation " +"function. This includes adding actors into the stage, cloning the " +"environments, filtering collisions between the environments, adding the " +"actors into the scene, and adding any additional props to the scene, such" +" as ground plane and lights. These operations should be implemented in " +"the ``_setup_scene(self)`` method." msgstr "" "与基于管理器的环境相比,场景创建在直接工作流实现中提供了灵活性,使用户可以实现自己的场景创建功能。这包括将演员添加到场景上,克隆环境,过滤环境之间的碰撞,将演员添加到场景中,以及将其他附加属性添加到场景中,例如地面和灯光。这些操作应该在" " ``_setup_scene(self)`` 方法中实现。" @@ -126,11 +126,11 @@ msgstr "定义奖励" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:104 msgid "" -"Reward function should be defined in the ``_get_rewards(self)`` API, which " -"returns the reward buffer as a return value. Within this function, the task " -"is free to implement the logic of the reward function. In this example, we " -"implement a Pytorch JIT function that computes the various components of the" -" reward function." +"Reward function should be defined in the ``_get_rewards(self)`` API, " +"which returns the reward buffer as a return value. Within this function, " +"the task is free to implement the logic of the reward function. In this " +"example, we implement a Pytorch JIT function that computes the various " +"components of the reward function." msgstr "" "奖励函数应该在 ``_get_rewards(self)`` " "API中定义,它将奖励缓冲区作为返回值返回。在这个函数内部,任务可以自由实现奖励函数的逻辑。在这个示例中,我们实现了一个计算奖励函数各个组成部分的Pytorch" @@ -142,15 +142,16 @@ msgstr "定义观察" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:151 msgid "" -"The observation buffer should be computed in the ``_get_observations(self)``" -" function, which constructs the observation buffer for the environment. At " -"the end of this API, a dictionary should be returned that contains " -"``policy`` as the key, and the full observation buffer as the value. For " -"asymmetric policies, the dictionary should also include the key ``critic`` " -"and the states buffer as the value." +"The observation buffer should be computed in the " +"``_get_observations(self)`` function, which constructs the observation " +"buffer for the environment. At the end of this API, a dictionary should " +"be returned that contains ``policy`` as the key, and the full observation" +" buffer as the value. For asymmetric policies, the dictionary should also" +" include the key ``critic`` and the states buffer as the value." msgstr "" -"观察缓冲区应该在 ``_get_observations(self)`` 函数中计算,它为环境构造了观察缓冲区。在这个API的结尾,应该返回一个包含 " -"``policy`` 为键和完整观察缓冲区为值的字典。对于不对称的策略,字典还应该包括 ``critic`` 键和状态缓冲区作为值。" +"观察缓冲区应该在 ``_get_observations(self)`` " +"函数中计算,它为环境构造了观察缓冲区。在这个API的结尾,应该返回一个包含 ``policy`` " +"为键和完整观察缓冲区为值的字典。对于不对称的策略,字典还应该包括 ``critic`` 键和状态缓冲区作为值。" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:162 msgid "Computing Dones and Performing Resets" @@ -158,11 +159,12 @@ msgstr "计算终止和执行重置" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:164 msgid "" -"Populating the ``dones`` buffer should be done in the ``_get_dones(self)`` " -"method. This method is free to implement logic that computes which " -"environments would need to be reset and which environments have reached the " -"episode length limit. Both results should be returned by the " -"``_get_dones(self)`` function, in the form of a tuple of boolean tensors." +"Populating the ``dones`` buffer should be done in the " +"``_get_dones(self)`` method. This method is free to implement logic that " +"computes which environments would need to be reset and which environments" +" have reached the episode length limit. Both results should be returned " +"by the ``_get_dones(self)`` function, in the form of a tuple of boolean " +"tensors." msgstr "" "填充 ``dones`` 缓冲区应该在 ``_get_dones(self)`` " "方法中完成。这个方法可以自由实现逻辑,计算哪些环境需要重置,哪些环境已经达到了本集长度限制。这两个结果都应该作为 " @@ -170,10 +172,10 @@ msgstr "" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:173 msgid "" -"Once the indices for environments requiring reset have been computed, the " -"``_reset_idx(self, env_ids)`` function performs the reset operations on " -"those environments. Within this function, new states for the environments " -"requiring reset should be set directly into simulation." +"Once the indices for environments requiring reset have been computed, the" +" ``_reset_idx(self, env_ids)`` function performs the reset operations on " +"those environments. Within this function, new states for the environments" +" requiring reset should be set directly into simulation." msgstr "" "一旦计算出需要重置的环境的索引, ``_reset_idx(self, env_ids)`` " "函数将在这些环境上执行重置操作。在这个函数内部,应该直接将需要重置的环境的新状态设置到模拟中。" @@ -185,18 +187,18 @@ msgstr "应用动作" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:184 msgid "" "There are two APIs that are designed for working with actions. The " -"``_pre_physics_step(self, actions)`` takes in actions from the policy as an " -"argument and is called once per RL step, prior to taking any physics steps. " -"This function can be used to process the actions buffer from the policy and " -"cache the data in a class variable for the environment." +"``_pre_physics_step(self, actions)`` takes in actions from the policy as " +"an argument and is called once per RL step, prior to taking any physics " +"steps. This function can be used to process the actions buffer from the " +"policy and cache the data in a class variable for the environment." msgstr "" "有两个设计用于处理动作的API。 ``_pre_physics_step(self, actions)`` " "以来于策略的动作作为参数,每个RL步骤只调用一次,在采取任何物理步骤之前。这个函数可以用来处理来自策略的动作缓冲区,并将数据缓存到环境的类变量中。" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:192 msgid "" -"The ``_apply_action(self)`` API is called ``decimation`` number of times for" -" each RL step, prior to taking each physics step. This provides more " +"The ``_apply_action(self)`` API is called ``decimation`` number of times " +"for each RL step, prior to taking each physics step. This provides more " "flexibility for environments where actions should be applied for each " "physics step." msgstr "" @@ -209,18 +211,18 @@ msgstr "代码执行" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:204 msgid "" -"To run training for the direct workflow Cartpole environment, we can use the" -" following command:" +"To run training for the direct workflow Cartpole environment, we can use " +"the following command:" msgstr "要运行直接工作流Cartpole环境的训练,我们可以使用以下命令: " #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:-1 -msgid "result of train.py" -msgstr "`train.py` 的结果" +msgid "`train.py` 的结果" +msgstr "" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:215 msgid "" -"All direct workflow tasks have the suffix ``-Direct`` added to the task name" -" to differentiate the implementation style." +"All direct workflow tasks have the suffix ``-Direct`` added to the task " +"name to differentiate the implementation style." msgstr "所有直接工作流任务的名称都添加了后缀 ``-Direct`` 以区分实现风格。" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:219 @@ -230,8 +232,9 @@ msgstr "域随机化" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:221 msgid "" "In the direct workflow, domain randomization configuration uses the " -":class:`~omni.isaac.lab.utils.configclass` module to specify a configuration" -" class consisting of :class:`~managers.EventTermCfg` variables." +":class:`~omni.isaac.lab.utils.configclass` module to specify a " +"configuration class consisting of :class:`~managers.EventTermCfg` " +"variables." msgstr "" "在直接工作流中,域随机化配置使用 :class:`~omni.isaac.lab.utils.configclass` 模块来指定包含 " ":class:`~managers.EventTermCfg` 变量的配置类。" @@ -242,17 +245,17 @@ msgstr "以下是域随机化的配置类示例: " #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:264 msgid "" -"Each ``EventTerm`` object is of the :class:`~managers.EventTermCfg` class " -"and takes in a ``func`` parameter for specifying the function to call during" -" randomization, a ``mode`` parameter, which can be ``startup``, ``reset`` or" -" ``interval``. THe ``params`` dictionary should provide the necessary " -"arguments to the function that is specified in the ``func`` parameter. " -"Functions specified as ``func`` for the ``EventTerm`` can be found in the " -":class:`~envs.mdp.events` module." +"Each ``EventTerm`` object is of the :class:`~managers.EventTermCfg` class" +" and takes in a ``func`` parameter for specifying the function to call " +"during randomization, a ``mode`` parameter, which can be ``startup``, " +"``reset`` or ``interval``. THe ``params`` dictionary should provide the " +"necessary arguments to the function that is specified in the ``func`` " +"parameter. Functions specified as ``func`` for the ``EventTerm`` can be " +"found in the :class:`~envs.mdp.events` module." msgstr "" -"每个 ``EventTerm`` 对象都是 :class:`~managers.EventTermCfg` 类的对象,并接受一个 ``func`` " -"参数,用于指定随机化时调用的函数,一个 ``mode`` 参数,可以是 ``startup``、``reset`` 或 ``interval`` 。 " -"``params`` 字典应该提供在 ``func`` 参数中指定的函数所需的参数。作为 ``EventTerm`` 的 ``func`` " +"每个 ``EventTerm`` 对象都是 :class:`~managers.EventTermCfg` 类的对象,并接受一个 ``func``" +" 参数,用于指定随机化时调用的函数,一个 ``mode`` 参数,可以是 ``startup``、``reset`` 或 ``interval``" +" 。 ``params`` 字典应该提供在 ``func`` 参数中指定的函数所需的参数。作为 ``EventTerm`` 的 ``func`` " "指定的函数可以在 :class:`~envs.mdp.events` 模块中找到。" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:270 @@ -264,13 +267,14 @@ msgid "" "randomization applied." msgstr "" "请注意,作为 ``\"asset_cfg\": SceneEntityCfg(\"robot\", body_names=\".*\")`` " -"参数的一部分,提供了actor ``\"robot\"`` 的名称,以及以正则表达式指定的身体或关节名称,这些名称将是应用了随机化的演员和身体/关节。" +"参数的一部分,提供了actor ``\"robot\"`` " +"的名称,以及以正则表达式指定的身体或关节名称,这些名称将是应用了随机化的演员和身体/关节。" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:274 msgid "" -"Once the ``configclass`` for the randomization terms have been set up, the " -"class must be added to the base config class for the task and be assigned to" -" the variable ``events``." +"Once the ``configclass`` for the randomization terms have been set up, " +"the class must be added to the base config class for the task and be " +"assigned to the variable ``events``." msgstr "一旦设置了随机化术语的 ``configclass`` ,必须将该类添加到任务的基本配置类中,并分配给变量 ``events`` 。" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:285 @@ -281,17 +285,17 @@ msgstr "动作和观察噪声" msgid "" "Actions and observation noise can also be added using the " ":class:`~utils.configclass` module. Action and observation noise configs " -"must be added to the main task config using the ``action_noise_model`` and " -"``observation_noise_model`` variables:" +"must be added to the main task config using the ``action_noise_model`` " +"and ``observation_noise_model`` variables:" msgstr "" "也可以使用 :class:`~utils.configclass` 模块添加动作和观察噪声配置。必须将动作和观察噪声配置添加到主任务配置中,使用 " "``action_noise_model`` 和 ``observation_noise_model`` 变量: " #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:309 msgid "" -":class:`~.utils.noise.NoiseModelWithAdditiveBiasCfg` can be used to sample " -"both uncorrelated noise per step as well as correlated noise that is re-" -"sampled at reset time." +":class:`~.utils.noise.NoiseModelWithAdditiveBiasCfg` can be used to " +"sample both uncorrelated noise per step as well as correlated noise that " +"is re-sampled at reset time." msgstr "" ":class:`~.utils.noise.NoiseModelWithAdditiveBiasCfg` " "可以用来对每个步骤进行无关噪声的采样,以及在重置时重新采样的相关噪声。" @@ -299,24 +303,24 @@ msgstr "" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:312 msgid "" "The ``noise_cfg`` term specifies the Gaussian distribution that will be " -"sampled at each step for all environments. This noise will be added to the " -"corresponding actions and observations buffers at every step." +"sampled at each step for all environments. This noise will be added to " +"the corresponding actions and observations buffers at every step." msgstr "``noise_cfg`` 术语指定了将在每一步中为所有环境进行采样的高斯分布。这个噪声将被添加到相应的动作和观察缓冲区中的每一步。" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:316 msgid "" "The ``bias_noise_cfg`` term specifies the Gaussian distribution for the " "correlated noise that will be sampled at reset time for the environments " -"being reset. The same noise will be applied each step for the remaining of " -"the episode for the environments and resampled at the next reset." +"being reset. The same noise will be applied each step for the remaining " +"of the episode for the environments and resampled at the next reset." msgstr "" "``bias_noise_cfg`` " "术语指定了在重置时为被重置的环境进行采样的相关噪声的高斯分布。对于剩余的环境,这个相同的噪声将在每一步应用,并在下一次重置时重新采样。" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:321 msgid "" -"If only per-step noise is desired, :class:`~utils.noise.GaussianNoiseCfg` " -"can be used to specify an additive Gaussian distribution that adds the " +"If only per-step noise is desired, :class:`~utils.noise.GaussianNoiseCfg`" +" can be used to specify an additive Gaussian distribution that adds the " "sampled noise to the input buffer." msgstr "" "如果只希望每步有噪声,可以使用 :class:`~utils.noise.GaussianNoiseCfg` " @@ -324,21 +328,25 @@ msgstr "" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:333 msgid "" -"In this tutorial, we learnt how to create a direct workflow task environment" -" for reinforcement learning. We do this by extending the base environment to" -" include the scene setup, actions, dones, reset, reward and observaion " -"functions." -msgstr "" -"在本教程中,我们学习了如何为强化学习创建直接工作流任务环境。我们通过扩展基础环境来包括场景设置、动作、终止、重置、奖励和观察函数来实现这一点。" +"In this tutorial, we learnt how to create a direct workflow task " +"environment for reinforcement learning. We do this by extending the base " +"environment to include the scene setup, actions, dones, reset, reward and" +" observaion functions." +msgstr "在本教程中,我们学习了如何为强化学习创建直接工作流任务环境。我们通过扩展基础环境来包括场景设置、动作、终止、重置、奖励和观察函数来实现这一点。" #: ../../source/tutorials/03_envs/create_direct_rl_env.rst:336 msgid "" "While it is possible to manually create an instance of " -":class:`~omni.isaac.lab.envs.DirectRLEnv` class for a desired task, this is " -"not scalable as it requires specialized scripts for each task. Thus, we " -"exploit the :meth:`gymnasium.make` function to create the environment with " -"the gym interface. We will learn how to do this in the next tutorial." +":class:`~omni.isaac.lab.envs.DirectRLEnv` class for a desired task, this " +"is not scalable as it requires specialized scripts for each task. Thus, " +"we exploit the :meth:`gymnasium.make` function to create the environment " +"with the gym interface. We will learn how to do this in the next " +"tutorial." msgstr "" "虽然可以手动创建所需任务的 :class:`~omni.isaac.lab.envs.DirectRLEnv` " -"类的实例,但这种方法不具有可扩展性,因为它需要为每个任务编写专门的脚本。因此,在接下来的教程中,我们将利用 :meth:`gymnasium.make`" -" 函数来使用gym接口创建环境。" +"类的实例,但这种方法不具有可扩展性,因为它需要为每个任务编写专门的脚本。因此,在接下来的教程中,我们将利用 " +":meth:`gymnasium.make` 函数来使用gym接口创建环境。" + +#~ msgid "result of train.py" +#~ msgstr "`train.py` 的结果" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/create_manager_base_env.po b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/create_manager_base_env.po index 8cf76bebba..f832587c84 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/create_manager_base_env.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/create_manager_base_env.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-25 13:53+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.16.0\n" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:5 @@ -23,27 +23,28 @@ msgstr "创建基于管理器的基础环境" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:9 msgid "" -"Environments bring together different aspects of the simulation such as the " -"scene, observations and actions spaces, reset events etc. to create a " -"coherent interface for various applications. In Isaac Lab, manager-based " -"environments are implemented as :class:`envs.ManagerBasedEnv` and " -":class:`envs.ManagerBasedRLEnv` classes. The two classes are very similar, " -"but :class:`envs.ManagerBasedRLEnv` is useful for reinforcement learning " -"tasks and contains rewards, terminations, curriculum and command generation." -" The :class:`envs.ManagerBasedEnv` class is useful for traditional robot " -"control and doesn't contain rewards and terminations." +"Environments bring together different aspects of the simulation such as " +"the scene, observations and actions spaces, reset events etc. to create a" +" coherent interface for various applications. In Isaac Lab, manager-based" +" environments are implemented as :class:`envs.ManagerBasedEnv` and " +":class:`envs.ManagerBasedRLEnv` classes. The two classes are very " +"similar, but :class:`envs.ManagerBasedRLEnv` is useful for reinforcement " +"learning tasks and contains rewards, terminations, curriculum and command" +" generation. The :class:`envs.ManagerBasedEnv` class is useful for " +"traditional robot control and doesn't contain rewards and terminations." msgstr "" -"环境将模拟的不同方面,如场景、观测和行动空间、重置事件等集合在一起,为各种应用程序创建一个连贯的接口。在Isaac Lab中,基于管理器的环境被实现为:" -" :class:`envs.ManagerBasedEnv` 和 :class:`envs.ManagerBasedRLEnv` " -"类。这两个类非常相似,但 :class:`envs.ManagerBasedRLEnv` 对强化学习任务很有用,并包含奖励、中止、课程表和命令生成。 " +"环境将模拟的不同方面,如场景、观测和行动空间、重置事件等集合在一起,为各种应用程序创建一个连贯的接口。在Isaac " +"Lab中,基于管理器的环境被实现为: :class:`envs.ManagerBasedEnv` 和 " +":class:`envs.ManagerBasedRLEnv` 类。这两个类非常相似,但 " +":class:`envs.ManagerBasedRLEnv` 对强化学习任务很有用,并包含奖励、中止、课程表和命令生成。 " ":class:`envs.ManagerBasedEnv` 类适用于传统的机器人控制,不包含奖励和中止条件。" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:18 msgid "" "In this tutorial, we will look at the base class " ":class:`envs.ManagerBasedEnv` and its corresponding configuration class " -":class:`envs.ManagerBasedEnvCfg` for the manager-based workflow. We will use" -" the cartpole environment from earlier to illustrate the different " +":class:`envs.ManagerBasedEnvCfg` for the manager-based workflow. We will " +"use the cartpole environment from earlier to illustrate the different " "components in creating a new :class:`envs.ManagerBasedEnv` environment." msgstr "" "在本教程中,我们将研究基础类::class:`envs.ManagerBasedEnv` " @@ -57,8 +58,8 @@ msgstr "代码" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:28 msgid "" -"The tutorial corresponds to the ``create_cartpole_base_env`` script in the " -"``source/standalone/tutorials/03_envs`` directory." +"The tutorial corresponds to the ``create_cartpole_base_env`` script in " +"the ``source/standalone/tutorials/03_envs`` directory." msgstr "" "此教程对应于 ``source/standalone/tutorials/03_envs`` 目录中的 " "``create_cartpole_base_env`` 脚本。" @@ -73,17 +74,18 @@ msgstr "代码解释" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:42 msgid "" -"The base class :class:`envs.ManagerBasedEnv` wraps around many intricacies " -"of the simulation interaction and provides a simple interface for the user " -"to run the simulation and interact with it. It is composed of the following " -"components:" +"The base class :class:`envs.ManagerBasedEnv` wraps around many " +"intricacies of the simulation interaction and provides a simple interface" +" for the user to run the simulation and interact with it. It is composed " +"of the following components:" msgstr "" ":class:`envs.ManagerBasedEnv` " "基类包含了模拟交互的许多复杂性,并为用户提供了一个简单的接口来运行模拟并与其交互。它由以下组件组成: " #: ../../source/tutorials/03_envs/create_manager_base_env.rst:46 msgid "" -":class:`scene.InteractiveScene` - The scene that is used for the simulation." +":class:`scene.InteractiveScene` - The scene that is used for the " +"simulation." msgstr ":class:`scene.InteractiveScene` - 用于模拟的场景。" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:47 @@ -98,21 +100,20 @@ msgstr ":class:`managers.ObservationManager` - 处理观测的管理器。" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:49 msgid "" -":class:`managers.EventManager` - The manager that schedules operations (such" -" as domain randomization) at specified simulation events. For instance, at " -"startup, on resets, or periodic intervals." -msgstr "" -":class:`managers.EventManager` - 安排操作(例如域随机化)在指定的模拟事件上执行。例如,启动时,重置时或定期间隔。" +":class:`managers.EventManager` - The manager that schedules operations " +"(such as domain randomization) at specified simulation events. For " +"instance, at startup, on resets, or periodic intervals." +msgstr ":class:`managers.EventManager` - 安排操作(例如域随机化)在指定的模拟事件上执行。例如,启动时,重置时或定期间隔。" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:52 msgid "" -"By configuring these components, the user can create different variations of" -" the same environment with minimal effort. In this tutorial, we will go " -"through the different components of the :class:`envs.ManagerBasedEnv` class " -"and how to configure them to create a new environment." +"By configuring these components, the user can create different variations" +" of the same environment with minimal effort. In this tutorial, we will " +"go through the different components of the :class:`envs.ManagerBasedEnv` " +"class and how to configure them to create a new environment." msgstr "" -"通过配置这些组件,用户可以以最小的工作量创建相同环境的不同变体。在本教程中,我们将浏览 :class:`envs.ManagerBasedEnv` " -"类的不同组件以及如何配置它们来创建新环境。" +"通过配置这些组件,用户可以以最小的工作量创建相同环境的不同变体。在本教程中,我们将浏览 :class:`envs.ManagerBasedEnv`" +" 类的不同组件以及如何配置它们来创建新环境。" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:57 msgid "Designing the scene" @@ -120,10 +121,11 @@ msgstr "设计场景" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:59 msgid "" -"The first step in creating a new environment is to configure its scene. For " -"the cartpole environment, we will be using the scene from the previous " -"tutorial. Thus, we omit the scene configuration here. For more details on " -"how to configure a scene, see :ref:`tutorial-interactive-scene`." +"The first step in creating a new environment is to configure its scene. " +"For the cartpole environment, we will be using the scene from the " +"previous tutorial. Thus, we omit the scene configuration here. For more " +"details on how to configure a scene, see :ref:`tutorial-interactive-" +"scene`." msgstr "" "创建新环境的第一步是配置其场景。对于cartpole环境,我们将使用前一个教程中的场景。因此,我们在这里省略场景配置。有关如何配置场景的更多详细信息,请参阅:" " :ref:`tutorial-interactive-scene` 。" @@ -134,21 +136,22 @@ msgstr "定义actions" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:67 msgid "" -"In the previous tutorial, we directly input the action to the cartpole using" -" the :meth:`assets.Articulation.set_joint_effort_target` method. In this " -"tutorial, we will use the :class:`managers.ActionManager` to handle the " -"actions." +"In the previous tutorial, we directly input the action to the cartpole " +"using the :meth:`assets.Articulation.set_joint_effort_target` method. In " +"this tutorial, we will use the :class:`managers.ActionManager` to handle " +"the actions." msgstr "" "在前一个教程中,我们直接使用 :meth:`assets.Articulation.set_joint_effort_target` " -"方法对cartpole进行动作控制。在本教程中,我们将使用 :class:`managers.ActionManager` 来处理这些actions。" +"方法对cartpole进行动作控制。在本教程中,我们将使用 :class:`managers.ActionManager` " +"来处理这些actions。" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:71 msgid "" -"The action manager can comprise of multiple :class:`managers.ActionTerm`. " -"Each action term is responsible for applying *control* over a specific " -"aspect of the environment. For instance, for robotic arm, we can have two " -"action terms -- one for controlling the joints of the arm, and the other for" -" controlling the gripper. This composition allows the user to define " +"The action manager can comprise of multiple :class:`managers.ActionTerm`." +" Each action term is responsible for applying *control* over a specific " +"aspect of the environment. For instance, for robotic arm, we can have two" +" action terms -- one for controlling the joints of the arm, and the other" +" for controlling the gripper. This composition allows the user to define " "different control schemes for different aspects of the environment." msgstr "" "动作管理器可以包括多个 :class:`managers.ActionTerm` " @@ -158,8 +161,8 @@ msgstr "" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:77 msgid "" "In the cartpole environment, we want to control the force applied to the " -"cart to balance the pole. Thus, we will create an action term that controls " -"the force applied to the cart." +"cart to balance the pole. Thus, we will create an action term that " +"controls the force applied to the cart." msgstr "在cartpole环境中,我们希望控制施加在小车上的力以平衡杆。因此,我们将创建一个动作项来控制施加在小车上的力。" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:85 @@ -169,10 +172,10 @@ msgstr "定义观测" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:87 msgid "" "While the scene defines the state of the environment, the observations " -"define the states that are observable by the agent. These observations are " -"used by the agent to make decisions on what actions to take. In Isaac Lab, " -"the observations are computed by the :class:`managers.ObservationManager` " -"class." +"define the states that are observable by the agent. These observations " +"are used by the agent to make decisions on what actions to take. In Isaac" +" Lab, the observations are computed by the " +":class:`managers.ObservationManager` class." msgstr "" "虽然场景定义了环境的状态,但观测定义了智能体可以观察到的状态。智能体使用这些观测来决定采取什么行动。在Isaac Lab中,观测由 " ":class:`managers.ObservationManager` 类计算。" @@ -182,23 +185,23 @@ msgid "" "Similar to the action manager, the observation manager can comprise of " "multiple observation terms. These are further grouped into observation " "groups which are used to define different observation spaces for the " -"environment. For instance, for hierarchical control, we may want to define " -"two observation groups -- one for the low level controller and the other for" -" the high level controller. It is assumed that all the observation terms in " -"a group have the same dimensions." +"environment. For instance, for hierarchical control, we may want to " +"define two observation groups -- one for the low level controller and the" +" other for the high level controller. It is assumed that all the " +"observation terms in a group have the same dimensions." msgstr "" -"与动作管理器类似,观测管理器可以包含多个观测项。这些进一步分组为观测组,用于定义环境的不同观测空间。例如,对于分层控制,我们可能想定义两个观测组--" -"一个用于低级控制器,另一个用于高级控制器。这些项假定在组中的所有观测项具有相同的维度。" +"与动作管理器类似,观测管理器可以包含多个观测项。这些进一步分组为观测组,用于定义环境的不同观测空间。例如,对于分层控制,我们可能想定义两个观测组" +"--一个用于低级控制器,另一个用于高级控制器。这些项假定在组中的所有观测项具有相同的维度。" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:98 msgid "" "For this tutorial, we will only define one observation group named " -"``\"policy\"``. While not completely prescriptive, this group is a necessary" -" requirement for various wrappers in Isaac Lab. We define a group by " -"inheriting from the :class:`managers.ObservationGroupCfg` class. This class " -"collects different observation terms and help define common properties for " -"the group, such as enabling noise corruption or concatenating the " -"observations into a single tensor." +"``\"policy\"``. While not completely prescriptive, this group is a " +"necessary requirement for various wrappers in Isaac Lab. We define a " +"group by inheriting from the :class:`managers.ObservationGroupCfg` class." +" This class collects different observation terms and help define common " +"properties for the group, such as enabling noise corruption or " +"concatenating the observations into a single tensor." msgstr "" "对于本教程,我们只定义了一个名为 ``\"policy\"`` 的观测组。虽然不是完全具体的,但这个组对于Isaac " "Lab中的各种包装来说是一个必要的要求。我们通过继承 :class:`managers.ObservationGroupCfg` " @@ -224,35 +227,35 @@ msgstr "定义事件" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:117 msgid "" -"At this point, we have defined the scene, actions and observations for the " -"cartpole environment. The general idea for all these components is to define" -" the configuration classes and then pass them to the corresponding managers." -" The event manager is no different." -msgstr "" -"此时,我们已经为cartpole环境定义了场景、动作和观测。所有这些组件的一般思想是定义配置类,然后将它们传递给相应的管理器。事件管理器也不例外。" +"At this point, we have defined the scene, actions and observations for " +"the cartpole environment. The general idea for all these components is to" +" define the configuration classes and then pass them to the corresponding" +" managers. The event manager is no different." +msgstr "此时,我们已经为cartpole环境定义了场景、动作和观测。所有这些组件的一般思想是定义配置类,然后将它们传递给相应的管理器。事件管理器也不例外。" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:121 msgid "" "The :class:`managers.EventManager` class is responsible for events " -"corresponding to changes in the simulation state. This includes resetting " -"(or randomizing) the scene, randomizing physical properties (such as mass, " -"friction, etc.), and varying visual properties (such as colors, textures, " -"etc.). Each of these are specified through the " +"corresponding to changes in the simulation state. This includes resetting" +" (or randomizing) the scene, randomizing physical properties (such as " +"mass, friction, etc.), and varying visual properties (such as colors, " +"textures, etc.). Each of these are specified through the " ":class:`managers.EventTermCfg` class, which takes in the " -":attr:`managers.EventTermCfg.func` that specifies the function or callable " -"class that performs the event." +":attr:`managers.EventTermCfg.func` that specifies the function or " +"callable class that performs the event." msgstr "" ":class:`managers.EventManager` " "类负责对应于模拟状态的更改的事件。这包括重置(或随机化)场景、随机化物理特性(如质量、摩擦等)以及改变视觉特性(如颜色、纹理等)。每个事件都通过 " -":class:`managers.EventTermCfg` 类来指定,该类采用 :attr:`managers.EventTermCfg.func` " -"来指定执行事件的函数或可调用类。" +":class:`managers.EventTermCfg` 类来指定,该类采用 " +":attr:`managers.EventTermCfg.func` 来指定执行事件的函数或可调用类。" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:128 msgid "" -"Additionally, it expects the **mode** of the event. The mode specifies when " -"the event term should be applied. It is possible to specify your own mode. " -"For this, you'll need to adapt the :class:`~envs.ManagerBasedEnv` class. " -"However, out of the box, Isaac Lab provides three commonly used modes:" +"Additionally, it expects the **mode** of the event. The mode specifies " +"when the event term should be applied. It is possible to specify your own" +" mode. For this, you'll need to adapt the :class:`~envs.ManagerBasedEnv` " +"class. However, out of the box, Isaac Lab provides three commonly used " +"modes:" msgstr "" "此外,它期望事件的 **模式** 。这个模式指定事件项应何时应用。可以指定自己的模式。为此,您需要调整 " ":class:`~envs.ManagerBasedEnv` 类。但是,Isaac Lab提供了三种常用的模式: " @@ -275,10 +278,9 @@ msgstr "``\"间隔(interval)\"`` - 在给定间隔后执行的事件,即每 msgid "" "For this example, we define events that randomize the pole's mass on " "startup. This is done only once since this operation is expensive and we " -"don't want to do it on every reset. We also create an event to randomize the" -" initial joint state of the cartpole and the pole at every reset." -msgstr "" -"对于此示例,我们定义了在启动时随机化杆的质量的事件。这只发生一次,因为此操作很昂贵,我们不希望在每次重置时都进行。我们还创建了一个事件,以在每次重置时随机化小车和杆的初始关节状态。" +"don't want to do it on every reset. We also create an event to randomize " +"the initial joint state of the cartpole and the pole at every reset." +msgstr "对于此示例,我们定义了在启动时随机化杆的质量的事件。这只发生一次,因为此操作很昂贵,我们不希望在每次重置时都进行。我们还创建了一个事件,以在每次重置时随机化小车和杆的初始关节状态。" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:145 msgid "Tying it all together" @@ -286,10 +288,10 @@ msgstr "将所有这些组件组合在一起" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:147 msgid "" -"Having defined the scene and manager configurations, we can now define the " -"environment configuration through the :class:`envs.ManagerBasedEnvCfg` " -"class. This class takes in the scene, action, observation and event " -"configurations." +"Having defined the scene and manager configurations, we can now define " +"the environment configuration through the " +":class:`envs.ManagerBasedEnvCfg` class. This class takes in the scene, " +"action, observation and event configurations." msgstr "" "定义了场景和管理器配置之后,我们现在可以通过 :class:`envs.ManagerBasedEnvCfg` " "类定义环境配置。这个类接受场景、动作、观测和事件配置。" @@ -297,11 +299,12 @@ msgstr "" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:151 msgid "" "In addition to these, it also takes in the " -":attr:`envs.ManagerBasedEnvCfg.sim` which defines the simulation parameters " -"such as the timestep, gravity, etc. This is initialized to the default " -"values, but can be modified as needed. We recommend doing so by defining the" -" :meth:`__post_init__` method in the :class:`envs.ManagerBasedEnvCfg` class," -" which is called after the configuration is initialized." +":attr:`envs.ManagerBasedEnvCfg.sim` which defines the simulation " +"parameters such as the timestep, gravity, etc. This is initialized to the" +" default values, but can be modified as needed. We recommend doing so by " +"defining the :meth:`__post_init__` method in the " +":class:`envs.ManagerBasedEnvCfg` class, which is called after the " +"configuration is initialized." msgstr "" "除此之外,它还接收了 :attr:`envs.ManagerBasedEnvCfg.sim` " ",它定义了仿真参数,如时间步长、重力等。这些参数被初始化为默认值,但可以根据需要进行修改。我们建议通过在 " @@ -314,13 +317,14 @@ msgstr "运行模拟" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:163 msgid "" -"Lastly, we revisit the simulation execution loop. This is now much simpler " -"since we have abstracted away most of the details into the environment " -"configuration. We only need to call the :meth:`envs.ManagerBasedEnv.reset` " -"method to reset the environment and :meth:`envs.ManagerBasedEnv.step` method" -" to step the environment. Both these functions return the observation and an" -" info dictionary which may contain additional information provided by the " -"environment. These can be used by an agent for decision-making." +"Lastly, we revisit the simulation execution loop. This is now much " +"simpler since we have abstracted away most of the details into the " +"environment configuration. We only need to call the " +":meth:`envs.ManagerBasedEnv.reset` method to reset the environment and " +":meth:`envs.ManagerBasedEnv.step` method to step the environment. Both " +"these functions return the observation and an info dictionary which may " +"contain additional information provided by the environment. These can be " +"used by an agent for decision-making." msgstr "" "最后,我们再次访问模拟执行循环。现在,这非常简单,因为我们已经抽象出大部分细节到环境配置中。我们只需要调用 " ":meth:`envs.ManagerBasedEnv.reset` 方法来重置环境,以及在 " @@ -330,9 +334,10 @@ msgstr "" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:170 msgid "" "The :class:`envs.ManagerBasedEnv` class does not have any notion of " -"terminations since that concept is specific for episodic tasks. Thus, the " -"user is responsible for defining the termination condition for the " -"environment. In this tutorial, we reset the simulation at regular intervals." +"terminations since that concept is specific for episodic tasks. Thus, the" +" user is responsible for defining the termination condition for the " +"environment. In this tutorial, we reset the simulation at regular " +"intervals." msgstr "" ":class:`envs.ManagerBasedEnv` " "类没有任何中止概念,因为该概念对于周期性任务是特定的。因此,用户需要负责为环境定义终止条件。在本教程中,我们定期重置模拟。" @@ -341,10 +346,10 @@ msgstr "" msgid "" "An important thing to note above is that the entire simulation loop is " "wrapped inside the :meth:`torch.inference_mode` context manager. This is " -"because the environment uses PyTorch operations under-the-hood and we want " -"to ensure that the simulation is not slowed down by the overhead of " -"PyTorch's autograd engine and gradients are not computed for the simulation " -"operations." +"because the environment uses PyTorch operations under-the-hood and we " +"want to ensure that the simulation is not slowed down by the overhead of " +"PyTorch's autograd engine and gradients are not computed for the " +"simulation operations." msgstr "" "上面需要注意的一个重要事项是整个模拟循环包含在 :meth:`torch.inference_mode` " "上下文管理器中。这是因为环境在幕后使用PyTorch操作,我们希望确保模拟不会因PyTorch的自动求导引擎的开销而变慢,也不会为模拟操作计算梯度。" @@ -355,45 +360,49 @@ msgstr "代码执行" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:187 msgid "" -"To run the base environment made in this tutorial, you can use the following" -" command:" +"To run the base environment made in this tutorial, you can use the " +"following command:" msgstr "运行此教程中创建的基本环境,您可以使用以下命令: " #: ../../source/tutorials/03_envs/create_manager_base_env.rst:193 msgid "" -"This should open a stage with a ground plane, light source, and cartpoles. " -"The simulation should be playing with random actions on the cartpole. " -"Additionally, it opens a UI window on the bottom right corner of the screen " -"named ``\"Isaac Lab\"``. This window contains different UI elements that can" -" be used for debugging and visualization." +"This should open a stage with a ground plane, light source, and " +"cartpoles. The simulation should be playing with random actions on the " +"cartpole. Additionally, it opens a UI window on the bottom right corner " +"of the screen named ``\"Isaac Lab\"``. This window contains different UI " +"elements that can be used for debugging and visualization." msgstr "" "这会打开一个具有地平面、光源和cartpoles的场景。模拟应该正在进行中,并对cartpole进行随机动作。此外,它还在屏幕右下角打开一个名为 " "``\"Isaac Lab\"`` 的UI窗口。此窗口包含不同的UI元素,可用于调试和可视化。" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:-1 -msgid "result of create_cartpole_base_env.py" -msgstr "create_cartpole_base_env.py 的结果" +#, fuzzy +msgid "create_cartpole_base_env.py 的结果" +msgstr "create_cartpole_base_env.py的代码" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:204 msgid "" -"To stop the simulation, you can either close the window, or press ``Ctrl+C``" -" in the terminal where you started the simulation." +"To stop the simulation, you can either close the window, or press " +"``Ctrl+C`` in the terminal where you started the simulation." msgstr "要停止模拟,可以关闭窗口,或在启动模拟的终端中按 ``Ctrl+C`` 。" #: ../../source/tutorials/03_envs/create_manager_base_env.rst:207 msgid "" -"In this tutorial, we learned about the different managers that help define a" -" base environment. We include more examples of defining the base environment" -" in the ``source/standalone/tutorials/03_envs`` directory. For completeness," -" they can be run using the following commands:" +"In this tutorial, we learned about the different managers that help " +"define a base environment. We include more examples of defining the base " +"environment in the ``source/standalone/tutorials/03_envs`` directory. For" +" completeness, they can be run using the following commands:" msgstr "" -"在这个教程中,我们学习了不同的管理器,来帮助定义基础环境。我们还在 ``source/standalone/tutorials/03_envs`` " -"目录中包含了更多定义基础环境的示例。为了完整起见,可以使用以下命令来运行它们: " +"在这个教程中,我们学习了不同的管理器,来帮助定义基础环境。我们还在 ``source/standalone/tutorials/03_envs``" +" 目录中包含了更多定义基础环境的示例。为了完整起见,可以使用以下命令来运行它们: " #: ../../source/tutorials/03_envs/create_manager_base_env.rst:219 msgid "" "In the following tutorial, we will look at the " ":class:`envs.ManagerBasedRLEnv` class and how to use it to create a " "Markovian Decision Process (MDP)." -msgstr "" -"在接下来的教程中,我们将看看 :class:`envs.ManagerBasedRLEnv` 类以及如何使用它来创建马尔可夫决策过程(MDP)。" +msgstr "在接下来的教程中,我们将看看 :class:`envs.ManagerBasedRLEnv` 类以及如何使用它来创建马尔可夫决策过程(MDP)。" + +#~ msgid "result of create_cartpole_base_env.py" +#~ msgstr "create_cartpole_base_env.py 的结果" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/create_manager_rl_env.po b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/create_manager_rl_env.po index 40188b4fec..a76404a0e9 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/create_manager_rl_env.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/create_manager_rl_env.po @@ -6,16 +6,16 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-10-30 16:09+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:5 msgid "Creating a Manager-Based RL Environment" @@ -24,36 +24,35 @@ msgstr "创建基于管理器的强化学习环境" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:9 msgid "" "Having learnt how to create a base environment in :ref:`tutorial-create-" -"manager-base-env`, we will now look at how to create a manager-based task " -"environment for reinforcement learning." +"manager-base-env`, we will now look at how to create a manager-based task" +" environment for reinforcement learning." msgstr "" "在 :ref:`tutorial-create-manager-base-env` " "中学习了如何创建基础环境后,我们现在将学习如何为强化学习创建基于管理器的任务环境。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:12 msgid "" -"The base environment is designed as an sense-act environment where the agent" -" can send commands to the environment and receive observations from the " -"environment. This minimal interface is sufficient for many applications such" -" as traditional motion planning and controls. However, many applications " -"require a task-specification which often serves as the learning objective " -"for the agent. For instance, in a navigation task, the agent may be required" -" to reach a goal location. To this end, we use the " -":class:`envs.ManagerBasedRLEnv` class which extends the base environment to " -"include a task specification." +"The base environment is designed as an sense-act environment where the " +"agent can send commands to the environment and receive observations from " +"the environment. This minimal interface is sufficient for many " +"applications such as traditional motion planning and controls. However, " +"many applications require a task-specification which often serves as the " +"learning objective for the agent. For instance, in a navigation task, the" +" agent may be required to reach a goal location. To this end, we use the " +":class:`envs.ManagerBasedRLEnv` class which extends the base environment " +"to include a task specification." msgstr "" -"基础环境被设计为一种感知-" -"行为环境,智能体可以向环境发送命令,并从环境中接收观测。这种最小接口对于许多应用程序,如传统运动规划和控制,是足够的。然而,许多应用程序需要任务规范,这通常用作智能体的学习目标。例如,在导航任务中,智能体可能需要到达目标位置。为此,我们使用" +"基础环境被设计为一种感知-行为环境,智能体可以向环境发送命令,并从环境中接收观测。这种最小接口对于许多应用程序,如传统运动规划和控制,是足够的。然而,许多应用程序需要任务规范,这通常用作智能体的学习目标。例如,在导航任务中,智能体可能需要到达目标位置。为此,我们使用" " :class:`envs.ManagerBasedRLEnv` 类扩展基础环境以包含任务规范。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:19 msgid "" -"Similar to other components in Isaac Lab, instead of directly modifying the " -"base class :class:`envs.ManagerBasedRLEnv`, we encourage users to simply " -"implement a configuration :class:`envs.ManagerBasedRLEnvCfg` for their task " -"environment. This practice allows us to separate the task specification from" -" the environment implementation, making it easier to reuse components of the" -" same environment for different tasks." +"Similar to other components in Isaac Lab, instead of directly modifying " +"the base class :class:`envs.ManagerBasedRLEnv`, we encourage users to " +"simply implement a configuration :class:`envs.ManagerBasedRLEnvCfg` for " +"their task environment. This practice allows us to separate the task " +"specification from the environment implementation, making it easier to " +"reuse components of the same environment for different tasks." msgstr "" "与 Isaac Lab 中的其他组件类似,我们鼓励用户不要直接修改 :class:`envs.ManagerBasedRLEnv` " "基类,而是简单地为他们的任务环境实现一个配置 :class:`envs.ManagerBasedRLEnvCfg` " @@ -78,8 +77,8 @@ msgid "" "For this tutorial, we use the cartpole environment defined in " "``omni.isaac.lab_tasks.manager_based.classic.cartpole`` module." msgstr "" -"在本教程中,我们使用 ``omni.isaac.lab_tasks.manager_based.classic.cartpole`` 模块中定义的 " -"cartpole 环境。" +"在本教程中,我们使用 ``omni.isaac.lab_tasks.manager_based.classic.cartpole`` 模块中定义的" +" cartpole 环境。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst msgid "Code for cartpole_env_cfg.py" @@ -87,11 +86,12 @@ msgstr "cartpole_env_cfg.py 代码" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:42 msgid "" -"The script for running the environment ``run_cartpole_rl_env.py`` is present" -" in the ``isaaclab/source/standalone/tutorials/03_envs`` directory. The " -"script is similar to the ``cartpole_base_env.py`` script in the previous " -"tutorial, except that it uses the :class:`envs.ManagerBasedRLEnv` instead of" -" the :class:`envs.ManagerBasedEnv`." +"The script for running the environment ``run_cartpole_rl_env.py`` is " +"present in the ``isaaclab/source/standalone/tutorials/03_envs`` " +"directory. The script is similar to the ``cartpole_base_env.py`` script " +"in the previous tutorial, except that it uses the " +":class:`envs.ManagerBasedRLEnv` instead of the " +":class:`envs.ManagerBasedEnv`." msgstr "" "用于运行环境的脚本 ``run_cartpole_rl_env.py`` 存在于 " "``isaaclab/source/standalone/tutorials/03_envs`` 目录中。该脚本与前一个教程中的 " @@ -110,18 +110,18 @@ msgstr "代码解释" msgid "" "We already went through parts of the above in the :ref:`tutorial-create-" "manager-base-env` tutorial to learn about how to specify the scene, " -"observations, actions and events. Thus, in this tutorial, we will focus only" -" on the RL components of the environment." +"observations, actions and events. Thus, in this tutorial, we will focus " +"only on the RL components of the environment." msgstr "" "我们已经在 :ref:`tutorial-create-manager-base-env` " "教程中学习了上述部分,以了解如何指定场景、观测、动作和事件。因此,在本教程中,我们将只专注于环境的强化学习组件。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:63 msgid "" -"In Isaac Lab, we provide various implementations of different terms in the " -":mod:`envs.mdp` module. We will use some of these terms in this tutorial, " -"but users are free to define their own terms as well. These are usually " -"placed in their task-specific sub-package (for instance, in " +"In Isaac Lab, we provide various implementations of different terms in " +"the :mod:`envs.mdp` module. We will use some of these terms in this " +"tutorial, but users are free to define their own terms as well. These are" +" usually placed in their task-specific sub-package (for instance, in " ":mod:`omni.isaac.lab_tasks.manager_based.classic.cartpole.mdp`)." msgstr "" "在 Isaac Lab 中,我们提供了 :mod:`envs.mdp` " @@ -134,13 +134,13 @@ msgstr "定义奖励" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:72 msgid "" -"The :class:`managers.RewardManager` is used to compute the reward terms for " -"the agent. Similar to the other managers, its terms are configured using the" -" :class:`managers.RewardTermCfg` class. The :class:`managers.RewardTermCfg` " -"class specifies the function or callable class that computes the reward as " -"well as the weighting associated with it. It also takes in dictionary of " -"arguments, ``\"params\"`` that are passed to the reward function when it is " -"called." +"The :class:`managers.RewardManager` is used to compute the reward terms " +"for the agent. Similar to the other managers, its terms are configured " +"using the :class:`managers.RewardTermCfg` class. The " +":class:`managers.RewardTermCfg` class specifies the function or callable " +"class that computes the reward as well as the weighting associated with " +"it. It also takes in dictionary of arguments, ``\"params\"`` that are " +"passed to the reward function when it is called." msgstr "" ":class:`managers.RewardManager` 用于计算智能体的奖励项。与其他管理器类似,它的术语是使用 " ":class:`managers.RewardTermCfg` 配置的。 :class:`managers.RewardTermCfg` " @@ -152,7 +152,8 @@ msgstr "对于 cartpole 任务,我们将使用以下奖励项: " #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:80 msgid "" -"**Alive Reward**: Encourage the agent to stay alive for as long as possible." +"**Alive Reward**: Encourage the agent to stay alive for as long as " +"possible." msgstr "**存活奖励**: 鼓励智能体尽可能长时间保持存活状态。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:81 @@ -161,20 +162,20 @@ msgstr "**终止奖励**: 同样惩罚智能体的终止。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:82 msgid "" -"**Pole Angle Reward**: Encourage the agent to keep the pole at the desired " -"upright position." +"**Pole Angle Reward**: Encourage the agent to keep the pole at the " +"desired upright position." msgstr "**杆角度奖励**: 鼓励智能体保持杆在期望的直立位置。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:83 msgid "" -"**Cart Velocity Reward**: Encourage the agent to keep the cart velocity as " -"small as possible." +"**Cart Velocity Reward**: Encourage the agent to keep the cart velocity " +"as small as possible." msgstr "**小车速度奖励**: 鼓励智能体尽可能保持小车速度较小。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:84 msgid "" -"**Pole Velocity Reward**: Encourage the agent to keep the pole velocity as " -"small as possible." +"**Pole Velocity Reward**: Encourage the agent to keep the pole velocity " +"as small as possible." msgstr "**杆速度奖励**: 鼓励智能体尽可能保持杆速度较小。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:91 @@ -184,12 +185,12 @@ msgstr "定义终止条件" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:93 msgid "" "Most learning tasks happen over a finite number of steps that we call an " -"episode. For instance, in the cartpole task, we want the agent to balance " -"the pole for as long as possible. However, if the agent reaches an unstable " -"or unsafe state, we want to terminate the episode. On the other hand, if the" -" agent is able to balance the pole for a long time, we want to terminate the" -" episode and start a new one so that the agent can learn to balance the pole" -" from a different starting configuration." +"episode. For instance, in the cartpole task, we want the agent to balance" +" the pole for as long as possible. However, if the agent reaches an " +"unstable or unsafe state, we want to terminate the episode. On the other " +"hand, if the agent is able to balance the pole for a long time, we want " +"to terminate the episode and start a new one so that the agent can learn " +"to balance the pole from a different starting configuration." msgstr "" "大多数学习任务在有限数量的步骤中进行,我们称之为一个回合。例如,在 cartpole " "任务中,我们希望智能体尽可能长时间地保持杆的平衡。然而,如果智能体达到不稳定或不安全状态,我们希望终止回合。另一方面,如果智能体能够长时间保持杆平衡,我们希望终止回合并开始新的回合,以便智能体可以学会从不同的起始配置中平衡杆。" @@ -197,10 +198,9 @@ msgstr "" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:99 msgid "" "The :class:`managers.TerminationsCfg` configures what constitutes for an " -"episode to terminate. In this example, we want the task to terminate when " -"either of the following conditions is met:" -msgstr "" -":class:`managers.TerminationsCfg` 配置了何时终止一个回合。在本例中,我们希望当满足以下任一条件时终止任务: " +"episode to terminate. In this example, we want the task to terminate when" +" either of the following conditions is met:" +msgstr ":class:`managers.TerminationsCfg` 配置了何时终止一个回合。在本例中,我们希望当满足以下任一条件时终止任务: " #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:102 msgid "" @@ -215,13 +215,13 @@ msgstr "**小车越界**: 小车走出边界 [-3, 3]。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:105 msgid "" "The flag :attr:`managers.TerminationsCfg.time_out` specifies whether the " -"term is a time-out (truncation) term or terminated term. These are used to " -"indicate the two types of terminations as described in `Gymnasium's " +"term is a time-out (truncation) term or terminated term. These are used " +"to indicate the two types of terminations as described in `Gymnasium's " "documentation " "`_." msgstr "" -"标志 :attr:`managers.TerminationsCfg.time_out` 指定了术语是时间限制(截断)术语还是终止术语。这些用于指示 " -"`Gymnasium's documentation " +"标志 :attr:`managers.TerminationsCfg.time_out` " +"指定了术语是时间限制(截断)术语还是终止术语。这些用于指示 `Gymnasium's documentation " "`_" " 中描述的两种终止类型。" @@ -233,9 +233,9 @@ msgstr "定义命令" msgid "" "For various goal-conditioned tasks, it is useful to specify the goals or " "commands for the agent. These are handled through the " -":class:`managers.CommandManager`. The command manager handles resampling and" -" updating the commands at each step. It can also be used to provide the " -"commands as an observation to the agent." +":class:`managers.CommandManager`. The command manager handles resampling " +"and updating the commands at each step. It can also be used to provide " +"the commands as an observation to the agent." msgstr "" "对于各种目标条件的任务,指定智能体的目标或命令是有用的。这通过 :class:`managers.CommandManager` " "处理。命令管理器在每一步中处理重新采样和更新命令。它还可以用作向智能体提供命令的观测。" @@ -243,10 +243,10 @@ msgstr "" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:120 msgid "" "For this simple task, we do not use any commands. Hence, we leave this " -"attribute as its default value, which is None. You can see an example of how" -" to define a command manager in the other locomotion or manipulation tasks." -msgstr "" -"对于这个简单的任务,我们不使用任何命令。因此,我们将这个属性保留为默认值,即 None。您可以在其他运动或操控任务中看到如何定义命令管理器的示例。" +"attribute as its default value, which is None. You can see an example of " +"how to define a command manager in the other locomotion or manipulation " +"tasks." +msgstr "对于这个简单的任务,我们不使用任何命令。因此,我们将这个属性保留为默认值,即 None。您可以在其他运动或操控任务中看到如何定义命令管理器的示例。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:124 msgid "Defining curriculum" @@ -254,19 +254,19 @@ msgstr "定义课程" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:126 msgid "" -"Often times when training a learning agent, it helps to start with a simple " -"task and gradually increase the tasks's difficulty as the agent training " -"progresses. This is the idea behind curriculum learning. In Isaac Lab, we " -"provide a :class:`managers.CurriculumManager` class that can be used to " -"define a curriculum for your environment." +"Often times when training a learning agent, it helps to start with a " +"simple task and gradually increase the tasks's difficulty as the agent " +"training progresses. This is the idea behind curriculum learning. In " +"Isaac Lab, we provide a :class:`managers.CurriculumManager` class that " +"can be used to define a curriculum for your environment." msgstr "" -"在训练学习智能体时,往往从一个简单的任务开始,并随着智能体的训练逐渐增加任务的难度。这就是课程学习的理念。在 Isaac Lab 中,我们提供了一个 " -":class:`managers.CurriculumManager` 类,可以用来为您的环境定义课程。" +"在训练学习智能体时,往往从一个简单的任务开始,并随着智能体的训练逐渐增加任务的难度。这就是课程学习的理念。在 Isaac Lab " +"中,我们提供了一个 :class:`managers.CurriculumManager` 类,可以用来为您的环境定义课程。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:130 msgid "" -"In this tutorial we don't implement a curriculum for simplicity, but you can" -" see an example of a curriculum definition in the other locomotion or " +"In this tutorial we don't implement a curriculum for simplicity, but you " +"can see an example of a curriculum definition in the other locomotion or " "manipulation tasks." msgstr "" "在本教程中,为了简单起见,我们不实现课程,但是您可以在其他 locomotion 或 manipulation " @@ -279,9 +279,9 @@ msgstr "将所有内容联系起来" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:136 msgid "" "With all the above components defined, we can now create the " -":class:`ManagerBasedRLEnvCfg` configuration for the cartpole environment. " -"This is similar to the :class:`ManagerBasedEnvCfg` defined in " -":ref:`tutorial-create-manager-base-env`, only with the added RL components " +":class:`ManagerBasedRLEnvCfg` configuration for the cartpole environment." +" This is similar to the :class:`ManagerBasedEnvCfg` defined in :ref" +":`tutorial-create-manager-base-env`, only with the added RL components " "explained in the above sections." msgstr "" "通过定义上述所有组件,我们现在可以为 cartpole 环境创建 :class:`ManagerBasedRLEnvCfg` 配置。这类似于 " @@ -294,19 +294,19 @@ msgstr "运行模拟循环" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:147 msgid "" -"Coming back to the ``run_cartpole_rl_env.py`` script, the simulation loop is" -" similar to the previous tutorial. The only difference is that we create an " -"instance of :class:`envs.ManagerBasedRLEnv` instead of the " +"Coming back to the ``run_cartpole_rl_env.py`` script, the simulation loop" +" is similar to the previous tutorial. The only difference is that we " +"create an instance of :class:`envs.ManagerBasedRLEnv` instead of the " ":class:`envs.ManagerBasedEnv`. Consequently, now the " -":meth:`envs.ManagerBasedRLEnv.step` method returns additional signals such " -"as the reward and termination status. The information dictionary also " -"maintains logging of quantities such as the reward contribution from " -"individual terms, the termination status of each term, the episode length " -"etc." +":meth:`envs.ManagerBasedRLEnv.step` method returns additional signals " +"such as the reward and termination status. The information dictionary " +"also maintains logging of quantities such as the reward contribution from" +" individual terms, the termination status of each term, the episode " +"length etc." msgstr "" "回到 ``run_cartpole_rl_env.py`` 脚本,模拟循环类似于之前的教程。唯一的区别是,我们创建了一个 " -":class:`envs.ManagerBasedRLEnv` 的实例,而不是 :class:`envs.ManagerBasedEnv` 。因此,现在" -" :meth:`envs.ManagerBasedRLEnv.step` " +":class:`envs.ManagerBasedRLEnv` 的实例,而不是 :class:`envs.ManagerBasedEnv` " +"。因此,现在 :meth:`envs.ManagerBasedRLEnv.step` " "方法返回额外的信号,例如奖励和终止状态。信息字典还保持记录诸如来自各个术语奖励的贡献,每个术语的终止状态,回合长度等的日志。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:159 @@ -315,36 +315,36 @@ msgstr "代码执行" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:162 msgid "" -"Similar to the previous tutorial, we can run the environment by executing " -"the ``run_cartpole_rl_env.py`` script." +"Similar to the previous tutorial, we can run the environment by executing" +" the ``run_cartpole_rl_env.py`` script." msgstr "与之前的教程类似,可以通过执行 ``run_cartpole_rl_env.py`` 脚本来运行环境。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:169 msgid "" -"This should open a similar simulation as in the previous tutorial. However, " -"this time, the environment returns more signals that specify the reward and " -"termination status. Additionally, the individual environments reset " -"themselves when they terminate based on the termination criteria specified " -"in the configuration." -msgstr "" -"这应该会打开与上一个教程中类似的模拟。然而,这次,环境返回了更多的信号,指定了奖励和终止状态。此外,各个环境在根据配置中指定的终止条件终止时会重新进行重置。" +"This should open a similar simulation as in the previous tutorial. " +"However, this time, the environment returns more signals that specify the" +" reward and termination status. Additionally, the individual environments" +" reset themselves when they terminate based on the termination criteria " +"specified in the configuration." +msgstr "这应该会打开与上一个教程中类似的模拟。然而,这次,环境返回了更多的信号,指定了奖励和终止状态。此外,各个环境在根据配置中指定的终止条件终止时会重新进行重置。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:-1 -msgid "result of run_cartpole_rl_env.py" -msgstr "run_cartpole_rl_env.py 的结果" +#, fuzzy +msgid "run_cartpole_rl_env.py 的结果" +msgstr "run_cartpole_rl_env.py 代码" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:179 msgid "" -"To stop the simulation, you can either close the window, or press ``Ctrl+C``" -" in the terminal where you started the simulation." +"To stop the simulation, you can either close the window, or press " +"``Ctrl+C`` in the terminal where you started the simulation." msgstr "要停止模拟,您可以关闭窗口,或者在启动模拟的终端中按 ``Ctrl+C`` 。" #: ../../source/tutorials/03_envs/create_manager_rl_env.rst:182 msgid "" "In this tutorial, we learnt how to create a task environment for " "reinforcement learning. We do this by extending the base environment to " -"include the rewards, terminations, commands and curriculum terms. We also " -"learnt how to use the :class:`envs.ManagerBasedRLEnv` class to run the " +"include the rewards, terminations, commands and curriculum terms. We also" +" learnt how to use the :class:`envs.ManagerBasedRLEnv` class to run the " "environment and receive various signals from it." msgstr "" "在本教程中,我们学习了如何为强化学习创建任务环境。我们通过扩展基础环境来包括奖励、终止条件、命令和课程术语来实现这一点。我们还学习了如何使用 " @@ -354,10 +354,15 @@ msgstr "" msgid "" "While it is possible to manually create an instance of " ":class:`envs.ManagerBasedRLEnv` class for a desired task, this is not " -"scalable as it requires specialized scripts for each task. Thus, we exploit " -"the :meth:`gymnasium.make` function to create the environment with the gym " -"interface. We will learn how to do this in the next tutorial." +"scalable as it requires specialized scripts for each task. Thus, we " +"exploit the :meth:`gymnasium.make` function to create the environment " +"with the gym interface. We will learn how to do this in the next " +"tutorial." msgstr "" "虽然可以手动为所需的任务创建 :class:`envs.ManagerBasedRLEnv` " -"类的实例,但这并不可伸缩,因为它需要为每个任务使用专门的脚本。因此,我们利用 :meth:`gymnasium.make` 函数来创建具有 gym " -"接口的环境。我们将在下一个教程中学习如何做到这一点。" +"类的实例,但这并不可伸缩,因为它需要为每个任务使用专门的脚本。因此,我们利用 :meth:`gymnasium.make` 函数来创建具有 gym" +" 接口的环境。我们将在下一个教程中学习如何做到这一点。" + +#~ msgid "result of run_cartpole_rl_env.py" +#~ msgstr "run_cartpole_rl_env.py 的结果" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/modify_direct_rl_env.po b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/modify_direct_rl_env.po index 8299c3e917..97deff7c5f 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/modify_direct_rl_env.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/modify_direct_rl_env.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-21 01:38+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.16.0\n" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:5 @@ -23,29 +23,28 @@ msgstr "修改现有的 Direct RL 环境" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:9 msgid "" -"Having learnt how to create a task in :ref:`tutorial-create-direct-rl-env`, " -"register it in :ref:`tutorial-register-rl-env-gym`, and train it in " -":ref:`tutorial-run-rl-training`, we will now look at how to make minor " +"Having learnt how to create a task in :ref:`tutorial-create-direct-rl-" +"env`, register it in :ref:`tutorial-register-rl-env-gym`, and train it in" +" :ref:`tutorial-run-rl-training`, we will now look at how to make minor " "modifications to an existing task." msgstr "" -"学习如何在 :ref:`tutorial-create-direct-rl-env` 中创建任务,在 :ref:`tutorial-register-" -"rl-env-gym` 中注册任务,以及在 :ref:`tutorial-run-rl-training` " +"学习如何在 :ref:`tutorial-create-direct-rl-env` 中创建任务,在 :ref:`tutorial-" +"register-rl-env-gym` 中注册任务,以及在 :ref:`tutorial-run-rl-training` " "中训练任务后,我们现在将探讨如何对现有任务进行小的修改。" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:12 msgid "" -"Sometimes it is necessary to create, due to complexity or variations from " -"existing examples, tasks from scratch. However, in certain situations, it is" -" possible to start from the existing code and introduce minor changes, one " -"by one, to transform them according to our needs." -msgstr "" -"有时由于复杂性或与现有示例的变化,有必要从头开始创建任务。然而,在某些情况下,可以从现有代码开始,逐一进行小的修改,以根据我们的需求进行转换。" +"Sometimes it is necessary to create, due to complexity or variations from" +" existing examples, tasks from scratch. However, in certain situations, " +"it is possible to start from the existing code and introduce minor " +"changes, one by one, to transform them according to our needs." +msgstr "有时由于复杂性或与现有示例的变化,有必要从头开始创建任务。然而,在某些情况下,可以从现有代码开始,逐一进行小的修改,以根据我们的需求进行转换。" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:15 msgid "" -"In this tutorial, we will make minor modifications to the direct workflow " -"Humanoid task to change the simple humanoid model to the Unitree H1 humanoid" -" robot without affecting the original code." +"In this tutorial, we will make minor modifications to the direct workflow" +" Humanoid task to change the simple humanoid model to the Unitree H1 " +"humanoid robot without affecting the original code." msgstr "在本教程中,我们将对直接工作流程中的人形任务进行轻微修改,将简单的人形模型更改为 Unitree H1 人形机器人,而不影响原始代码。" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:20 @@ -54,10 +53,11 @@ msgstr "基础代码" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:22 msgid "" -"For this tutorial, we start from the direct workflow Humanoid environment " -"defined in ``omni.isaac.lab_tasks.direct.humanoid`` module." +"For this tutorial, we start from the direct workflow Humanoid environment" +" defined in ``omni.isaac.lab_tasks.direct.humanoid`` module." msgstr "" -"对于本教程,我们从 ``omni.isaac.lab_tasks.direct.humanoid`` 模块定义的直接工作流 Humanoid 环境开始。" +"对于本教程,我们从 ``omni.isaac.lab_tasks.direct.humanoid`` 模块定义的直接工作流 Humanoid " +"环境开始。" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst msgid "Code for humanoid_env.py" @@ -73,9 +73,9 @@ msgstr "复制文件并注册新任务" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:38 msgid "" -"To avoid modifying the code of the existing task, we will make a copy of the" -" file containing the Python code and perform the modification on this copy. " -"Then, in the Isaac Lab project " +"To avoid modifying the code of the existing task, we will make a copy of " +"the file containing the Python code and perform the modification on this " +"copy. Then, in the Isaac Lab project " "``source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/direct/humanoid``" " folder we make a copy of the ``humanoid_env.py`` file and rename it to " "``h1_env.py``." @@ -86,30 +86,31 @@ msgstr "" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:43 msgid "" -"Open the ``h1_env.py`` file in a code editor and replace all the humanoid " -"task name (``HumanoidEnv``) and its configuration (``HumanoidEnvCfg``) " -"instances to ``H1Env`` and ``H1EnvCfg`` respectively. This is necessary to " -"avoid name conflicts during import when registering the environment." +"Open the ``h1_env.py`` file in a code editor and replace all the humanoid" +" task name (``HumanoidEnv``) and its configuration (``HumanoidEnvCfg``) " +"instances to ``H1Env`` and ``H1EnvCfg`` respectively. This is necessary " +"to avoid name conflicts during import when registering the environment." msgstr "" "在代码编辑器中打开 ``h1_env.py`` 文件,并将所有人形任务名称( ``HumanoidEnv`` )及其配置( " -"``HumanoidEnvCfg`` )实例分别替换为 ``H1Env`` 和 ``H1EnvCfg`` 。这是为了在注册环境时避免名称冲突而必要的。" +"``HumanoidEnvCfg`` )实例分别替换为 ``H1Env`` 和 ``H1EnvCfg`` " +"。这是为了在注册环境时避免名称冲突而必要的。" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:47 msgid "" "Once the name change has been made, we proceed to add a new entry to " "register the task under the name ``Isaac-H1-Direct-v0``. To do this, we " "modify the ``__init__.py`` file in the same working folder and add the " -"following entry. Refer to the :ref:`tutorial-register-rl-env-gym` tutorial " -"for more details about environment registrations." +"following entry. Refer to the :ref:`tutorial-register-rl-env-gym` " +"tutorial for more details about environment registrations." msgstr "" "一旦更改名称完成,我们就开始在名称为 ``Isaac-H1-Direct-v0`` 的任务下添加新条目。为此,我们修改同一工作文件夹中的 " -"``__init__.py`` 文件,并添加以下条目。有关环境注册的更多详细信息,请参考 :ref:`tutorial-register-rl-env-" -"gym` 教程。" +"``__init__.py`` 文件,并添加以下条目。有关环境注册的更多详细信息,请参考 :ref:`tutorial-register-rl-" +"env-gym` 教程。" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:53 msgid "" -"If the changes in the task are minimal, it is very likely that the same RL " -"library agent configurations can be used to train it successfully. " +"If the changes in the task are minimal, it is very likely that the same " +"RL library agent configurations can be used to train it successfully. " "Otherwise, it is advisable to create new configuration files (adjusting " "their name during registration under the ``kwargs`` parameter) to avoid " "altering the original configurations." @@ -123,10 +124,10 @@ msgstr "改变机器人" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:71 msgid "" -"The ``H1EnvCfg`` class (in the new created ``h1_env.py`` file) encapsulates " -"the configuration values of the environment, including the assets to be " -"instantiated. Particularly in this example, the ``robot`` property holds the" -" target articulation configuration." +"The ``H1EnvCfg`` class (in the new created ``h1_env.py`` file) " +"encapsulates the configuration values of the environment, including the " +"assets to be instantiated. Particularly in this example, the ``robot`` " +"property holds the target articulation configuration." msgstr "" "``H1EnvCfg`` 类(在新创建的 ``h1_env.py`` " "文件中)封装了环境的配置值,包括要实例化的资产。特别是在这个例子中,``robot`` 属性保存着目标关节配置。" @@ -135,18 +136,18 @@ msgstr "" msgid "" "Since the Unitree H1 robot is included in the Isaac Lab assets extension " "(``omni.isaac.lab_assets``) we can just import it and do the replacement " -"directly (under the ``H1EnvCfg.robot`` property), as shown below. Note that " -"we also need to modify the ``joint_gears`` property as it holds robot-" -"specific configuration values." +"directly (under the ``H1EnvCfg.robot`` property), as shown below. Note " +"that we also need to modify the ``joint_gears`` property as it holds " +"robot-specific configuration values." msgstr "" "由于 Unitree H1 机器人包含在 Isaac Lab 资产扩展 (``omni.isaac.lab_assets``) " -"中,我们可以直接导入并进行替换 (在 ``H1EnvCfg.robot`` 属性下),如下所示。请注意,我们还需要修改 ``joint_gears`` " -"属性,因为它包含特定于机器人的配置值。" +"中,我们可以直接导入并进行替换 (在 ``H1EnvCfg.robot`` 属性下),如下所示。请注意,我们还需要修改 " +"``joint_gears`` 属性,因为它包含特定于机器人的配置值。" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:82 msgid "" -"If the target robot is not included in the Isaac Lab assets extension, it is" -" possible to load and configure it, from a USD file, by using the " +"If the target robot is not included in the Isaac Lab assets extension, it" +" is possible to load and configure it, from a USD file, by using the " ":class:`~omni.isaac.lab.assets.ArticulationCfg` class." msgstr "" "如果目标机器人不包含在Isaac Lab资产扩展中,可以通过使用 " @@ -160,22 +161,21 @@ msgstr "查看 |franka-direct-link| 源代码以获取从 USD 文件加载和配 #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:86 msgid "" -"Refer to the `Importing a New Asset <../../how-to/import_new_asset.html>`_ " -"tutorial for details on how to import an asset from URDF or MJCF file, and " -"other formats." +"Refer to the `Importing a New Asset <../../how-" +"to/import_new_asset.html>`_ tutorial for details on how to import an " +"asset from URDF or MJCF file, and other formats." msgstr "" -"请参考 `Importing a New Asset <../../how-to/import_new_asset.html>`_ 教程,了解如何从 " -"URDF 或 MJCF 文件以及其他格式导入资产的详细信息。" +"请参考 `Importing a New Asset <../../how-to/import_new_asset.html>`_ " +"教程,了解如何从 URDF 或 MJCF 文件以及其他格式导入资产的详细信息。" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:98 msgid "" -"The robot changed, and with it the number of joints to control or the number" -" of rigid bodies that compose the articulation, for example. Therefore, it " -"is also necessary to adjust other values in the environment configuration " -"that depend on the characteristics of the robot, such as the number of " -"elements in the observation and action space." -msgstr "" -"机器人发生了变化,因此控制的关节数量或构成关节的刚体数量也发生了变化,例如。因此,还需要调整环境配置中的其他值,这些值依赖于机器人的特性,例如观察和动作空间中的元素数量。" +"The robot changed, and with it the number of joints to control or the " +"number of rigid bodies that compose the articulation, for example. " +"Therefore, it is also necessary to adjust other values in the environment" +" configuration that depend on the characteristics of the robot, such as " +"the number of elements in the observation and action space." +msgstr "机器人发生了变化,因此控制的关节数量或构成关节的刚体数量也发生了变化,例如。因此,还需要调整环境配置中的其他值,这些值依赖于机器人的特性,例如观察和动作空间中的元素数量。" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:108 msgid "The Code Execution" @@ -184,33 +184,37 @@ msgstr "代码执行" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:110 msgid "" "After the minor modification has been done, and similar to the previous " -"tutorial, we can train on the task using one of the available RL workflows " -"for such task." +"tutorial, we can train on the task using one of the available RL " +"workflows for such task." msgstr "完成了轻微修改之后,类似于之前的教程,我们可以使用其中一个可用的强化学习工作流来对该任务进行训练。" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:116 msgid "" "When the training is finished, we can visualize the result with the " -"following command. To stop the simulation, you can either close the window, " -"or press ``Ctrl+C`` in the terminal where you started the simulation." +"following command. To stop the simulation, you can either close the " +"window, or press ``Ctrl+C`` in the terminal where you started the " +"simulation." msgstr "当训练完成时,我们可以使用以下命令可视化结果。要停止仿真,您可以关闭窗口,或者在启动仿真的终端中按下 ``Ctrl+C`` 。" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:-1 -msgid "result of training Isaac-H1-Direct-v0 task" -msgstr "训练结果 Isaac-H1-Direct-v0 任务" +msgid "训练结果 Isaac-H1-Direct-v0 任务" +msgstr "" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:129 msgid "" -"In this tutorial, we learnt how to make minor modifications to an existing " -"environment without affecting the original code." +"In this tutorial, we learnt how to make minor modifications to an " +"existing environment without affecting the original code." msgstr "在本教程中,我们学习了如何对现有环境进行轻微修改,而不影响原始代码。" #: ../../source/tutorials/03_envs/modify_direct_rl_env.rst:131 msgid "" -"It is important to note, however, that while the changes to be made may be " -"small, they may not always work on the first try, as there may be deeper " -"dependencies on the original assets in the environment being modified. In " -"these cases, it is advisable to analyze the code of the available examples " -"in detail in order to make an appropriate adjustment." -msgstr "" -"重要的是要注意,虽然需要进行的更改可能很小,但它们不一定能在第一次尝试时成功,因为在被修改的环境中可能存在对原始资产的更深层依赖关系。在这些情况下,建议详细分析可用示例的代码,以便进行适当的调整。" +"It is important to note, however, that while the changes to be made may " +"be small, they may not always work on the first try, as there may be " +"deeper dependencies on the original assets in the environment being " +"modified. In these cases, it is advisable to analyze the code of the " +"available examples in detail in order to make an appropriate adjustment." +msgstr "重要的是要注意,虽然需要进行的更改可能很小,但它们不一定能在第一次尝试时成功,因为在被修改的环境中可能存在对原始资产的更深层依赖关系。在这些情况下,建议详细分析可用示例的代码,以便进行适当的调整。" + +#~ msgid "result of training Isaac-H1-Direct-v0 task" +#~ msgstr "训练结果 Isaac-H1-Direct-v0 任务" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/register_rl_env_gym.po b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/register_rl_env_gym.po index 8482f43638..f8b1c22202 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/register_rl_env_gym.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/03_envs/register_rl_env_gym.po @@ -6,16 +6,16 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-27 20:01+0800\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.16.0\n" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:4 msgid "Registering an Environment" @@ -24,8 +24,8 @@ msgstr "注册环境" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:8 msgid "" "In the previous tutorial, we learned how to create a custom cartpole " -"environment. We manually created an instance of the environment by importing" -" the environment class and its configuration class." +"environment. We manually created an instance of the environment by " +"importing the environment class and its configuration class." msgstr "在上一个教程中,我们学习了如何创建自定义的cartpole环境。我们通过导入环境类和配置类的方式手动创建了环境的实例。" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst @@ -37,8 +37,8 @@ msgid "" "While straightforward, this approach is not scalable as we have a large " "suite of environments. In this tutorial, we will show how to use the " ":meth:`gymnasium.register` method to register environments with the " -"``gymnasium`` registry. This allows us to create the environment through the" -" :meth:`gymnasium.make` function." +"``gymnasium`` registry. This allows us to create the environment through " +"the :meth:`gymnasium.make` function." msgstr "" "虽然直接,但这种方法不够可扩展,因为我们有大量的环境套件。在本教程中,我们将展示如何使用 :meth:`gymnasium.register` " "方法将环境注册到 ``gymnasium`` 注册表中。这使我们可以通过 :meth:`gymnasium.make` 函数创建环境。" @@ -68,11 +68,11 @@ msgstr "代码解释" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:51 msgid "" "The :class:`envs.ManagerBasedRLEnv` class inherits from the " -":class:`gymnasium.Env` class to follow a standard interface. However, unlike" -" the traditional Gym environments, the :class:`envs.ManagerBasedRLEnv` " -"implements a *vectorized* environment. This means that multiple environment " -"instances are running simultaneously in the same process, and all the data " -"is returned in a batched fashion." +":class:`gymnasium.Env` class to follow a standard interface. However, " +"unlike the traditional Gym environments, the " +":class:`envs.ManagerBasedRLEnv` implements a *vectorized* environment. " +"This means that multiple environment instances are running simultaneously" +" in the same process, and all the data is returned in a batched fashion." msgstr "" ":class:`envs.ManagerBasedRLEnv` 类继承自 :class:`gymnasium.Env` " "类以遵循标准接口。然而,与传统的Gym环境不同, :class:`envs.ManagerBasedRLEnv` " @@ -82,8 +82,8 @@ msgstr "" msgid "" "Similarly, the :class:`envs.DirectRLEnv` class also inherits from the " ":class:`gymnasium.Env` class for the direct workflow. For " -":class:`envs.DirectMARLEnv`, although it does not inherit from Gymnasium, it" -" can be registered and created in the same way." +":class:`envs.DirectMARLEnv`, although it does not inherit from Gymnasium," +" it can be registered and created in the same way." msgstr "" "同样,:class:`envs.DirectRLEnv` 类也从 :class:`gymnasium.Env` 类继承以用于直接工作流程。对于 " ":class:`envs.DirectMARLEnv` ,虽然它不是从Gymnasium继承的,但可以以相同的方式注册和创建。" @@ -94,18 +94,17 @@ msgstr "使用gym注册表" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:64 msgid "" -"To register an environment, we use the :meth:`gymnasium.register` method. " -"This method takes in the environment name, the entry point to the " +"To register an environment, we use the :meth:`gymnasium.register` method." +" This method takes in the environment name, the entry point to the " "environment class, and the entry point to the environment configuration " "class." -msgstr "" -"要注册一个环境,我们使用 :meth:`gymnasium.register` 方法。此方法接收环境名称、环境类的入口点以及环境配置类的入口点。" +msgstr "要注册一个环境,我们使用 :meth:`gymnasium.register` 方法。此方法接收环境名称、环境类的入口点以及环境配置类的入口点。" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:69 msgid "" -"The :mod:`gymnasium` registry is a global registry. Hence, it is important " -"to ensure that the environment names are unique. Otherwise, the registry " -"will throw an error when registering the environment." +"The :mod:`gymnasium` registry is a global registry. Hence, it is " +"important to ensure that the environment names are unique. Otherwise, the" +" registry will throw an error when registering the environment." msgstr ":mod:`gymnasium` 注册表是一个全局注册表。因此,确保环境名称是唯一的很重要。否则,在注册环境时注册表会抛出错误。" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:74 @@ -114,37 +113,37 @@ msgstr "基于管理器的环境" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:76 msgid "" -"For manager-based environments, the following shows the registration call " -"for the cartpole environment in the " +"For manager-based environments, the following shows the registration call" +" for the cartpole environment in the " "``omni.isaac.lab_tasks.manager_based.classic.cartpole`` sub-package:" msgstr "" -"对于基于管理器的环境,以下显示了在 ``omni.isaac.lab_tasks.manager_based.classic.cartpole`` " -"子包中注册cartpole环境的调用: " +"对于基于管理器的环境,以下显示了在 ``omni.isaac.lab_tasks.manager_based.classic.cartpole``" +" 子包中注册cartpole环境的调用: " #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:84 msgid "" -"The ``id`` argument is the name of the environment. As a convention, we name" -" all the environments with the prefix ``Isaac-`` to make it easier to search" -" for them in the registry. The name of the environment is typically followed" -" by the name of the task, and then the name of the robot. For instance, for " -"legged locomotion with ANYmal C on flat terrain, the environment is called " -"``Isaac-Velocity-Flat-Anymal-C-v0``. The version number ``v`` is " -"typically used to specify different variations of the same environment. " -"Otherwise, the names of the environments can become too long and difficult " -"to read." +"The ``id`` argument is the name of the environment. As a convention, we " +"name all the environments with the prefix ``Isaac-`` to make it easier to" +" search for them in the registry. The name of the environment is " +"typically followed by the name of the task, and then the name of the " +"robot. For instance, for legged locomotion with ANYmal C on flat terrain," +" the environment is called ``Isaac-Velocity-Flat-Anymal-C-v0``. The " +"version number ``v`` is typically used to specify different variations" +" of the same environment. Otherwise, the names of the environments can " +"become too long and difficult to read." msgstr "" "``id`` 参数是环境的名称。作为约定,我们将所有的环境名称以 ``Isaac-`` " -"作为前缀命名,以便在注册表中更容易搜索它们。环境的名称通常后跟任务名称,然后是机器人的名称。例如,对于ANYmal C在平坦地面上的足部运动,环境称为 " -"``Isaac-Velocity-Flat-Anymal-C-v0`` 。版本号 ``v`` " +"作为前缀命名,以便在注册表中更容易搜索它们。环境的名称通常后跟任务名称,然后是机器人的名称。例如,对于ANYmal " +"C在平坦地面上的足部运动,环境称为 ``Isaac-Velocity-Flat-Anymal-C-v0`` 。版本号 ``v`` " "通常用于指定相同环境的不同变体。否则,环境的名称会变得太长且难以阅读。" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:92 msgid "" -"The ``entry_point`` argument is the entry point to the environment class. " -"The entry point is a string of the form ``:``. In the case of" -" the cartpole environment, the entry point is " -"``omni.isaac.lab.envs:ManagerBasedRLEnv``. The entry point is used to import" -" the environment class when creating the environment instance." +"The ``entry_point`` argument is the entry point to the environment class." +" The entry point is a string of the form ``:``. In the " +"case of the cartpole environment, the entry point is " +"``omni.isaac.lab.envs:ManagerBasedRLEnv``. The entry point is used to " +"import the environment class when creating the environment instance." msgstr "" "``entry_point`` 参数是环境类的入口点。入口点是一个 ``:`` " "形式的字符串。对于cartpole环境,入口点是 ``omni.isaac.lab.envs:ManagerBasedRLEnv`` " @@ -152,12 +151,12 @@ msgstr "" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:97 msgid "" -"The ``env_cfg_entry_point`` argument specifies the default configuration for" -" the environment. The default configuration is loaded using the " -":meth:`omni.isaac.lab_tasks.utils.parse_env_cfg` function. It is then passed" -" to the :meth:`gymnasium.make` function to create the environment instance. " -"The configuration entry point can be both a YAML file or a python " -"configuration class." +"The ``env_cfg_entry_point`` argument specifies the default configuration " +"for the environment. The default configuration is loaded using the " +":meth:`omni.isaac.lab_tasks.utils.parse_env_cfg` function. It is then " +"passed to the :meth:`gymnasium.make` function to create the environment " +"instance. The configuration entry point can be both a YAML file or a " +"python configuration class." msgstr "" "``env_cfg_entry_point`` 参数指定了环境的默认配置。默认配置使用 " ":meth:`omni.isaac.lab_tasks.utils.parse_env_cfg` 函数加载。然后将其传递给 " @@ -170,11 +169,11 @@ msgstr "直接环境" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:105 msgid "" "For direct-based environments, the environment registration follows a " -"similar pattern. Instead of registering the environment's entry point as the" -" :class:`~omni.isaac.lab.envs.ManagerBasedRLEnv` class, we register the " -"environment's entry point as the implementation class of the environment. " -"Additionally, we add the suffix ``-Direct`` to the environment name to " -"differentiate it from the manager-based environments." +"similar pattern. Instead of registering the environment's entry point as " +"the :class:`~omni.isaac.lab.envs.ManagerBasedRLEnv` class, we register " +"the environment's entry point as the implementation class of the " +"environment. Additionally, we add the suffix ``-Direct`` to the " +"environment name to differentiate it from the manager-based environments." msgstr "" "对于基于直接的环境,环境注册遵循类似的模式。与将环境的入口点注册为 " ":class:`~omni.isaac.lab.envs.ManagerBasedRLEnv` " @@ -182,10 +181,9 @@ msgstr "" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:111 msgid "" -"As an example, the following shows the registration call for the cartpole " -"environment in the ``omni.isaac.lab_tasks.direct.cartpole`` sub-package:" -msgstr "" -"例如,以下显示了在 ``omni.isaac.lab_tasks.direct.cartpole`` 子包中注册cartpole环境的调用: " +"As an example, the following shows the registration call for the cartpole" +" environment in the ``omni.isaac.lab_tasks.direct.cartpole`` sub-package:" +msgstr "例如,以下显示了在 ``omni.isaac.lab_tasks.direct.cartpole`` 子包中注册cartpole环境的调用: " #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:121 msgid "Creating the environment" @@ -194,22 +192,22 @@ msgstr "创建环境" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:123 msgid "" "To inform the ``gym`` registry with all the environments provided by the " -"``omni.isaac.lab_tasks`` extension, we must import the module at the start " -"of the script. This will execute the ``__init__.py`` file which iterates " -"over all the sub-packages and registers their respective environments." +"``omni.isaac.lab_tasks`` extension, we must import the module at the " +"start of the script. This will execute the ``__init__.py`` file which " +"iterates over all the sub-packages and registers their respective " +"environments." msgstr "" "要将所有 ``omni.isaac.lab_tasks`` 扩展提供的环境通知 ``gym`` 注册表,我们必须在脚本开头导入模块。这将执行 " "``__init__.py`` 文件,该文件遍历所有子包并注册它们各自的环境。" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:132 msgid "" -"In this tutorial, the task name is read from the command line. The task name" -" is used to parse the default configuration as well as to create the " -"environment instance. In addition, other parsed command line arguments such " -"as the number of environments, the simulation device, and whether to render," -" are used to override the default configuration." -msgstr "" -"在本教程中,任务名称从命令行中读取。任务名称用于解析默认配置以及创建环境实例。此外,其他解析的命令行参数,如环境数量、模拟设备以及是否进行渲染,用于覆盖默认配置。" +"In this tutorial, the task name is read from the command line. The task " +"name is used to parse the default configuration as well as to create the " +"environment instance. In addition, other parsed command line arguments " +"such as the number of environments, the simulation device, and whether to" +" render, are used to override the default configuration." +msgstr "在本教程中,任务名称从命令行中读取。任务名称用于解析默认配置以及创建环境实例。此外,其他解析的命令行参数,如环境数量、模拟设备以及是否进行渲染,用于覆盖默认配置。" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:142 msgid "" @@ -233,22 +231,27 @@ msgid "" "create-manager-rl-env` tutorial. To stop the simulation, you can either " "close the window, or press ``Ctrl+C`` in the terminal." msgstr "" -"这将打开一个与 :ref:`tutorial-create-manager-rl-env` 教程类似的阶段。要停止模拟,您可以关闭窗口,或在终端中按 " -"``Ctrl+C`` 。" +"这将打开一个与 :ref:`tutorial-create-manager-rl-env` " +"教程类似的阶段。要停止模拟,您可以关闭窗口,或在终端中按 ``Ctrl+C`` 。" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:-1 -msgid "result of random_agent.py" -msgstr "random_agent.py 的结果" +#, fuzzy +msgid "random_agent.py 的结果" +msgstr "random_agent.py的代码" #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:165 msgid "" -"In addition, you can also change the simulation device from GPU to CPU by " -"setting the value of the ``--device`` flag explicitly:" +"In addition, you can also change the simulation device from GPU to CPU by" +" setting the value of the ``--device`` flag explicitly:" msgstr "此外,您还可以通过显式设置 ``--device`` 的值将模拟设备从 GPU 更改为 CPU: " #: ../../source/tutorials/03_envs/register_rl_env_gym.rst:171 msgid "" -"With the ``--device cpu`` flag, the simulation will run on the CPU. This is " -"useful for debugging the simulation. However, the simulation will run much " -"slower than on the GPU." +"With the ``--device cpu`` flag, the simulation will run on the CPU. This " +"is useful for debugging the simulation. However, the simulation will run " +"much slower than on the GPU." msgstr "使用 ``--device cpu`` 标志,模拟将在CPU上运行。这对于调试模拟很有用。但是,与在GPU上运行相比,模拟速度会慢得多。" + +#~ msgid "result of random_agent.py" +#~ msgstr "random_agent.py 的结果" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/04_sensors/add_sensors_on_robot.po b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/04_sensors/add_sensors_on_robot.po index c6e70b9401..4e2cc7207c 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/04_sensors/add_sensors_on_robot.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/04_sensors/add_sensors_on_robot.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-25 13:53+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.16.0\n" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:4 @@ -25,18 +25,18 @@ msgstr "向机器人添加传感器" msgid "" "While the asset classes allow us to create and simulate the physical " "embodiment of the robot, sensors help in obtaining information about the " -"environment. They typically update at a lower frequency than the simulation " -"and are useful for obtaining different proprioceptive and exteroceptive " -"information. For example, a camera sensor can be used to obtain the visual " -"information of the environment, and a contact sensor can be used to obtain " -"the contact information of the robot with the environment." -msgstr "" -"尽管资产类别允许我们创建和模拟机器人的实体,但传感器有助于获取有关环境的信息。它们通常以比模拟更新频率更低的频率更新,并且有助于获取不同的本体感知和外部感知信息。例如,相机传感器可以用于获取环境的视觉信息,接触传感器可以用于获取机器人与环境的接触信息。" +"environment. They typically update at a lower frequency than the " +"simulation and are useful for obtaining different proprioceptive and " +"exteroceptive information. For example, a camera sensor can be used to " +"obtain the visual information of the environment, and a contact sensor " +"can be used to obtain the contact information of the robot with the " +"environment." +msgstr "尽管资产类别允许我们创建和模拟机器人的实体,但传感器有助于获取有关环境的信息。它们通常以比模拟更新频率更低的频率更新,并且有助于获取不同的本体感知和外部感知信息。例如,相机传感器可以用于获取环境的视觉信息,接触传感器可以用于获取机器人与环境的接触信息。" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:16 msgid "" -"In this tutorial, we will see how to add different sensors to a robot. We " -"will use the ANYmal-C robot for this tutorial. The ANYmal-C robot is a " +"In this tutorial, we will see how to add different sensors to a robot. We" +" will use the ANYmal-C robot for this tutorial. The ANYmal-C robot is a " "quadrupedal robot with 12 degrees of freedom. It has 4 legs, each with 3 " "degrees of freedom. The robot has the following sensors:" msgstr "" @@ -52,8 +52,7 @@ msgid "A height scanner sensor that provides terrain height information" msgstr "提供地形高度信息的高度扫描传感器" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:23 -msgid "" -"Contact sensors on the feet of the robot that provide contact information" +msgid "Contact sensors on the feet of the robot that provide contact information" msgstr "机器人脚部的接触传感器,提供接触信息" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:25 @@ -71,8 +70,8 @@ msgstr "代码" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:32 msgid "" -"The tutorial corresponds to the ``add_sensors_on_robot.py`` script in the " -"``source/standalone/tutorials/04_sensors`` directory." +"The tutorial corresponds to the ``add_sensors_on_robot.py`` script in the" +" ``source/standalone/tutorials/04_sensors`` directory." msgstr "" "本教程对应于 ``source/standalone/tutorials/04_sensors`` 目录中的 " "``add_sensors_on_robot.py`` 脚本。" @@ -87,12 +86,12 @@ msgstr "代码解释" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:47 msgid "" -"Similar to the previous tutorials, where we added assets to the scene, the " -"sensors are also added to the scene using the scene configuration. All " -"sensors inherit from the :class:`sensors.SensorBase` class and are " -"configured through their respective config classes. Each sensor instance can" -" define its own update period, which is the frequency at which the sensor is" -" updated. The update period is specified in seconds through the " +"Similar to the previous tutorials, where we added assets to the scene, " +"the sensors are also added to the scene using the scene configuration. " +"All sensors inherit from the :class:`sensors.SensorBase` class and are " +"configured through their respective config classes. Each sensor instance " +"can define its own update period, which is the frequency at which the " +"sensor is updated. The update period is specified in seconds through the " ":attr:`sensors.SensorBaseCfg.update_period` attribute." msgstr "" "与之前的教程类似,我们添加资产到场景中时,传感器也是使用场景配置添加到场景中的。所有传感器都继承自 " @@ -103,20 +102,20 @@ msgstr "" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:53 msgid "" "Depending on the specified path and the sensor type, the sensors are " -"attached to the prims in the scene. They may have an associated prim that is" -" created in the scene or they may be attached to an existing prim. For " -"instance, the camera sensor has a corresponding prim that is created in the " -"scene, whereas for the contact sensor, the activating the contact reporting " -"is a property on a rigid body prim." +"attached to the prims in the scene. They may have an associated prim that" +" is created in the scene or they may be attached to an existing prim. For" +" instance, the camera sensor has a corresponding prim that is created in " +"the scene, whereas for the contact sensor, the activating the contact " +"reporting is a property on a rigid body prim." msgstr "" -"根据指定的路径和传感器类型,传感器将附加到场景中的 prims 上。它们可能有一个关联的 prim 在场景中创建,或者它们可能附加到现有的 prim " -"上。例如,相机传感器有一个对应的 prim 在场景中创建,而对于接触传感器,激活接触报告是刚体 prim 上的一个属性。" +"根据指定的路径和传感器类型,传感器将附加到场景中的 prims 上。它们可能有一个关联的 prim 在场景中创建,或者它们可能附加到现有的 " +"prim 上。例如,相机传感器有一个对应的 prim 在场景中创建,而对于接触传感器,激活接触报告是刚体 prim 上的一个属性。" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:58 msgid "" -"In the following, we introduce the different sensors we use in this tutorial" -" and how they are configured. For more description about them, please check " -"the :mod:`sensors` module." +"In the following, we introduce the different sensors we use in this " +"tutorial and how they are configured. For more description about them, " +"please check the :mod:`sensors` module." msgstr "接下来,我们介绍本教程中使用的不同传感器及其配置。有关更多描述,请查看 :mod:`sensors` 模块。" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:62 @@ -125,23 +124,22 @@ msgstr "相机传感器" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:64 msgid "" -"A camera is defined using the :class:`sensors.CameraCfg`. It is based on the" -" USD Camera sensor and the different data types are captured using Omniverse" -" Replicator API. Since it has a corresponding prim in the scene, the prims " -"are created in the scene at the specified prim path." +"A camera is defined using the :class:`sensors.CameraCfg`. It is based on " +"the USD Camera sensor and the different data types are captured using " +"Omniverse Replicator API. Since it has a corresponding prim in the scene," +" the prims are created in the scene at the specified prim path." msgstr "" -"使用 :class:`sensors.CameraCfg` 定义相机。它基于 USD 相机传感器,并使用 Omniverse Replicator " -"API 捕获不同的数据类型。由于它在场景中有一个对应的 prim,因此 prims 会在指定的 prim 路径上创建在场景中。" +"使用 :class:`sensors.CameraCfg` 定义相机。它基于 USD 相机传感器,并使用 Omniverse Replicator" +" API 捕获不同的数据类型。由于它在场景中有一个对应的 prim,因此 prims 会在指定的 prim 路径上创建在场景中。" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:68 -msgid "" -"The configuration of the camera sensor includes the following parameters:" +msgid "The configuration of the camera sensor includes the following parameters:" msgstr "相机传感器的配置包括以下参数: " #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:70 msgid "" -":attr:`~sensors.CameraCfg.spawn`: The type of USD camera to create. This can" -" be either :class:`~sim.spawners.sensors.PinholeCameraCfg` or " +":attr:`~sensors.CameraCfg.spawn`: The type of USD camera to create. This " +"can be either :class:`~sim.spawners.sensors.PinholeCameraCfg` or " ":class:`~sim.spawners.sensors.FisheyeCameraCfg`." msgstr "" ":attr:`~sensors.CameraCfg.spawn`: 要创建的 USD 相机类型。这可以是 " @@ -150,14 +148,14 @@ msgstr "" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:72 msgid "" -":attr:`~sensors.CameraCfg.offset`: The offset of the camera sensor from the " -"parent prim." +":attr:`~sensors.CameraCfg.offset`: The offset of the camera sensor from " +"the parent prim." msgstr ":attr:`~sensors.CameraCfg.offset`: 相机传感器相对于父 prim 的偏移量。" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:73 msgid "" -":attr:`~sensors.CameraCfg.data_types`: The data types to capture. This can " -"be ``rgb``, ``distance_to_image_plane``, ``normals``, or other types " +":attr:`~sensors.CameraCfg.data_types`: The data types to capture. This " +"can be ``rgb``, ``distance_to_image_plane``, ``normals``, or other types " "supported by the USD Camera sensor." msgstr "" ":attr:`~sensors.CameraCfg.data_types`: 要捕获的数据类型。这可以是 " @@ -166,23 +164,24 @@ msgstr "" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:76 msgid "" "To attach an RGB-D camera sensor to the head of the robot, we specify an " -"offset relative to the base frame of the robot. The offset is specified as a" -" translation and rotation relative to the base frame, and the " +"offset relative to the base frame of the robot. The offset is specified " +"as a translation and rotation relative to the base frame, and the " ":attr:`~sensors.CameraCfg.OffsetCfg.convention` in which the offset is " "specified." msgstr "" -"为了将 RGB-D 相机传感器附加到机器人的头部,我们指定相对于机器人基准框架的偏移量。偏移量是相对于基准框架的平移和旋转指定的,以及指定偏移量的 " -":attr:`~sensors.CameraCfg.OffsetCfg.convnetion` 。" +"为了将 RGB-D 相机传感器附加到机器人的头部,我们指定相对于机器人基准框架的偏移量。偏移量是相对于基准框架的平移和旋转指定的,以及指定偏移量的" +" :attr:`~sensors.CameraCfg.OffsetCfg.convnetion` 。" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:80 msgid "" "In the following, we show the configuration of the camera sensor used in " -"this tutorial. We set the update period to 0.1s, which means that the camera" -" sensor is updated at 10Hz. The prim path expression is set to " -"``{ENV_REGEX_NS}/Robot/base/front_cam`` where the ``{ENV_REGEX_NS}`` is the " -"environment namespace, ``\"Robot\"`` is the name of the robot, ``\"base\"`` " -"is the name of the prim to which the camera is attached, and " -"``\"front_cam\"`` is the name of the prim associated with the camera sensor." +"this tutorial. We set the update period to 0.1s, which means that the " +"camera sensor is updated at 10Hz. The prim path expression is set to " +"``{ENV_REGEX_NS}/Robot/base/front_cam`` where the ``{ENV_REGEX_NS}`` is " +"the environment namespace, ``\"Robot\"`` is the name of the robot, " +"``\"base\"`` is the name of the prim to which the camera is attached, and" +" ``\"front_cam\"`` is the name of the prim associated with the camera " +"sensor." msgstr "" "接下来,我们展示本教程中使用的相机传感器的配置。我们将更新周期设置为0.1秒,这意味着相机传感器以10Hz 进行更新。prim 路径表达式设置为 " "``{ENV_REGEX_NS}/Robot/base/front_cam`` ,其中 ``{ENV_REGEX_NS}`` 是环境命名空间, " @@ -195,12 +194,12 @@ msgstr "高度扫描传感器" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:94 msgid "" -"The height-scanner is implemented as a virtual sensor using the NVIDIA Warp " -"ray-casting kernels. Through the :class:`sensors.RayCasterCfg`, we can " -"specify the pattern of rays to cast and the meshes against which to cast the" -" rays. Since they are virtual sensors, there is no corresponding prim " -"created in the scene for them. Instead they are attached to a prim in the " -"scene, which is used to specify the location of the sensor." +"The height-scanner is implemented as a virtual sensor using the NVIDIA " +"Warp ray-casting kernels. Through the :class:`sensors.RayCasterCfg`, we " +"can specify the pattern of rays to cast and the meshes against which to " +"cast the rays. Since they are virtual sensors, there is no corresponding " +"prim created in the scene for them. Instead they are attached to a prim " +"in the scene, which is used to specify the location of the sensor." msgstr "" "高度扫描器被实现为使用 NVIDIA Warp 光线投射内核的虚拟传感器。通过 :class:`sensors.RayCasterCfg` " ",我们可以指定要投射的光线模式和要对其进行投射的网格。由于它们是虚拟传感器,因此在场景中没有为其创建对应的 prim。而是将其附加到场景中的一个 " @@ -208,13 +207,14 @@ msgstr "" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:100 msgid "" -"For this tutorial, the ray-cast based height scanner is attached to the base" -" frame of the robot. The pattern of rays is specified using the " -":attr:`~sensors.RayCasterCfg.pattern` attribute. For a uniform grid pattern," -" we specify the pattern using :class:`~sensors.patterns.GridPatternCfg`. " -"Since we only care about the height information, we do not need to consider " -"the roll and pitch of the robot. Hence, we set the " -":attr:`~sensors.RayCasterCfg.attach_yaw_only` to true." +"For this tutorial, the ray-cast based height scanner is attached to the " +"base frame of the robot. The pattern of rays is specified using the " +":attr:`~sensors.RayCasterCfg.pattern` attribute. For a uniform grid " +"pattern, we specify the pattern using " +":class:`~sensors.patterns.GridPatternCfg`. Since we only care about the " +"height information, we do not need to consider the roll and pitch of the " +"robot. Hence, we set the :attr:`~sensors.RayCasterCfg.attach_yaw_only` to" +" true." msgstr "" "对于本教程,基于光线集的高度扫描器附加到机器人的基准框架。使用 :attr:`~sensors.RayCasterCfg.pattern` " "属性指定光线的模式。对于均匀网格模式,我们使用 :class:`~sensors.patterns.GridPatternCfg` " @@ -223,9 +223,9 @@ msgstr "" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:106 msgid "" -"For the height-scanner, you can visualize the points where the rays hit the " -"mesh. This is done by setting the :attr:`~sensors.SensorBaseCfg.debug_vis` " -"attribute to true." +"For the height-scanner, you can visualize the points where the rays hit " +"the mesh. This is done by setting the " +":attr:`~sensors.SensorBaseCfg.debug_vis` attribute to true." msgstr "" "对于高度扫描器,可以将光线击中网格的点可视化。通过设置 :attr:`~sensors.SensorBaseCfg.debug_vis` 属性为 " "true 实现此功能。" @@ -240,50 +240,49 @@ msgstr "接触传感器" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:119 msgid "" -"Contact sensors wrap around the PhysX contact reporting API to obtain the " -"contact information of the robot with the environment. Since it relies of " -"PhysX, the contact sensor expects the contact reporting API to be enabled on" -" the rigid bodies of the robot. This can be done by setting the " -":attr:`~sim.spawners.RigidObjectSpawnerCfg.activate_contact_sensors` to true" -" in the asset configuration." +"Contact sensors wrap around the PhysX contact reporting API to obtain the" +" contact information of the robot with the environment. Since it relies " +"of PhysX, the contact sensor expects the contact reporting API to be " +"enabled on the rigid bodies of the robot. This can be done by setting the" +" :attr:`~sim.spawners.RigidObjectSpawnerCfg.activate_contact_sensors` to " +"true in the asset configuration." msgstr "" -"接触传感器包装 PhysX 接触报告 API 以获取机器人与环境的接触信息。由于它依赖于PhysX,因此接触传感器希望启用机器人的刚体上的接触报告 " -"API。可以通过在资产配置中将 " +"接触传感器包装 PhysX 接触报告 API 以获取机器人与环境的接触信息。由于它依赖于PhysX,因此接触传感器希望启用机器人的刚体上的接触报告" +" API。可以通过在资产配置中将 " ":attr:`~sim.spawners.RigidObjectSpawnerCfg.activate_contact_sensors` 设置为 " "true 来完成此操作。" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:124 msgid "" -"Through the :class:`sensors.ContactSensorCfg`, it is possible to specify the" -" prims for which we want to obtain the contact information. Additional flags" -" can be set to obtain more information about the contact, such as the " -"contact air time, contact forces between filtered prims, etc." +"Through the :class:`sensors.ContactSensorCfg`, it is possible to specify " +"the prims for which we want to obtain the contact information. Additional" +" flags can be set to obtain more information about the contact, such as " +"the contact air time, contact forces between filtered prims, etc." msgstr "" "通过 :class:`sensors.ContactSensorCfg` ,可以指定要获取其接触信息的 " "prims。可以设置附加标志以获取有关接触的更多信息,例如过滤 prims 之间的接触空气时间、接触力等。" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:128 msgid "" -"In this tutorial, we attach the contact sensor to the feet of the robot. The" -" feet of the robot are named ``\"LF_FOOT\"``, ``\"RF_FOOT\"``, " +"In this tutorial, we attach the contact sensor to the feet of the robot. " +"The feet of the robot are named ``\"LF_FOOT\"``, ``\"RF_FOOT\"``, " "``\"LH_FOOT\"``, and ``\"RF_FOOT\"``. We pass a Regex expression " "``\".*_FOOT\"`` to simplify the prim path specification. This Regex " "expression matches all prims that end with ``\"_FOOT\"``." msgstr "" "在本教程中,我们将接触传感器附加到机器人的脚部。机器人的脚部分别命名为 " "``\"LF_FOOT\"``、``\"RF_FOOT\"``、``\"LH_FOOT\"`` 和 ``\"RF_FOOT\"`` " -"。我们传递一个正则表达式 ``\" .*_FOOT\"`` 来简化 prim 路径的指定。该正则表达式与以 ``\"_FOOT\"`` 结尾的所有 " -"prims 匹配。" +"。我们传递一个正则表达式 ``\" .*_FOOT\"`` 来简化 prim 路径的指定。该正则表达式与以 ``\"_FOOT\"`` 结尾的所有" +" prims 匹配。" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:133 msgid "" -"We set the update period to 0 to update the sensor at the same frequency as " -"the simulation. Additionally, for contact sensors, we can specify the " -"history length of the contact information to store. For this tutorial, we " -"set the history length to 6, which means that the contact information for " -"the last 6 simulation steps is stored." -msgstr "" -"将更新周期设置为0以使传感器以模拟相同的频率更新。此外,对于接触传感器,可以指定要存储的接触信息的历史长度。对于本教程,我们将历史长度设置为6,这意味着存储最后6个模拟步骤的接触信息。" +"We set the update period to 0 to update the sensor at the same frequency " +"as the simulation. Additionally, for contact sensors, we can specify the " +"history length of the contact information to store. For this tutorial, we" +" set the history length to 6, which means that the contact information " +"for the last 6 simulation steps is stored." +msgstr "将更新周期设置为0以使传感器以模拟相同的频率更新。此外,对于接触传感器,可以指定要存储的接触信息的历史长度。对于本教程,我们将历史长度设置为6,这意味着存储最后6个模拟步骤的接触信息。" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:138 msgid "The entire configuration of the contact sensor is as follows:" @@ -302,16 +301,16 @@ msgstr "与使用资产时类似,仅当播放模拟时才会初始化传感器 #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:156 msgid "" -"Besides that, the simulation loop is similar to the previous tutorials. The " -"sensors are updated as part of the scene update and they internally handle " -"the updating of their buffers based on their update periods." +"Besides that, the simulation loop is similar to the previous tutorials. " +"The sensors are updated as part of the scene update and they internally " +"handle the updating of their buffers based on their update periods." msgstr "此外,仿真循环类似于以前的教程。传感器作为场景更新的一部分进行更新,并且它们内部处理基于其更新周期的缓冲区的更新。" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:160 msgid "" -"The data from the sensors can be accessed through their ``data`` attribute. " -"As an example, we show how to access the data for the different sensors " -"created in this tutorial:" +"The data from the sensors can be accessed through their ``data`` " +"attribute. As an example, we show how to access the data for the " +"different sensors created in this tutorial:" msgstr "可以通过它们的 ``data`` 属性访问传感器的数据。作为示例,我们展示了如何访问本教程中创建的不同传感器的数据: " #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:170 @@ -329,33 +328,38 @@ msgid "" "This command should open a stage with a ground plane, lights, and two " "quadrupedal robots. Around the robots, you should see red spheres that " "indicate the points where the rays hit the mesh. Additionally, you can " -"switch the viewport to the camera view to see the RGB image captured by the " -"camera sensor. Please check `here " -"`_ for more information on how " -"to switch the viewport to the camera view." +"switch the viewport to the camera view to see the RGB image captured by " +"the camera sensor. Please check `here " +"`_ for more information on " +"how to switch the viewport to the camera view." msgstr "" "此命令应该打开一个带有地面平面、灯光和两个四足机器人的场景。在机器人周围,您应该看到指示光线击中网格点的红色球。此外,您可以将视口切换到相机视图,以查看相机传感器捕获的" " RGB 图像。请查看 `这里 `_ " "获取有关如何将视口切换到相机视图的更多信息。" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:-1 -msgid "result of add_sensors_on_robot.py" -msgstr "add_sensors_on_robot.py 的结果" +#, fuzzy +msgid "add_sensors_on_robot.py 的结果" +msgstr "add_sensors_on_robot.py 的代码" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:191 msgid "" -"To stop the simulation, you can either close the window, or press ``Ctrl+C``" -" in the terminal." +"To stop the simulation, you can either close the window, or press " +"``Ctrl+C`` in the terminal." msgstr "要停止仿真,您可以关闭窗口,或在终端中按 ``Ctrl+C`` 。" #: ../../source/tutorials/04_sensors/add_sensors_on_robot.rst:193 msgid "" -"While in this tutorial, we went over creating and using different sensors, " -"there are many more sensors available in the :mod:`sensors` module. We " -"include minimal examples of using these sensors in the " +"While in this tutorial, we went over creating and using different " +"sensors, there are many more sensors available in the :mod:`sensors` " +"module. We include minimal examples of using these sensors in the " "``source/standalone/tutorials/04_sensors`` directory. For completeness, " "these scripts can be run using the following commands:" msgstr "" "在本教程中,我们讨论了创建和使用不同的传感器, :mod:`sensors` 模块中还有许多其他传感器可用。我们在 " "``source/standalone/tutorials/04_sensors`` " "目录中包含了使用这些传感器的最低限度示例。为了完整起见,可以使用以下命令运行这些脚本: " + +#~ msgid "result of add_sensors_on_robot.py" +#~ msgstr "add_sensors_on_robot.py 的结果" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/05_controllers/run_diff_ik.po b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/05_controllers/run_diff_ik.po index 556d46ea87..717cfff3b7 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/05_controllers/run_diff_ik.po +++ b/docs/locale/zh_CN/LC_MESSAGES/source/tutorials/05_controllers/run_diff_ik.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Isaac Lab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-25 14:27+0000\n" +"POT-Creation-Date: 2024-12-05 17:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ziqi Fan \n" -"Language-Team: zh_CN \n" "Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.16.0\n" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:2 @@ -23,20 +23,19 @@ msgstr "使用任务空间控制器" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:6 msgid "" -"In the previous tutorials, we have joint-space controllers to control the " -"robot. However, in many cases, it is more intuitive to control the robot " -"using a task-space controller. For example, if we want to teleoperate the " -"robot, it is easier to specify the desired end-effector pose rather than the" -" desired joint positions." -msgstr "" -"在以前的教程中,我们使用关节空间控制器来控制机器人。然而,在许多情况下,使用任务空间控制器更直观。例如,如果我们想对机器人进行远程操作,更容易指定期望的末端执行器姿势,而不是期望的关节位置。" +"In the previous tutorials, we have joint-space controllers to control the" +" robot. However, in many cases, it is more intuitive to control the robot" +" using a task-space controller. For example, if we want to teleoperate " +"the robot, it is easier to specify the desired end-effector pose rather " +"than the desired joint positions." +msgstr "在以前的教程中,我们使用关节空间控制器来控制机器人。然而,在许多情况下,使用任务空间控制器更直观。例如,如果我们想对机器人进行远程操作,更容易指定期望的末端执行器姿势,而不是期望的关节位置。" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:11 msgid "" "In this tutorial, we will learn how to use a task-space controller to " "control the robot. We will use the " -":class:`controllers.DifferentialIKController` class to track a desired end-" -"effector pose command." +":class:`controllers.DifferentialIKController` class to track a desired " +"end-effector pose command." msgstr "" "在本教程中,我们将学习如何使用任务空间控制器来控制机器人。我们将使用 " ":class:`controllers.DifferentialIKController` 类来跟踪期望的末端执行器姿势指令。" @@ -63,11 +62,11 @@ msgstr "代码解释" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:35 msgid "" -"While using any task-space controller, it is important to ensure that the " -"provided quantities are in the correct frames. When parallelizing " -"environment instances, they are all existing in the same unique simulation " -"world frame. However, typically, we want each environment itself to have its" -" own local frame. This is accessible through the " +"While using any task-space controller, it is important to ensure that the" +" provided quantities are in the correct frames. When parallelizing " +"environment instances, they are all existing in the same unique " +"simulation world frame. However, typically, we want each environment " +"itself to have its own local frame. This is accessible through the " ":attr:`scene.InteractiveScene.env_origins` attribute." msgstr "" "在使用任何任务空间控制器时,确保所提供的量在正确的框架中是很重要的。当并行化环境实例时,它们都存在于同一个独特的模拟世界框架中。然而,通常,我们希望每个环境本身都有自己的本地框架。这可以通过" @@ -85,22 +84,23 @@ msgstr "模拟世界框架(表示为 ``w`` ),这是整个模拟的框架 #: ../../source/tutorials/05_controllers/run_diff_ik.rst:44 msgid "" -"The local environment frame (denoted as ``e``), which is the frame of the " -"local environment." +"The local environment frame (denoted as ``e``), which is the frame of the" +" local environment." msgstr "本地环境框架(表示为 ``e`` ),这是本地环境的框架。" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:45 msgid "" -"The robot's base frame (denoted as ``b``), which is the frame of the robot's" -" base link." +"The robot's base frame (denoted as ``b``), which is the frame of the " +"robot's base link." msgstr "机器人的基础框架(表示为 ``b`` ),这是机器人基座链接的框架。" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:47 msgid "" -"Since the asset instances are not \"aware\" of the local environment frame, " -"they return their states in the simulation world frame. Thus, we need to " -"convert the obtained quantities to the local environment frame. This is done" -" by subtracting the local environment origin from the obtained quantities." +"Since the asset instances are not \"aware\" of the local environment " +"frame, they return their states in the simulation world frame. Thus, we " +"need to convert the obtained quantities to the local environment frame. " +"This is done by subtracting the local environment origin from the " +"obtained quantities." msgstr "" "由于资产实例不 \"认识\" " "本地环境框架,它们返回其状态在模拟世界框架中。因此,我们需要将获取的量转换为本地环境框架。这是通过从获取的量中减去本地环境原点来完成的。" @@ -112,11 +112,11 @@ msgstr "创建一个 IK 控制器" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:56 msgid "" "The :class:`~controllers.DifferentialIKController` class computes the " -"desired joint positions for a robot to reach a desired end-effector pose. " -"The included implementation performs the computation in a batched format and" -" uses PyTorch operations. It supports different types of inverse kinematics " -"solvers, including the damped least-squares method and the pseudo-inverse " -"method. These solvers can be specified using the " +"desired joint positions for a robot to reach a desired end-effector pose." +" The included implementation performs the computation in a batched format" +" and uses PyTorch operations. It supports different types of inverse " +"kinematics solvers, including the damped least-squares method and the " +"pseudo-inverse method. These solvers can be specified using the " ":attr:`~controllers.DifferentialIKControllerCfg.ik_method` argument. " "Additionally, the controller can handle commands as both relative and " "absolute poses." @@ -129,9 +129,9 @@ msgstr "" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:64 msgid "" -"In this tutorial, we will use the damped least-squares method to compute the" -" desired joint positions. Additionally, since we want to track desired end-" -"effector poses, we will use the absolute pose command mode." +"In this tutorial, we will use the damped least-squares method to compute " +"the desired joint positions. Additionally, since we want to track desired" +" end-effector poses, we will use the absolute pose command mode." msgstr "在本教程中,我们将使用阻尼最小二乘法来计算期望的关节位置。此外,由于我们希望跟踪期望的末端执行器姿势,我们将使用绝对姿势命令模式。" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:74 @@ -141,19 +141,20 @@ msgstr "获取机器人的关节和体指数" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:76 msgid "" "The IK controller implementation is a computation-only class. Thus, it " -"expects the user to provide the necessary information about the robot. This " -"includes the robot's joint positions, current end-effector pose, and the " -"Jacobian matrix." +"expects the user to provide the necessary information about the robot. " +"This includes the robot's joint positions, current end-effector pose, and" +" the Jacobian matrix." msgstr "IK 控制器的实现是一个仅计算类。因此,它期望用户提供有关机器人的必要信息。这包括机器人的关节位置、当前末端执行器姿势和雅可比矩阵。" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:80 msgid "" -"While the attribute :attr:`assets.ArticulationData.joint_pos` provides the " -"joint positions, we only want the joint positions of the robot's arm, and " -"not the gripper. Similarly, while the attribute " -":attr:`assets.ArticulationData.body_state_w` provides the state of all the " -"robot's bodies, we only want the state of the robot's end-effector. Thus, we" -" need to index into these arrays to obtain the desired quantities." +"While the attribute :attr:`assets.ArticulationData.joint_pos` provides " +"the joint positions, we only want the joint positions of the robot's arm," +" and not the gripper. Similarly, while the attribute " +":attr:`assets.ArticulationData.body_state_w` provides the state of all " +"the robot's bodies, we only want the state of the robot's end-effector. " +"Thus, we need to index into these arrays to obtain the desired " +"quantities." msgstr "" "虽然属性 :attr:`assets.ArticulationData.joint_pos` " "提供了关节位置,但我们只想要机器人手臂的关节位置,而不是夹具。类似地,虽然属性 " @@ -164,23 +165,24 @@ msgstr "" msgid "" "For this, the articulation class provides the methods " ":meth:`~assets.Articulation.find_joints` and " -":meth:`~assets.Articulation.find_bodies`. These methods take in the names of" -" the joints and bodies and return their corresponding indices." +":meth:`~assets.Articulation.find_bodies`. These methods take in the names" +" of the joints and bodies and return their corresponding indices." msgstr "" "为此,关节类提供了方法 :meth:`~assets.Articulation.find_joints` 和 " ":meth:`~assets.Articulation.find_bodies` 。这些方法接受关节和体的名称,并返回它们对应的索引。" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:90 msgid "" -"While you may directly use these methods to obtain the indices, we recommend" -" using the :attr:`~managers.SceneEntityCfg` class to resolve the indices. " -"This class is used in various places in the APIs to extract certain " -"information from a scene entity. Internally, it calls the above methods to " -"obtain the indices. However, it also performs some additional checks to " -"ensure that the provided names are valid. Thus, it is a safer option to use " -"this class." +"While you may directly use these methods to obtain the indices, we " +"recommend using the :attr:`~managers.SceneEntityCfg` class to resolve the" +" indices. This class is used in various places in the APIs to extract " +"certain information from a scene entity. Internally, it calls the above " +"methods to obtain the indices. However, it also performs some additional " +"checks to ensure that the provided names are valid. Thus, it is a safer " +"option to use this class." msgstr "" -"虽然您可以直接使用这些方法来获取索引,但我们建议使用 :attr:`~managers.SceneEntityCfg` 类解析索引。此类在各个 API " +"虽然您可以直接使用这些方法来获取索引,但我们建议使用 :attr:`~managers.SceneEntityCfg` 类解析索引。此类在各个 " +"API " "中用于从场景实体中提取某些信息。内部调用上述方法以获取索引。但是,它还执行一些额外的检查以确保提供的名称是有效的。因此,使用此类是一个更安全的选择。" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:104 @@ -189,17 +191,17 @@ msgstr "计算机器人命令" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:106 msgid "" -"The IK controller separates the operation of setting the desired command and" -" computing the desired joint positions. This is done to allow for the user " -"to run the IK controller at a different frequency than the robot's control " -"frequency." +"The IK controller separates the operation of setting the desired command " +"and computing the desired joint positions. This is done to allow for the " +"user to run the IK controller at a different frequency than the robot's " +"control frequency." msgstr "IK 控制器将设置所需命令和计算所需关节位置的操作分开。这样做是为了允许用户以不同的频率运行 IK 控制器而非机器人的控制频率。" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:110 msgid "" -"The :meth:`~controllers.DifferentialIKController.set_command` method takes " -"in the desired end-effector pose as a single batched array. The pose is " -"specified in the robot's base frame." +"The :meth:`~controllers.DifferentialIKController.set_command` method " +"takes in the desired end-effector pose as a single batched array. The " +"pose is specified in the robot's base frame." msgstr "" ":meth:`~controllers.DifferentialIKController.set_command` " "方法将期望的末端执行器姿势作为单个批量数组输入。姿势在机器人的基座框架中指定。" @@ -209,8 +211,8 @@ msgid "" "We can then compute the desired joint positions using the " ":meth:`~controllers.DifferentialIKController.compute` method. The method " "takes in the current end-effector pose (in base frame), Jacobian, and " -"current joint positions. We read the Jacobian matrix from the robot's data, " -"which uses its value computed from the physics engine." +"current joint positions. We read the Jacobian matrix from the robot's " +"data, which uses its value computed from the physics engine." msgstr "" "然后,我们可以使用 :meth:`~controllers.DifferentialIKController.compute` " "方法计算所需的关节位置。该方法接受当前末端执行器姿势(在基座框架中)、雅可比矩阵和当前关节位置为输入。我们从机器人数据中读取雅可比矩阵,该数据使用其从物理引擎计算的价值。" @@ -235,19 +237,24 @@ msgstr "现在,我们已经查看了代码,请运行脚本并查看结果: " msgid "" "The script will start a simulation with 128 robots. The robots will be " "controlled using the IK controller. The current and desired end-effector " -"poses should be displayed using frame markers. When the robot reaches the " -"desired pose, the command should cycle through to the next pose specified in" -" the script." +"poses should be displayed using frame markers. When the robot reaches the" +" desired pose, the command should cycle through to the next pose " +"specified in the script." msgstr "" "该脚本将启动一个具有 128 个机器人的模拟。使用 IK " "控制器来控制这些机器人。当前和期望的末端执行器姿势应该使用框架标记显示。当机器人达到期望姿势时,命令应该循环到脚本中指定的下一个姿势。" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:-1 -msgid "result of run_diff_ik.py" -msgstr "run_diff_ik.py 的结果" +#, fuzzy +msgid "run_diff_ik.py 的结果" +msgstr "run_diff_ik.py 的代码" #: ../../source/tutorials/05_controllers/run_diff_ik.rst:159 msgid "" "To stop the simulation, you can either close the window, or press " "``Ctrl+C`` in the terminal." msgstr "要停止模拟,您可以关闭窗口,或在终端中按下 ``Ctrl+C`` 。" + +#~ msgid "result of run_diff_ik.py" +#~ msgstr "run_diff_ik.py 的结果" +