Skip to content
Merged
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
17c299d
提交选题
dengzhuo0119 Dec 19, 2025
5e6eb70
增加初始代码
dengzhuo0119 Dec 21, 2025
265bcd4
添加初始代码
dengzhuo0119 Dec 22, 2025
45ee132
Merge branch 'OpenHUTB:main' into main
dengzhuo0119 Dec 22, 2025
8611cef
feat: v0.2-添加夹爪开合控制功能(修复XML ctrlrange属性错误)
dengzhuo0119 Dec 22, 2025
81cc517
feat: v0.3-实现夹爪与立方体的接触检测功能
dengzhuo0119 Dec 22, 2025
e8e7b35
feat: v0.1-初始版本-基础机械臂可视化
dengzhuo0119 Dec 22, 2025
be9b7ac
添加初始代码
dengzhuo0119 Dec 22, 2025
d7d8e9c
Merge branch 'OpenHUTB:main' into main
dengzhuo0119 Dec 22, 2025
7596774
新增文件头注释和仿真休眠常量,支持Ctrl+C优雅退出
dengzhuo0119 Dec 23, 2025
12cfd77
Merge branch 'OpenHUTB:main' into main
dengzhuo0119 Dec 23, 2025
50017ed
新增文件头注释和仿真休眠常量,支持Ctrl+C优雅退出
dengzhuo0119 Dec 23, 2025
c2d307a
Merge branch 'OpenHUTB:main' into main
dengzhuo0119 Dec 23, 2025
88c69ac
提取PD控制参数为类内常量并添加类初始化文档字符串
dengzhuo0119 Dec 23, 2025
fd9472a
提取PD控制参数为类内常量并添加类初始化文档字符串
dengzhuo0119 Dec 23, 2025
9517f2e
提取雅克比阻尼系数为常量并完善_compute_jacobian文档
dengzhuo0119 Dec 24, 2025
9f209b4
Merge branch 'main' into main
dengzhuo0119 Dec 24, 2025
f5b25ba
Merge branch 'OpenHUTB:main' into main
dengzhuo0119 Dec 24, 2025
1cf25b0
提取关节速度限制常量并完善_move_step文档字符串
dengzhuo0119 Dec 24, 2025
f3eb289
提取关节速度限制常量并完善_move_step文档字符串
dengzhuo0119 Dec 24, 2025
0d4223a
提取位置误差阈值常量并完善_gripper_step文档
dengzhuo0119 Dec 24, 2025
0bfd5cd
Merge branch 'OpenHUTB:main' into main
dengzhuo0119 Dec 24, 2025
fc3a8e6
提取位置误差阈值常量并完善_gripper_step文档
dengzhuo0119 Dec 24, 2025
914736e
Merge branch 'OpenHUTB:main' into main
dengzhuo0119 Dec 25, 2025
697865e
提取夹爪等待步数常量并完善_grab_phase_machine文档
dengzhuo0119 Dec 25, 2025
d255cb0
提取夹爪等待步数常量并完善_grab_phase_machine文档
dengzhuo0119 Dec 25, 2025
6683bd0
Merge branch 'OpenHUTB:main' into main
dengzhuo0119 Dec 25, 2025
c9d1524
提取初始位置常量并添加位置方法的类型注解
dengzhuo0119 Dec 25, 2025
f7a93ac
提取初始位置常量并添加位置方法的类型注解
dengzhuo0119 Dec 25, 2025
2f11a70
Merge branch 'OpenHUTB:main' into main
dengzhuo0119 Dec 26, 2025
5b43246
提取抬升高度增量常量并完善_compute_jacobian类型注解
dengzhuo0119 Dec 26, 2025
9165bbc
提取抬升高度增量常量并完善_compute_jacobian类型注解
dengzhuo0119 Dec 26, 2025
6ab783c
Merge branch 'OpenHUTB:main' into main
dengzhuo0119 Dec 26, 2025
9682b40
提取相机参数常量并完善_move_step类型注解
dengzhuo0119 Dec 26, 2025
bc9daa7
提取相机参数常量并完善_move_step类型注解
dengzhuo0119 Dec 26, 2025
e29068c
Merge branch 'OpenHUTB:main' into main
dengzhuo0119 Dec 27, 2025
ea8b777
提升仿真休眠时间为常量并完善_gripper_step类型注解
dengzhuo0119 Dec 27, 2025
5d62e0c
提升仿真休眠时间为常量并完善_gripper_step类型注解
dengzhuo0119 Dec 27, 2025
3c1301e
Merge branch 'OpenHUTB:main' into main
dengzhuo0119 Dec 27, 2025
79f45e4
重构相机初始化并完善_grab_phase_machine类型注解
dengzhuo0119 Dec 27, 2025
431314a
重构相机初始化并完善_grab_phase_machine类型注解
dengzhuo0119 Dec 27, 2025
551cb7d
Merge branch 'OpenHUTB:main' into main
dengzhuo0119 Dec 27, 2025
80e0287
为状态机阶段定义具名常量,提升可读性
dengzhuo0119 Dec 27, 2025
c2bd947
为状态机阶段定义具名常量,提升可读性
dengzhuo0119 Dec 27, 2025
78fe672
Merge branch 'OpenHUTB:main' into main
dengzhuo0119 Dec 28, 2025
fa83184
引入logging, 增强错误处理并添加类文档
dengzhuo0119 Dec 28, 2025
3e1f8f6
引入logging, 增强错误处理并添加类文档
dengzhuo0119 Dec 28, 2025
44c38d6
Merge branch 'OpenHUTB:main' into main
dengzhuo0119 Dec 28, 2025
a11c1f3
添加场景随机化以测试鲁棒性
dengzhuo0119 Dec 28, 2025
3b85e18
添加场景随机化以测试鲁棒性
dengzhuo0119 Dec 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 17 additions & 6 deletions src/Robot_arm_motion/robot_arm.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
import time
import sys
import os
import logging # 【优化1】引入logging模块
import logging

# 配置logging,使其输出到控制台并包含时间和日志级别
# 配置logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

"""
Franka Panda 机械臂自动抓取仿真 v1.1
基于MuJoCo实现的基础抓取控制器
Franka Panda 机械臂自动抓取仿真 v1.2
基于MuJoCo实现的基础抓取控制器,增加了场景随机化以测试鲁棒性
"""

# ========== 路径适配 ==========
Expand All @@ -24,7 +24,6 @@
# ========== 智能抓取控制器 ==========
class PandaAutoGrab:
"""
【优化3】添加类级文档字符串
Franka Panda 机械臂智能抓取控制器 (基于MuJoCo)

该类实现了一个完整的、基于视觉的机械臂抓取和放置任务。
Expand Down Expand Up @@ -74,12 +73,24 @@ def __init__(self):
except FileNotFoundError:
logging.error(f"场景文件不存在,请检查路径: {SCENE_PATH}")
sys.exit(1)
# 【优化2】增强错误处理,捕获MuJoCo特定的致命错误
except mujoco.FatalError as e:
logging.error(f"加载MJCF模型时发生致命错误: {e}")
logging.error("请检查XML文件的语法和引用的资源(如mesh, texture)是否正确。")
sys.exit(1)

# 【优化1】增加场景随机化
# 在立方体初始位置上添加一个小范围的随机偏移
cube_body_id = self.model.body("cube").id
# 注意:在新版 MuJoCo 中,使用 body_jntadr 来获取物体在 qpos 中的起始索引
# 由于 "cube" 是一个 free joint,它在 qpos 中有6个值 (x, y, z, qw, qx, qy, qz)
# 我们只修改前3个值来改变其位置
qpos_start_idx = self.model.body_jntadr[cube_body_id]
random_offset = np.array([np.random.uniform(-0.05, 0.05),
np.random.uniform(-0.05, 0.05),
0])
self.data.qpos[qpos_start_idx: qpos_start_idx + 3] += random_offset
logging.info(f"已为立方体添加随机初始位置偏移: {np.round(random_offset, 3)}")

# 机械臂参数
self.ee_body_id = self.model.body("hand").id
self.joint_names = [f"joint{i}" for i in range(1, 8)]
Expand Down
Loading