KR101237471B1 - 모바일 디바이스 및 로봇 암 제어 방법 - Google Patents
모바일 디바이스 및 로봇 암 제어 방법 Download PDFInfo
- Publication number
- KR101237471B1 KR101237471B1 KR1020110029708A KR20110029708A KR101237471B1 KR 101237471 B1 KR101237471 B1 KR 101237471B1 KR 1020110029708 A KR1020110029708 A KR 1020110029708A KR 20110029708 A KR20110029708 A KR 20110029708A KR 101237471 B1 KR101237471 B1 KR 101237471B1
- Authority
- KR
- South Korea
- Prior art keywords
- robot arm
- axis
- rotation angle
- link
- coordinates
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
- H04Q9/04—Arrangements for synchronous operation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/006—Controls for manipulators by means of a wireless system for controlling one or several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/087—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices for sensing other physical parameters, e.g. electrical or chemical properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
- H04M1/72415—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories for remote control of appliances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/40—Arrangements in telecontrol or telemetry systems using a wireless architecture
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Signal Processing (AREA)
- Manipulator (AREA)
Abstract
모바일 디바이스가 개시된다. 본 모바일 디바이스는, 로봇 암의 제어를 위한 사용자 명령을 입력받는 사용자 인터페이스부, 입력받은 사용자 명령으로부터 로봇 암의 이동 좌표를 추출하는 추출부, 추출된 이동 좌표를 벡터 변환하여, 로봇 암의 각 축에 대한 회전 각도를 계산하는 계산부, 및, 계산된 각 축에 대한 회전 각도를 로봇 암에 전송하는 통신 인터페이스부를 포함한다.
Description
본 발명은 모바일 디바이스 및 로봇 암 제어 방법에 관한 것으로, 보다 상세하게는 원격지에 위치하는 로봇 암에 대한 제어를 낮은 리소스를 이용하여 수행할 수 있는 모바일 디바이스 및 로봇 암 제어 방법에 관한 것이다.
최근 유비쿼터스 환경의 급속한 발전에 인해 로봇의 역할이 점차 증대됨에 따라 로봇 제어의 정확성과 신뢰성을 요구하게 되었다. 사용자가 멀리 떨어져 있는 가운데 로봇에 정확한 명령 전달, 손쉬운 조작 방법, 사용자의 접근성 등의 요구 사항을 만족시켜주는 제어도구를 필요로 하고 있다.
종래에는 사용자가 내린 명령을 서버를 이용하여 역기구학을 계산하고, 계산된 축에 대한 각도 정보를 로봇 각 축의 모터로 전달하는 방식으로 로봇을 제어하였다. 그러나 이러한 원격 제어 시스템은 블루투스 등과 같은 근거리 통신 방식을 이용하였다는 점에서 원거리 제어가 아닌 근거리 제어가 대부분이었다. 또한, 축 제어를 위한 각도 연산이나 경로 분석을 위해 로봇 내에 별도의 연산 모듈이 요구되었다.
한편, 최근에 스마트 폰의 보급률이 높아지고, 스마트 폰 자체의 성능이 증대됨에 따라 스마트 폰을 이용하여 원격으로 로봇에 대한 제어를 수행할 수 있는 방법이 요구되었다.
본 발명은 원격지에 위치하는 로봇 암에 대한 제어를 낮은 리소스를 이용하여 수행할 수 있는 모바일 디바이스 및 로봇 암 제어 방법을 제공하는 것을 목적으로 한다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 모바일 디바이스는, 상기 로봇 암의 제어를 위한 사용자 명령을 입력받는 사용자 인터페이스부, 상기 입력받은 사용자 명령으로부터 상기 로봇 암의 이동 좌표를 추출하는 추출부, 상기 추출된 이동 좌표를 벡터 변환하여, 상기 로봇 암의 각 축에 대한 회전 각도를 계산하는 계산부, 및, 상기 계산된 각 축에 대한 회전 각도를 상기 로봇 암에 전송하는 통신 인터페이스부를 포함한다.
이 경우, 상기 사용자 인터페이스부는, 상기 로봇 암의 전체 이동 경로를 설정받는 경로 제어 명령 또는 상기 로봇 암의 좌표 이동 경로를 설정받은 직접 제어 명령을 입력받은 것이 바람직하다.
이 경우, 본 모바일 디바이스는, 상기 사용자 인터페이스부를 통하여 상기 경로 제어 명령을 수신하면 상기 전체 이동 경로에 따른 상기 로봇 암의 각 축에 대한 회전 각도가 일괄적으로 계산되도록 상기 추출부 및 상기 계산부를 제어하고, 계산된 각 축에 대한 회전 각도가 순차적으로 상기 로봇 암에 전송되도록 상기 통신 인터페이스부를 제어하고, 상기 사용자 인터페이스부를 통하여 상기 직접 제어 명령을 수신하면, 수신된 좌표 이동 경로에 따른 상기 로봇 암의 각 축에 대한 회전 각도가 실시간으로 계산되도록 상기 추출부 및 상기 계산부를 제어하고, 상기 계산된 각 축에 대한 회전 각도가 실시간으로 상기 로봇 암에 전송되도록 상기 통신 인터페이스부를 제어하는 제어부를 더 포함할 수 있다.
한편, 상기 사용자 인터페이스부는, 상기 로봇 암의 이동 경로를 입력받기 위한 사용자 인터페이스 창을 표시하고, 표시된 사용자 인터페이스 창을 통하여 상기 로봇 암의 이동 경로를 터치 좌표로 입력받는 것이 바람직하다.
이 경우, 상기 추출부는, 상기 입력받은 터치 좌표를 상기 로봇 암의 이동 좌표로 변환하는 것이 바람직하다.
이 경우, 상기 로봇 암은 제1 축 및 제2 축을 포함하며, 상기 계산부는 아래의 수학식을 이용하여 상기 제1 축 및 상기 제2 축의 회전 각도를 계산하는 것이 바람직하다.
여기서, θ1은 상기 제1 축의 회전 각도, θ2는 상기 제2 축의 회전 각도, , C2는 , L1, L2, L3 및 L4는 상기 로봇 암 내의 각 링크의 길이, Sx, Sy는 상기 링크 L2의 끝점 좌표, Px, Py는 상기 링크 L4의 끝점 좌표, δ1은 링크 L1과 링크 L2 사이의 각도, δ2는 링크 L2와 링크 L3 사이의 각도이다.
한편, 상기 모바일 디바이스는, 안드로이드 운영체제를 구비하는 핸드폰인 것이 바람직하다.
한편, 본 실시 예에 따른 로봇 암 제어 방법은, 상기 로봇 암의 제어를 위한 사용자 명령을 입력받는 단계, 상기 입력받은 사용자 명령으로부터 상기 로봇 암의 이동 좌표를 추출하는 단계, 상기 추출된 이동 좌표를 벡터 변환하여 상기 로봇 암의 각 축에 대한 회전 각도를 계산하는 단계, 및, 상기 계산된 각 축에 대한 회전 각도를 상기 로봇 암에 전송하는 단계를 포함한다.
이 경우, 상기 사용자 명령을 입력받는 단계는, 상기 로봇 암의 전체 이동 경로를 설정받는 경로 제어 명령 또는 상기 로봇 암의 좌표 이동 경로를 설정받은 직접 제어 명령을 입력받은 것이 바람직하다.
이 경우, 상기 전송하는 단계는, 상기 경로 제어 명령이 수신되면, 상기 전체 이동 경로에 따른 상기 로봇 암의 각 축에 대한 회전 각도를 순차적으로 상기 로봇 암에 전송하고, 상기 직접 제어 명령이 수신되면, 상기 좌표 이동 경로에 따른 상기 로봇 암의 각 축에 대한 회전 각도를 실시간으로 상기 로봇 암에 전송하는 것이 바람직하다.
한편, 상기 사용자 명령을 입력받는 단계는, 상기 로봇 암의 이동 경로를 입력받기 위한 사용자 인터페이스 창을 표시하고, 표시된 사용자 인터페이스 창을 통하여 상기 로봇 암의 이동 경로를 터치 좌표로 입력받는 것이 바람직하다.
이 경우, 상기 추출하는 단계는, 상기 입력받은 터치 좌표를 상기 로봇 암에 대응하는 이동 좌표로 변환하는 것이 바람직하다.
한편, 상기 로봇 암은 제1 축 및 제2 축을 포함하며, 상기 계산하는 단계는,
아래의 수학식을 이용하여 상기 제1 축의 회전 각도 및 상기 제2 축의 회전 각도를 계산하는 것이 바람직하다.
도 1은 본 발명의 일 실시 예에 따를 로봇 암 제어 시스템의 구성을 도시한 블록도,
도 2는 도 1의 모바일 디바이스의 구체적인 구성을 도시한 블록도,
도 3은 본 실시 예에 따른 벡터 변환 방법을 도시한 도면,
도 4는 본 실시 예에 따라 생성된 로봇 암의 각 축에 대한 회전 각도를 도시한 도면,
도 5는 본 실시 예에 따른 로봇 암 제어 시스템의 동작을 설명하기 위한 도면,
도 6은 본 실시 예에 따른 로봇 암 제어 방법을 설명하기 위한 흐름도, 그리고,
도 7은 다른 실시 예에 따른 로봇 암 제어 방법을 설명하기 위한 흐름도이다.
도 2는 도 1의 모바일 디바이스의 구체적인 구성을 도시한 블록도,
도 3은 본 실시 예에 따른 벡터 변환 방법을 도시한 도면,
도 4는 본 실시 예에 따라 생성된 로봇 암의 각 축에 대한 회전 각도를 도시한 도면,
도 5는 본 실시 예에 따른 로봇 암 제어 시스템의 동작을 설명하기 위한 도면,
도 6은 본 실시 예에 따른 로봇 암 제어 방법을 설명하기 위한 흐름도, 그리고,
도 7은 다른 실시 예에 따른 로봇 암 제어 방법을 설명하기 위한 흐름도이다.
이하에서, 첨부된 도면을 참조하여 본 발명에 대하여 자세하게 설명한다.
도 1은 본 발명의 일 실시 예에 따른 로봇 암 제어 시스템의 구성을 도시한 블록도이다.
도 1을 참고하면, 로봇 암 제어 시스템(1000)은, 모바일 디바이스(100) 및 로봇 암(200)을 포함한다.
모바일 디바이스(100)는 로봇 암(200)과 무선 통신 방식으로 연결이 가능하며, 사용자로부터 입력받은 제어 명령에 따라 로봇 암(200)의 각 축에 대한 회전 각도를 계산하고, 계산된 각 축에 대한 회전 각도를 로봇 암(200)에 전송할 수 있다. 이러한 모바일 디바이스(100)는 안드로이드 운영체제를 갖는 MP3, PMP 및 휴대폰 등과 같은 장치일 수 있다. 모바일 디바이스(100)의 구체적인 구성 및 동작에 대해서는 도 2를 참고하여 후술한다. 본 실시 예에서는 안드로이드 운영체제를 갖는 장치에 적용되는 것으로 설명하였지만, 안드로이드 운영체제 이외에 다른 운영체제를 갖는 장치에서도 적용이 가능하다.
로봇 암(200)은 팬타그램(Parallelogram) 형태를 가지며, 2개의 축을 갖는다. 로봇 암(200)은 모바일 디바이스(100)로부터 2개의 축에 대한 회전 각도를 무선 통신 방식으로 수신하고, 수신된 2개 축에 대한 회전 각도에 따라 모터 제어를 수행할 수 있다. 본 실시 예에서는 2 개의 축을 갖는 로봇 암(200)에 대해서만 설명하였지만, 3 축 이상의 로봇 암을 이용하는 형태로 가능하다.
도 2는 도 1의 모바일 디바이스(100)의 구체적인 구성을 도시한 블록도이다.
도 2를 참고하면, 모바일 디바이스(100)는 통신 인터페이스부(110), 사용자 인터페이스부(120), 저장부(130), 추출부(140), 계산부(150) 및 제어부(160)를 포함한다.
통신 인터페이스부(110)는 모바일 디바이스(100)를 외부장치와 연결하기 위해 형성되고, WiFi를 이용하여 인터넷망을 통해 로봇 암(200)에 접속되는 형태뿐만 아니라, 2G, 3G와 같은 이동통신 방식을 이용하여 로봇 암(200)에 접속되는 형태도 가능하다.
통신 인터페이스부(110)는 계산된 각 축의 회전 각도를 전송한다. 구체적으로 통신 인터페이스부(110)는 후술할 계산부(150)에서 계산된 각 축에 대한 회전 각도를 무선 통신 방식으로 로봇 암(200)에 전송할 수 있다.
사용자 인터페이스부(120)는 모바일 디바이스(100)에서 지원하는 각종 기능을 사용자가 설정 또는 선택할 수 있는 다수의 기능키를 구비하며, 터치패드 등과 같이 입력과 출력이 동시에 구현되는 장치로 구현될 수 있다.
사용자 인터페이스부(120)는 로봇 암에 대한 제어 명령을 입력받기 위한 사용자 인터페이스 창을 표시하고, 표시된 사용자 인터페이스 창을 통하여 로봇 암의 이동 경로를 터치 좌표로 입력받을 수 있다. 구체적으로, 사용자 인터페이스부(120)는 로봇 암의 전체 이동 경로를 설정받는 경로 제어 명령 또는 로봇 암의 좌표 이동 경로를 설정받는 직접 제어 명령을 입력받을 수 있다.
여기서, 경로 제어 명령은 포인트 간의 이동이 아닌 로봇 암의 전체 경로를 지정받아 예약된 작업을 실행하는 명령이다. 따라서 사용자 인터페이스부(120)는 로봇 암의 전체 이동 경로를 연속된 터치 좌표로 입력받을 수 있다.
그리고, 직접 제어 명령은 사용자가 터치, 토글 버튼의 조작을 통하여 특정 포인트 간의 움직임 작업을 실행하는 명령이다. 따라서, 사용자 인터페이스부(120)는 로봇 암의 기설정된 거리만큼의 좌측 이동, 우측 이동, 상측 이동, 하측 이동 등과 같은 제어 명령에 대응하는 터치 영역을 사용자가 선택하면, 터치 좌표에 대응하는 제어 명령을 후술할 추출부(130)에 전달할 수 있다.
저장부(130)는 입력받은 터치 좌표를 저장할 수 있다. 구체적으로, 저장부(130)는 사용자로부터 전체 이동 경로를 입력받으면, 전체 이동 경로에 대응하는 터치 좌표를 배열 형태로 저장할 수 있다. 그리고 저장부(130)는 후술할 추출부(140)의 추출 결과 및 계산부(150)의 계산 결과를 임시 저장할 수 있다.
추출부(140)는 입력받은 사용자 명령으로부터 로봇 암(200)의 이동 좌표를 추출한다. 구체적으로, 추출부(140)는 사용자 인터페이스부(120)를 통해 입력받은 사용자 명령, 즉, 터치 좌표를 아래의 수학식 1 내지 3과 같이 로봇 좌표계와 스마트폰의 터치 좌표계의 비율에 따라 로봇 좌표계에 대응하는 이동 좌표로 변환할 수 있다. 본 실시 예서는 수학식을 이용하여 이동 좌표를 추출하는 실시 예에 대해서는 설명하였지만, 터치 좌표에 대응하는 이동 좌표를 룩업 테이블 형태로 저장해 두고, 저장된 룩업 테이블을 이용하여 로봇 암의 이동 좌표를 추출하는 형태로도 구현될 수 있다.
여기서, RSx는 로봇 좌표계 상의 X축 값, Wratio는 로봇 암의 움직임의 가로, 세로 비율을 조정하기 위한 상수, RSmax _x는 로봇 좌표계 상의 최대 x값, TSmax _x는 터치 좌표계 상의 최대 x값, TSx는 터치 좌표계 상의 X축 값이다.
여기서, RSy는 로봇 좌표계 상의 Y축 값, Wratio는 로봇 암의 움직임의 가로, 세로 비율을 조정하기 위한 상수, RSmax _y는 로봇 좌표계 상의 최대 y값, TSmax _y는 터치 좌표계 상의 최대 y값, TSy는 터치 좌표계 상의 Y축 값이다.
여기서, RSZ는 로봇 좌표계 상의 Z축에 대한 이동 상태이다.
한편, 로봇 암의 Z 축에 대한 이동 제어는 속도 동기화 방식 또는 순차 방식을 이용할 수 있다. 여기서, 속도 동기화 방식은, 로봇 암(200)의 X 축 및 Y 축의 이동 속도에 동기화하여 Z 축에 대한 속도를 제어하는 방식이다. 구체적으로, 아래에 기재된 바와 같은 수학식 4를 통하여 Z축에 대한 이동 속도를 계산하여 이용할 수 있다.
여기서, V(XY)는 로봇 암(200)의 X축 및 Y축에 대한 이동 속도, dT는 쓰레드 슬립 타임(thread sleep time)이다.
그리고 순차 방식은 제한된 영역에 대해서 Z축을 이동하고, 이후에 X축 및 Y축에 대한 이동을 제어하고, 다시 Z 축에 대한 이동을 수행하여 Z 축에 대한 이동 제어를 수행하는 방식이다.
계산부(150)는 추출된 이동 좌표를 벡터 변환하여, 로봇 암(200)의 각 축에 대한 회전 각도를 계산한다.
구체적으로, 로봇의 여러 움직임을 실시간으로 제어하기 위해서는 통신과 제어를 위한 역학적 계산이 빠른 속도로 수행되어야 응답성과 정확성을 높일 수 있다. 따라서 제어를 위한 운동 역학 해석에 있어서 해석적인 해를 구할 수 있는 로봇을 이용할 수 있다. 구체적으로, 기존의 로봇 암 구조는 관절 부위의 모터로 인해 모터의 무게로부터 운동성이 구속되고 키네마틱스 해석에 있어서도 복잡한 연산을 요구한다. 그러나 본 실시 예에서 제어하는 로봇 암(200)은 펜타그램 형태의 구조를 갖는바, 로봇 암을 구동시키는 모터가 낮은 중심점에 위치하여 관성으로부터 자유롭고 모터의 무게를 고려할 필요가 없어지는 장점이 있다. 또한, 키네마틱스 해석에 있어서 벡터, 삼각함수를 사용하여 연산의 복잡성을 줄일 수 있게 됨으로써 계산 속도를 향상시키고 리소스를 절약할 수 있게 된다.
따라서, 계산부(150)는 로봇 암(200)의 각 축에 대한 회전 각도를 계산하기 위하여 도 3에 도시된 바와 같이 추출된 이동 좌표를 벡터 변환하고, 삼각함수 해법으로 각 축의 회전 각도를 계산할 수 있다. 계산부(150)의 구체적인 계산 과정은 도 3을 참고하여 후술한다.
제어부(160)는 모바일 디바이스(100) 내의 각 구성을 제어한다. 구체적으로, 제어부(160)는 사용자 인터페이스부(120)를 통하여 경로 제어 명령을 수신하면, 사용자가 입력한 터치 좌표를 저장부(130)에 저장하고, 저장된 터치 좌표가 로봇 암(200)의 이동 좌표로 변화되도록 추출부(140)를 제어하고, 추출된 이동 좌표를 이용하여 로봇 암(200)의 각 축에 대한 회전 각도가 계산되도록 계산부(150)를 제어할 수 있다. 그리고, 계산된 각 축에 대한 회전 정보가 순차적으로 로봇 암(200)에 전송되도록 통신 인터페이스부(110)를 제어할 수 있다.
그리고 제어부(160)는 사용자 인터페이스부(120)를 통하여 직접 제어 명령을 수신하면, 수신된 좌표 이동 경로에 따른 로봇 암(200)의 각 축에 대한 회전 각도가 실시간으로 계산되도록 추출부(140) 및 계산부(150)를 제어하고, 계산된 각 축에 대한 회전 정보가 실시간으로 로봇 암(200)에 전송되도록 통신 인터페이스부(110)를 제어할 수 있다. 이때, 제어부(160)는 쓰레드 동기화를 이용하여 각도 변화 정보의 순서가 변경되지 않도록 할 수 있다.
이와 같이 본 실시 예에 따른 모바일 디바이스(100)는 벡터 변환을 이용하여 로봇 암(200)의 각 축에 대한 회전 각도를 계산하는바, 복잡한 기구학 연산을 감소시켜 낮은 리소스 갖는 모바일 장치에서도 로봇 암(200)을 정교하고 신속하게 제어할 수 있다.
도 3은 본 실시 예에 따른 벡터 변환 방법을 도시한 도면이다.
도 3을 참고하면, L1, L2, L3, L4는 로봇 암의 각 링크를 나타내고, δ1, δ2, θ1, θ2 는 각 축에서의 각도를 나타낸다. 다른 2축 로봇 암과 달리 팬타그램의 구조를 갖는 로봇 암은 제 1 축의 변화에 따라 δ1각의 변화가 생기고 결과적으로 제2 축은 제1 축의 변화에 종속적으로 움직이게 된다. 이에 따라 일반적인 동차 변환으로는 해석인 해를 구할 수 없으므로 벡터, 즉 삼각함수 해법으로, θ1, θ2 의 해를 구할 수 있다.
링크 L1과 링크 L3는 동일한 길이의 평행 구조로 되어 있으며, 링크 L4는 로봇 암의 마지막 링크로 최종 목표점 좌표이다. δ1, δ2 축은 고정되지 않아 자유로운 움직임이 가능하다. 따라서, 제 1축의 각도를 구하기 위해 삼각형 L1, L4, Vector(Px, Py)를 벡터 변환하여 삼각함수에 대입하면 수학식 5, 6, 7과 같은 결과를 얻을 수 있으며, 수학식 5, 6, 7을 이용하여 수학식 8, 9를 유도할 수 있다. 그리고 최종적으로 수학식 10과 같이 제1 축의 각도를 산출할 수 있다.
여기서, L1, L2, L4는 각 링크의 길이, δ1은 L1 링크와 L2 링크의 사이 각도, Px, Py는 링크 L4의 끝점 좌표이다.
삼각 함수는 주기를 가지므로 각도에 따라 부호가 바뀌게 된다. 따라서 각도에 따른 적절한 부호 변화를 추가할 수 있다.
그리고, 제2 축의 각도 변화를 구하기 위해 제1 축의 변화에 따른 링크 L2 끝점 좌표를 아래의 수학식 11 및 12를 이용하여 선행적으로 구하고, 삼각형 L2, L3, Vector(Sx, Sy)를 벡터 변환하여 삼각함수에 대입하면 수학식 12, 13, 14와 같은 결과를 얻을 수 있으며, 수학식 12, 13, 14를 이용하여 수학식 14, 15를 유도할 수 있다. 그리고 최종적으로 수학식 16과 같이 제2 축의 각도를 산출할 수 있다.
여기서, Sx는 링크 L2 끝점의 X축 좌표값이다.
여기서, Sy는 링크 L2 끝점의 Y축 좌표값이다.
여기서, L2, L4는 각 링크의 길이, δ2는 L2 링크와 L3 링크의 사이 각도, Sx, Sy는 상기 링크 L2의 끝점 좌표이다.
종래와 같이 동차 변환 매트릭스를 사용하여 역기구학의 해를 구하려면 해석적인 해를 위해 수치해석을 이용해야 하므로 연산에 오랜 시간이 걸린다. 그러나 상술한 바와 같이 벡터 변환을 통한 역기구학을 사용하면 빠른 속도로 해석적인 해를 구할 수 있은바, 로봇 암(200)에 대한 실시간 제어가 가능해진다.
도 4는 본 실시 예에 따라 생성된 로봇 암의 각 축에 대한 회전 각도를 도시한 도면이다.
도 4를 참고하면, 안드로이드에서 제공하는 터치 이벤트를 사용하여 사용자의 터치 정보를 태그 입력으로 입력받을 수 있음을 확인할 수 있다. 그리고 벡터 변환을 이용하여 태그 입력에 대한 로봇 암(200)의 각 축에 대한 회전 각도를 실시간으로 계산할 수 있음을 확인할 수 있다.
도 5는 본 실시 예에 따른 로봇 암 제어 시스템의 동작을 설명하기 위한 도면이다.
도 5(a)를 참고하면, 제어 명령을 입력받기 위한 사용자 인터페이스 창이 표시된다. 표시된 사용자 인터페이스 창을 통하여 사용자는 로봇 암의 전체 이동 경로를 입력할 수 있다.
사용자 인터페이스 창을 통하여 전체 이동 경로를 입력받으면, 모바일 디바이스(100)는 입력받은 복수의 터치 좌표를 로봇 좌표로 변환하고, 변환된 로봇 좌표에 대한 벡터 변환을 통하여 로봇 암의 각 축에 대한 회전 각도를 계산할 수 있다.
도 5(b)를 참고하면 사용자의 전체 이동 경로에 대응하는 계산된 회전 각도를 모바일 디바이스(100)가 계산하여 로봇 암(200)에 송신함을 확인할 수 있다.
그리고, 도 5(c)를 참고하면 모바일 디바이스(100)가 송신한 회전 각도를 로봇 암(200)에서 수신함을 확인할 수 있다. 이와 같이 로봇 암(200)은 각 축에 대한 회전 각도에 대한 정보를 수신하는바, 별도의 계산 모듈이 필요 없게 된다.
도 6은 본 실시 예에 따른 로봇 암 제어 방법을 설명하기 위한 흐름도이다.
도 6을 참고하면, 먼저, 로봇 암의 제어를 위한 사용자 명령을 입력받는다(S610). 구체적으로, 로봇 암에 대한 제어 명령을 입력받기 위한 사용자 인터페이스 창을 표시하고, 표시된 사용자 인터페이스 창을 통하여 로봇 암의 이동 경로를 터치 좌표로 입력받을 수 있다. 예를 들어, 로봇 암의 전체 이동 경로를 설정받는 경로 제어 명령 또는 로봇 암의 좌표 이동 경로를 설정받는 직접 제어 명령을 입력받을 수 있다.
그리고, 입력받은 사용자 명령으로부터 로봇 암의 이동 좌표를 추출한다(S620). 구체적으로, 사용자로부터 입력받은 사용자 명령, 즉, 터치 좌표를 상술한 수학식 1 내지 3을 이용하여 이동 좌표로 변환할 수 있다.
그리고, 추출된 이동 좌표를 벡터 변환하여 로봇 암의 각 축에 대한 회전 각도를 계산한다(S630). 구체적으로, 로봇 암(200)의 각 축에 대한 회전 각도를 계산하기 위하여 도 3에 도시된 바와 같이 추출된 이동 좌표를 벡터 변환한 후 삼각함수 해법으로 각 축의 회전 각도를 계산할 수 있다. 각 축에 대한 회전 각도를 계산하는 구체적인 동작에 대해서는 도 3과 관련하여 앞서 설명하였는바, 중복 설명은 생략한다.
그리고, 계산된 각 축에 대한 회전 각도를 로봇 암에 전송한다(S640). 구체적으로, 계산된 각 축에 대한 회전 각도를 무선 통신 방식으로 로봇 암(200)에 전송할 수 있다.
따라서, 본 실시 예에 따른 로봇 암 제어 방법은, 벡터 변환을 이용하여 로봇 암의 각 축에 대한 회전 각도를 계산하는바, 복잡한 기구학 연산을 감소시켜 낮은 리소스를 갖는 모바일 디바이스에서도 로봇 암을 정교하고 신속하게 제어할 수 있게 된다. 도 6과 같은 로봇 암 제어 방법은, 도 2의 구성을 가지는 모바일 디바이스(100) 상에서 실행될 수 있으며, 그 밖의 다른 구성을 가지는 모바일 디바이스 상에서도 실행될 수 있다.
도 7은 다른 실시 예에 따른 로봇 암 제어 방법을 설명하기 위한 흐름도이다.
도 7을 참고하면, 먼저, 사용자로부터 제어 명령을 입력받는다(S710). 구체적으로, 로봇 암에 대한 제어 명령을 입력받기 위한 사용자 인터페이스 창을 표시하고, 표시된 사용자 인터페이스 창을 통하여 로봇 암의 이동 경로를 터치 좌표로 입력받을 수 있다. 예를 들어, 로봇 암의 전체 이동 경로를 설정받는 경로 제어 명령 또는 로봇 암의 좌표 이동 경로를 설정받는 직접 제어 명령을 입력받을 수 있다.
그리고 입력받은 제어 명령으로부터 터치 좌표를 추출한다(S720). 구체적으로, 사용자로부터 입력받은 사용자 명령으로부터 터치 좌표를 추출할 수 있다.
그 다음, 사용자의 제어 명령이 실시간 제어 명령인지를 판단한다(S730). 구체적으로, 사용자의 제어 명령이 경로 제어 명령인 경우(S730-No), 실시간 제어 명령이 아닌 것으로 판단하고, 입력받은 터치 좌표를 저장할 수 있다(S740). 본 실시 예에서는 터치 좌표를 저장하는 예만을 설명하였으나, 터치 좌표를 로봇 좌표로 변화한 후에 변환된 로봇 좌표를 저장하는 형태로도 구현될 수 있다.
반면에 사용자의 제어 명령이 직접 제어 명령인 경우(S730-Yes), 실시간으로 터치 좌표를 상술한 수학식 1 내지 3을 이용하여 이동 좌표로 변환할 수 있다(S740).
그 다음, 추출된 이동 좌표를 벡터 변환하여 로봇 암의 각 축에 대한 회전 각도를 계산한다(S750). 구체적으로, 각 축의 각도를 계산하기 위하여 도 3에 도시된 바와 같이 추출된 이동 좌표를 벡터 변환한 후 삼각함수 해법으로 각 축의 회전 각도를 계산할 수 있다. 각 축에 대한 회전 각도를 계산하는 구체적인 동작에 대해서는 도 3과 관련하여 앞서 설명하였는바, 중복 설명은 생략한다.
그리고 로봇 암의 Z 축에 대한 이동이 필요한지를 판단한다(S770). 구체적으로, 판단 결과에 따른 Z 축에 대한 정보를 설정하고(S775, S778), 제1 축의 회전 각도, 제2 축의 회전 각도 및 Z 축에 대한 정보를 포함하는 제어 정보를 무선 통신 방식으로 로봇 암(200)에 전송한다(S780).
제어 정보를 수신한 로봇 암(200)은 수신된 제어 정보에 따라 모터를 제어할 수 있다(S790).
따라서, 본 실시 예에 따른 로봇 암 제어 방법은, 벡터 변환을 이용하여 로봇 암의 각 축에 대한 회전 각도를 계산하는바, 복잡한 기구학 연산을 감소시켜 낮은 리소스를 갖는 모바일 디바이스에서도 로봇 암을 정교하고 신속하게 제어할 수 있으며, Z 축에 대한 제어도 수행할 수 있게 된다. 도 7과 같은 로봇 암 제어 방법은, 도 2의 구성을 가지는 모바일 디바이스(100) 상에서 실행될 수 있으며, 그 밖의 다른 구성을 가지는 모바일 디바이스 상에서도 실행될 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대해서 도시하고, 설명하였으나, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
100: 모바일 디바이스 110: 통신 인터페이스부
120: 사용자 인터페이스부 130: 저장부
140: 추출부 150: 계산부
160: 제어부 200: 로봇 암
120: 사용자 인터페이스부 130: 저장부
140: 추출부 150: 계산부
160: 제어부 200: 로봇 암
Claims (13)
- 무선 통신 방식을 이용하여 팬타그램(parallelogram) 구조의 로봇 암과 연결 가능한 모바일 디바이스에 있어서,
상기 로봇 암의 제어를 위한 사용자 명령으로서 상기 로봇 암의 전체 이동 경로를 설정받는 경로 제어 명령 또는 상기 로봇 암의 좌표 이동 경로를 설정받은 직접 제어 명령을 입력받는 사용자 인터페이스부;
상기 입력받은 사용자 명령으로부터 상기 로봇 암의 이동 좌표를 추출하는 추출부;
상기 추출된 이동 좌표를 벡터 변환하여, 상기 로봇 암의 각 축에 대한 회전 각도를 계산하는 계산부;
상기 계산된 각 축에 대한 회전 각도를 상기 로봇 암에 전송하는 통신 인터페이스부; 및
상기 사용자 인터페이스부를 통하여 상기 경로 제어 명령을 수신하면, 상기 전체 이동 경로에 따른 상기 로봇 암의 각 축에 대한 회전 각도가 일괄적으로 계산되도록 상기 추출부 및 상기 계산부를 제어하고, 계산된 각 축에 대한 회전 각도가 순차적으로 상기 로봇 암에 전송되도록 상기 통신 인터페이스부를 제어하며,
상기 사용자 인터페이스부를 통하여 상기 직접 제어 명령을 수신하면, 수신된 좌표 이동 경로에 따른 상기 로봇 암의 각 축에 대한 회전 각도가 실시간으로 계산되도록 상기 추출부 및 상기 계산부를 제어하고, 상기 계산된 각 축에 대한 회전 각도가 실시간으로 상기 로봇 암에 전송되도록 상기 통신 인터페이스부를 제어하는 제어부;를
포함하는 것을 특징으로 하는 모바일 디바이스. - 삭제
- 삭제
- 무선 통신 방식을 이용하여 팬타그램(parallelogram) 구조의 로봇 암과 연결 가능한 모바일 디바이스에 있어서,
상기 로봇 암의 제어를 위한 사용자 명령을 입력받는 사용자 인터페이스부;
상기 입력받은 사용자 명령으로부터 상기 로봇 암의 이동 좌표를 추출하는 추출부;
상기 추출된 이동 좌표를 벡터 변환하여, 상기 로봇 암의 각 축에 대한 회전 각도를 계산하는 계산부; 및
상기 계산된 각 축에 대한 회전 각도를 상기 로봇 암에 전송하는 통신 인터페이스부;를 포함하되,
상기 사용자 인터페이스부는,
상기 로봇 암의 이동 경로를 입력받기 위한 사용자 인터페이스 창을 표시하고, 표시된 사용자 인터페이스 창을 통하여 상기 로봇 암의 이동 경로를 터치 좌표로 입력받는 것을 특징으로 하는 모바일 디바이스. - 제4항에 있어서,
상기 추출부는,
상기 입력받은 터치 좌표를 상기 로봇 암의 이동 좌표로 변환하는 것을 특징으로 하는 모바일 디바이스. - 무선 통신 방식을 이용하여 팬타그램(parallelogram) 구조의 로봇 암과 연결 가능한 모바일 디바이스에 있어서,
상기 로봇 암의 제어를 위한 사용자 명령을 입력받는 사용자 인터페이스부;
상기 입력받은 사용자 명령으로부터 상기 로봇 암의 이동 좌표를 추출하는 추출부;
상기 추출된 이동 좌표를 벡터 변환하여, 상기 로봇 암의 각 축에 대한 회전 각도를 계산하는 계산부; 및
상기 계산된 각 축에 대한 회전 각도를 상기 로봇 암에 전송하는 통신 인터페이스부;를 포함하되,
상기 로봇 암은 제1 축 및 제2 축을 포함하며,
상기 계산부는 아래의 수학식을 이용하여 상기 제1 축의 회전 각도 및 상기 제2 축의 회전 각도를 계산하는 것을 특징으로 하는 모바일 디바이스.
여기서, θ1은 상기 제1 축의 회전 각도, θ2는 상기 제2 축의 회전 각도, , C2는 , L1, L2, L3 및 L4는 상기 로봇 암 내의 각 링크의 길이, Sx, Sy는 상기 링크 L2의 끝점 좌표, Px, Py는 상기 링크 L4의 끝점 좌표, δ1은 링크 L1과 링크 L2 사이의 각도, δ2는 링크 L2와 링크 L3 사이의 각도. - 제1항에 있어서,
상기 모바일 디바이스는,
안드로이드 운영체제를 구비하는 핸드폰인 것을 특징으로 하는 모바일 디바이스. - 무선 통신 방식을 이용하여 팬타그램(parallelogram) 구조의 로봇 암과 연결 가능한 모바일 디바이스에서의 로봇 암 제어 방법에 있어서,
상기 로봇 암의 제어를 위한 사용자 명령으로서, 상기 로봇 암의 전체 이동 경로를 설정받는 경로 제어 명령 또는 상기 로봇 암의 좌표 이동 경로를 설정받은 직접 제어 명령을 입력받는 단계;
상기 입력받은 사용자 명령으로부터 상기 로봇 암의 이동 좌표를 추출하는 단계;
상기 추출된 이동 좌표를 벡터 변환하여 상기 로봇 암의 각 축에 대한 회전 각도를 계산하는 단계; 및
상기 계산된 각 축에 대한 회전 각도를 상기 로봇 암에 전송하는 단계;를 포함하되,
상기 전송하는 단계는,
상기 경로 제어 명령이 수신되면, 상기 전체 이동 경로에 따른 상기 로봇 암의 각 축에 대한 회전 각도를 순차적으로 상기 로봇 암에 전송하고,
상기 직접 제어 명령이 수신되면, 상기 좌표 이동 경로에 따른 상기 로봇 암의 각 축에 대한 회전 각도를 실시간으로 상기 로봇 암에 전송하는 것을 특징으로 하는 로봇 암 제어 방법. - 삭제
- 삭제
- 무선 통신 방식을 이용하여 팬타그램(parallelogram) 구조의 로봇 암과 연결 가능한 모바일 디바이스에서의 로봇 암 제어 방법에 있어서,
상기 로봇 암의 제어를 위한 사용자 명령을 입력받는 단계;
상기 입력받은 사용자 명령으로부터 상기 로봇 암의 이동 좌표를 추출하는 단계;
상기 추출된 이동 좌표를 벡터 변환하여 상기 로봇 암의 각 축에 대한 회전 각도를 계산하는 단계; 및
상기 계산된 각 축에 대한 회전 각도를 상기 로봇 암에 전송하는 단계;를 포함하되,
상기 사용자 명령을 입력받는 단계는,
상기 로봇 암의 이동 경로를 입력받기 위한 사용자 인터페이스 창을 표시하고, 표시된 사용자 인터페이스 창을 통하여 상기 로봇 암의 이동 경로를 터치 좌표로 입력받는 것을 특징으로 하는 로봇 암 제어 방법. - 제11항에 있어서,
상기 추출하는 단계는,
상기 입력받은 터치 좌표를 상기 로봇 암에 대응하는 이동 좌표로 변환하는 것을 특징으로 하는 로봇 암 제어 방법. - 무선 통신 방식을 이용하여 팬타그램(parallelogram) 구조의 로봇 암과 연결 가능한 모바일 디바이스에서의 로봇 암 제어 방법에 있어서,
상기 로봇 암의 제어를 위한 사용자 명령을 입력받는 단계;
상기 입력받은 사용자 명령으로부터 상기 로봇 암의 이동 좌표를 추출하는 단계;
상기 추출된 이동 좌표를 벡터 변환하여 상기 로봇 암의 각 축에 대한 회전 각도를 계산하는 단계; 및
상기 계산된 각 축에 대한 회전 각도를 상기 로봇 암에 전송하는 단계;를 포함하되,
상기 로봇 암은 제1 축 및 제2 축을 포함하며,
상기 계산하는 단계는,
아래의 수학식을 이용하여 상기 제1 축의 회전 각도 및 상기 제2 축의 회전 각도를 계산하는 것을 특징으로 하는 로봇 암 제어 방법.
여기서, θ1은 상기 제1 축의 회전 각도, θ2는 상기 제2 축의 회전 각도, , C2는 , L1, L2, L3 및 L4는 상기 로봇 암 내의 각 링크의 길이, Sx, Sy는 상기 링크 L2의 끝점 좌표, Px, Py는 상기 링크 L4의 끝점 좌표, δ1은 링크 L1과 링크 L2 사이의 각도, δ2는 링크 L2와 링크 L3 사이의 각도.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110029708A KR101237471B1 (ko) | 2011-03-31 | 2011-03-31 | 모바일 디바이스 및 로봇 암 제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110029708A KR101237471B1 (ko) | 2011-03-31 | 2011-03-31 | 모바일 디바이스 및 로봇 암 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120111297A KR20120111297A (ko) | 2012-10-10 |
KR101237471B1 true KR101237471B1 (ko) | 2013-02-27 |
Family
ID=47282016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110029708A KR101237471B1 (ko) | 2011-03-31 | 2011-03-31 | 모바일 디바이스 및 로봇 암 제어 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101237471B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10780583B2 (en) | 2015-10-26 | 2020-09-22 | Hanwha Precision Machinery Co., Ltd. | System and method of controlling robot |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004130511A (ja) | 2002-10-04 | 2004-04-30 | Como Spa | ポータブルなプログラミング端末を備え、ロボットまたは同様な自動装置をプログラミングするためのシステム |
KR20090113084A (ko) * | 2008-04-25 | 2009-10-29 | 삼성전자주식회사 | 휴머노이드 로봇의 움직임 제어 시스템 및 그 방법 |
-
2011
- 2011-03-31 KR KR1020110029708A patent/KR101237471B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004130511A (ja) | 2002-10-04 | 2004-04-30 | Como Spa | ポータブルなプログラミング端末を備え、ロボットまたは同様な自動装置をプログラミングするためのシステム |
KR20090113084A (ko) * | 2008-04-25 | 2009-10-29 | 삼성전자주식회사 | 휴머노이드 로봇의 움직임 제어 시스템 및 그 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10780583B2 (en) | 2015-10-26 | 2020-09-22 | Hanwha Precision Machinery Co., Ltd. | System and method of controlling robot |
Also Published As
Publication number | Publication date |
---|---|
KR20120111297A (ko) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3534230B1 (en) | Robot work system and method of controlling robot work system | |
CN114502335B (zh) | 用于具有几何约束的非线性机器人***的轨迹优化的方法和*** | |
KR102236339B1 (ko) | 이미징 기기로 캡처한 이미지를 제어하기 위한 시스템 및 방법 | |
US8954195B2 (en) | Hybrid gesture control haptic system | |
US8355816B2 (en) | Action teaching system and action teaching method | |
CN111459277B (zh) | 基于混合现实的机械臂遥操作***及交互界面构建方法 | |
CN106326881B (zh) | 用于实现人机交互的手势识别方法和手势识别设备 | |
CN113448343B (zh) | 用于设定飞行器的目标飞行路径的方法、***和可读介质 | |
KR101471852B1 (ko) | 스마트장치, 로봇정보 제공장치, 로봇 궤적 생성 방법 및 로봇 작업교시 방법 | |
JP2015197329A (ja) | データ伝送システム、データ伝送装置、データ伝送方法、及びデータ伝送プログラム | |
CN110524531A (zh) | 一种基于物联网云服务的机器人控制***及其工作流程 | |
Banduka | Remote monitoring and control of industrial robot based on android device and wi-fi communication | |
CN109454641B (zh) | 一种运动控制器多任务分工及数据交互方法 | |
KR101237471B1 (ko) | 모바일 디바이스 및 로봇 암 제어 방법 | |
Zou et al. | Design of smart car control system for gesture recognition based on Arduino | |
CN113814951B (zh) | 一种主从机器人的控制方法、***及存储介质 | |
Parga et al. | Tele-manipulation of robot arm with smartphone | |
US20170147274A1 (en) | Separation control video system in which mobile terminal and hmd device are independently separated and operating method thereof | |
CN115715405A (zh) | 手部姿态估计方法、移动设备、头戴式显示器及*** | |
CN106774178B (zh) | 一种自动化控制***及方法、机械设备 | |
CN117047771A (zh) | 机器人的柔顺控制方法、装置及电子设备 | |
Parga et al. | Smartphone-based human machine interface with application to remote control of robot arm | |
US20230069393A1 (en) | Control device, control method and storage medium | |
CN113752236B (zh) | 机械臂示教的装置、标定杆和方法 | |
KR101334356B1 (ko) | 로봇 제어 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160126 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170119 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180109 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190201 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20200203 Year of fee payment: 8 |