이번에는 Ch9. 액션 익숙해지기 에 대해서 써보고자 한다. 앞의 글에서 액션을 터미널 명령을 이용하여 사용해 보았다. 이제 간단히 python으로 ROS 액션 클라이언트를 다뤄보고 액션 서버를 만들어보고자 한다. 액션의 목표는 다음 그림과 같이 서비스로 중간 상태는 토픽으로 전달하는 형태이다. 1. 액션 정의 만들기 (1) 액션 정의를 만들기 위한 준비 새롭게 액션을 시작하기 위해서는 액션 정의를 만들어야 한다. 따라서 새로운 정의를 만들기 위한 패키지인 my_first_package_msgs에 새 액션을 추가하고자 한다. 이를 위해서 my_first_package_msgs 폴더에 action이라는 폴더를 만들었다. (2) 액션 정의 만들기 이번 액션에서 받아야 할 정보는 다음과 같다. 입력 : 선 속..
이번에는 Ch8. 메시지 정의 만들고 토픽과 서비스에서 다루기에 대해서 작성하고자 한다. 이번에는 메시지를 정의하고 이를 다루는 것에 대해서 작성할 것이다. 1. 메시지 정의 (1) 메시지 정의를 위한 별도의 패키지 만들기 앞의 7장에서 패키지를 만들 때 사용한 명령은 다음과 같다. ros2 pkg create --build-type ament_python --node-name my_first_node my_first_package 이 명령어는 빌드 도구를 ament_python으로 하겠다고 하였는데, 이 경우의 colcon은 새로운 메시지 정의를 만들지 못한다. 그 이유는 CMakeLists.txt가 필요하고, 이 파일은 ament_python이 빌드 도구 일 때 사용 불가능하기 때문이다. 따라서 C+..
이번에는 Ch7. 패키지 만들고 토픽 다루기에 대해서 쓰고자 한다. 이번 장에서는 패키지를 새롭게 만들고, 앞서 배운 명령을 이용해 토픽, 서비스 등을 패키지 내에서 만들어 볼 것이다. 1. 설치 및 준비 앞에서 설치하였지만, 설치하지 않은 사람들을 위해서 작성하는 부분이다. 앞의 글 중에 이 글에서 Humble 설치 중에 Install development tools and ROS tools라는 부분을 설치를 하지 않았다면 그 부분을 설치해야 한다. 2023.01.28 - [개인 공부 📓/ROS] - 무작정 공부하기 - 혼자 공부하는 로봇 SW 따라하기 (1) 무작정 공부하기 - 혼자 공부하는 로봇 SW 따라하기 (1) 1학년 때부터 가지고 있던 숙원인 ROS 공부를 이번에 ubuntu 22.04가 우..
Ch6. ROS2 학습을 위한 Python Class 이해하기 이 챕터는 내용이 전체적으로 class의 이해에 관련되어 있고, ROS관련 내용이 없다는 점을 밝히고, 시작한다. 1. 준비작업 및 그냥 sin 함수 그려보기 하던 것처럼 python 폴더에서 jupyter notebook을 열고 이번에는 Class Study에 대한 내용을 담을 것이므로 그렇게 이름을 짓는다. 이번의 그릴 삼각함수의 수식은 다음과 같다. Asin(2pift)+B 가장 먼저 이 sin 함수를 나타내기 위해서 matplotlib을 준비해줘야 한다 다음 코드를 이용해 matplotlib을 설치하고, 이 패키지들을 import 해주자 pip3 install matplotlib import matplotlib.pyplot as plt..
Ch5. Python으로 서비스 클라이언트 다루기에 대해서 알아보고자 한다. 이번 장에서는 앞에서 토픽을 발행하고 구독하는 방법에 대해서 이야기한 것처럼 서버가 만들어져 있는 서비스 클라이언트를 구성하는 Python 코드를 다뤄볼 것이다. 이후 다음에는 패키지를 직접 만드는 단계에서의 서비스 서버를 구성하고 나만의 메시지 타입을 정의해 볼 것이다. 1. 준비 및 Service Client 노드 생성 가장 먼저 준비와 Sercive Client를 위한 노드를 생성한다. 이때 준비는 jupyter notebook을 home\python 에서 열고, ros2 run turtlesim turtlesim_node 명령을 이용해 터틀심을 실행한다. 여기에 Service Client Test라는 ipynb 파일을 만..
Ch4. Python으로 ROS2 토픽 다루기 이번 글에서는 위 책에서 Ch4에서의 Python으로 ROS2 토픽을 다루는 법에 대해서 작성하고자 한다. VScode를 이용해서 컴퓨터의 메모리를 바로 이용하여 할 수도 있지만, 책에서 나오는 방법처럼 jupyter notebook을 이용하여 진행해보고자 한다. 1. 설치 및 준비 터미널에서 다음 명령어를 이용해서 pip를 설치하고, 업데이트를 진행한다. sudo apt install python3-pip pip3 install --upgrade pip 글을 쓰는 시점의 최신 버전으로 업데이트가 되는 것을 볼 수 있고, 그 이후 다음 명령어를 이용하여 pip를 이용하여 jupyter, ipywidegets, pyyaml, bqplot을 설치하고자 한다. p..