ROS 프로그래밍 기초

BERT·2023년 3월 29일
0

ROS

목록 보기
4/23
rospack list패키지 확인
rospack find [pkg_name]패키지 검색
roscd [dir]ROS 패키지 디렉터리 이동
rosls [dir]Linux ls와 유사
rosed [file_name]에디터로 파일 편집

패키지 새로 만들기

xycar_ws
├ src
│  └ my_pkg
│    ├ src  
│    │ ├ pub.py
│    │ └ sub.py
│    ├ CMakeList.txt
│    └ package.xml
├ build
└ devel
  1. 패키지 만들 위치 이동
    cd ~/xycar_ws/src
  2. 패키지 생성
    catkin_create_pkg [my_pkg] [msg] [msg]
    [msg] 패키지가 의존할 다른 패키지

패키지 빌드

cd ~/path/xycar_ws && catking_make

패키지 확인

위치 확인
rospack find my_pkg

의존성 확인
rospack depends1 my_pkg

이동
roscd my_pkg

publisher 생성 후 작동

roscore
rosrun turtlesim turtlesim_node
rosrun my_pkg1 pub.py

rqt_graph

rosnode list

subscriber 생성 후 작동

  • rosnode list
    node 확인
  • rostopic list
    topic 확인
    각 topic은 type 가짐
  • rostopic type /turtle1/pose
    type 확인
    각 type은 message 가짐
  • rosmsg show turtlesim/Pose
    message 확인

rosrun my_pkg1 sub.py

rqt_graph


roslaunch

xycar_ws
├ src
│  └ my_pkg
│    ├ src  
│    │ ├ pub.py
│    │ └ sub.py
│    ├ launch
│    │ └ pub-sub.launch
│    ├ CMakeList.txt
│    └ package.xml
├ build
└ devel

여러 노드들을 한꺼번에 실행 가능
실행할 launch file은 package 내부에 있어야 함
roslaunch [pkg] [launch file name]
roslaunch my_pkg1 pub-sub.launch
roscore 자동 실행됨

Tag : node

실행할 노드 정보 입력 시 사용되는 태그

  • pkg 실행시킬 노드 패키지 이름
  • type 파이썬 파일명
  • name 노드 이름
    소스코드에서 지정한 노드 이름 무시, launch 파일 기록된 노드 이름으로 노드 실행

Tag : include

다른 launch 파일을 불러오고 싶을 때 사용되는 태그

  • file 함께 실행할 .launch 파일 경로

Tag : param

  • name 변수 이름
    private param 앞에는 ~ 붙일 것
  • type 변수 타입(str, int, double, bool, yaml)
  • value 변수 값

circle_size=1

circle_size=4

0개의 댓글