티스토리 뷰

Robotics/ROS

ROS 명령어 모음

Rocknz 2017. 1. 5. 11:39

Catkin - command


Catkin이란 rosbuild가 사라지고 나온 ROS의 인프라스트럭쳐와 마크를 관리하는 새로운 Low-level build system이다. 

설치 : 
sudo apt-get install ros-kinetic-catkin
kinetic은 버전 이름이라 버전이 바뀌면 바뀔 수 있음.
(ROS를 설치하면 대부분 깔림)

$ source /opt/ros/kinetic/setup.sh
각 shell을 켤때마다 위커맨드를 해주어야함. ROS 커맨드에 접근할려면. 그렇기 때문에 .bashrc 파일에 위같은 command를 넣어서 매번 shell이 접속할때마다 사용해주면 매번 입력하지 않아도됨.


작업 공간 만들기 :
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
디렉토리를 만들고 작업공간을 만듬

$ catkin_init_workspace
를 사용해 src 폴더에 작업공간을 만들고. (CMakeLists.txt 가 생김)

상위폴더인 catkin_ws 폴더로 가서 build를 할 수 있다.
$ catkin_make 함수를통해서
$ cd ~/catkin_ws/
$ catkin_make

catkin_make로 생성되는 devel 폴더에서 
$ source devel/setup.bash
setup스크립트를 실행시켜 줘야함.

catkin에 대한 명령어
$catkin_init_workspace : 작업공간을 만듬
$catkin_make : 빌드함.
그리고 devel에 있는 setup.bash를 실행함.

Ros - commands

Ros에서도 리눅스처럼 tab_completion이 사용 가능함.

$rospack : package에 대한 위치를 확인하거나 dependency를 확인 할 수 있는 명령어다.


$roscd : package의 디렉토리로 이동 할 수 있다.


$rosls : package의 디렉토리의 내용을 볼 수 있다.


$roscore : Master를 실행할 수 있다.


$rosnode : node들에 대한 리스트를 얻어오거나 핑을 보내고, 노드의 정보를 확인하고, 노드를 제거 할 수 있다. 대부분의 명령어를  name 기반으로 하기 때문에 node list로 name을 확인해야한다.
-> roanode 명령어는 roscore가 실행중이여야만 한다. (Master가 노드의 정보드를 다 갖고있기 때문이다.)


$rosrun : 은 package를 실행시킨다. 
 $ rosrun <package이름> <node이름 (Executable)> 
 [argue]에는 다양한 것이 들어가는데.. 일단 아는건 __name:=my_turtle 로 적으면 실행하는 Node의 이름을 my_turtle로 지정 할 수있다.


$rostopic : topic들에 대한 정보를 볼 수있다.

topic을 발행하거나 타입을 확인할 수 있고, 토픽들을 확인해볼 수 있다.


$roslaunch : 패키지 안에 있는 launch 파일을 실행. 

roslaunch <package> <launch file>

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

여기 튜토리얼만해서 launch 파일을 어떻게 만드는지는 이해 잘못하겠다.

$ rosed: ROS 패키치 내부에 있는 파일을 edit함. 
$ rosed [package_name] [filename]

원하는 editor로 설정할 수 있고 (.bashrc 에 세팅해야함)
기본적인 에디터는 vim임.
export EDITOR='nano -w'

$ rosmsg: 전체적인 패키지들로 부터 msg파일의 정보를 보여줌.


$ rossrv: 전체적인 패키지들로 부터 srv파일의 정보를 보여줌.


$ roscp: 다른 패키지에있는 파일을 원하는 위치로 옮길 수 있음.

현재 shell의 위치 + [copy_path] 위치에 저장하게 됨.
[file_to_copy_path] 는 package_name 속에 있는 파일임.
$ roscp [package_name] [file_to_copy_path] [copy_path]



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함