Update app.py
Browse files
app.py
CHANGED
|
@@ -120,8 +120,9 @@ def pick_and_place(position_str, approach_str, place_str, cam_xyz, target_xyz):
|
|
| 120 |
return None, f"Error: {str(e)}"
|
| 121 |
|
| 122 |
with gr.Blocks(title="Franka Arm with 3D Camera Control") as demo:
|
| 123 |
-
gr.Markdown("## 🤖 Franka Robot with Camera
|
| 124 |
|
|
|
|
| 125 |
joint_sliders = []
|
| 126 |
with gr.Row():
|
| 127 |
for i in range(4):
|
|
@@ -131,23 +132,25 @@ with gr.Blocks(title="Franka Arm with 3D Camera Control") as demo:
|
|
| 131 |
joint_sliders.append(gr.Slider(-3.14, 3.14, value=0, label=f"Joint {i+1}"))
|
| 132 |
gripper = gr.Slider(0.0, 0.04, value=0.02, step=0.001, label="Gripper")
|
| 133 |
|
|
|
|
| 134 |
with gr.Row():
|
| 135 |
-
with gr.Column(
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
| 143 |
-
|
| 144 |
-
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
|
|
|
|
| 151 |
def live_update(*vals):
|
| 152 |
joints = list(vals[:7])
|
| 153 |
grip = vals[7]
|
|
@@ -184,3 +187,4 @@ with gr.Blocks(title="Franka Arm with 3D Camera Control") as demo:
|
|
| 184 |
|
| 185 |
demo.launch(debug=True)
|
| 186 |
|
|
|
|
|
|
| 120 |
return None, f"Error: {str(e)}"
|
| 121 |
|
| 122 |
with gr.Blocks(title="Franka Arm with 3D Camera Control") as demo:
|
| 123 |
+
gr.Markdown("## 🤖 Franka Robot with Camera + Joint Control")
|
| 124 |
|
| 125 |
+
# Joint and gripper sliders
|
| 126 |
joint_sliders = []
|
| 127 |
with gr.Row():
|
| 128 |
for i in range(4):
|
|
|
|
| 132 |
joint_sliders.append(gr.Slider(-3.14, 3.14, value=0, label=f"Joint {i+1}"))
|
| 133 |
gripper = gr.Slider(0.0, 0.04, value=0.02, step=0.001, label="Gripper")
|
| 134 |
|
| 135 |
+
# Camera and target sliders BELOW joint sliders
|
| 136 |
with gr.Row():
|
| 137 |
+
with gr.Column():
|
| 138 |
+
gr.Markdown("**Camera Position**")
|
| 139 |
+
cam_x = gr.Slider(-3, 3, value=1.5, label="X")
|
| 140 |
+
cam_y = gr.Slider(-3, 3, value=0.0, label="Y")
|
| 141 |
+
cam_z = gr.Slider(-1, 3, value=1.0, label="Z")
|
| 142 |
+
with gr.Column():
|
| 143 |
+
gr.Markdown("**Target Point**")
|
| 144 |
+
tgt_x = gr.Slider(-1, 1, value=0.0, label="X")
|
| 145 |
+
tgt_y = gr.Slider(-1, 1, value=0.0, label="Y")
|
| 146 |
+
tgt_z = gr.Slider(0, 2, value=0.5, label="Z")
|
| 147 |
+
|
| 148 |
+
# Simulation image and joint output
|
| 149 |
+
with gr.Row():
|
| 150 |
+
img_output = gr.Image(type="filepath", label="Simulation View")
|
| 151 |
+
text_output = gr.Textbox(label="Joint States", lines=10)
|
| 152 |
|
| 153 |
+
# Live update on any slider change
|
| 154 |
def live_update(*vals):
|
| 155 |
joints = list(vals[:7])
|
| 156 |
grip = vals[7]
|
|
|
|
| 187 |
|
| 188 |
demo.launch(debug=True)
|
| 189 |
|
| 190 |
+
|