ROS 설치 및 구동실습

전종원·2022년 11월 4일
0

1. ROS 설치

1.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.2. ROS apt key setup

sudo apt install curl

curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

1.3. ROS 패키지 설치

sudo apt update
sudo apt install ros-melodic-desktop-full

1.4. rosdep 초기화

sudo apt install python-rosdep
sudo rosdep init
rosdep update

1.5. shell 환경설정

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

1.6. 추가설치

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

pip install rospkg
pip install defusedxml
pip install netifaces

1.7. 설치확인

roscore

2. ROS 환경설정

2.1. ros 작업을 위한 workspace 생성

cd
mkdir -p ~/ros_ws/src
cd ros_ws
catkinm_make #build
  • ros_ws가 ros 작업공간이 된다.
  • src: 소스코드를 놓는 곳이다.
  • build: 워크스페이스 빌드파일들이 있는 곳이다.
  • ros workspace에서 새로운 소스코드 파일이나 패키지가 만들어지면 catkin_make 명령을 통해 빌드 잡업을 진행한다. ros 프로그래밍 작업과 관련있는 모든 것들을 최신 상태로 만드는 작업.

2.2. ROS 작업에 필요한 환경변수 설정

아래 내용을 .bashrc에 작성

alias cm='cd ~/ros_ws && catkin_make'
source /opt/ros/melodic/setup.bash
source ~/ros_ws/devel/setup.bash
export ROS_MASTER_URL=http://localhost:11311
export ROS_HOSTNAME=localhost

이 후 source~/.bashrc 명령어 실행하여 시스템에 적용.

3. ROS 예제 프로그램 구동 실습

3.1. turtlesim 실습

  • 터미널 4개 준비
  • 1번 터미널 roscore 실행
  • 2번 터미널: rosrun turtlesim turtlesim_node 실행
  • 3번 터미널: rosrun turtlesim turtle_teleop_key 실행
  • 4번 터미널 rosnode list 실행


3.2. 토픽 조사

  • 4번 터미널: rostopic list 실행 -> 발행되는 토픽 리스트를 확인 가능

    • rostopic list -v를 통해 더 자세한 토픽정보 확인 가능
  • 4번터미널: rostopic echo /turtle1/cmd_vel 실행

    • turtle1/cmd_vel 토픽에 담긴 내용을 볼 수 있음
  • 4번 터미널: rqt_graph 명령어를 통해 노드와 토픽 관계를 시각화

  • rostopic type /turtle1/cmd_vel 명령어로 토픽에 발행되는 메세지의 타입 확인가능

  • rosmsg show geometry_msgs/Twist 명령어로 해당 타입의 메세지가 어떻게 구성되어 있는지 확인 가능

3.3. 토픽을 직접 발행

  • rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist --'[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'

0개의 댓글