민병철유폰 전화영어 테스트 후기

안녕하세요. 제이콥입니다.

전 영어공보를 꾸준히 하고 있는데요. 지난 6개월, 1년을 돌아보면 꾸준히 영어스터디를 갔었습니다. 최근에 바빠서 영어스터디를 못갔고, 따로 연습을 못하고 있어서요. 영어스터디 말고 다른 방법을 찾아보려고요. 여러 방법 중에 전화영어가 떠올랐습니다. 전화영어는 아무 장소에서나 할 수 있으니까요. 더 자주 영어연습을 할 수 있겠지! 구글에 검색해보니 전화영어가 여러개가 나오더라고요. 몇 개 검색해봤는데 민병철 유폰이 제일 유명하더군요. 먼저 민병철 유폰 시범수업을 신청해봤습니다.


민병철유폰 테스트 후기

  • 10분
  • 몇 가지 간단한 질문
    • 오늘 어땟니
    • 회사에서 무슨일 하니
    • 여름인데 휴가 계획 있니?
  • 리스닝 후에 따라 말하기 시킴
  • 단어나 표현주고 문장 만들기 시킴
  • 문장 고쳐준거 다시 말하기

선생님이 친절했음. 나쁘지 않음.


테스트 결과

10분 이야기 한걸로 이렇게 결과를 자세히 뽑을 수 있다는것에 놀랐습니다.

내가 약한것, 강한것, 그리고 공부방법도 간단히 제안해줍니다.

비용

주 5회, 오픽준비반, 하루 20분, 3개월을 선택해봤습니다. 이렇게 하면 비용은 48만원입니다, 그러면 1개월에 16만원이고, 주 5회, 4주에 20회, 한달에 20회라고 한다면.. 20분에 8천원이라는 결과가 나옵니다. 나쁘지 않습니다. 실제 수업을 들어보지는 않아서 좋을지는 모르겠지만 크게 비싸다는 생각은 안들어요.

테스트만 봐보고 평가한다면 5점 만점에 4점.

다른 전화영어 수업이 민병철 유폰과 가격이 비슷하다면, 민병철유폰을 쓸 것 같아요.

후기 끝!!

[ROS] Custom message 생성

ROS에서 message는 노드가 서로 주고받는 데이터를 말한다.

custom message는 기존 message type으로 표현하기 어려울 때, 직접 만들어 사용할 수 있다.

예를 들어, 로봇의 odometry는 이미 정해진 구조가 있다. 이 구조를 활용하는 편이 훨씬 좋다.

http://docs.ros.org/melodic/api/nav_msgs/html/msg/Odometry.html

나 같은 경우, 물체에 대한 정보를 서로 주고 받고싶다.

마땅히 사용할 message type이 없다면, 이 때 물체에 대한 구조를 새로 정의할 수 있다.

이걸 custom message라고 한다.


만드는 방법

http://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv

나는 Object라는 message type을 만들어보려고 한다.

프로젝트 내에 msg라는 폴더를 생성하고, 원하는 메시지를 정의한다.

  • 작성자는 Object.msg라는 이름으로 만들었다.
  • 내부에는 이것저것 많이 들어있다.
  • # 은 주석이다.

Cmakelists.txt 에서 추가할 것을 본다.

  • find_package에 message_generation를 추가한다. (중요)
  • Cmakelists에서 정의한 Object.msg 를 add_message_files에 추가한다.
  • message를 추가하기 위해서는 dependencies를 설정해줘야 한다.
  • 만약에 odometry_msgs를 element로 쓰고 싶다면, 넣으면 된다.

사용 방법

위와 같이 셋팅을 한 후, catkin_make로 빌드한다.

코드 상에서 어떻게 사용하는지 보자.

사실, 다른 메시지랑 똑같이 사용하면 된다. include만 잘 하면 된다.

  • C++에서  메시지를 사용하기 위해서 메시지를 include를 해야한다.
  • #include “프로젝트 명/message 이름.h”
  • 나 같은 경우는 #include “perception/Object.h”가 된다.

다음은 publish를 해보겠다.

publisher를 정의한다.

gFacePublisher = nh.advertise<perception::Object>(“face”,1);

그리고 메시지 객체를 정의한다.

정의한 메시지 객체에 데이터를 넣고 publish!


이렇게 publish를 하면 된다.

subscriber도 다른 메시지와 사용방법이 같다.

ros::Subscriber gFaceSubscriber = nh.subscribe(“face”, 1, faceCallback);

void faceCallback(const perception::Object& faceMsg);

cout<<faceMsg.id<<endl;


Python에서도 비슷하게 사용하면 되는데

import할 때 아래처럼 하면 된다.

나머지 사용방법은 다른 메시지와 같다.

from perception.msg import Object

 


즉, msg 폴더와 Cmakelists.txt에 정의만 잘 해놓으면

다른 메시지들과 똑같이 사용하면 된다.