fix: 修复 RM75 关节目标越界振荡
This commit is contained in:
@@ -46,7 +46,7 @@
|
||||
- 修改:`xr_rm_teleop/test/test_joint_control.py:206`
|
||||
- 测试:`xr_rm_teleop/test/test_joint_control.py`
|
||||
|
||||
- [ ] **步骤 1:在现有首周期加速度测试后增加固定目标测试**
|
||||
- [x] **步骤 1:在现有首周期加速度测试后增加固定目标测试**
|
||||
|
||||
增加以下测试:
|
||||
|
||||
@@ -90,7 +90,7 @@ def test_joint_command_step_brakes_before_fixed_target_without_overshoot() -> No
|
||||
该测试同时覆盖正负方向、不同目标距离、最大速度、最大加速度、禁止越过固定目标
|
||||
和最终停止。
|
||||
|
||||
- [ ] **步骤 2:运行新增测试并确认失败**
|
||||
- [x] **步骤 2:运行新增测试并确认失败**
|
||||
|
||||
运行:
|
||||
|
||||
@@ -113,7 +113,7 @@ PYTHONPATH="/home/robot/WS_xr/src/xr_rm_teleop:${PYTHONPATH:-}" \
|
||||
`xr_rm_teleop/xr_rm_teleop/single_arm_velocity_teleop.py:1232-1263`
|
||||
- 测试:`xr_rm_teleop/test/test_joint_control.py`
|
||||
|
||||
- [ ] **步骤 1:用离散制动逻辑替换现有限幅计算**
|
||||
- [x] **步骤 1:用离散制动逻辑替换现有限幅计算**
|
||||
|
||||
保留方法签名和现有长度、参数校验,将
|
||||
`desired_velocity = np.clip(...)` 到返回值的部分替换为:
|
||||
@@ -188,7 +188,7 @@ PYTHONPATH="/home/robot/WS_xr/src/xr_rm_teleop:${PYTHONPATH:-}" \
|
||||
不要增加 ROS 参数或辅助类。制动距离直接使用当前方法已有的
|
||||
`max_acceleration`、`max_speed` 和 `dt`。
|
||||
|
||||
- [ ] **步骤 2:运行新增测试并确认通过**
|
||||
- [x] **步骤 2:运行新增测试并确认通过**
|
||||
|
||||
运行:
|
||||
|
||||
@@ -202,7 +202,7 @@ PYTHONPATH="/home/robot/WS_xr/src/xr_rm_teleop:${PYTHONPATH:-}" \
|
||||
|
||||
预期:`PASS`。
|
||||
|
||||
- [ ] **步骤 3:运行关节控制测试文件**
|
||||
- [x] **步骤 3:运行关节控制测试文件**
|
||||
|
||||
运行:
|
||||
|
||||
@@ -222,7 +222,7 @@ PYTHONPATH="/home/robot/WS_xr/src/xr_rm_teleop:${PYTHONPATH:-}" \
|
||||
|
||||
- 不修改文件。
|
||||
|
||||
- [ ] **步骤 1:运行 `xr_rm_teleop` 全部测试**
|
||||
- [x] **步骤 1:运行 `xr_rm_teleop` 全部测试**
|
||||
|
||||
运行:
|
||||
|
||||
@@ -230,13 +230,13 @@ PYTHONPATH="/home/robot/WS_xr/src/xr_rm_teleop:${PYTHONPATH:-}" \
|
||||
source /opt/ros/humble/setup.bash
|
||||
export RM75_TEST_PYTHONPATH="/home/robot/WS_xr/src/xr_rm_teleop:/home/robot/miniconda3/envs/xr/lib/python3.10/site-packages:/home/robot/miniconda3/envs/xr/lib/python3.10/site-packages/cmeel.prefix/lib/python3.10/site-packages"
|
||||
PYTHONPATH="${RM75_TEST_PYTHONPATH}:${PYTHONPATH:-}" \
|
||||
/home/robot/miniconda3/envs/xr/bin/python -m pytest \
|
||||
python3 -m pytest \
|
||||
src/xr_rm_teleop/test -v
|
||||
```
|
||||
|
||||
预期:全部测试通过,无失败;真实 Placo 回归测试必须执行,不能因缺少模块而跳过。
|
||||
|
||||
- [ ] **步骤 2:单独运行姿态控制测试**
|
||||
- [x] **步骤 2:单独运行姿态控制测试**
|
||||
|
||||
运行:
|
||||
|
||||
@@ -249,7 +249,7 @@ PYTHONPATH="/home/robot/WS_xr/src/xr_rm_teleop:${PYTHONPATH:-}" \
|
||||
|
||||
预期:全部通过。
|
||||
|
||||
- [ ] **步骤 3:构建工作空间**
|
||||
- [x] **步骤 3:构建工作空间**
|
||||
|
||||
运行:
|
||||
|
||||
@@ -261,7 +261,7 @@ colcon build --symlink-install
|
||||
预期:`xr_rm_input`、`xr_rm_interfaces`、`xr_rm_teleop` 和 `xr_rm_bringup`
|
||||
全部构建成功。
|
||||
|
||||
- [ ] **步骤 4:使用 mock 启动右臂统一 launch**
|
||||
- [x] **步骤 4:使用 mock 启动右臂统一 launch**
|
||||
|
||||
运行:
|
||||
|
||||
@@ -279,7 +279,7 @@ timeout 10s ros2 launch xr_rm_bringup arm_debug.launch.py \
|
||||
- 不连接厂商 SDK,不发送真实 CANFD;
|
||||
- 除 `timeout` 主动结束产生的退出状态外,没有 Python 异常或 ROS 错误。
|
||||
|
||||
- [ ] **步骤 5:检查最终差异**
|
||||
- [x] **步骤 5:检查最终差异**
|
||||
|
||||
运行:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user