OPRoS IDE 사용자 매뉴얼

OPRoS IDE Version 2.1.1 사용자 매뉴얼


 

OPRoS IDE Version 2.1.1 사용자 매뉴얼


OPRoS 컴포넌트 import & export 방법 OPRoS IDE 컴포넌트 Export & Import 방법 기술서.pdf

OPRoS Tutorial 2015-01 컴포넌트 제작_Brill_v0.2.pdf

OPRoS Tutorial 2015-02 속성 및 모니터 변수 활용_Brill_v0.2.pdf

OPRoS Tutorial 2015-03 데이터포트 활용_Brill_v0.2.pdf


OPRoS IDE Version 2.0.8 사용자 매뉴얼


OPRoS IDE란

OPRoS Integration Development Environment 약자, OPRoS 개발도구라고도 함

Graphic 기반의 OPRoS 컴포넌트의 제작, 실행엔진에 배포 및 실행을 포괄하는 개발도구

Eclipse RCP로 제작

OPRoS IDE 실행에 필요한 조건

Java JRE

OPRoS IDE v2.0.0을 활용한 OPRoS 컴포넌트 제작법 및 포트 사용법

OPRoS Tutorial 2014-01 컴포넌트 제작_Brill.pdf

OPRoS Tutorial 2014-02 속성 및 모니터 변수 활용_Brill.pdf

OPRoS Tutorial 2014-03 데이터포트 활용_Brill.pdf

OPRoS Tutorial 2014-04 이벤트포트 활용_Brill.pdf

OPRoS Tutorial 2014-05 서비스포트 활용_Brill.pdf

기타

본 매뉴얼은 윈도우즈버전 IDE와 Linux버전 IDE에서도 동일하게 적용

 

OPRoS IDE Version 2.0.8 User Manual


OPRoS IDE

Requisite SW for OPRoS IDE

Java JRE

User Manual

OPRoSTutorial2014-01ComponentDevelopment_ENG_Brill.pdf

OPRoSTutorial2014-02PropertyAndMonitoringVariable_ENG_Brill.pdf

OPRoSTutorial2014-03UsingDataPort_ENG_Brill.pdf

OPRoSTutorial2014-04UsingEventPort_ENG_Brill.pdf

OPRoSTutorial2014-05UsingServicePort_ENG_Brill.pdf

  • No labels
  1. Anonymous

    위에 있는 OPRoS IDE Version 2.0.8 와 OPRoS 1안에 있는 시뮬레이터가 서로 문제 없이 사용가능한가요? 

  2. Anonymous

    IDE와 시뮬레이터는 별개입니다

    IDE에 사용자가 넣어서 사용하는 OPRoS프레임워크(컴포넌트실행엔진)와 컴포넌트가 시뮬레이터의 OPRoS 모듈과 동작하는지 여부가 고려되어야 할 것 같아요

    시뮬레이터가 OPRoS프레임워크와 동작하는 코드는 VS2008로만 컴파일이 됩니다 아마도 시뮬레이터가 VS2008의존적인 것 같아요

    결론적으로 VS2008로 컴파일된 프레임워크와 컴포넌트는 동작이 될 것 같네요

    VS2010은 VS2010재배포패키지로 지원하면 가능할 수 도 있을 것 같아요 그런데 확인은 해보지 않았어요 ^^

    아 시뮬레이터용 응용은 실제 하드웨어 장치API 대신 시뮬레이터APIs를 사용하시는 것 아시죠?

  3. Anonymous

    현재, OPRoS를 ubuntu 14.04에서 사용을 해보려고 합니다.

    그런데, 간혹 1) Component Composing을 Deploy하고자 할 때,

                        2) Profile에서 마우스 오른쪽 버튼을 눌러 Run Monitoring을 누르면

     

    "Engine connect timed out. (127.0.0.1:2002)" 라는 에러가 뜹니다.

     

    혹시 이 에러가 왜 발생하는지 알 수 있을까요?

    1. Anonymous

      이 에러가 발생하는 이유는 OPRoS 엔진을 실행시키지 않으셨기 때문입니다. OPRoS 엔진을 실행시킨 것과 실행시키지 않은것으로 테스트해주세요.

  4. Anonymous

    위 답변 감사드립니다. 해결하였습니다.

    지금은,  이벤트 포트 활용 pdf 파일을 보고 있는데요.

    MessagePrinter에서 EventIn을 draw해서 끌어놓고, source, header file을 수정하였는데요.

    수정이 다 완료된 후, 다시 Profile을 보면 EventIn icon이 자꾸 사라지고,

    화살표가 이상한 곳을 가르키고 있더라고요.

     

    단순히 안보이는것뿐이겠지하고, 엔진에서 실행을 해보았는데,

    Data port를 통한 출력은 뜨는데,

    Event port를 통한 출력은 안뜨는걸 보아 연결이 지워지는거 같아요.

    xml 파일을 보면, EventOut과 EventIn이 서로 연결되어 있다고 나오기는 하는데....

     

    혹시 여기서 어떻게 해결할 수 있을까요?

     

  5. Anonymous

    런처에 배포할 때 쓰는 Deplay -> all 과정이 너무 번거로운데

     

    단축키 만들어주세요~

  6. Anonymous

    튜토리얼 5번까지 따라해봤습니다.

    모든 동작이 정상적으로 잘 작동되나 이벤트 포트 이벤트를 받아오지 못합니다.

    이벤트 푸시하는 쪽 명령은 실행 되지만 이벤트를 받는 곳에서 아무런 이벤트를 받아오지 못합니다.

    1. 현재 최신 OPRoS 컴포넌트 엔진 및 도구에서는 튜토리얼 5번 처럼 할 경우

      onEvent() 를 통해 이벤트를 수신할 수 없습니다.

       

      현재는 onEvent() 를 이용한 방법이 아닌, 사용자 콜백 함수를 등록하는 방법으로 조금 더 편리하게 사용할 수 있습니다.


      이벤트 수신포트를 추가 하신 후, portSetup() 함수에 SET_EVENT_CALLBACK() 이라는 매크로가 추가 되었을 것입니다.

      이 매크로를 통해 추가된 함수가 이벤트 발생 후, 호출되는지 확인해 보세요.

       

      아니면

      http://opros.futurerobot.co.kr/?p=142

      이 곳에 나와 있기로, SET_EVENT_CALLBACK() 을 주석 처리하면 onEvent()가 호출 된다고 하니 확인해 보세요.

  7. Anonymous

    onEvent() 못 받아오던 에러 말씀대주신대로 Callback 함수 내부네 하고 싶은 작업을 하니 잘 받아옵니다.

     

    void MessagePrinter::EventInCallback(const std::string &indata) {

    /*if(!evt->getId().compare("messageId")){
    EventData<std::string> *pStrEvt = (EventData<std::string>*)(evt);
    std::cout << "event port messageId: " << *(pStrEvt->getContentData()) << std::endl;
    }*/
    std::cout << "event port : " << indata << std::endl;
    }

     

    감사합니다^^

  8. Anonymous

    컴포넌트를 만들고 다른 곳에서 사용해보려고 export, import를 따라해보면 에러가 뜹니다.

    그런데 새로운 컴포넌트를 만들어서 소스를 붙여넣기하면 에러가 안나요. 어떻게 해야하나요?

    WanderingTestComp.cpp
    link /DLL /debug /nologo /OUT:WanderingTestComp.dll WanderingTestComp.obj "C:\\Users\\bona\\Desktop\\오프러스\\V-REP\\OPRoS_IDE_v2.1.2_Windows(20150921)\\OPRoS_external_package\\VisualStudio2010\\lib\\OPRoSCDLD.lib"
    OPRoSCDLD.lib(OPRoSUtility.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in WanderingTestComp.obj
    OPRoSCDLD.lib(Component.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in WanderingTestComp.obj
    OPRoSCDLD.lib(PropertyInterface.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in WanderingTestComp.obj
    OPRoSCDLD.lib(LifecycleInterface.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in WanderingTestComp.obj
    OPRoSCDLD.lib(PortInterface.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in WanderingTestComp.obj
    OPRoSCDLD.lib(RequiredServicePort.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in WanderingTestComp.obj
    OPRoSCDLD.lib(Port.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in WanderingTestComp.obj
    OPRoSCDLD.lib(ServicePortInterface.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in WanderingTestComp.obj
    OPRoSCDLD.lib(Method.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in WanderingTestComp.obj
    OPRoSCDLD.lib(opros_oarchive.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in WanderingTestComp.obj
    OPRoSCDLD.lib(opros_iarchive.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in WanderingTestComp.obj
    OPRoSCDLD.lib(opros_archive_common.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in WanderingTestComp.obj
    OPRoSCDLD.lib(ServicePort.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in WanderingTestComp.obj
    Creating library WanderingTestComp.lib and object WanderingTestComp.exp
    LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
    WanderingTestComp.dll : fatal error LNK1319: 13 mismatches detected

    1. Release로 빌드 되는 프로그램이 Debug로 빌드된 라이브러리를 링크할 때 발생하는 메시지 인것 같습니다.

      컴포넌트를 어떤 모드로 빌드 하는지 확인해 보신 후, Debug일 때는 OPRoSCDLD.lib를 링크하시고, Release일 때는 OPRoSCDL.lib를 링크 해보세요. 

       

      1. Anonymous

        빌드는 Release 모드로 빌드중입니다.

        해당 컴포넌트의 Properties > settings > Tool settings > Libaries를 확인해 봤을 때,  Debug일 때는 OPRoSCDLD.lib를 링크하시고, Release일 때는 OPRoSCDL.lib를 링크하고 있습니다.

        1. Anonymous

          음; 왜인지는 모르겠지만 기존 lib 경로를 지우고 똑같은 경로를 다시 적어주니 실행이 잘 됩니다.

          1. Anonymous

            아닛... 해결된게 아니었네요. 3개의 컴포넌트를 받았었는데 2개는 잘 되다가 1개의 컴포넌트가 문제였는데 에러를 일으키던 컴포넌트가 해결이 되니 3개중 다른 하나가 컴파일이 안됩니다. 역시 Release로 컴파일 중이며 lib 파일들은 제대로 링크 중입니다. 이번에는 같은 경로를 지웠다가 다시 설정해줘도 해결이 안됩니다.

            1. Anonymous

              뭔가 import시 설정이 꼬이나 봅니다. Debug 모드의 lib 역시 OPRoSCDL.lib로 설정하니 Release 모드 컴파일이 에러없이 잘 수행 됩니다.

Write a comment…