arm_dev
|
561d7da21f
|
首轮顺时针进孔改回 10°/s,空回固定做 4 轮。
首轮咬合的顺时针进孔又走了接口上限,螺纹还没咬住就转完了。这一段改回读
extreme_speed_deg_s(现场 10°/s)。首轮逆时针出孔,以及空回每一轮的正反转,
仍走 0.90 rad/s 上限。
空回原先只做一轮。首轮咬合结束后,张开、微抬、逆时针、按本轮实测上抬降回、
合爪、顺时针这一整段固定重复 UNWIND_ROUNDS=4。抬和降留在轮内,下降量用这一轮
记住的上抬,不用上一轮的数。日志打空回第 i/4 轮;某一轮没走完就停,后面不再做。
10:40 合爪命令已经发到话题,节点被 Serial.flush/tcdrain 堵住 120s 才执行,
流水线 8s 时手指还停在 pos=400,第 2–4 轮没开始。发送改成等发送缓冲排空,
0.25s 排不空就失败返回,不再调用 tcdrain。同一次开合状态没跟上再发一次。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-20 11:40:57 +08:00 |
|
arm_dev
|
04137fb6e5
|
修复平行夹爪串口通讯问题
今天三次实测都在"首轮咬合结束→张开到 400"之后停住,微抬 Z 3mm 那条
厂家 MoveL 从未下发。日志只写"夹爪 pos 后 8s 未到位(没有 /gripper/states)",
照着去查夹爪开合,方向是错的。
真实原因是串口会话坏了:旧节点从昨天 18:25 一直跑,写命令(FC06)有回显
——ctrl pos=400 有记录、手指也确实张开——读 0x0201 却连续 264 次无应答
(0x0200 和写都有应答)。_on_timer 读失败就 return,一帧状态都不发,
流水线拿不到状态,就在 _shift_flange_z 之前退出了。
改法(都按"读不到要如实说读不到"):
- dh_pgea:串口 EIO/termios 错误从 DhPgeaError 里分出来,单独抛
DhPgeaBusError。以前 termios.error(5) 从 timer 回调冒出去,整个节点带
traceback 退出。
- dh_pgea_node:读失败也发 /gripper/states,data 增到 6 个元素,最后一位
online(1=刚读回,0=离线、前 5 个是旧值);5 元素老消费者不受影响。
离线时不发 /gripper/joint_states(关节状态没有离线位,不能拿旧开口冒充
现在的)。EIO 立刻重开串口,连续 30 拍读不到也重开一次,1 秒最多一次。
- pipeline_node:超时不再一律说"未到位",三种情况分开——真没到位 /
只有离线帧(总线无应答,不是没张开)/ 一帧都没收到(节点没在发)。
- gauge_gripper、operator_gripper_state:离线帧不当有效状态,夹爪页显示
"总线无应答"。
- gauge_config:登记 unwind_lift_mm 和 unwind_open_permille。这两个键
上一次只写进了 site.yaml,加载器按"不认识的键"直接拒绝启动
gauge_assembly 段(test_shipped_site_yaml_s07_step_cannot_deadlock 当时
是红的)。
- site_io:恢复 7af9e3d 误删的 listed_arms / absolutize_site_paths 等
(operator_gripper_state 还在导入 listed_arms,操作台夹爪页一导入就
ImportError)。按 76c9b9c 恢复,只增不减。
实测验收:重启节点后 --cli probe 读回
data=[1.0, 2.0, 9.0, 0.0, 20.0, 1.0],online=1、grip=2(咬住)、pos=9,
0x0201 不再无应答。
单测 931 passed。新增负向用例:离线帧不能被当成有效状态、EIO 必须抛
DhPgeaBusError、夹爪超时不能报成"未到位"。剩余 6 个失败与本次无关
(伺服限速、回调遮蔽、operator_camera_view 直接继承 Node、
site.yaml 缺 screw_stage_depth_mm、臂控制器未激活,以及 parallel_cli
用例因当前有真实夹爪节点占着串口而走了另一条分支)。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-20 10:10:37 +08:00 |
|
arm_dev
|
7942014763
|
主界面一屏要同时看臂、夹爪、相机和触觉,按钮再被拉高就会叠到画面上。相机按原分辨率走回调取最新帧,场景一动不再等红外齐帧把彩色丢掉。模型和相机都留在工位窗口里,启动默认不再弹 RViz。
验收:test_listed_arms 与 test_camera_preview 共 20 项通过。D435 1280×720 发布约 29 帧/秒。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-15 16:20:35 +08:00 |
|
arm_dev
|
f882c4309c
|
克隆下来必须带上正在用的视觉权重和本机 site.yaml,否则感知只能指到一台机器上的路径,别人起不来。
顶视迁臂改走厂家 MoveL,D405 框心对准后再对孔;夹爪停在 caught 时 open 不再把相同目标当成已经张开,init 会真的回零。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-10-12 17:08:43 +08:00 |
|
arm_dev
|
6edb8d39ab
|
chore: 框架科学优化前的完整基线
在开始'设备契约层 + 目录重构 + 通止规装配'改造之前,先钉住当前可运行状态,
使后续任何删除/重构都可回退。
本基线包含:
- 现有 ROS 2 工作区全部源码(arm_application / arm_control / arm_bringup 等)
- 官方 flexiv_ros2 栈(含 flexiv_hardware / flexiv_controllers 等符号链接)
- 设备契约层 src/arm_interfaces(新增,46 项单测通过)
- devices/ 设备选型与品牌清单(新增)
- scripts/gen_site_example.py 与由它生成的 config/site.example.yaml
按 .gitignore 排除:build/ / install/ / log/ / config/site.yaml / 模型权重二进制。
|
2026-09-23 10:53:06 +08:00 |
|