Update workstation UI, ROS task control and device integration
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 354 KiB After Width: | Height: | Size: 1016 KiB |
@@ -0,0 +1,4 @@
|
||||
# Project-local ROS discovery defaults. Apply by sourcing scripts/env.sh.
|
||||
# Keep this project off the network-wide default domain 0.
|
||||
ORISYS_ROS_DOMAIN_ID=42
|
||||
ORISYS_ROS_LOCALHOST_ONLY=1
|
||||
+42
-38
@@ -378,9 +378,9 @@ camera:
|
||||
name: "d405"
|
||||
serial: "352122274408" # 全局缺省=左腕;真机以 robots[].camera.serial 为准
|
||||
# USB3 推荐 848x480@30;USB2 自动降到 640x480@15,深度/右目仍开
|
||||
width: 848
|
||||
height: 480 # 改宽高/帧率必须重启相机:bash ~/ros2/scripts/run_camera_d405.sh --preview
|
||||
fps: 30
|
||||
width: 1280
|
||||
height: 720
|
||||
fps: 15
|
||||
enable_depth: true
|
||||
enable_infra: true # 同一 SDK 进程开左右红外;失败则自动退回彩图+深度
|
||||
preview: true
|
||||
@@ -401,8 +401,9 @@ cameras:
|
||||
role: left_wrist
|
||||
arm: left
|
||||
label: 左腕D405(89 平行夹爪)
|
||||
width: 848 # 相机分辨率以本段为准(全局 camera: 段为旧路径,P2 收敛)
|
||||
height: 480
|
||||
width: 1280
|
||||
height: 720
|
||||
fps: 15
|
||||
emitter_enabled: false # 腕部必须关投射器,红外点阵会污染跟踪图像
|
||||
d405_right:
|
||||
model: d405
|
||||
@@ -411,8 +412,9 @@ cameras:
|
||||
role: right_wrist
|
||||
arm: right
|
||||
label: 右腕D405(91 旋转夹爪)
|
||||
width: 848
|
||||
height: 480
|
||||
width: 1280
|
||||
height: 720
|
||||
fps: 15
|
||||
emitter_enabled: false
|
||||
# >>> 仿真那两台(arm: sim)<<<
|
||||
# 为什么仿真也要在这里登记:应用是"按当前臂"去认相机的 —— 腕部相机取
|
||||
@@ -447,11 +449,10 @@ cameras:
|
||||
role: overhead_eye_to_hand
|
||||
label: 双臂中间手外D435
|
||||
name: d435
|
||||
# 本机 D435 与 D405 挂在同一个 5Gbps 外接 hub 上:D435 跑 1280x720@30 时
|
||||
# D405 只剩 4~6fps 并反复断流重连(二阶段 snap_coarse_1 因此超时);
|
||||
# 停掉 D435 后 D405 立即稳定 30fps。D435 只做一次性顶视,848x480@15 足够。
|
||||
width: 848
|
||||
height: 480
|
||||
# 彩色 1080p/15,原生深度由采集器选择兼容的 720p/15 并对齐。
|
||||
# 与 D405 共用 5Gbps Hub;两路同时运行时需核对实际帧率与断流日志。
|
||||
width: 1920
|
||||
height: 1080
|
||||
fps: 15
|
||||
auto_exposure: true
|
||||
ae_limit_us: 8000
|
||||
@@ -772,6 +773,7 @@ hole_detect:
|
||||
once_ff_look_per_m: 0.0
|
||||
final_gap_mm: 2.0 # 对准后贴面目标:规尖离面 [mm](不接触)。笛卡尔锁 XY
|
||||
# 时法兰 Z = 工具长 + 工件面 + 本值。CLI --final-gap 覆盖。
|
||||
hole_entry_mm: 1.0 # 同步上游:对孔收尾规尖进入上表面下 1mm
|
||||
observe_gap_mm: 15.0 # --no-descent 时的观测下降:只降到离面这么高 [mm],
|
||||
# 方便看规尖偏没偏。必须 ≥ final_gap_mm。
|
||||
# 左臂89:悬停间隙约 73.5mm(0.320−0.2245−0.022)⇒ 观测下降约 58mm。
|
||||
@@ -799,7 +801,7 @@ hole_detect:
|
||||
max_depth_m: 0.60
|
||||
linger_sec: 8.0 # 完成后继续发布结果/叠图的时长
|
||||
|
||||
# ===== 旋转装配仍读这里的力阈值(stage3_search_node)=====
|
||||
# ===== 旧 stage3_search_node 的力阈值;首页旋转已使用独立 a7_rotation =====
|
||||
# 搜孔轻压已取消:不带 --screw 的入口会直接拒绝,整体流程也不再进入这一步。
|
||||
# bash ~/ros2/scripts/run_stage3_search.sh --arm 89 --screw
|
||||
stage3:
|
||||
@@ -919,8 +921,10 @@ gauge_assembly:
|
||||
# ---- S01 回 home 后按工具系逆时针预绕到极限角 ----
|
||||
# 预绕是为了给 S08 的棘轮留出回转行程:不预绕,拧两圈就贴关节限位。
|
||||
extreme_angle_deg: 150.0 # 想转多少度(按工具系逆时针)
|
||||
extreme_speed_deg_s: 20.0 # 关节角速度 [deg/s],慢一点防冲击
|
||||
extreme_direction: 1 # +1=逆时针 / -1=顺时针(改符号,别去改代码)
|
||||
extreme_speed_deg_s: 10.0 # 与上游 A7 首轮顺时针进孔工序一致
|
||||
extreme_direction: -1 # 上游本机实测:A7 角度减小为逆时针
|
||||
unwind_open_permille: 400 # 每轮松爪开度,千分比
|
||||
unwind_lift_mm: 3.0 # 每轮微抬,降回使用本轮实测值
|
||||
extreme_margin_deg: 3.0 # 距关节限位留的余量 [deg];撞限位不算失败(按 JOINT_LIMIT 继续)
|
||||
# 但余量太小会让规划器频繁拒收,表现为"偶尔转不到位"
|
||||
|
||||
@@ -1085,30 +1089,21 @@ gauge_assembly:
|
||||
# 不灵敏(压很深才停)→ 调小;同时看启动日志里的基线/实测值再定。
|
||||
|
||||
tactile:
|
||||
backend: "orisys" # orisys | mock
|
||||
# 传感器型号。必须与 devices/sensors/orisys/models/ 下的子目录名一致。
|
||||
model: "dd03"
|
||||
# 型号配置随 SDK 一起放:devices/sensors/orisys/models/<型号>/config.json
|
||||
config_file: "devices/sensors/orisys/models/dd03/config.json"
|
||||
# 用 by-path 稳定路径(插哪个 USB 口就认哪个口,不受 video 编号漂移影响)。
|
||||
# 当前:3.4.1=左指 3.4.2=右指;若左右反了,互换两行即可。
|
||||
left_video: "/dev/v4l/by-path/pci-0000:00:14.0-usb-0:3.4.1:1.0-video-index0"
|
||||
right_video: "/dev/v4l/by-path/pci-0000:00:14.0-usb-0:3.4.2:1.0-video-index0"
|
||||
cuda: false # 两路进程抢 GPU 上下文会互相拖慢;CPU 解算仅 ~9ms/帧,足够
|
||||
isstitch: true
|
||||
infer_backend: "cpu" # cupy | opencl | cpu;双路并行用 cpu 最稳
|
||||
baseline_seconds: 2.0
|
||||
filter_alpha: 0.25
|
||||
motion_threshold: 0.0
|
||||
backend: "station_flow"
|
||||
arm_id: "89"
|
||||
# Only low-level optical tactile SDK; no imports from the example gripper app.
|
||||
sdk_python_path: "/home/cheng/orisys-sdk/src"
|
||||
config_file: "src/arm_application/config/tactile/ctag2f90d.json"
|
||||
# auto only selects Sunplus 1bcf tactile UVC cameras; explicit by-path recommended.
|
||||
# Change these two values to stable device paths to fix the physical left/right order.
|
||||
left_video: "auto"
|
||||
right_video: "auto"
|
||||
target_fps: 30.0
|
||||
publish_hz: 20.0
|
||||
# 视触觉图像与力矢量场的发布频率。0 = 关闭(默认)。
|
||||
# 三力走 30fps 的轻量队列;图像每帧几百 KB,单独走一条 maxsize=1 的队列,
|
||||
# 打开它不会影响三力的时序。需要看形变图/矢量场时设成 5~10 即可。
|
||||
image_hz: 0.0
|
||||
rotation_config: "" # 左右共用;有分指文件则用下面两项
|
||||
left_rotation: "" # 例:orisys SDK 的 rotation_config_0.json
|
||||
right_rotation: ""
|
||||
publish_hz: 30.0
|
||||
preview_transport: "compressed_flow"
|
||||
motion_threshold: 0.0
|
||||
cuda: false
|
||||
force_units: "raw"
|
||||
|
||||
go_home:
|
||||
pose: "home"
|
||||
@@ -1144,3 +1139,12 @@ sim:
|
||||
world: "devices/sim/gazebo/worlds/assembly.world"
|
||||
physics_enable: true
|
||||
joint_prefix: "sim_" # 仿真关节前缀,必须与真实臂前缀区分
|
||||
|
||||
# 仅 Qt 预览读取远端相机;机械臂/夹爪/传感器继续使用本地控制域。
|
||||
remote_camera_preview:
|
||||
enabled: true
|
||||
host: "192.168.2.10"
|
||||
interface_address: "192.168.2.50"
|
||||
domain: 0
|
||||
cameras: [d405_left, d435]
|
||||
transport: raw # 远端当前没有 JPEG 预览话题
|
||||
|
||||
Reference in New Issue
Block a user