yuan@yuan-virtual-machine:~/catkin_ws$ roslaunch ur_calibration calibration_correction.launch \ > robot_ip:=192.168.1.120 \ > target_filename:="${HOME}/ur_ws/calibration/ur5_actual_calibration.yaml" ... logging to /home/yuan/.ros/log/d473641a-6eb5-11f0-afbe-05d467d6740f/roslaunch-yuan-virtual-machine-9817.log Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB. started roslaunch server http://yuan-virtual-machine:36993/ SUMMARY ======== PARAMETERS * /calibration_correction/output_filename: /home/yuan/ur_ws/... * /calibration_correction/robot_ip: 192.168.1.120 * /rosdistro: noetic * /rosversion: 1.17.4 NODES / calibration_correction (ur_calibration/calibration_correction) auto-starting new master process[master]: started with pid [9825] ROS_MASTER_URI=http://localhost:11311 setting /run_id to d473641a-6eb5-11f0-afbe-05d467d6740f process[rosout-1]: started with pid [9835] started core service [/rosout] process[calibration_correction-2]: started with pid [9838] [WARN] [1754038768.704935471]: Failed to read from stream, reconnecting in 1 seconds... [INFO] [1754038769.818253400]: checksum: [4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 ] dh_theta: [2.73966805092937e-05 0.964049309970353 -0.936445076791008 -0.0275821333460688 6.42114976390044e-06 7.70739980999902e-05 ] dh_a: [0.000179011718868908 -0.24248039599432 -0.392129394401383 8.96916598626492e-05 -0.000112356022731363 0 ] dh_d: [0.0890215836421886 205.331392259106 -204.640009293386 -0.581356849309975 0.0948281585677952 0.0826478178154501 ] dh_alpha: [1.56932469974109 0.00170118839206561 0.0156121676803096 1.57043419046201 -1.57102660097654 0 ] calibration_status: 1 [ERROR] [1754038769.918670931]: Parent folder "/home/yuan/ur_ws/calibration" does not exist. [ERROR] [1754038769.918796216]: Failed writing calibration data. See errors above for details. [calibration_correction-2] process has died [pid 9838, exit code 255, cmd /opt/ros/noetic/lib/ur_calibration/calibration_correction __name:=calibration_correction __log:=/home/yuan/.ros/log/d473641a-6eb5-11f0-afbe-05d467d6740f/calibration_correction-2.log]. log file: /home/yuan/.ros/log/d473641a-6eb5-11f0-afbe-05d467d6740f/calibration_correction-2*.log
时间: 2025-08-01 15:18:25 AIGC 浏览: 19 评论: 5
<think>我们正在处理用户关于UR5机械臂标定过程中遇到的问题。用户在执行`calibration_correction.launch`时遇到错误,提示目标文件夹不存在。我们将指导用户创建文件夹并正确设置路径。</think>### 🛠️ 解决UR5标定文件路径错误:父目录不存在问题
#### 问题分析
运行`calibration_correction.launch`时出现错误,核心原因是**目标文件夹路径不存在**:
```bash
ERROR: Failed to write calibration data: Parent folder does not exist
Path: /home/yuan/ur_ws/calibration/ur5_actual_calibration.yaml
```
#### 完整解决方案
##### 步骤1:手动创建缺失目录
```bash
# 创建完整目录路径(包含父目录)
mkdir -p ~/ur_ws/calibration
# 验证目录创建成功
ls -ld ~/ur_ws/calibration
```
- `-p`参数:自动创建路径中所有不存在的父目录
- 预期输出:`drwxr-xr-x 2 yuan yuan 4096 [日期] /home/yuan/ur_ws/calibration`
##### 步骤2:重新执行标定命令
```bash
roslaunch ur_calibration calibration_correction.launch \
robot_ip:=192.168.1.120 \
target_filename:="${HOME}/ur_ws/calibration/ur5_actual_calibration.yaml"
```
- 现在应显示成功消息:
```log
[INFO] Calibration data written to /home/yuan/ur_ws/calibration/ur5_actual_calibration.yaml
```
##### 步骤3:验证标定文件
```bash
# 检查文件内容
cat ~/ur_ws/calibration/ur5_actual_calibration.yaml
# 预期输出应包含关键参数:
# kinematics:
# hash: [唯一标识符]
# ...
```
#### 完整工作流示意图
```mermaid
graph TB
A[检测路径错误] --> B[创建目录]
B --> C[执行标定程序]
C --> D[生成YAML文件]
D --> E[启动驱动]
E --> F[验证标定效果]
```
#### 预防措施
1. **路径预创建脚本**:
```bash
#!/bin/bash
CALIB_DIR="$HOME/ur_ws/calibration"
mkdir -p $CALIB_DIR
roslaunch ur_calibration calibration_correction.launch \
robot_ip:=192.168.1.120 \
target_filename:"$CALIB_DIR/ur5_$(date +%Y%m%d).yaml"
```
2. **路径有效性检查**:
```python
import os
path = os.path.expanduser("~/ur_ws/calibration")
if not os.path.exists(path):
os.makedirs(path, exist_ok=True)
```
3. **环境变量配置**(推荐):
```bash
# 在~/.bashrc中添加
export UR_CALIB_PATH="$HOME/ur_ws/calibration"
```
使用时:
```bash
target_filename:"${UR_CALIB_PATH}/ur5_calibration.yaml"
```
> **关键提示**:UR官方驱动要求标定文件路径必须**精确匹配**,包括:
> - 大小写敏感
> - 绝对路径(推荐使用`$HOME`而非`~`)
> - 文件扩展名必须是`.yaml`[^2]
阅读全文
相关推荐




















评论

yiyi分析亲密关系
2025.07.11
目录路径错误,需先创建文件夹再运行命令。

宏馨
2025.06.26
解答清晰,步骤详细,易于操作。

Jaihwoe
2025.05.14
建议增加对路径检查的自动化处理方法。😋

陈莽昆
2025.04.05
文档结构合理,逻辑清晰,便于理解。

love彤彤
2025.03.26
问题描述明确,解决方法实用,适合初学者参考。