jandan138 commited on
Commit
972a51f
·
1 Parent(s): c3f75eb

change ui to nav

Browse files
Files changed (1) hide show
  1. app.py +29 -40
app.py CHANGED
@@ -158,22 +158,21 @@ custom_css = """
158
  .dark #result-panel { background: #1a2a3a; }
159
  """
160
 
161
- # 创建Gradio界面
162
- with gr.Blocks(title="机械臂操作训练系统", css=custom_css) as demo:
163
  # 标题和描述
164
  gr.Markdown("""
165
- # 🤖 IsaacSim 机械臂操作评测演示
166
- ### 基于GRManipulation框架的仿真训练
167
  """)
168
 
169
  with gr.Row():
170
  # 左侧控制面板
171
  with gr.Column(elem_id="simulation-panel"):
172
- gr.Markdown("### 仿真参数配置")
173
 
174
  # 场景选择
175
  scene_dropdown = gr.Dropdown(
176
- label="选择场景配置",
177
  choices=list(SCENE_CONFIGS.keys()),
178
  value="default_desk",
179
  interactive=True
@@ -181,89 +180,78 @@ with gr.Blocks(title="机械臂操作训练系统", css=custom_css) as demo:
181
 
182
  # 场景描述预览
183
  scene_description = gr.Markdown("")
184
-
185
- # 动态更新场景描述
186
- def update_scene_desc(scene):
187
- config = SCENE_CONFIGS.get(scene, {})
188
- desc = config.get("description", "无描述")
189
- objects = "、".join(config.get("objects", []))
190
- return f"**{desc}** \n包含物体: {objects}"
191
-
192
- scene_dropdown.change(
193
- update_scene_desc,
194
- inputs=scene_dropdown,
195
- outputs=scene_description
196
- )
197
-
198
  # 操作指令输入
199
  prompt_input = gr.Textbox(
200
- label="操作指令",
201
- placeholder="例如: '请把桌子上的番茄酱拿起来'",
202
  lines=2,
203
  max_lines=4
204
  )
205
 
206
  # 模型选择
207
  model_dropdown = gr.Dropdown(
208
- label="选择训练模型",
209
  choices=MODEL_CHOICES,
210
  value=MODEL_CHOICES[0]
211
  )
212
 
213
  # 高级参数
214
- with gr.Accordion("高级参数", open=False):
215
  max_steps = gr.Slider(
216
  minimum=50,
217
  maximum=500,
218
  value=100,
219
  step=10,
220
- label="最大步数"
221
  )
222
  visualize = gr.Checkbox(
223
  value=True,
224
- label="启用可视化"
225
  )
226
 
227
  # 提交按钮
228
- submit_btn = gr.Button("开始仿真", variant="primary")
229
 
230
  # 右侧结果面板
231
  with gr.Column(elem_id="result-panel"):
232
- gr.Markdown("### 仿真结果")
233
 
234
  # 视频输出
235
  video_output = gr.Video(
236
- label="操作过程回放",
237
  interactive=False,
238
  format="mp4"
239
  )
240
 
241
  # 指标展示
242
  metrics_output = gr.JSON(
243
- label="性能指标",
244
  visible=False
245
  )
246
 
247
  # 日志输出
248
  log_output = gr.Textbox(
249
- label="执行日志",
250
  visible=False,
251
  lines=10,
252
  max_lines=20
253
  )
254
-
255
- # 示例
256
  gr.Examples(
257
  examples=[
258
- ["default_desk", "请把番茄酱移动到桌子左侧", "GR00T-N1"],
259
- ["cluttered_desk", "将手机放到书本旁边", "DP+CLIP"],
260
- ["industrial_table", "拿起电路板并旋转90度", "AcT+CLIP"]
261
  ],
262
  inputs=[scene_dropdown, prompt_input, model_dropdown],
263
- label="快速示例"
264
  )
265
-
266
- # 提交处理
267
  submit_btn.click(
268
  fn=run_simulation,
269
  inputs=[scene_dropdown, prompt_input, model_dropdown],
@@ -271,12 +259,13 @@ with gr.Blocks(title="机械臂操作训练系统", css=custom_css) as demo:
271
  api_name="run_simulation"
272
  )
273
 
274
- # 初始化场景描述
275
  demo.load(
276
  fn=lambda: update_scene_desc("default_desk"),
277
  outputs=scene_description
278
  )
279
 
 
280
  # 启动应用
281
  if __name__ == "__main__":
282
  demo.launch()
 
158
  .dark #result-panel { background: #1a2a3a; }
159
  """
160
 
161
+ with gr.Blocks(title="机器人导航仿真系统", css=custom_css) as demo:
 
162
  # 标题和描述
163
  gr.Markdown("""
164
+ # 🧭 GRNavigation 机器人导航仿真平台
165
+ ### 基于 GRNavigation 框架的多场景路径规划与自主导航训练
166
  """)
167
 
168
  with gr.Row():
169
  # 左侧控制面板
170
  with gr.Column(elem_id="simulation-panel"):
171
+ gr.Markdown("### 仿真任务配置")
172
 
173
  # 场景选择
174
  scene_dropdown = gr.Dropdown(
175
+ label="选择导航环境",
176
  choices=list(SCENE_CONFIGS.keys()),
177
  value="default_desk",
178
  interactive=True
 
180
 
181
  # 场景描述预览
182
  scene_description = gr.Markdown("")
183
+
184
+ # 动态更新场景描述(函数不变)
185
+
 
 
 
 
 
 
 
 
 
 
 
186
  # 操作指令输入
187
  prompt_input = gr.Textbox(
188
+ label="导航指令(自然语言)",
189
+ placeholder="例如:'从桌角出发,穿过障碍物,前往水杯位置'",
190
  lines=2,
191
  max_lines=4
192
  )
193
 
194
  # 模型选择
195
  model_dropdown = gr.Dropdown(
196
+ label="选择导航策略模型",
197
  choices=MODEL_CHOICES,
198
  value=MODEL_CHOICES[0]
199
  )
200
 
201
  # 高级参数
202
+ with gr.Accordion("高级设置", open=False):
203
  max_steps = gr.Slider(
204
  minimum=50,
205
  maximum=500,
206
  value=100,
207
  step=10,
208
+ label="最大导航步数"
209
  )
210
  visualize = gr.Checkbox(
211
  value=True,
212
+ label="显示可视化界面(Isaac Sim)"
213
  )
214
 
215
  # 提交按钮
216
+ submit_btn = gr.Button("开始导航仿真", variant="primary")
217
 
218
  # 右侧结果面板
219
  with gr.Column(elem_id="result-panel"):
220
+ gr.Markdown("### 仿真结果预览")
221
 
222
  # 视频输出
223
  video_output = gr.Video(
224
+ label="导航过程回放",
225
  interactive=False,
226
  format="mp4"
227
  )
228
 
229
  # 指标展示
230
  metrics_output = gr.JSON(
231
+ label="导航性能指标",
232
  visible=False
233
  )
234
 
235
  # 日志输出
236
  log_output = gr.Textbox(
237
+ label="任务执行日志",
238
  visible=False,
239
  lines=10,
240
  max_lines=20
241
  )
242
+
243
+ # 示例任务
244
  gr.Examples(
245
  examples=[
246
+ ["default_desk", "从桌角移动到番茄酱附近", "GR00T-N1"],
247
+ ["cluttered_desk", "避开杂物,从书本旁走到水杯", "DP+CLIP"],
248
+ ["industrial_table", "前往工作台边缘的电路板位置", "AcT+CLIP"]
249
  ],
250
  inputs=[scene_dropdown, prompt_input, model_dropdown],
251
+ label="导航任务示例"
252
  )
253
+
254
+ # 提交处理逻辑
255
  submit_btn.click(
256
  fn=run_simulation,
257
  inputs=[scene_dropdown, prompt_input, model_dropdown],
 
259
  api_name="run_simulation"
260
  )
261
 
262
+ # 初始场景文字描述
263
  demo.load(
264
  fn=lambda: update_scene_desc("default_desk"),
265
  outputs=scene_description
266
  )
267
 
268
+
269
  # 启动应用
270
  if __name__ == "__main__":
271
  demo.launch()