ROS install, workspace setup

정소원·2023년 5월 3일
0

ROS

목록 보기
1/5
post-thumbnail

Install

  1. ROS를 제공하는 software repository 등록 (apt/sources.list)
    $ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  2. apt-key 셋업
    $ sudo apt install curl
    $ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
    $ sudo apt update
  3. 패키지 설치
    $ sudo apt install ros-noetic-desktop-full
    $ sudo apt install python3-rosdep
  4. rosdep 초기화
    $ sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
  5. 쉘 환경 설정
    $ echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
    $ source ~/.bashrc
  6. 설치 확인
    $ roscore

Workspcase

ros에서 코딩을 하기 위해 workspace라는 공간이 필요하다.

catkin_make

새로운 소스코드, 패키지 등 수정이 발생하면 ros 시스템이 알도록 ROS 프로그래밍 작업과 관련있는 모든 것들을 깔끔하게 정리해서 최신 상태로 빌드(build) 작업을 수행한다.

workspace 생성 코드:

// create workspace
$ cd 	// home directory
$ mkdir xycar_ws 	// workspace 폴더 생성  
$ cd xycar_ws 	// workspace 폴더로 이동
$ mkdir src // 소스 폴더 생성
$ catkin_make 	//패키지 생성 (build, devel, src 폴더 및 패키지 파일 생성)

생성된 폴더 구조:

  • home
    • xycar_ws : workspace
      • src : 소스코드
      • build : 빌드 파일
      • devel

Setup

참고 링크 : https://enssionaut.com/board_robotics/812

  1. .bashrc를 수정하여 source 명령어가 터미널을 켤 때마다 자동적으로 실행되도록 설정
    $ vi ~/.bashrc

  2. bash file에 아래 코드를 추가하여 ros 명령어 단축어, 소스파일 경로, master(roscore)의 uri 주소 등록

source ~/xycar_ws/devel/setup.bash

export ROS_MASTER_URI=http://localhost:11311 
export ROS_HOSTNAME=localhost

alias cw='cd ~/xycar_ws' 
alias cs='cd ~/xycar_ws/src'
alias cm='cd ~/xycar_ws && catkin_make'  
  1. 편집한 .bashrc 파일을 시스템에 반영
    source .bashrc
  2. 환경변수 설정 값 확인
    printenv | grep ROS # ros 이름을 포함한 환경 변수 리스트 출력

Package

패키지: 개발된 소프트웨어를 논리적 묶음으로 만든 것
참고 링크: http://wiki.ros.org/ko/ROS/Tutorials/catkin/CreatingPackage

catkin_create_pkg

패키지 생성 명령어

// pakage create
$ cd ~/xycar_ws/src   // catkin 작업공간의 소스 폴더로 이동
$ catkin_create_pkg my_pkg1 std_msgs rospy
$ cm
$ cd ~/xycar_ws/src/my_pkg1/src

rospack

패키지 관련 기능을 수행하는 명령어

명령어설명
rospack list패키지 리스트 출력
grep 으로 연계하여 원하는 키워드 포함 리스트의 경로 출력
rospack find패키지가 존재하는 경로 출력
rospack depends[#n]패키지가 의존하는 파일 리스트 출력
# 숫자 1 입력 시 필터링됨
roscd패키지가 존재하는 경로로 이동
profile
성장지향형 자율주행 소프트웨어 개발자입니다. K-Digital-Training: 자율주행 데브코스 Planning & Control 1기로 활동하고 있습니다. 본 블로그를 통해 배움기록을 실천하고 있습니다. #자율주행 #기계공학

0개의 댓글