경로 최적화 기능 개선 – v.1.116

시리우스 라이브러리 v1.116 까지 업데이트 사항들입니다.

1. 경로 최적화 기능 개선

기존 경로 최적화는 휴리스틱(Heuristic) 방식만을 제공하여 연산시간이 매우 오래 걸리는 등, 좀 더 단순한 경로의 정렬에 적합한 방법이 제공되지 않아 이를 개선하게 되었습니다. 아래와 같이 알고리즘에 단순(Simple) 항목이 추가되어 가장 가까운 거리를 최우선(Nearset 방식)으로 탐색하는 등 다양한 단순 정렬 알고리즘이 실행됩니다.

가장 가까운 경로 우선 탐색 (SImple : Nearest 방식)

단순(Simple) 알고리즘의 상세한 옵션(Options)을 살펴보면, 가까운 거리 우선 탐색 (Nearest), 좌->우(Left->Right), 우->좌(Right->Left), 상->하(Top->Bottom), 하->상(Bottom->Top) 방식 뿐 아니라 각도(Angle)을 기준으로 회전 방향에 따라 정렬을 지원합니다.

단순(Simple) 알고리즘 종류
위에서 아래 방향으로 경로 우선 탐색 (SImple : Top->Bottom 방식)
왼쪽에서 오른쪽 방향으로 경로 우선 탐색 (SImple : Left -> Right 방식)
단순(Simple) 알고리즘 : 회전 각도 방향으로 정렬 (SImple : 반시계 방향)
단순(Simple) 알고리즘 : 회전 각도 방향으로 정렬 (SImple : 반시계 방향)된 모습

참고) 만약 사용자가 직접 경로 최적화 알고리즘을 구현하고자 할 경우 해당에는 제공되는 이벤트 핸들러(OnCustom)에 코드를 등록 구현이 가능합니다.


2. 파워메터 차트 개선

측정된 데이타가 지속적으로 기록되면서, 자동으로 좌측으로 스크롤 처리됩니다. 최대 60초간의 데이타가 기록되고, 마우스 휠 조작을 통해 확대/축소가 제공합니다. 파워메터에서 많은 데이타가 측정되었을때 세부 항목을 확인하기 수월해 졌습니다.

데이타가 누적되면, 자동으로 스크롤 처리됨
마우스 휠을 이용해 확대/축소 지원


3. 파워 매핑 인터페이스 개선 (IPowerMap)

레이저 소스의 출력 파워 보정(Compensate)을 하기 위한 파워 매핑 (IPowerMap)의 개발자용 인터페이스가 더욱 개선되어, 사용자는 상속 구현을 통해 파워 매핑 루틴을 직접 작성할 수도 있습니다. 또한 파워 검증(Verify)기능이 추가되어 실제 보정(Compensate)된 파워로 출력이 되는지 여부도 확인이 가능합니다. 좀더 자세한 사항은 Demos\powermap 데모 프로젝트를 참고해 주시기 바랍니다.


4. 회전하는 물체에 대한 MOTF (Marking On The Fly)

기존 X,Y 스테이지에 대한 MOTF 가공 뿐 아니라 회전하는 물체를 대상으로 MOTF 방식으로 가공이 가능해 졌습니다. 우선 회전 축의 모터에서 발생하는 외부 엔코더를 입력하고, 이 엔코더의 비율값(펄스수/바퀴)을 지정하고, 회전 물체의 중심 좌표 위치 (스캐너 중심 대비 떨어진 위치 좌표)가 준비되면 가공에 필요한 준비가 됩니다.

회전체에 대한 MOTF 개체

제어용 개체(Control Entity) 항목에 Angular Begin/End 을 사용해 회전 물체의 MOTF 시작~끝 구간을 만들고 그 사이에 실제 가공 개체들 (선, 원, 텍스트 와 같은 실제 데이타)을 구성해 놓으면 알아서 처리가 됩니다.

마커 화면에서 회전체용 MOTF 화면 제공

또한 마커 윈폼에서는 위와 같이 회전 부에 대한 테스트도 가능하며, 시뮬레이션 기능을 통해 외부 엔코더 입력이 없더라도 각속도(각도의 변화량/초) 입력 엔코더 를 재현해 실제 가상의 동작도 테스트가 가능합니다. 이는 개발자용 IRtcMotf 인터페이스가 개선되면서 추가 지원되었으며 좀더 자세한 사항은 Demos\Motf\Program4 데모 프로젝트의 소스코드를 참고해 주시기 바랍니다.


5. 편집기/뷰어 + 마커 관련 소스코드 공개

시리우스 라이브러리를 기반으로 하여, 사용자가 원하는 UI 구성, 마커의 루틴을 직접 설계 구현할 수 있도록 관련 소스 코드가 공개되었습니다. 개발자는 이를 참고하여 자신만의 디자인을 갖는 화면의 구성이 가능해 졌습니다. Demos\customeditor 프로젝트의 소스코드를 참고해 주시기 바랍니다.


6. 사용자 개체(Entity) 만들기

사용자가 특정 형태의 개체(Entity)를 만들어 시리우스 라이브러리 내에 삽입(포함) 시킬수 있는 예제 프로젝트가 추가되었습니다. Demos\customentity 프로젝트를 참고해 주시기 바랍니다. 예제 소스코드를 참고하면 사용자 개체를 OpenGL 렌더러를 이용해 그리고, IRtc 인터페이스를 이용해 가공하는 등 다양한 구현을 직접 처리하고 이를 확장할 수 있습니다.


7. 비트맵 폰트 (실험용)

(가칭) 비트맵 폰트(Bitmap Font) 개체가 추가되었습니다. 이는 이미지 기반의 폰트 데이타를 분석하여 고속의 픽셀 기반 레스터(Raster) 가공이 가능하도록 합니다. 즉 벡터(폴리라인과 같은 선분들)를 기반으로 폰트를 가공하는것이 아니라 매 픽셀에 해당하는 위치마다 점프하면서 레이저로 가공하는 방식입니다. 아직은 실험용 기능으로 기존 비트맵(Bitmap) 개체와 동일한 가공 방식이 적용됩니다.

비트맵 폰트를 생성하는 모습
비트맵 폰트는 비트맵 개체와 동일하게 처리됨 (실험 목적)
비트맵 폰트의 외곽선은 안티얼라이징 (Anti Aliasing) 처리됨

안티얼라이징 (Anti Aliasing) 된 외곽선 부분을 레스터(Raster) 가공하게 되면 매 픽셀(Pixel)에 설정된 픽셀 주기 시간 (Pixel Period) 마다 점프 및 출사가 시도되고, 이 출사 시간을 가변하여 강약을 조절하게 됩니다. 가공 시간(Pixel Time)은 픽셀의 흑백 비율(8비트 Gray값 : 0~255)값이 반영되며, 실제 픽셀 가공 시간은 (Pixel Time * 비율) 만큼의 시간 동안만 개별 픽셀 레이저 가공이 진행됩니다.

실제 픽셀 가공 시간 = 픽셀 가공 시간(Pixel Time) * 픽셀의 강도
시뮬레이션 가공시 해당 픽셀만 레이저가 출력되는 모습

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top