'ROS electric'에 해당되는 글 16건

  1. 2014.01.08 ROS topic의 이해
  2. 2014.01.08 ROS node의 이해
  3. 2014.01.07 ROS package 빌드
  4. 2014.01.07 ROS package 생성
  5. 2014.01.07 ROS Filesystem
  6. 2014.01.07 ROS workspace 만들기

ROS topic의 이해

ROS electric 2014. 1. 8. 14:45

예제

$ roscore
$ rosrun turtlesim turtlesim_node
$ rosrun turtlesim turtle_teleop_key

1. rostopic

$ rostopic -h
다음과 같은 도움말이 출력

rostopic bw display bandwidth used by topic rostopic echo print messages to screen rostopic hz display publishing rate of topic rostopic list print information about active topics rostopic pub publish data to topic rostopic type print topic type

1) rostopic echo [topic]

$ rostopic echo /turtle1/command_velocity

2) rostopic list [-option]

$ rostopic list -v

3) rostopic type [topic]

$ rostopic type /turtle1/command_velocity

$ rosmsg show turtlesim/Velocity

4) rostopic pub [topic] [msg_type] [args]

사용자가 임의로 데이타를 발행

$ rostopic pub -1 /turtle1/command_velocity turtlesim/Velocity -- 2.0 1.8
$ rostopic pub /turtle1/command_velocity turtlesim/Velocity -r 1 -- 2.0 -1.8(1Hz 단위로 데이타발행 유지)

5) rostopic hz [topic]

데이타 발행 주기 확인

$ rostopic hz /turtle1/pose



'ROS electric' 카테고리의 다른 글

roslaunch 사용하기  (0) 2014.01.08
ROS Service와 Parameter의 이해  (0) 2014.01.08
ROS node의 이해  (0) 2014.01.08
ROS package 빌드  (0) 2014.01.07
ROS package 생성  (0) 2014.01.07
Posted by 신영식
,

ROS node의 이해

ROS electric 2014. 1. 8. 13:53

Node : 하나의 실행가능한 프로그램을 의미하며 다른 노드들과 통신하는데 이용된다.

Message : 토픽에 송수신하는 ROS data type

Topic : 노드들은 토픽을 통하여 데이타를 송수신한다.

Master : ROS의 name service로 노드들이 서로 find할 수 있도록 돕는다.

rosout : ROS에서 stdout/stderr과 같은 역할을 해주는것

roscore : Master + rosout + parameter server

1. 노드

노드는 ROS package의 실행파일로서 ROS client library 를 사용하여 다른 노드들과 통신한다. 또한 토픽에게 msg를 이용하여 데이터를 송수신할 수 있다. 또한 노드는 srv를 이용하여 데이타를 제공하거나 사용이 가능하다.

2. client library

ROS는 client library를 사용하여 서로 다른 프로그래밍 언어로 작성한 노드 들이 통신이 가능하도록 해준다.

roscpp, rospy등이 있다.

3. roscore

ROS를 사용하기위해 맨처음 실행해줘야한다.

4. rosnode

사용중인 ROS node의 정보를 출력해준다.

$ rosnode list

roscore 만 실행중이라면 /rosout 만 출력됨.

특정 노드의 세부정보 출력방법

$ rosnode info /rosout

5. rosrun [package_name] [node_name]

해당 package의 node를 실행한다.

$ rosrun turtlesim turtlesim_node

$ rosrun turtlesim turtlesim_node __name:=my_turtle



'ROS electric' 카테고리의 다른 글

ROS Service와 Parameter의 이해  (0) 2014.01.08
ROS topic의 이해  (0) 2014.01.08
ROS package 빌드  (0) 2014.01.07
ROS package 생성  (0) 2014.01.07
ROS Filesystem  (0) 2014.01.07
Posted by 신영식
,

ROS package 빌드

ROS electric 2014. 1. 7. 20:00

ROS package를 빌드하기 위 해 rosmake명령어를 사용

$ rosmake [package]

사용예제

$ rosmake beginner_tutorials

rosmake [package1] [package2] [package3]


'ROS electric' 카테고리의 다른 글

ROS topic의 이해  (0) 2014.01.08
ROS node의 이해  (0) 2014.01.08
ROS package 생성  (0) 2014.01.07
ROS Filesystem  (0) 2014.01.07
ROS workspace 만들기  (0) 2014.01.07
Posted by 신영식
,

ROS package 생성

ROS electric 2014. 1. 7. 19:51

1. roscreate-pkg

# roscreate-pkg [package_name]
# roscreate-pkg [package_name] [depend1] [depend2] [depend3]

첫번째는 일반적 방법, 두번째는 의존성 추가해주는 방법


- roscreate-pkg 사용예제

package생성할 경로로이동

$ cd ~/electric_workspace/sandbox

혹은

$ roscd
$ cd sandbox


ros package 생성하기

$ roscreate-pkg beginner_tutorials std_msgs rospy roscpp


rospack 에 새로운 정보 갱신

$ rospack profile

갱신된 정보 확인해보기

$ rospack find beginner_tutorials 

갱신된 이후부터는 다음과 같이 이용가능

$ roscd beginner_tutorials

dependency 확인 방법

$ cat manifest.xml

$ rospack depends1 rospy

$ rospack depends beginner_tutorials

'ROS electric' 카테고리의 다른 글

ROS topic의 이해  (0) 2014.01.08
ROS node의 이해  (0) 2014.01.08
ROS package 빌드  (0) 2014.01.07
ROS Filesystem  (0) 2014.01.07
ROS workspace 만들기  (0) 2014.01.07
Posted by 신영식
,

ROS Filesystem

ROS electric 2014. 1. 7. 19:36

ROS의 파일시스템

package : ROS 소프트웨어 구성의 기본. Node의 묶음

manifest : 패키지의 dependency 설명

stack : 높은 수준의 라이브러리를 구성하는 패캐지들의 집합. ROS개발자들이 제공하는 라이브러리가 이에 속함

stack manifest : 스택구성을 위한 manifest


ROS Tool

ROS 전용 명령어 정도로 생각하자

$ rospack find [package_name]    : package 찾아서 경로 출력
$ rosstack find [stack_name]    : stack 찾아서 경로 출력

$ roscd [locationname[/subdir]] : 원하는 ros경로로 이동

$ echo $ROS_PACKAGE_PATH : ROS_PACKAGE_PATH로 설정되어 있는 내용 출력(echo 는 ROS전용 명령아님)

$ rosdep install [    ]

$ rosmake [    ]

$ rosrun [package folder name] [실행파일] : ros프로그램 실행

'ROS electric' 카테고리의 다른 글

ROS topic의 이해  (0) 2014.01.08
ROS node의 이해  (0) 2014.01.08
ROS package 빌드  (0) 2014.01.07
ROS package 생성  (0) 2014.01.07
ROS workspace 만들기  (0) 2014.01.07
Posted by 신영식
,

ROS package 의 환경변수 설정을 확인해주기 위해 다음 명령어를 사용

$ export | grep ROS


1. 새로운 workspace 만들기

$ rosws init ~/fuerte_workspace /opt/ros/fuerte

참고: rosinstall package 에 rosws명령어가 포함되어 있는데 ros설치시 기본으로 포함되어 있지 않음(별도로 설치해주자)

$ sudo apt-get install python-rosinstall


2. 새로운 package 를 위해 directory 만들기

$ mkdir ~/fuerte_workspace/sandbox $ rosws set ~/fuerte_workspace/sandbox

new package의 경로를 환경변수 ROS_PACKAGE_PATH에 포함해주기 위해 다음 명령을 사용한다

$ source ~/fuerte_workspace/setup.bash

환경변수에 포함되어진거 확인하려면

$ echo $ROS_PACKAGE_PATH


'ROS electric' 카테고리의 다른 글

ROS topic의 이해  (0) 2014.01.08
ROS node의 이해  (0) 2014.01.08
ROS package 빌드  (0) 2014.01.07
ROS package 생성  (0) 2014.01.07
ROS Filesystem  (0) 2014.01.07
Posted by 신영식
,