Running a GUI Pendant (Kor)

From Neuromeka Wiki
Jump to: navigation, search


GUI Pendant 프로젝트

  • GUI Pendant 프로젝트 구조
- GUI Pendant는 Qt platform(C++)으로 개발되었다.
- http://www.qt.io/download-open-source/ 에서 설치 파일(Qt Creator)을 다운로드 받을 수 있다.
- 예제 "GUIPendantApp" 프로젝트를(neuromeka\NRMKFoundation\example\GUIPendantApp) Qt Creator에서 불러온다.
- 프로젝트 구성은 아래와 같다.

Gui pendant 001.png


  • GUI Pendant UI 구조 - mainwindow.ui
- *.ui 파일을 이용하여, 사용자는 원하는 UI 구성을 쉽게 할 수 있다.
- mainwindow.ui는 소켓 연결 UI와 기본 Key 버튼 UI로 구성되어있다.

Gui pendant 002.png


  • GUI Pendant UI 버튼 설정
- mainwindow.ui에서 생성한 UI버튼 입력 이벤트를 mainwindow.cpp에서 설정해준다.
- 소켓 관련 이벤트도 설정해준다.
- 각 객체들은 실행 함수들과 연결되어, 설정된 이벤트 상황 발생 시 실행된다.

Gui pendant 005.png


  • GUI Pendant 주요 함수
- connectToServer : 입력된 IP & PORT값으로 소켓 통신을 시도한다. Qt 기본 소켓 클래스인 QTcpSocket을 사용한다.
- dataReceive : RTControlClient로부터 데이터를 수신하여 분석한다. 현재 GUIPendant는 실시간으로 q값을 받아 화면에 보여준다.
- sendKeyToServer : 키 값을 RTControlClient에 전송하여 설정된 명령을 실행시킨다.




GUI Pendant 예제

  • 1. Visual studio -> 새 프로젝트 -> NRMKFoundation 프로젝트 생성
- 기본 예제인 WAM7 프로젝트를 생성한다.

Gui 001.png


  • 2. Integrated application 생성
- Integrated application 선택 및 WAM7 관련 옵션을 설정한다.

Gui 002.png Gui 003.png


  • 3. Integrated application 생성 완료
- neuromeka\NRMKFoundation\example\NRMKFoundation\WAM7은 WAM7 로봇의 제원이 설정된 예제이다.
- src 폴더의 'DefineWAM7.h', 'NRMKFrameworkWAM7.cpp' 파일을 복사하여 생성한 사용자 프로젝트에 덮어쓰기한다.
- 프로젝트의 GUIPendantSocket.h 파일이 GUI Pendant application과의 소켓 통신 기능을 한다.
- 컴파일 -> 실행

Gui 004.png


  • 4. GUI Pendant application 실행
- neuromeka\NRMKFoundation\bin\GUIControlPendant 폴더의 GUControlPendant.exe 파일 실행

Gui 005.png


  • 5. CADKitViewer 실행
- WAM7 모델 불러오기

Gui 006.png


  • 6. 테스트
- 1) WAM7 integrated application 실행.
- 2) CADKitViewer에서 연결
- 3) GUI Pendant에서 IP 입력 후 'Connect' 버튼 클릭
- 4) CADKitViewer에서 'tab' 키 클릭 -> 시뮬레이션 시작
- 5) GUI Pendant에서 실시간으로 데이터 수신
- 6) GUI Pendant의 명령 버튼을 클릭하여 WAM7이 동작되는지 확인해본다.

Gui 007.png


  • 7. 테스트 영상