로봇 소프트웨어

Robot software

로봇 소프트웨어는 기계 장치와 전자 시스템에 수행할 작업을 함께 알려주는 일련의 코드화된 명령 또는 명령입니다.로봇 소프트웨어는 자율 작업을 수행하는 데 사용됩니다.프로그래밍 로봇을 더 쉽게 만들기 위해 많은 소프트웨어 시스템과 프레임워크가 제안되어 왔다.

일부 로봇 소프트웨어는 지능적인 기계 장치를 개발하는 것을 목표로 한다.일반적인 작업에는 피드백 루프, 제어, 경로 검색, 데이터 필터링, 데이터 검색 및 공유포함됩니다.

서론

특정 유형의 소프트웨어이지만 여전히 상당히 다양합니다.각 제조업체는 자체 로봇 소프트웨어를 가지고 있습니다.대부분의 소프트웨어가 데이터를 조작하고 그 결과를 화면으로 보는 것에 관한 것이라면 로봇 소프트웨어는 실제 세계에서 사물이나 도구를 조작하기 위한 것입니다.

산업용 로봇 소프트웨어

산업용 로봇 소프트웨어는 프로그램 흐름(명령 목록)으로 알려진 데이터 개체와 명령 목록으로 구성됩니다.예를들면,

지그1로 이동

Jig1이라는 이름의 위치 데이터로 이동하라는 로봇에 대한 지시입니다.물론 프로그램에는 암묵적인 데이터도 포함될 수 있습니다.

Tell 축 1은 30도 이동합니다. 

일반적으로 데이터와 프로그램은 로봇 컨트롤러 메모리의 개별 섹션에 있습니다.프로그램을 변경하지 않고도 데이터를 변경할 수 있고 그 반대도 가능합니다.예를 들어 동일한 Jig1을 사용하여 다른 프로그램을 작성하거나 사용하는 프로그램을 변경하지 않고 Jig1의 위치를 조정할 수 있습니다.

산업용 로봇용 프로그래밍 언어의 예

로봇 소프트웨어의 매우 독점적인 특성으로 인해 대부분의 로봇 하드웨어 제조업체는 자체 소프트웨어를 제공합니다.이는 다른 자동 제어 시스템에서는 드문 일이 아니지만 로봇에 대한 프로그래밍 방법의 표준화 부족은 특정 문제를 야기한다.예를 들어, 산업용 로봇에는 30개 이상의 제조사가 있기 때문에 30개의 다른 로봇 프로그래밍 언어도 필요합니다.각 제조사의 고유 [1]언어를 배우지 않고도 로봇 프로그래밍을 폭넓게 이해할 수 있을 정도로 서로 다른 로봇들 사이에는 유사성이 충분히 있다.

여러 제조업체의 로봇을 제어하는 한 가지 방법은 포스트 프로세서와 오프라인 프로그래밍(로봇) 소프트웨어를 사용하는 것입니다.이 방법으로 Python(프로그래밍 언어)[2]같은 범용 프로그래밍 언어에서 브랜드별 로봇 프로그래밍 언어를 처리할 수 있습니다.그러나 고정된 오프라인 코드를 컴파일하여 로봇 컨트롤러에 업로드하는 것은 로봇 시스템이 상태를 인식할 수 없기 때문에 로봇 시스템은 환경 변화에 따라 동작을 조정하고 복구할 수 없습니다.현재 몇 가지 타사 도구를 사용하여 모든 로봇을 위한 통합 실시간 적응 제어가 가능합니다.

게시된 로봇 프로그래밍 언어의 몇 가지 예가 아래에 나와 있습니다.

쉬운 영어로 작업:

P1로 이동(일반 안전 위치) P2로 이동(P3으로 접근) P3로 이동(물체를 선택하는 위치) P4로 이동(P5로 접근) P5로 이동(물체를 놓는 위치) P1로 이동 후 종료

VAL은 최초의 로봇 언어 중 하나였으며 Unimate [3]로봇에 사용되었다.어뎁트 테크놀로지를 포함한 다른 제조사에서도 VAL의 변종이 사용되고 있습니다.Stéubli는 현재 VAL3를 사용하고 있습니다.

프로그램 예:

프로그램 픽플레이스 1. Move P1 2. Move P2 3. Move P3 4. CLOSEI 0.00 5. Move P4 6. Move P5 7. OPENI 0.00 8. Move P1. Move P1.끝.

Stéubli VAL3 프로그램의 예:

begin movej(p1,tGripper,mNomSpeed) movej(approve(p3,trApprove),tGripper,mNomSpeed(p3,tGripper,mNomSpeed) movel(p3,tGripper) movel(p5,trAppropper,mp5).

trApprove는 데카르트 변환 변수입니다.approve 명령어와 함께 사용하면 P2 랜드 P4 포인트를 가르칠 필요가 없지만 궤도 생성을 위한 PICK 및 장소의 접근 방식을 동적으로 변환합니다.

Epson RC+(진공 픽업의 예)

기능 PickPlace 점프 P1 점프 P2 점프 P3 온 진공 대기.1 점프 P4 점프 P5 오프 진공 대기.1 점프 P1 펜드

ROBOFORSH(FORTH를 기반으로 하는 언어)

: 픽플레이스 P1 P3 그립 철수. P5 언그립 철수. P1 ; 

(로보포스에서는 장소의 접근 위치를 지정할 수 있으므로 P2 및 P4가 필요하지 않습니다.)

그리퍼가 완전히 닫힐 때까지 로봇이 다음 이동을 계속해서는 안 됩니다.확인 또는 허용 시간은 위의 CLOSEI 및 GRIP 예에서 암시되어 있는 반면, On vacuum 명령은 만족스러운 흡착을 보장하기 위해 시간 지연이 필요합니다.

기타 로봇 프로그래밍 언어

비주얼 프로그래밍 언어

LEGO Mindstorms EV3 프로그래밍 언어는 사용자가 상호작용할 수 있는 간단한 언어입니다.LabVIEW로 작성된 그래피컬 사용자 인터페이스(GUI)입니다.접근법은 데이터가 아닌 프로그램으로 시작하는 것입니다.프로그램은 프로그램 영역으로 아이콘을 드래그하여 시퀀스에 추가 또는 삽입하여 구성됩니다.그런 다음 각 아이콘에 대해 매개 변수(데이터)를 지정합니다.예를 들어, 모터 드라이브 아이콘의 경우 모터와 모터 이동량을 지정합니다.프로그램이 작성되면 테스트를 위해 Lego NXT 'brick'(마이크로 컨트롤러)에 다운로드됩니다.

스크립트 언어

스크립트 언어는 소프트웨어 응용 프로그램을 제어하는 데 사용되는 고급 프로그래밍 언어이며 미리 컴파일되지 않고 실시간으로 해석됩니다.스크립트 언어는 범용 프로그래밍 언어일 수도 있고 애플리케이션 또는 시스템 프로그램의 실행을 증가시키기 위해 사용되는 특정 기능으로 제한될 수도 있습니다.RoboLogix와 같은 일부 스크립트 언어에는 레지스터에 데이터 개체가 있으며 프로그램 흐름은 로봇을 프로그래밍하는 데 사용되는 명령 또는 명령 집합의 목록을 나타냅니다.

산업용[4] 로봇 프로그래밍 언어
로봇 브랜드 언어명
ABB 고속
코마우 PDL2
파누크 카렐
가와사키 ~하듯이
쿠카 KRL
슈테우블리 VAL3
야스카와 통지하다

프로그래밍 언어는 일반적으로 처음부터 데이터 구조 및 알고리즘구축하도록 설계되어 있으며 스크립트 언어는 컴포넌트와 명령어를 연결하거나 "접착"하기 위한 것입니다.따라서 스크립트 언어 명령 세트는 보통 프로그래밍 프로세스를 단순화하고 신속한 응용 프로그램 개발을 제공하기 위해 사용되는 프로그램 명령의 간소화된 목록입니다.

병렬 언어

또 다른 흥미로운 접근법은 언급할 가치가 있다.모든 로보틱 응용 프로그램에는 병렬 처리 및 이벤트 기반 프로그래밍이 필요합니다.병렬은 로봇이 동시에 두 가지 이상의 일을 하는 곳입니다.여기에는 적절한 하드웨어와 소프트웨어가 필요합니다.대부분의 프로그래밍 언어는 스레드 또는 복잡한 추상화 클래스에 의존하여 병렬 처리 및 공유 리소스에 대한 동시 액세스와 같은 복잡함을 처리합니다.URBI는 언어 의미론의 핵심에 병렬과 이벤트를 통합함으로써 더 높은 수준의 추상화를 제공합니다.

 언제든지(얼굴.눈에 보이는)  {    헤드팬.  += 카메라.xfov * 얼굴.x    &    헤드 틸트. += 카메라.yfov * 얼굴.y  } 

위의 코드를 사용하면headPan그리고.headTilt로봇이 얼굴을 볼 때마다 카메라가 촬영한 비디오에서 로봇 헤드가 사람의 얼굴을 따라가게 하기 위해 모터를 병렬로 배치한다.

로봇 애플리케이션 소프트웨어

어떤 언어를 사용하든 로봇 소프트웨어의 최종 결과는 사람들을 돕거나 즐겁게 하는 로봇 애플리케이션을 만드는 것이다.응용 프로그램에는 명령 및 제어 및 태스크 소프트웨어가 포함됩니다.원격조작 로봇용 로봇제어 GUI, 자율로봇용 포인트n클릭 명령 소프트웨어 및 공장 내 이동로봇용 스케줄링 소프트웨어를 포함한다.태스크 소프트웨어에는 배달 경로, 보안 순찰 및 방문자 투어를 설정하기 위한 간단한 드래그 앤 드롭 인터페이스가 포함되어 있습니다.또, 특정의 애플리케이션을 전개하기 위해서 작성된 커스텀 프로그램도 포함되어 있습니다.범용 로봇 애플리케이션 소프트웨어는 널리 배포된 로봇 플랫폼에 배포됩니다.

안전에 관한 고려사항

프로그래밍 오류는 특히 대형 산업용 로봇에서 심각한 안전 고려 사항을 나타냅니다.산업용 로봇의 힘과 크기는 잘못 프로그래밍되거나 안전하지 않은 방식으로 사용될 경우 심각한 부상을 입힐 수 있다는 것을 의미한다.산업용 로봇의 질량과 고속으로 인해 자동 작동 중에 사람이 로봇의 작업 영역에 있는 것은 항상 안전하지 않습니다.시스템은 예기치 않은 시간에 동작을 시작할 수 있으며, 인간은 많은 상황에서 충분히 빠르게 반응할 수 없습니다. 설령 그렇게 할 준비가 되어 있더라도 말이죠.따라서 소프트웨어에 프로그래밍 오류가 없더라도 산업용 로봇을 인간 작업자나 부품 로딩 또는 언로드, 부품 걸림 제거 또는 유지보수 수행과 같은 인간 상호 작용에서 안전하게 만들기 위해 상당한 주의를 기울여야 합니다.로봇 산업 협회의 ANSI/RIA R15.06-1999 산업용 로봇 및 로봇 시스템에 대한 미국 국가 표준 - 안전 요구사항(ANSI/R15.06-1992) 책은 로봇 안전에 대한 승인된 표준입니다.여기에는 산업용 로봇의 설계와 공장에서의 산업용 로봇의 구현 또는 통합 및 사용에 대한 지침이 포함된다.안전 컨트롤러, 학습 모드 중 최대 속도, 물리적 장벽의 사용과 같은 많은 안전 개념이 다루어집니다.

참고 항목

레퍼런스

  1. ^ "The future of robot off-line programming". CoRo Blog. 2015-10-25. Retrieved 2017-01-03.
  2. ^ RoboDK. "Offline programming - RoboDK". www.robodk.com. Retrieved 2017-01-03.
  3. ^ O. Nnaji, Bartholomew (1993). Theory of Automatic Robot Assembly and Programming (1993 ed.). Springer. p. 5. ISBN 978-0412393105. Retrieved 8 February 2015.
  4. ^ "Robot programming languages". Fabryka robotów. Retrieved 8 February 2015.

외부 링크