Physics 포스팅
Doyeon0430 | 2023년 08월 05일
이번시간에는 로봇 개발에 제일 많이 사용되는 ROS(로봇 운영체제)를 설치해보고
파이썬을 이용하여 ROS 토픽 통신을 테스트하겠습니다.
ROS 튜토리얼에서 파이썬 코드 예제를 제공하므로 기본적인 작동 방식을 쉽게 파악할 수 있습니다.
주소 : ROS 공식 홈페이지
제일 먼저 우분투(Ubuntu) 환경을 준비해주세요.
ROS 개발을 위한 작업 공간을 생성하고 터미널로 설치 명령어를 입력합니다.
ROS 공식 홈페이지를 통해 패키지를 설치했습니다.
주소 : ROS 설치 가이드북
# 폴더 생성 후 패키지 설치
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/
$ catkin_make
# 환경변수 실행
$ source devel/setup.bash
# ROS 실행
$ roscore
1. [Ctrl+Alt+T]를 누른 후 터미널에 접속
2. ROS 패키지를 사용할 새로운 폴더를 생성
3. ROS 패키지 설치
4. ROS 작업공간 환경 변수 실행
5. roscore 설치 확인
위와 같이 ros version이 뜨면 제대로 설치 된 겁니다.
Ctrl+C를 사용하여 roscore를 종료합니다.
만약 종료하지 않은 상태에서 터미널 창을 닫으면 오류가 발생할 수 있습니다.
다음으로 ROS에서 파이썬 스크립트를 다운받고 통신을 진행하겠습니다.
파이썬 코드는 공식 홈페이지에서 제공하는 기본 예제를 사용합니다.
2개의 코드를 사용하며 talker.py는 토픽을 송신하고 listener.py는 토픽을 수신합니다.
# catkin_create_pkg 설치
$ cd ~/catkin_ws/src
$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
# 설치한 폴더로 이동
$ roscd beginner_tutorials
# 스크립트 생성
$ mkdir scripts
$ cd scripts
# 파이썬 코드 설치
$ wget https://raw.github.com/ros/ros_tutorials/kinetic-devel/rospy_tutorials/001_talker_listener/talker.py
$ chmod +x talker.py
$ wget https://raw.github.com/ros/ros_tutorials/kinetic-devel/rospy_tutorials/001_talker_listener/listener.py
$ chmod +x listener.py
1. 새 터미널 생성 후 [~/catkin_ws/src]로 이동
2. ROS 파이썬 스크립트 패키지 설치
3. 환경 변수 실행 후 생성한 폴더 접속
4. scripts 폴더 생성
5. talker.py 설치
6. listener.py 설치
7. 2개의 파이썬 파일 설치 확인
파이썬 스크립트 예제를 설치해봤습니다.
ROS를 사용하기 전 roscore를 실행해줘야 ROS 명령어를 이용할 수 있습니다.
이후에 talker.py에서 토픽을 발행하고 listener.py에서 토픽을 수신 할 겁니다.
visual studio code를 설치하면 직접 코드를 수정하여 작업할 수 있습니다.
# 워크스페이스 설치
$ catkin_make
# ros 실행
$ cd ~/catkin_ws/
$ source devel/setup.bash
$ roscore
# talker 실행
$ cd ~/catkin_ws/
$ source devel/setup.bash
$ rosrun beginner_tutorials talker.py
# listener 실행
$ cd ~/catkin_ws/
$ source devel/setup.bash
$ rosrun beginner_tutorials listener.py
1. CMakeLists.txt 접속 후 아래와 같이 코드를 수정
2. catkin_make를 입력하고 워크스페이스를 설치
3. 새 터미널을 열고 roscore를 실행
4. 새 터미널을 열고 talker.py를 실행
5. 새 터미널을 열고 listener.py를 실행
글을 마치며 ROS를 설치하고 스크립트를 생성해봤습니다.
ROS를 사용할 때는 항상 roscore를 실행하고 진행해야합니다.
지금까지 긴 글 읽어주셔서 감사합니다.
댓글 (0)
간편 댓글 작성