AEGLOSLAB 로봇공학 전서(全書)

제4부 기계 설계·구조·재료

4.14 설계 도구: 파라메트릭 CAD·FEA·다물체 해석·생성형 설계·PDM·PLM

4.14.1 이 장에서 배우는 것 / 선수 지식 / 특히 중요한 독자

이 장은 로봇 기계 설계에서 사용하는 소프트웨어 도구를 어떤 질문에 어느 모델이 답하는가로 분류하고, 도구를 연결할 때 생기는 정보 손실과 검증 절차를 정리한다. 요소 이론(4.3)·재료와 위상 최적화의 수식(4.4)·피로(4.5)·진동 모드(4.8)·강체 동역학의 정식화(3.1~3.5)는 각 장이 맡고, 이 장은 그 계산을 담는 도구의 구조와 도구 사이의 인터페이스, 그리고 유한요소 결과의 검증을 다룬다. CAD 모델을 URDF·MJCF로 옮기는 과정은 4.15, 제조 가능성은 4.16, 시작품 공정은 4.17가 맡는다.

배우는 것:

  • CAD의 모델 표현 — 경계 표현(B-rep)과 CSG, 이력 기반 파라메트릭 모델링과 직접 모델링, 모델링 커널.
  • FEA의 사용 범위와 검증 — 해석 종류, 요소 유형, 격자 수렴, 리처드슨 외삽과 GCI, 응력 특이점.
  • 다물체 해석 도구 — CAD 내장 모션 해석, 상용 다물체 해석, 로봇 연구용 엔진의 역할 차이.
  • 생성형 설계의 작업 흐름 — 위상 최적화 결과를 제조 가능한 형상으로 되돌리는 단계.
  • PDM·PLM — 리비전·릴리스·BOM·변경 관리(ECO), 중립 형식(STEP).

선수 지식: 0.14(개발 수명주기), 2.12(정역학과 강성), 3.1(강체 동역학 기초), 4.1(기계 설계 개관), 4.4(구조와 재료).

특히 중요한 독자: 로봇 팔·하우징을 설계하며 해석 결과를 신뢰할 수 있는지 판단해야 하는 기계 설계자, CAD와 시뮬레이터 사이의 모델 일관성을 관리하는 시스템 통합자, 설계 변경 이력과 추적성을 요구받는 인증 담당자.

출처 방침. 기준 시점은 2026-11-05이다. 직접 읽은 자료: 위키백과(영문)의 "Geometric modeling kernel"·"ISO 10303"·"Product lifecycle"·"Product data management"·"Engineering change order"·"Computer-aided design"·"Parametric design"·"Finite element method"·"Onshape"·"Windchill (software)"·UGS(Teamcenter) 문서(2차 출처); 저장소 첫 화면(README)과 공식 사이트의 소개 문구 — CalculiX(calculix.de), Code_Aster(code-aster.org), Elmer(GitHub ElmerCSC/elmerfem), FreeCAD(GitHub), CadQuery(GitHub), build123d(GitHub), OpenSCAD(GitHub), Project Chrono(projectchrono.org), Drake(drake.mit.edu·GitHub LICENSE.TXT), MuJoCo(GitHub), MathWorks Simscape Multibody 제품 페이지; ASME V&V 10-2019의 공개 요약(검색 결과, 2차). 라이선스·버전은 조회한 페이지의 표기 그대로이며 제품 기능 비교는 공식 문서 전체를 읽은 것이 아니다. 서지만 확인(Crossref): M. L. Williams(1952), P. J. Roache(1994). 읽지 못한 것: ISO 10303·ISO 13485·ISO 26262·EIA-649·ASME V&V 10의 본문(iso.org 접근 불가, 유료), Autodesk·Siemens·PTC·Dassault·Ansys·MSC·Altair의 제품 문서(접근 거부 또는 미조회), 상용 구속 해결기·생성형 설계 엔진의 알고리즘. 이 장의 수치 계산은 4.14.5의 FEA 검증 예제뿐이며 그 입력은 모두 가정이다.

4.14.2 개념 — 다섯 모델 계층과 계층 사이의 일관성

결론부터 적으면 다음과 같다. 설계 도구는 형상(CAD), 연속체의 변형(FEA), 강체·기구의 운동(다물체 해석), 하중 경로에 맞는 후보 형상(생성형 설계), 모델 사이의 버전과 승인(PDM·PLM)의 다섯 모델 계층으로 나뉜다. 각 계층은 서로 다른 질문에 답하며 한 계층의 값이 다른 계층의 입력이 된다. CAD의 체적과 밀도가 다물체 해석의 질량·관성이 되고, 다물체 해석의 관절 반력이 FEA의 하중 사례가 되고, FEA 결과가 CAD의 치수·재료를 바꾼다. 이 되돌림이 4.1의 설계 루프를 구현한다.

도구가 늘면 얻는 정보가 늘지만 모델 간 일관성(같은 질량, 같은 치수, 같은 좌표계) 유지 비용도 늘고, 이를 관리하지 않으면 해석이 이전 리비전의 형상을 계산하는 사고가 생긴다. PDM·PLM이 이 일관성의 기록 계층이다. FEA에서는 격자를 세분할수록 답이 좋아진다고 믿기 쉽지만 국소 응력은 형상 특이점에서 수렴하지 않으므로 검증 절차 없이는 숫자를 신뢰할 수 없다.

이 장의 계산 결과를 미리 적으면 다음과 같다. 평면 응력 L형 브래킷(가정 입력)을 격자 $n=4,8,16,32$로 푼 결과 ① 변형 에너지는 $0.06460\to0.06981$ J로 수렴 방향이고 리처드슨 외삽 $U_\infty=0.07019$ J, GCI $0.68\,\%$이다. ② 안쪽 모서리(내각 $270^\circ$)에 인접한 요소의 폰 미제스 응력은 $31.45\to84.70$ MPa로 $2.69$배 늘며 증가 지수가 $0.44$로 윌리엄스 이론값 $1-\lambda=0.4555$에 가깝다. ③ 모서리에서 떨어진 영역의 평균 응력은 $17.65\to18.25$ MPa로 수렴한다. ④ 독립 라이브러리(scikit-fem)와 $10^{-12}$ 안에서 같다.

파라메트릭 CAD 스케치·특징 어셈블리 질량 특성 FEA 응력·강성·모드 시험·인증 해석 근거 다물체 해석 기구·동역학 로봇 모델 URDF·MJCF 생성형 설계 위상 최적화 도면·CAM 가공·적층 해석 결과가 치수·재료를 고친다 PDM·PLM: 리비전·릴리스 상태·BOM·변경 관리·중립 형식(STEP)
설계 도구의 연쇄. 파라메트릭 CAD의 형상·질량 특성이 FEA·다물체 해석·생성형 설계의 입력이 되고, 각 해석의 결과는 시험·인증 근거, 로봇 모델(URDF·MJCF), 도면·CAM으로 나간다. 주황 점선은 해석 결과가 CAD의 치수·재료를 고치는 되돌림이며 PDM·PLM이 전체의 리비전과 변경을 기록한다.

4.14.3 원리

4.14.3.1 CAD — 모델 표현과 파라메트릭 모델링

고체 CAD의 형상 표현은 경계 표현(B-rep)과 구성적 입체 기하(CSG)로 나뉜다. B-rep은 면·모서리·꼭짓점으로 입체의 경계를 기술하며 build123d는 스스로를 "파라메트릭 경계 표현(BREP) 모델링 프레임워크"로 소개하고, OpenSCAD는 CSG(합·교·차)와 2차원 윤곽의 압출을 두 가지 주된 모델링 방식으로 소개한다. 파라메트릭 모델러는 모델이 수정 가능하게 만들어지고 변경 때 형상 관계와 기능 관계를 유지한다(위키백과 "Computer-aided design"). 이 관계는 보통 스케치 구속과 특징 트리로 구현된다. 스케치의 거리·각도·접선·동심 구속은 점 좌표에 대한 연립 방정식이며 구속 수와 자유도 수의 관계로 미구속·완전 구속·과구속을 구분한다. 상용 구속 해결기의 알고리즘은 이 장이 확인하지 못했다.

이력 기반 모델은 특징을 만든 순서대로 재생(regenerate)하므로 앞 특징을 바꾸면 뒤 특징이 참조하던 면·모서리가 바뀌어 재생이 실패할 수 있다(위상 명명 문제로 알려져 있으며 커널별 대응은 이 장이 확인하지 못했다 (확인 필요)). 직접 모델링은 이력 트리 없이 형상을 편집하며 선택한 형상 사이의 접선·동심 관계를 유지할 수 있다(같은 문서). 모델링 커널은 형상 연산을 수행하는 라이브러리이고 CAD 제품이 같은 커널을 공유하면 파일 교환의 손실이 줄어든다. 위키백과의 커널 표는 다음 대응을 싣는다.

커널개발·소유이 표에 적힌 사용 제품(일부)라이선스(표기)
ParasolidSiemensSiemens NX, Solid Edge, SolidWorks, Onshape, Shapr3D, Adams개발·라이선스 제공
ACISSpatial(Dassault Systèmes 소속)BricsCAD, ZW3D, SpaceClaim개발·라이선스 제공
Convergence Geometric ModelerDassault SystèmesCATIA표기 없음
ShapeManagerAutodeskAutoCAD, Inventor, Fusion표기 없음
GranitePTCCreo표기 없음
Open CASCADE표기 없음FreeCAD, 4MCAD IntelliCAD오픈소스

CAD는 형상에서 질량 특성(체적, 질량 중심, 관성 텐서)을 산출하며 이것이 4.15의 출발점이다. 밀도는 사용자가 지정한 값이므로 도장·체결구·케이블·접착제가 빠진 질량이 되기 쉽고 이 차이는 3.1의 관성 텐서 정의와 3.7의 파라미터 식별로 확인한다.

4.14.3.2 FEA — 이산화, 해석 종류, 검증

유한요소법은 영역을 부영역(요소)으로 나누고 요소 방정식을 합쳐 전체 연립 방정식을 만든다. 정확도를 올리는 방법은 요소를 잘게 나누는 h 방식, 요소의 다항식 차수를 올리는 p 방식, 두 가지를 함께 적용하는 hp 방식이다(위키백과 "Finite element method"). 로봇 설계에서 자주 사용하는 해석의 종류와 입력은 다음과 같다.

해석답하는 질문필요한 입력관련 장
선형 정적하중에서의 변형·응력·강성재료 $E,\nu$, 구속, 하중 사례2.12, 4.4, 7.4
고유진동수·모드공진 회피, 제어 대역폭의 상한질량 분포, 구속4.8, 3.9
선형 좌굴얇은 부재의 안정성 한계압축 하중 사례4.4
열(정상·과도)모터 하우징의 온도 분포, 열변형발열, 대류 계수, 열전도율4.6, 5.2
피로 평가의 응력 입력응력 진폭과 평균 응력하중 이력, 응력 집중4.5
접촉·비선형·동적체결면 분리, 소성, 낙하 충격접촉 쌍, 마찰, 재료 비선형3.12, 16.1

요소는 1차원(보·트러스), 2차원(평면 응력·평면 변형·쉘), 3차원(솔리드)으로 나뉘고 같은 형상도 모델 차원에 따라 정보와 비용이 달라진다. 결과의 신뢰는 검증(verification)과 타당성 확인(validation)을 구분한다. 검증은 수학 모델을 올바르게 푸는지(코드 오류와 수치 오차)이고 타당성 확인은 올바른 수학 모델을 사용하는지(시험과의 대조)이다. ASME V&V 10-2019는 고체역학 계산 모델의 이 두 활동에 공통 용어와 개념 틀을 제공하는 표준으로 알려져 있다(공개 요약 2차 확인, 본문 미확인 (확인 필요)).

격자 수렴의 판정. 관심량 $f$를 세분 비 $r$인 세 격자(조밀 $f_1$, 중간 $f_2$, 성긴 $f_3$)에서 얻으면 관측 차수와 외삽값은 다음이다(Roache, 1994의 격자 수렴 지수 GCI; 원문은 읽지 못했고 서지는 Crossref로 확인했다).

$$p=\frac{\ln\bigl((f_3-f_2)/(f_2-f_1)\bigr)}{\ln r},\qquad f_\infty=f_1+\frac{f_1-f_2}{r^{p}-1},\qquad \mathrm{GCI}=F_s\,\frac{\lvert(f_2-f_1)/f_1\rvert}{r^{p}-1}.$$

$F_s$는 안전 계수이며 세 격자 이상일 때 $1.25$를 권고한 것으로 알려져 있다(Roache 원문 미확인 (확인 필요)). 이 식은 해가 매끄러워 단조 수렴하는 영역을 전제하므로 관측 차수 $p$가 요소 이론의 차수와 크게 다르면 격자가 점근 영역에 있지 않거나 해에 특이점이 있다는 신호이다.

응력 특이점. 내각 $\omega$의 오목 모서리 근방 응력은 $r^{\lambda-1}$로 거동하며 $\lambda$는 자유-자유 쐐기의 특성 방정식의 근이다(Williams, 1952로 알려진 결과; 원문은 읽지 못했다).

$$\sin(\lambda\omega)+\lambda\sin\omega=0\ \ (\text{모드 I}),\qquad \sin(\lambda\omega)-\lambda\sin\omega=0\ \ (\text{모드 II}).$$

식의 두 극한은 직접 확인할 수 있다. $\omega=\pi$(모서리가 없는 직선 경계)에서는 $\sin(\pi\lambda)=0$이므로 $\lambda=1$이고 응력이 유한하다. $\omega=2\pi$(균열)에서는 $\sin(2\pi\lambda)=0$이므로 $\lambda=1/2$이고 응력이 $r^{-1/2}$로 발산한다. $\omega=3\pi/2$($270^\circ$) 모드 I의 근은 이 장이 수치로 구한다(풀이 예제 ③). 변위 기반 유한요소에서는 요소를 줄일수록 이런 점 근방의 응력 최댓값이 계속 커지므로 날카로운 오목 모서리의 국소 응력은 격자에 의존하는 모델 인공물이다. 실제 부품에서는 필렛 반경이 응력을 한정하며 응력 집중 계수와 피로 수명은 4.5에서 다룬다.

4.14.3.3 다물체 해석 도구

다물체 동역학의 수식(질량행렬, CRBA·ABA, 구속 동역학)은 3.4·3.5·3.11이 다룬다. 도구 측면의 구분은 세 가지이다. ① CAD 내장 모션 해석은 어셈블리의 조인트를 그대로 사용해 간섭 검사와 운동 범위를 확인한다(제품별 기능은 이 장이 확인하지 못했다). ② 상용 다물체 해석은 CAD 어셈블리를 가져와 하중과 유연체까지 다룬다. MathWorks의 제품 페이지는 Simscape Multibody가 CATIA·Creo·Inventor·NX·Solid Edge·SolidWorks·Parasolid 파일을 직접 참조하고 어셈블리의 질량·관성·조인트·구속·3차원 형상을 가져오며 유연체를 이론 또는 유한요소로 모델링하고 Simulink에서 제어 알고리즘을 설계한다고 소개한다. ③ 로봇 연구용 엔진은 접촉이 많은 학습·제어 연구에 맞춰져 있다. MuJoCo는 "Multi-Joint dynamics with Contact"의 약어이며 Apache-2.0으로 공개되어 Google DeepMind가 유지한다. Drake는 MIT CSAIL의 Robot Locomotion Group에서 시작해 Toyota Research Institute가 핵심 개발을 이끌며 저장소의 LICENSE.TXT는 BSD 3-Clause를 명시한다. Project Chrono는 BSD-3로 공개된 C++ 라이브러리이며 강체 다물체, 마찰 접촉, 보·케이블·쉘·솔리드 유한요소 유연체, 차량을 포함하고 PyChrono를 제공한다.

강체 가정이 깨지는 조건은 두 가지이다. 링크·관절의 유연성이 제어 대역폭에 들어오면 유연 모델(3.9)이 필요하고, 접촉이 지배적이면 접촉 모델(3.12)과 접촉 시뮬레이션(16.1)의 선택이 결과를 정한다. 도구 선택의 기준은 필요한 결과가 강체 반력인가 응력 분포인가이다.

4.14.3.4 생성형 설계와 위상 최적화

위상 최적화의 수식(SIMP, 레벨셋)과 계산은 4.4가 다룬다. 설계 도구의 관점에서 생성형 설계는 보존 영역·하중 사례·재료·제조 방식·목표(질량 최소, 강성 최대)를 입력으로 후보 형상을 자동 생성하는 작업 흐름이다. 상용 제품의 내부 알고리즘과 제원은 공개 문서를 읽지 못해 이 장이 확인하지 못했다. 흐름은 다음 단계로 정리된다.

  1. 보존 영역(체결면, 베어링 시트, 케이블 통로)과 하중 사례를 정의한다. 하중 사례의 누락은 결과를 그 사례에만 맞춘 형상으로 만든다.
  2. 위상 최적화로 밀도장 또는 레벨셋을 얻고 임계값 처리로 형상을 만든다.
  3. 최소 부재 크기·빼기 방향·적층 방향 같은 제조 제약을 적용한다(4.4, 4.16, 4.17).
  4. 결과를 매끄러운 면으로 재구성해 CAD의 B-rep로 되돌린다. 이 단계에서 메시에서 B-rep으로의 변환 오차와 모델 크기가 문제가 된다.
  5. 재구성한 형상을 FEA로 다시 검증한다(응력, 좌굴, 모드, 피로). 최적화에 사용한 하중 사례 밖의 조건은 여기서만 드러난다.

4.14.3.5 PDM·PLM — 버전, 릴리스, 변경 관리

PDM은 PLM 안의 사업 기능으로, CAD 모델·도면·문서와 같은 엔지니어링 데이터와 그 파일 버전을 추적하고, 조립 BOM과 변형 구성을 만들고, 구성품의 릴리스를 통제하고, 설계 변경을 관리하며, 여러 사용자의 체크인·체크아웃을 통제한다(위키백과 "Product data management"). PLM은 구상(Conceive)·설계(Design)·실현(Realize)·서비스(Service)의 네 단계에 걸쳐 CAD·CAM·CAE·PDM에 방법과 사람과 절차를 더한 것이며 소프트웨어 기술이면서 사업 전략이라고 서술된다(위키백과 "Product lifecycle"). 이 장은 PLM 제품의 기능 범위를 비교하지 않는다.

리비전과 릴리스. 부품·어셈블리·도면은 작업 중, 검토 중, 릴리스, 폐기 같은 상태를 가지며 릴리스된 항목의 변경은 변경 요청과 변경 지시를 거친다. 아래 상태 이름과 약어는 조직마다 다르며 이 도해는 일반적 흐름을 정리한 것이다. 위키백과는 ECO(engineering change order)를 설계 부서가 승인해 공학적 변경의 시행을 기술하고 허가하는 문서로, ECN(engineering change notice)을 같은 문서의 다른 이름으로 싣는다. ECO에 최소한 들어갈 정보는 대상 품번, 변경 근거, 변경 전후 도면, 영향받는 문서와 부서, 승인, 시행 시점이다(같은 문서이며 인용 보강이 필요하다고 표시되어 있어 미검증이다).

작업 중 (체크아웃) 검토 중 (체크인) 릴리스 폐기 (대체) 변경 요청 (ECR) 변경 지시 (ECO) 새 리비전 릴리스 후 변경 실선: 승인 흐름. 주황 점선: 릴리스한 부품을 바꿀 때의 변경 관리 경로
PDM의 리비전·릴리스 상태(일반적 흐름). 릴리스한 부품을 바꾸려면 변경 요청과 변경 지시(ECO)를 거쳐 새 리비전이 작업 중 상태로 돌아간다. 상태 이름과 약어는 조직마다 다르다.

제품 예: Teamcenter는 Siemens의 PLM 제품이며 Siemens는 UGS를 2007-05-07에 35억 달러 규모로 인수했다(위키백과 UGS 항목). Windchill은 PTC의 PLM 제품군으로 1998년에 출시되었고 2002년에 PDMLink가 나왔다(위키백과). Onshape는 2012년에 창업한 클라우드 기반 CAD로 2019년 11월에 PTC가 4.7억 달러로 인수를 종결했고, 2016년 5월에 CAD 특징을 만드는 언어 FeatureScript를 MIT 라이선스로 공개했다(위키백과). 버전 관리와 PDM을 CAD 안에 합친 구성의 세부 기능은 공식 문서를 읽지 못해 이 장이 확인하지 못했다 (확인 필요).

4.14.3.6 상호운용 — 중립 형식

공급사가 다른 도구 사이에서는 중립 형식으로 교환한다. ISO 10303(STEP)은 제품 제조 정보의 컴퓨터 해석 가능한 표현과 교환을 위한 표준으로 약 700개의 하위 표준으로 이루어진다. AP 203은 형상 관리된 기계 부품·어셈블리의 3차원 설계(1994~1995년의 초기 판), AP 214는 자동차 기계 설계 과정의 핵심 데이터(2002년에 끝난 2차 릴리스 단계에 속함)이며, AP 242는 모델 기반 3차원 공학을 다루며 2014년 12월에 초판이 발행되어 AP 203·214 등을 합쳐 대체했다고 서술된다. AP 239(PLCS)는 제품 수명주기 지원, AP 238(STEP-NC)은 CNC 제어기용 응용 해석 모델을 다룬다(이상 위키백과, 2차). 텍스트 표현은 Part 21(STEP-File)이다. 메시 형식 STL·3MF는 적층 제조 공정과 함께 4.17에서 다룬다. STEP 변환은 형상(B-rep)은 보존하지만 파라메트릭 이력·구속은 일반적으로 보존되지 않는다고 알려져 있으므로(이 장은 확인하지 못했다 (확인 필요)) 파일을 받는 쪽은 특징 트리를 복원할 수 없다고 가정해야 한다(AP 242의 제품 제조 정보 PMI 범위는 이 장이 확인하지 못했다).

4.14.3.7 대표 도구와 확인한 사실(기준 시점 2026-11-05)

아래 표는 이 장이 조회한 소개 문구와 저장소 표기에 한정한다. 상용 제품의 기능·가격·성능은 비교하지 않았다.

범주도구확인한 사실(출처 성격)
파라메트릭 CAD(상용)SolidWorks·NX·Solid Edge·Creo·CATIA·Inventor·Fusion·Onshape커널 대응은 4.14.3.1의 표(2차). 기능·가격은 확인하지 못했다
오픈소스 CADFreeCADLGPL-2.1, "3차원 파라메트릭 모델러", OpenCASCADE 커널(저장소 소개)
코드 CADCadQuery · build123d둘 다 Apache-2.0. CadQuery는 OCCT 기반 파이썬 파라메트릭 CAD 스크립팅, build123d는 Open Cascade 기반 파이썬 CAD 라이브러리(저장소 소개)
코드 CADOpenSCAD스크립트를 읽어 입체를 만드는 자유 소프트웨어, CSG. COPYING의 머리에 GPL과 CGAL 링크 예외가 보이며 GPL 버전은 확인하지 않았다
FEA(오픈소스)CalculiXGPL(버전 2 이상), 선형·비선형, 정적·동적·열, 2.23판(페이지 갱신 2025-11-01)(공식 사이트)
FEA(오픈소스)Code_AsterEDF 관련, 오픈소스 유한요소 해석기(역학·열·동역학). 검증 사례 약 4,600건·약 100만 줄이라는 서술은 (공개 주장치). 라이선스 표기는 확인하지 못했다
FEA(오픈소스)ElmerCSC 저장소, GPL v2·LGPL v2.1 배지, 편미분방정식 다중물리 해석(저장소 소개)
FEA(상용)Ansys Mechanical·Abaqus·MSC Nastran·COMSOL·Altair OptiStruct이름만 언급. Nastran의 원판은 NASA 후원이라고 위키백과가 서술한다
다물체·로봇Simscape Multibody · MSC AdamsSimscape Multibody는 CAD 어셈블리 가져오기와 유연체를 지원한다고 MathWorks가 서술(4.14.3.3). Adams는 위키백과 커널 표에서 Parasolid 사용 제품으로 나열
다물체·로봇Chrono · Drake · MuJoCoBSD-3 · BSD 3-Clause(LICENSE.TXT) · Apache-2.0(저장소 소개)
PDM·PLMTeamcenter · Windchill · OnshapeSiemens · PTC · PTC(2019 인수). 기능 범위는 확인하지 못했다

4.14.4 알고리즘

해석 선택 (질문 Q → 모델):
  Q = 길이·질량·간섭                  → CAD 질량 특성·간섭 검사
  Q = 관절 반력·토크 이력             → 강체 다물체 해석 (3.4·3.5)
  Q = 응력·변형·고유진동수            → FEA (정적·모드)
  Q = 하중 사례 밖의 낙하·충격        → 접촉·동적 FEA, 또는 시험 (3.12)
  반력(다물체) ← 하중 사례(FEA) ← 응력(피로 입력, 4.5)
  결과가 Q의 허용 오차 ε를 만족하지 못하면 모델 충실도를 한 단계 올린다

FEA 검증 절차 (관심량 f):
  1. f ← 전역량(처짐·에너지·고유진동수) 또는 국소량(응력)을 구분
  2. 세분 비 r ≥ 1.3인 격자 3개 이상에서 f1, f2, f3 계산
  3. p ← ln((f3−f2)/(f2−f1))/ln r;  단조 수렴(f2−f1과 f3−f2의 부호가 같음) 확인
  4. f∞ ← f1 + (f1−f2)/(r^p − 1);  GCI ← Fs |(f2−f1)/f1| / (r^p − 1)
  5. f가 국소 응력이고 격자를 줄일 때 계속 증가하면 → 특이점
     (오목 모서리·점 하중·고정 단): 그 값을 보고하지 않고 필렛 반경 또는
     공칭 응력×응력 집중 계수(4.5)로 대체
  6. 관측 차수 p가 이론 차수와 크게 다르면 → 격자가 점근 영역 밖
  7. 타당성 확인: 같은 하중에서 시험(변형률·처짐)과 대조

4.14.5 풀이 예제 — L형 브래킷 FEA의 격자 수렴과 응력 특이점

결론부터 적으면 다음과 같다. ① 전역량(변형 에너지, 하중점 처짐)은 격자를 세분하면 수렴하고 GCI가 격자 오차를 정량화한다. ② 오목 모서리의 요소 응력은 세분할수록 증가하며 증가 지수가 윌리엄스 지수에서 예측한 $0.4555$에 근접한다($0.44$). ③ 모서리에서 떨어진 영역의 평균 응력은 수렴한다. ④ 독립 라이브러리와 $10^{-12}$ 안에서 같다.

구현. 정사각형 Q4 요소의 강성 ke_q4와 띠 촐레스키 풀이 band_solve는 4.4(패치 시험으로 확인됨)에서 불러와 사용한다. lshape_mesh(L형 격자), dmat(평면 응력 탄성 행렬), solve_l(조립·풀이·요소 중심 응력), vm(폰 미제스), williams(특성 방정식의 근), gci(관측 차수·외삽·GCI)를 이 장에서 작성했다. 아래 코드는 rb79(4.4 스크립트)를 불러온 것으로 가정한다.

항목값
입력 1 (형상·재료·하중)L형 영역 $[0,2a]^2$에서 $(a,2a]^2$를 제거, $a=50$ mm, 두께 $t=5$ mm, 평면 응력, 알루미늄 유사 $E=69$ GPa·$\nu=0.33$(가정), 윗변($y=2a$, $0\le x\le a$) 고정, 오른쪽 끝($x=2a$, $0\le y\le a$)에 아래 방향 합력 $F=1000$ N 균일 견인(가정)
입력 2 (격자)정사각형 Q4, 폭당 요소 수 $n=4,8,16,32$(요소 $48\to3072$개), 모서리 인접 요소 응력은 모서리 절점을 공유하는 세 요소의 중심 폰 미제스 최댓값, 원거리 평균은 $0\le x\le a$·$1.25a\le y\le1.75a$ 요소 중심 값의 평균
입력 3 (이론)내각 $270^\circ$($\omega=3\pi/2$)의 윌리엄스 특성 방정식, 이분법
입력 4 (라이브러리 대조)scikit-fem 12.0.2(ElementQuad1·ElementQuad2), numpy 2.5.4, SciPy 1.18.1(brentq)
from math import sqrt, sin, pi, log

SX, SY = (-1, 1, 1, -1), (-1, -1, 1, 1)

def lshape_mesh(n):
    """L형 영역 [0,2]x[0,2]에서 (1,2]x(1,2]를 제거한
    정사각형 요소 격자(단위 a=1). 절점 (ix,iy)에서
    ix>n and iy>n은 제외하고 번호는 ix 우선."""
    idx, xy = {}, []
    for ix in range(2 * n + 1):
        for iy in range(2 * n + 1):
            if ix > n and iy > n:
                continue
            idx[(ix, iy)] = len(xy)
            xy.append((ix / n, iy / n))
    els = []
    for ix in range(2 * n):
        for iy in range(2 * n):
            if ix >= n and iy >= n:
                continue
            els.append([idx[(ix, iy)], idx[(ix + 1, iy)],
                        idx[(ix + 1, iy + 1)],
                        idx[(ix, iy + 1)]])
    return idx, xy, els

def dmat(E, nu):
    """평면 응력 탄성 행렬"""
    c = E / (1 - nu * nu)
    return [[c, c * nu, 0.0], [c * nu, c, 0.0],
            [0.0, 0.0, c * (1 - nu) / 2]]

SX, SY = (-1, 1, 1, -1), (-1, -1, 1, 1)

def solve_l(n, a, t, E, nu, F):
    """L형 브래킷: 윗변(y=2a, 0<=x<=a) 고정, 오른 끝
    (x=2a, 0<=y<=a)에 아래 방향 합력 F의 균일 견인.
    반환: 변형 에너지 U, 하중점 평균 처짐, 요소 중심
    응력 [sx, sy, txy], 요소 중심 좌표, 요소 크기 h"""
    idx, xy, els = lshape_mesh(n)
    h = a / n
    nd = 2 * len(xy)
    KE = rb79.ke_q4(nu)
    ke = [[E * t * v for v in r] for r in KE]
    fixed = set()
    for ix in range(n + 1):
        j = idx[(ix, 2 * n)]
        fixed |= {2 * j, 2 * j + 1}
    free = [d for d in range(nd) if d not in fixed]
    pos = {d: i for i, d in enumerate(free)}
    dof = [[d for k in e for d in (2 * k, 2 * k + 1)]
           for e in els]
    b = 0
    for ds in dof:
        ed = [pos[d] for d in ds if d in pos]
        b = max(b, max(ed) - min(ed))
    A = [[0.0] * (b + 1) for _ in free]
    for ds in dof:
        for r in range(8):
            if ds[r] not in pos:
                continue
            pr = pos[ds[r]]
            for c in range(8):
                if ds[c] in pos and pos[ds[c]] <= pr:
                    A[pr][pos[ds[c]] - pr + b] += ke[r][c]
    f = [0.0] * len(free)
    wt = lambda iy: 1.0 if 0 < iy < n else 0.5
    ld = [(2 * idx[(2 * n, iy)] + 1, wt(iy) / n)
          for iy in range(n + 1)]
    for d, w in ld:
        f[pos[d]] = -F * w
    y = rb79.band_solve(A, b, f)
    u = [0.0] * nd
    for d in free:
        u[d] = y[pos[d]]
    U = 0.5 * sum(fi * yi for fi, yi in zip(f, y))
    wl = sum(u[d] * w for d, w in ld)
    D = dmat(E, nu)
    cen, sig = [], []
    for e, ds in zip(els, dof):
        ue = [u[d] for d in ds]
        ex = sum(s * ue[2 * i] for i, s in enumerate(SX))
        ey = sum(s * ue[2 * i + 1] for i, s in enumerate(SY))
        gx = sum(s * ue[2 * i + 1] for i, s in enumerate(SX))
        gy = sum(s * ue[2 * i] for i, s in enumerate(SY))
        eps = [v / (2 * h) for v in (ex, ey, gx + gy)]
        sig.append([sum(D[i][j] * eps[j] for j in range(3))
                    for i in range(3)])
        cen.append((a * sum(xy[k][0] for k in e) / 4,
                    a * sum(xy[k][1] for k in e) / 4))
    return U, -wl, sig, cen, h

def vm(s):
    """평면 응력 폰 미제스"""
    return sqrt(s[0] ** 2 - s[0] * s[1] + s[1] ** 2
                + 3 * s[2] ** 2)

def williams(omega, mode):
    """자유-자유 쐐기(내각 omega)의 윌리엄스 지수
    lambda, 응력 ~ r^(lambda-1). 모드 I은
    sin(lam*omega) + lam*sin(omega) = 0, 모드 II는
    부호가 반대. (0.5, 1) 구간 이분법"""
    s = 1.0 if mode == 1 else -1.0
    g = lambda lam: sin(lam * omega) + s * lam * sin(omega)
    lo, hi = 0.5 + 1e-9, 1.0 - 1e-9
    for _ in range(200):
        mid = 0.5 * (lo + hi)
        if g(lo) * g(mid) <= 0:
            hi = mid
        else:
            lo = mid
    return 0.5 * (lo + hi)

def gci(f1, f2, f3, r=2.0, fs=1.25):
    """세 격자(f1이 가장 조밀)의 관측 차수 p,
    리처드슨 외삽값, 조밀 격자의 GCI(Roache 1994)"""
    p = log((f3 - f2) / (f2 - f1)) / log(r)
    fx = f1 + (f1 - f2) / (r ** p - 1)
    return p, fx, fs * abs((f2 - f1) / f1) / (r ** p - 1)

① 격자 수렴.

격자 $n$ (폭당 요소 수)요소 수자유도변형 에너지 $U$ (J)하중점 처짐 (mm)모서리 인접 요소 $\sigma_{vm}$ (MPa)원거리 평균 $\sigma_{vm}$ (MPa)
4481300.064600.1292031.4517.653
81924500.067940.1358745.3517.978
1676816660.069260.1385362.3918.213
32307264020.069810.1396284.7018.252

② 관측 차수, 외삽, GCI.

지표관측(격자 쌍)이론
모서리 응력 증가 지수 $\log_2(\sigma_{2h}/\sigma_h)$ ($n=4\to8$, $8\to16$, $16\to32$)0.528 · 0.460 · 0.441$1-\lambda_{\mathrm I}=0.4555$
에너지 차의 비 $\log_2(\Delta U_{n}/\Delta U_{2n})$ ($4,8,16$ 기준)1.329 · 1.283$2\lambda_{\mathrm I}=1.0890$
원거리 평균의 인접 격자 상대 변화 ($4\to8$, $8\to16$, $16\to32$)1.81e-02 · 1.29e-02 · 2.16e-03수렴(2차 기대)
리처드슨 외삽·GCI ($r=2$, $F_s=1.25$)격자 $8,16,32$격자 $4,8,16$
관측 차수 $p$1.2831.329
외삽 에너지 $U_\infty$ (J)0.070190.07014
조밀 격자 GCI (%)0.6811.584
가장 조밀한 격자 에너지 대 $U_\infty$ (%)-0.542-1.252
0.03 0.06 0.12 0.25 0.8 1 1.5 2 3 요소 크기 h/a n = 4 값 대비 비 모서리 인접 요소 응력 원거리 평균 응력 변형 에너지
L형 브래킷 FEA의 격자 수렴(각 값을 $n=4$ 격자의 값으로 나눈 비). 변형 에너지(초록)와 원거리 평균 응력(주황)은 세분하면 일정한 값으로 수렴하지만 모서리 인접 요소 응력(파랑)은 $h^{-0.44}$로 계속 증가한다. 로그-로그 축이다.

③ 윌리엄스 지수.

오목 모서리 내각 $\omega$윌리엄스 지수 $\lambda$ 모드 I · 모드 II응력 $\sim r^{\lambda-1}$
$270^\circ$ ($3\pi/2$)0.5445 · 0.9085$r^{-0.4555}$ · $r^{-0.0915}$

변형 에너지는 $4\to32$에서 $0.06460\to0.06981$ J($+8.1\,\%$)이고 하중점 처짐은 $0.1292\to0.1396$ mm로 같은 방향으로 수렴한다. 격자 $8,16,32$의 관측 차수는 $1.283$, 외삽 에너지는 $0.07019$ J, GCI는 $0.68\,\%$이다. 가장 조밀한 격자의 에너지가 외삽값보다 $0.54\,\%$ 낮으며 변위 기반 유한요소가 에너지를 아래에서 접근하는 방향과 같다. 원거리 평균 응력은 $17.65\to18.25$ MPa로 수렴한다(인접 격자 변화 $1.8\,\%$, $1.3\,\%$, $0.22\,\%$). 반면 모서리 인접 요소 응력은 $31.45\to45.35\to62.39\to84.70$ MPa로 격자를 반으로 줄일 때마다 $1.44$배, $1.38$배, $1.36$배 증가하며 지수는 $0.528$, $0.460$, $0.441$이다. 이론 지수 $1-\lambda_{\mathrm I}=0.4555$보다 마지막 값이 $3\,\%$ 낮다. 에너지 차의 비가 주는 관측 차수 $1.33\to1.28$은 이론 $2\lambda_{\mathrm I}=1.089$보다 크다. 이 장은 이를 격자가 점근 영역에 도달하기 전의 값으로 해석하며 $n=128$까지(독립 라이브러리) $1.329\to1.283\to1.219\to1.169$로 이론값에 접근한다(아래 대조 표). 모서리 응력 지수는 $n=16$ 이후 $0.44$ 근처에서 머문다. 원인으로 요소 중심 응력의 위치($h/\sqrt2$), 특이 계수 자체의 수렴, 고정 단 모서리의 약한 특이성이 추정되며 이 장은 이를 분리하지 못했다.

④ 라이브러리 대조(실행 2026-11-05). 같은 L형 격자·평면 응력 구성($\lambda^{*}=2\lambda\mu/(\lambda+2\mu)$)·경계 조건을 scikit-fem으로 조립해 풀었다. 요소 중심 응력은 네 가우스점 변형률의 평균으로 구했고 윌리엄스 지수는 SciPy brentq로 구했다.

비교결과
변형 에너지 $U$: 이 장 Q4 대 scikit-fem ElementQuad1($n=4,8,16,32$) 최대 상대 차이7.8e-13
하중점 평균 처짐: 이 장 대 scikit-fem 일 켤레 처짐 $2U/F$ 최대 상대 차이7.8e-13
모서리 인접 요소 $\sigma_{vm}$: 이 장 대 scikit-fem (4개 격자 최대 상대 차이)5.7e-13
원거리 평균 $\sigma_{vm}$: 이 장 대 scikit-fem (4개 격자 최대 상대 차이)9.7e-13
격자 확장 $n=4,8,16,32,64,128$(Q1): 에너지 차의 비 $\log_2(\Delta U_n/\Delta U_{2n})$ (연속 4개)1.329 · 1.283 · 1.219 · 1.169
격자 확장 모서리 응력 증가 지수(연속 5개 쌍), 이론 $1-\lambda_{\mathrm I}$ = 0.45550.528 · 0.460 · 0.441 · 0.438 · 0.439
Q1 $n=128$ 변형 에너지 (J)0.07015
격자 128의 에너지 대 이 장 외삽 $U_\infty$($n=8,16,32$) (상대 차이)5.95e-04
Q2 요소 에너지 $U$ ($n=4,8,16,32$, J)0.06915 · 0.06973 · 0.07000 · 0.07013
Q2 에너지 차의 비 $\log_2$ (두 개)1.133 · 1.102
Q2 $n=32$의 에너지 대 Q1 $n=128$ (상대 차이)3.06e-04
윌리엄스 지수 모드 I·II: 이 장 이분법 대 SciPy brentq (최대 차이)4.4e-16
특성 방정식의 $(0.5,1)$ 구간 근의 개수(부호 변화 횟수, 모드 I · 모드 II)1 · 1

모든 결정론적 비교가 $10^{-12}$ 이하에서 일치하고 이분법과 brentq가 $4.4\times10^{-16}$ 안에서 같다. 격자 확장은 이 장의 순수 파이썬 풀이로는 비용이 커서 scikit-fem으로만 수행했다. Q2 요소(2차)의 $n=32$ 에너지가 Q1 $n=128$과 $3\times10^{-4}$ 안에서 같아, 리처드슨 외삽값 $0.07019$ J(Q1 $n=128$과 $5.9\times10^{-4}$)가 기준값의 근처에 있음을 확인한다.

한계. 평면 응력 2차원 모델이며 두께 방향 응력과 체결구 접촉은 포함하지 않는다. 재료·치수·하중은 가정이고 어떤 제품의 값도 아니다. 하중점 처짐은 균일 견인 아래의 일 켤레 평균 처짐이다. 고정 단의 모서리도 약한 특이성을 갖는다고 알려져 있으나 이 장은 그 지수를 계산하지 않았다. 선형 탄성만 다루었으므로 모서리의 국소 항복(소성)은 결과에 들어 있지 않다. 응력 회복은 요소 중심값이며 절점 평균·스무딩 회복과 비교하지 않았다.

견해: 로봇 부품의 FEA 보고서에는 관심량마다 격자 3개 이상의 수렴 결과와 GCI를 싣고, 국소 응력 최댓값이 격자와 함께 커지면 그 위치를 특이점으로 표시해 필렛 반경이나 구조 응력으로 평가하는 것이 합리적이라고 본다. 근거는 이 장의 계산에서 같은 모델의 에너지 오차가 $1\,\%$ 안으로 줄어드는 동안 모서리 응력이 $2.7$배로 커졌다는 점이다. 단일 격자의 응력 값은 설계 허용값과 비교할 수 없다.

4.14.6 설계 트레이드오프 — 도구 구성

연구실에서 제품까지 같은 설계 정보를 관리하는 구성은 다음 세 가지로 나뉜다.

  • ① 상용 통합 스위트. CAD·CAE·PDM·PLM을 한 공급사 또는 파트너 생태계에서 사용한다. 파일 형식과 변경 관리가 한 체계로 이어지고 공급사 지원이 있으나 라이선스 비용과 공급사 종속이 크다.
  • ② 클라우드 기반 CAD와 외부 해석. 브라우저 CAD가 버전 관리를 내장하고 해석·시뮬레이션은 외부 도구에 중립 형식으로 넘긴다. 협업과 버전 추적이 쉬우나 오프라인·기밀 데이터 제약이 있고 형식 변환 손실이 생긴다.
  • ③ 오픈소스·코드 CAD 조합. FreeCAD·CadQuery·build123d·OpenSCAD로 모델링하고 CalculiX·Code_Aster·Elmer로 해석하며 Git으로 버전 관리한다. 비용이 없고 파라메트릭 모델이 코드이므로 리뷰와 재현이 쉬우나 도구 통합과 PLM 수준의 BOM·릴리스 통제는 직접 구성해야 한다.
구성장점비용·복잡도주된 위험
① 상용 통합 스위트통합된 변경 관리·BOM라이선스, 도입·교육공급사 종속
② 클라우드 CAD + 외부 해석협업·버전 추적구독, 형식 변환기밀·오프라인 제약, 변환 손실
③ 오픈소스·코드 CAD + Git비용 없음, 재현성통합·릴리스 통제 직접 구축파일 형식·커널 한계, 지원 부재

견해: 연구 시작품과 소규모 팀은 ③ 또는 ②가, 인증 대상 제품이나 협력사와 도면을 주고받는 양산 제품은 ①이 적합하다고 본다. 근거는 도구의 성능 차이가 아니라 변경 이력과 추적성에 대한 외부 요구(4.14.9)의 유무이다. 세 구성의 해석 정확도·비용을 정량 비교한 자료는 이 장이 확인하지 못했다.

4.14.7 응용 축 비교

응용 축설계 도구에 거는 요구이 장의 대응관련 장
산업·제조협력사와 STEP 교환, 제품군의 파라메트릭 변형, BOM 연동AP 242 교환, 이력 기반 모델0.14, 42.6
물류·이동판금·섀시 설계의 반복 변형, 현장 수리 부품 관리파라메트릭 판금, PDM 리비전4.16
도로 주행차량 산업의 변경 관리·추적성 (확인 필요)ECO 체계, 기능안전 문서와의 연결27.15
서비스외장 형상 반복, 원가 우선직접 모델링, 단순 해석7.20
의료·헬스케어설계 관리 기록과 설계 이력 (확인 필요)PDM의 승인 기록41.21, 41.26
휴머노이드·범용다수 관절의 질량·관성 일관성, 경량 구조질량 특성 출력, 위상 최적화4.4, 4.15
필드외부 하중·온도 하중의 해석열·정적 FEA4.13
국방·안보설계 데이터의 접근 통제·수출통제 (확인 필요)PDM 접근 권한, 온프레미스40.15

이 표는 이 책의 정리이며 응용별 요구 수치와 규정은 이 장이 확인하지 못했다.

4.14.8 관련 규격·프로토콜

문서발행무엇을 정하나상세 장
ISO 10303 (STEP)ISO제품 제조 정보의 표현·교환(AP 203·214 → AP 242 통합, AP 239 PLCS, AP 238 STEP-NC). 위키백과(2차)로 확인, 본문 미확인 (확인 필요)27.9, A.3
ISO 10303-242ISO모델 기반 3차원 공학(2022년 판이 검색되고 4판이 최종 초안 단계라는 2차 요약. 현재 판 (확인 필요))A.3
ASME V&V 10-2019ASME고체역학 계산 모델의 검증과 타당성 확인의 용어·개념 틀(2025년 재확인 표기, 공개 요약만 확인 (확인 필요))A.3
EIA-649 (649B 2011·649C 2019)GEIA·SAE형상 관리(CM)의 용어·원칙·기능. 현재 판은 검색 결과가 엇갈린다 (확인 필요)A.3
ISO 10007ISO품질 경영 — 형상 관리 지침(2017년 판이 상점 목록에 보인다. 본문 미확인 (확인 필요))A.3
STL·3MF—메시 기반 교환 형식(위키백과 CAD 항목의 형식 목록)4.17
URDF·SDF·MJCF·USDROS·OSRF·DeepMind·Pixar 등로봇 모델 기술 형식27.9, 4.15

4.14.9 관련 규제·인증 요구와의 연결

설계 도구 자체를 규제하는 법령은 확인하지 못했다. 간접 연결은 설계 기록과 변경 이력에 대한 요구이다. ① 의료 로봇은 품질 경영 체계에서 설계·개발의 계획·검증·타당성 확인·설계 이전이 문서화되어야 하며, 미국 FDA의 QMSR이 ISO 13485:2016을 인용해 2026-02-02에 시행되었다고 2차 요약이 서술한다(Federal Register 원문 미확인 (확인 필요); 41.21, 41.26). ② 기계 제품은 제조자가 기술 문서를 작성하고 보존한다(38.3, 41.3). 해석 근거와 CAD 리비전이 이 문서에 연결된다. ③ 차량·기능안전 계열의 도구 신뢰성 요구는 이 장이 확인하지 못했다(26.5, 27.15). ④ 설계 데이터의 국외 반출·클라우드 저장에는 수출통제와 정보 보호의 문제가 있다(40.15). 해석 결과를 안전 근거로 제출할 때는 격자 수렴과 검증 기록(4.14.4)이 증거의 품질을 정한다.

4.14.10 한계·유의점·미해결

  • 자료의 한계. 제품 기능과 라이선스는 저장소 첫 화면·공식 소개 문구와 위키백과(2차)에서 확인한 범위이며 제품 비교가 아니다. 상용 도구(Ansys·Abaqus·Nastran·COMSOL·Altair·Autodesk·Siemens·PTC·Dassault)의 문서는 읽지 못했고 이름만 언급했다.
  • 모형 범위. 풀이 예제는 평면 응력 2차원, 정사각형 Q4, 선형 탄성, 하나의 하중 사례이다. 3차원 솔리드 요소(4면체·6면체), 쉘, 접촉, 소성, 비정렬 격자, 적응 세분은 시험하지 않았다.
  • 미해결. 로봇 부품의 FEA에서 관심량별 허용 GCI 기준, CAD-FEA-다물체 모델의 질량·좌표계 일관성을 자동으로 검증하는 방법, 위상 최적화 결과를 CAD로 되돌리는 재구성의 형상 오차 평가, PLM과 학습·시뮬레이션 자산(URDF·MJCF)의 버전 연동은 이 장이 다루지 못했다.

4.14.11 체크포인트·연구 질문·출처

체크포인트:

  1. 세 격자의 값으로 관측 차수 $p$와 GCI를 계산하는 식을 유도하고, 관측 차수가 이론 차수와 크게 다를 때의 두 가지 원인을 설명하라.
  2. 내각 $\omega=\pi$와 $2\pi$에서 특성 방정식의 근이 $\lambda=1$, $1/2$임을 보이고, $\lambda<1$일 때 응력 최댓값이 격자에 따라 증가하는 이유를 설명하라.
  3. CAD에서 MJCF로 질량을 옮길 때 밀도·체결구·케이블 때문에 생기는 질량 차이가 3.1의 관성 텐서에 미치는 영향을 서술하라.
  4. 이력 기반 모델과 직접 모델링의 변경 용이성과 재생 실패 위험을 비교하라.
  5. ECO에 들어가야 할 정보 항목을 열거하고, 릴리스된 부품을 바꿀 때의 경로를 도해하라.
  6. 변위 기반 유한요소의 에너지가 정확한 에너지보다 작게 수렴하는 이유를 설명하라.

연구 질문:

  • 오목 모서리가 있는 로봇 부품에서 필렛 반경, 구조 응력(핫스팟), 비국소 응력 평가가 시험 수명과 어느 정도 일치하는가(이 장은 모서리 응력의 격자 의존만 보였다)?
  • 위상 최적화 결과를 CAD로 재구성하는 과정의 형상 오차와 FEA 재검증 결과의 차이는 얼마인가?
  • CAD 리비전, 해석 결과, URDF·MJCF 모델 사이의 일관성을 PLM에서 자동으로 추적하는 방법은 무엇인가?

1차 출처(조회 2026-11-05).

  • 위키백과(영문) "Geometric modeling kernel", "ISO 10303", "Product lifecycle", "Product data management", "Engineering change order", "Computer-aided design", "Parametric design", "Finite element method", "Onshape", "Windchill (software)", "UGS Corp."(Teamcenter) — 2차 출처, 본문을 조회했다.
  • 공식 소개 페이지·저장소 첫 화면: calculix.de(버전 2.23, 2025-11-01 갱신 표기), code-aster.org, github.com/ElmerCSC/elmerfem, github.com/FreeCAD/FreeCAD, github.com/CadQuery/cadquery, github.com/gumyr/build123d, github.com/openscad/openscad, projectchrono.org, drake.mit.edu, github.com/RobotLocomotion/drake(LICENSE.TXT), github.com/google-deepmind/mujoco, mathworks.com Simscape Multibody 제품 페이지.
  • 검색 요약(2차): ASME V&V 10-2019, ISO 10007, ANSI/EIA-649, ISO 10303-242, FDA QMSR 시행(2026-02-02)과 ISO 13485 인용.
  • 서지만 확인(Crossref): M. L. Williams, "Stress Singularities Resulting From Various Boundary Conditions in Angular Corners of Plates in Extension," J. Appl. Mech. 19, 526–528, 1952, doi:10.1115/1.4010553; P. J. Roache, "Perspective: A Method for Uniform Reporting of Grid Refinement Studies," J. Fluids Eng. 116, 405–413, 1994, doi:10.1115/1.2910291.
  • scikit-fem 12.0.2(ElementQuad1·ElementQuad2, FacetBasis), numpy 2.5.4, SciPy 1.18.1(optimize.brentq) — 같은 입력의 독립 대조.

다음 장. 4.15은 CAD에서 로봇 모델로 옮기는 과정을 다룬다. 이 장의 CAD 질량 특성과 모델 일관성 문제를 이어, URDF·MJCF 내보내기, 메시에서의 관성 추정, 충돌 메시의 볼록 분해(V-HACD·CoACD)를 계산과 라이브러리 대조로 확인한다.