본문 바로가기
기계공학부 시절의 기록/ROS일기

간단한 node 작성, 실행해보기

by juhyeonglee 2020. 8. 16.
728x90
반응형

joint1각 = joint2각 = 0 rad
joint1각도 = joint2각도 = 1.57rad = 90deg

오늘 오후 시간동안 한 것

1. simple_mover 노드 실행하기

2. arm_mover 노드를 실행하여 서비스를 통해 조인트 각도 조절하기

 

하나의 패키지 안에는 여러노드 그리고 서비스 등 여러 가지 것들이 들어있다. 오늘은 simple_arm이라는 이름의 패키지를 생성하고 그안에 simple_mover 노드와 arm_mover 노드를 만들었다.

 

 

simple_mover노드는 미리 짜여진 움직임을 수행하는 노드였고 때문에 이 노드를 실행하면 로봇은 하나의 동작을 반복하였다.

 

arm_mover노드는 GoToPosition.srv라는 서비스를 만들어 내가 원하는 대로 로봇움직임을 실행시킬 수 있었다.

 

catkin_ws이름의 최상위 파일 아래로 src(source의 줄임) 파일이 있고 이 곳에 패키지를 생성하며

또 그 아래로 src파일과 srv(service의 줄임)파일을 만들어 src에는 노드를 만들 소스코드들을 저장하고 srv파일에는 서비스 소스코드를 저장한다.

 

이후 이 소스코드들을 컴파일하기 위해 패키지를 생성함에 따라 기본적으로 생성되어지는 CMakeLists.txt, package.xml 안에 추가된 노드나 서비스를 컴파일하라는 의미의 코드들을 추가한뒤 

catkin_ws 위치에서 catkin_make로 build작업을 거친다.

 

대단히 복잡해보이지만 뭔가의 규칙이 있으며 몇가지 명령어로 파일들의 위치에 주의하며 에러가 발생하면 구글링과 멘토님의 도움으로 해결해가는 과정이었다.

 

이제 슬슬 만드는 파일이 커지는 만큼 질문을 하는데 있어 스크린샷으로는 한계가 있어 git허브에 나의 파일을 올린다.

이 과정도 마냥 간단치는 않았다. 레포를 만들어 커밋을 한 뒤 깃허브에 push를 하였다. 그런데 udacity작업공간에서는 핵심파일이 누락되는 바람에 구글드라이브를 이용해 내컴퓨터에 내려받아 다시 작업하니 제대로 올라갔다.

 

나의 깃허브 링크와 udacity의 것을 공유한다.

 

https://github.com/needs-searcher/udacity_simple_arm_2

 

needs-searcher/udacity_simple_arm_2

Contribute to needs-searcher/udacity_simple_arm_2 development by creating an account on GitHub.

github.com

 

https://github.com/udacity/RoboND-simple_arm/tree/arm_mover

 

udacity/RoboND-simple_arm

RoboND Refresh mini-project to explain pub-sub architecture in ROS - udacity/RoboND-simple_arm

github.com

 

728x90
반응형

'기계공학부 시절의 기록 > ROS일기' 카테고리의 다른 글

OpenManipulator-X(1)  (0) 2021.02.25
새로운 node 추가 : subscribe와 client 수행하기  (0) 2020.08.18
200813일기 c++과 ros  (0) 2020.08.13
github에 push하기  (0) 2020.08.07
[catkin] workspace와 package  (2) 2020.08.06

댓글