ROS_3) ROS 세팅 & 기본 구조

한우진·2023년 4월 22일
0

ROS

목록 보기
4/6
post-thumbnail

ROS 설치

$ 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
//ROS 제공하는 Software Repository 등록

$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
//apt key 셋업

$ sudo apt-get update
$ sudo apt install ros-melodic-desktop-full
//패키지 설치

$ sudo apt install python-rosdepsudo rosdep initrosdep update
$ sudo rosdep init
$ rosdep update
//rosdep 초기화

$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
//쉘 환경설정

$ sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
//추가로 필요한 도구 등 설치

ROS 설치 확인

$ roscore

$ rosnode list
//roscore 실행한 터미널과 다른 터미널에서 실행(/rosout 이 나온다)

ROS 코딩을 위해 Workspace 만들기

$ cd
//Home 폴더 이동
$ mkdir -p ~/xycar_ws/src
//서브 폴더 생성
$ cd xycar_ws
//xycar_ws 폴더로 이동
$ catkin_make
//ROS 코딩 환경 셋업, 정리(빌드)

1. 현재 Workspace 구조

다음과 같은 Workspace 구조가 만들어 진다

2. catkin_make 명령어 작성 이후 구조

catkin_make 작업을 통해 패키지를 빌드한다. 필요한 패키지들을 알아서 찾아 설치하고 바이너리 파일을 생성해 노드를 만들 수 있도록 세팅해준다. 밥먹기 전에 수저 물 놓은 세팅 작업같은 것


ROS 작업환경 설정

$ cd
$ sudo gedit ~/.bashrc
//bashrc 파일을 열어서 수정하겠다는 의미
$ source .bashrc
//수정한 내용을 시스템에 반영하겠다(source)
$ printenv | grep ROS
// ROS 작업에 필요한 환경변수 설정을 확인할 수 있음

bash 파일 맨 뒤에다가 적어서 설정내용을 바꿔주자


ROS 패키지(Package)

패키지는 ROS에서 개발되는 소프트웨어를 하나의 논리적 묶음으로 만든 것이다
예를 들어 보행자가 앞에 있는지 없는지 보행자 추적 시스템을 만든다고 하면 "보행자 추적 패키지" 라는 이름으로 하나의 프로젝트 처럼 만들어 관리할 수 있게 된다

1. ROS 패키지 만들기

$ cd ~/xycar_ws/src
//위의 그림처럼 프로젝트 폴더에 src 폴더에 들어온다
$ catkin_create_pkg my_pkg1 std_msgs rospy
// my_pkg1 이라는 이름의 패키지를 새로 만들고 패키지가 의존하고 있는 다른 패키지들을 나열한다

2. ROS 패키지 빌드

$ cd ~/xycae_ws
$ catkin_make
//패키지 빌드

$ rospack find my_pkg1
$ rospack depends1 my_pkg1
$ roscd my_pkg1
//만들어진 패키지 확인 코드

0개의 댓글