7.1 KiB
7.1 KiB
작업일지 — 2026-07-31
21:00
샘플 1개 전체 AUTORUN (CC&센싱 + UF 장변 PRE + UF 장변 본접 + UF 단변)
- CC&센싱 + UF 장변 PRE + UF 장변 본접 + UF 단변 샘플 한 개 돌려보기 (전체 AUTORUN)
- CC 용접 OK, UF 장변 PRE 출사 중 드로잉과 출사 위치 매칭이 안되는 이슈 발생
- → 캘판 확인 결과 문제 없음 확인
- → front 위치 값 변경해서 확인 중
- → source 상 확인 중 front일 때 ct5이 적용된 상태로 쏴지는 지 확인 중 (pm9시)
[결과] front일 때도 ct5는 적용된 상태로 출사됨 — "ct5 미적용"은 아님
소스 수정 없음. 분석만 기록.
1. ct5(보정테이블) 적용 여부 — Auto / Manual 모두 정상
| 경로 | 테이블 2(레이저 ct5) 선택 | 출사 | 테이블 1(Vision) 원복 |
|---|---|---|---|
| Auto | SeqAutoRunPTOP.cs:796 (Laser Gate ON 직전) |
ExecuteList |
:853 / :993 / :1237 |
| Manual | SeqComponentTeachingRun.cs:301 (InitializeDeviceStatus, 진입 시) |
:616 ExecuteList |
:688 (EndWelding) |
| Manual(공통) | SeqTeachingRun.cs:222 |
:362 ExecuteList |
:389 |
- 티칭런은 원복이 루프 밖
EndWelding에 있어, 분할 객체 그룹을 몇 번 반복 출사하든 전 구간이 테이블 2 상태로 실행됨. 로그의Change SelectCorrectionTable Time이 run 당 1회만 찍히는 것과 일치(19:36 run = offset 로그 2회/원복 로그 1회). - RTC 는 보정을 리스트 실행 시점에 적용하므로, Auto 가 업로드 뒤에 테이블을 고르는 순서 차이는 동작에 영향 없음.
SeqUploadWeldingList.cs자체는SelectCorrectionTable을 호출하지 않음(테이블 선택은 호출측 시퀀스 담당).
2. Front offset 적용 여부 — 외곽 포함 전 객체 정상 반영
LaserAngleOffsetSelector.cs:26~36—D70510=89.0deg<avg 135(Front=90/Down=180) → Front 판정,SystemParameter.FrontOffsetX/Y를SeqUploadWeldingList_InitParam.CellMeasureCenterOffsetX/Y로 전달.SeqUploadWeldingList.cs:288~289→_ExternalCommandOffset→ 각Load*ScannerParam()의xOffset/yOffset.- 절대좌표 명령 전수 확인 결과 누락 없음 —
JumpAbs / MarkAbs / ArcAbs / ParaJumpAbs / ParaMarkAbs60여 개 호출 전부+xOffset, +yOffset적용. Line·Dot·Spline·SnowMan·Arc(외곽선+해칭)·Arc3Point·ZigZag·Group 모두 해당. - ⚠ 로그 함정:
[Line Weld] Jump (x,y)/[Arc Weld] Arc center (...)는 offset 적용 前 원본 좌표를 찍음 (:877,:1224,:1379). 로그만 보면 offset 미적용처럼 보이나 실제JumpAbs()인자에는 들어감. - 설정 변경은 재기동 없이 다음 발진에 즉시 반영됨 — 오늘 로그 전체가 동일 프로세스(PID 4984)인데
FrontOffset 이 18:24
(0.25, 0.11)→ 19:36(1.05, -0.1)로 바뀐 채 기록됨.
3. 진짜 문제 — ct5 는 Front/Down 구분이 없음
- 스캐너 초기화 시 테이블 2개만 로드 (
ScannerRTC5.cs:65~80,ScannerRTC6.cs:69~84)- 테이블 1 =
Config.CorrectionFile(Vision) - 테이블 2 =
Config.LaserCorrectionFile(Laser, 발진용)
- 테이블 1 =
- 즉 수직(Down) 자세에서 취득한 ct5 를 Front 자세에도 그대로 사용하고,
자세 차이는
Front Offset X/Y상수 평행이동 하나로만 보정 중. - 좌표 자유도가 평행이동뿐임을 파이프라인 전체에서 확인:
Scanner.cs:314/418—JumpAbs/MarkAbs는 좌표를 그대로 통과시키는 래퍼(변환 없음)ScannerConfig.cs— 회전각·비등방 배율 필드 자체가 없음.ScaleXYFactor:41는 전역 bits/mm 단일값- 유일한 per-pose 변환 =
SeqUploadWeldingList의 offset 덧셈
→ 드로잉-출사 불일치의 원인은 "ct5 미적용"이 아니라, Down 자세 ct5 를 Front 자세에 그대로 쓰는 데 따른 배율/회전/키스톤 잔차로 추정. 상수 offset 은 필드 전체를 동일하게 평행이동시키므로 원점 근처는 맞고 외곽으로 갈수록 벌어지는 현상을 보정할 수 없음.
4. "사분면별로 offset 부호를 다르게" 검토 → 채택 불가
- 사분면마다 상수 offset 부호를 바꾸면 축 경계에서 불연속 발생. 원점을 가로지르는 장변/원호가 축에서 끊김. 스캐너 왜곡은 연속 함수라 계단형 보정 대상이 아님.
- 다만 "사분면마다 부호가 다르게 보인다"는 관찰은 배율(스케일) 오차의 지문이 맞음 —
err = (k−1)·(x, y)이면 원점 0, Q1(+,+) Q2(−,+) Q3(−,−) Q4(+,−) 로 자동으로 부호가 갈림. 자유도는 4개가 아니라 1개(배율). - 유사 후보: 비등방 배율(kx≠ky), 회전(오차가 접선 방향), 키스톤 — Front 는 헤드가 기울어 있어 키스톤이 유력.
- 업로드단(
SeqUploadWeldingList)에 배율을 넣는 방식도 불가:ArcAbs(cx, cy, sweep)은 중심점+쓸림각만 주는 명령이라 중심만 스케일하면 반지름이 어긋나고, 비등방이면 원이 타원이 되어ArcAbs로 표현 자체가 불가 → 원호 전부를 직선 분할해야 하고 Spline·ZigZag·Wobbel 까지 연쇄 영향. 배율/회전/키스톤은 ct5 가 담당할 영역.
다음 확인 (현장) — 지금 하는 front 값 튜닝이 곧 판별 시험
UF 장변이 판별에 적합. 19:36 로그 기준 라인 스팬 Y ≈ +70.7 → −59.9 (약 130mm) 로 오차가 증폭되어 보임.
- FrontOffset 조정해서 장변 한쪽 끝을 드로잉과 일치시킴
- 그 상태로 반대쪽 끝 확인
| 결과 | 판정 | 조치 |
|---|---|---|
| 반대쪽도 같이 맞음 | 순수 평행이동 | 파라미터 튜닝으로 종결 (코드/빌드 불필요) |
| 한쪽 맞추면 반대쪽이 그만큼 벌어짐 | 배율/키스톤 | Front 전용 ct5 필요 (k−1 = δ / 130mm 로 배율 오차 산출) |
(정밀 판별이 필요하면 원점 + 축상 ±X/±Y + 4모서리 = 9점 마킹으로 평행이동/배율/회전/키스톤 성분 분해)
후속 작업
- 위 1·2 시험으로 오차 성분 확정 (평행이동 vs 배율/키스톤)
- (배율/키스톤일 경우) Front 자세 전용 ct5 취득 후 테이블 3에 로드, 각도 판정으로 2/3 분기
ScannerConfig에LaserCorrectionFileFront추가ScannerRTC5.cs:76/ScannerRTC6.cs:76에LoadCorrectionFile(..., 3, ...)추가SeqAutoRunPTOP.cs:796,SeqComponentTeachingRun.cs:301의SelectCorrectionTable(2)를LaserAngleOffsetSelector와 동일한 각도 판정으로 2/3 분기
SeqUploadWeldingList의 Jump/Arc 로그에 offset 적용 後 좌표 병기 (현재 로그로는 반영 여부 판별 불가)- (선택) Auto 의
SelectCorrectionTable(2)를 Manual 과 동일하게 업로드 前으로 이동 — 순서 통일 - (선택) 티칭런
OnStopped():757/OnForceError():733에 테이블 1 원복 없음 — 정지/에러 시 테이블 2가 남음. 스카우트(SeqScoutNormal:204)에서 1을 선택하므로 실사용 복구는 되나 명시 권장