Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
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
29 30
Archives
Today
Total
관리 메뉴

:)

ROS 설치와 구동 실습 본문

ROS

ROS 설치와 구동 실습

mihee 2022. 3. 6. 01:43

ROS 설치

  1. ROS를 제공하는 Software Repository 등록
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ cat /etc/apt/sources.list.d/ros-latest.list
  1. apt key를 셋업
$ sudo apt-key-dev --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
  1. 패키지 설치
$ sudo apt-get update
$ sudo apt install ros-melodic-desktop-full
  1. rosdep 초기화
$ sudo apt install python-rosdepsudo rosdep initrosdep update
$ sudo rosdep init
$ rosdep update
  1. 쉘 환경설정
$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
  1. 추가로 필요한 도구 설치
$ sudo apt install python-rosinstall python-rosistall-generator python-wstool build-essential

빌드 명령 : catkin_make

  • ROS의 Workspace에서 새로운 소스코드 파일이나 패키지가 만들어지면
    • catkin_make 명령을 통해 빌드 작업을 진행

ROS 작업환경 설정

  • 홈 디렉토리에 있는 .bashrc 파일을 수정
$ cd (홈 디렉토리로 이동)
$ sudo gedit ~/.bashrc (아래 내용 추가)

alis cm='cd ~/xycar_ws && catkin_make'
source /opt/ros/melodic/setup.bash
source ~/xycar_ws/devel/setup.bash
export ROS_MASTER_URI=http://localhost:11311
export ROS_HOSTNAME=localhost

$ source .bashrc (수정한 내용을 시스템에 반영)
  • ROS 작업에 필요한 환경변수 설정 확인
$ printenv | grep ROS

실습 ( 토픽을 받아서 거북이를 이동)

  1. roscore 의 실행 ( 1번 터미널 )
$ roscore
  1. ROS node 실행
$ rosrun turtlesim turtlesim_node ( 2번 터미널)
  1. 사용자 입력에 맞춰 토픽 발생
$ rosrun turtlesim turtle_teleop_key ( 3번 터미널)  -> 방향키를 눌러 움직임 확인
  1. 노드 사이에서 토픽(topic) 주고 받기
$ rosnode list (어떤 노드들이 돌고 있는지 살펴보기)
$ rostopic echo /turtle1/cmd_vel -- 토픽에 담긴 메시지의 내용을 볼 수 있음
$ rqt_graph - 노드와 토픽 관계를 시각화

-> 노드 /teleop_turtle 는 토픽을 발행(사용자의 키보드 입력에 따라) - 노트 /turtlesim은 위 토픽을 구독하여 키보드 입력값을 알아내고 이에 따라 turtle을 이동시킴

토픽을 좀 더 자세히 살펴보기

  • 토픽 리스트
$ rostopic list -v
  • 메지시 타입과 구성
$ rostopic type /turtle1/cmd_vel
$ rosmsg show geometry_msgs/Twist
  • 토픽 직접 발행
$ rostopic pub -1(발행횟수) /turtle1/cmd_vel(토픽) geometry_msgs/Twist(메시지타입) -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.0]'(메시지내용)

'ROS' 카테고리의 다른 글

자이카 센서  (0) 2022.03.11
RVIZ 오도메트리 활용  (0) 2022.03.10
URDF기반 자동차 3D모델링  (0) 2022.03.10
자이카 ROS 패키지  (0) 2022.03.07
ROS 기초  (0) 2022.03.05
Comments