이제부터 ROS에 대해서 본격적으로 공부해보자. 우선 ROS1 위주로 공부하고, ROS2를 필요하다면 추가적으로 공부해서 정리한다.본 ROS 시리즈 포스팅은https://wiki.ros.org/ROS/Tutorialshttps://cafe.naver.

이번 포스팅에는 ROS1 Noetic을 Ubuntu 20.04 LTS에 설치하는 방법에 대해서 알아보자.💡 Ubuntu 20.04 LTS는 WSL2로 사용하거나, 혹은 Ubuntu 싱글 부팅을 하는 것 어느 쪽이든 무방하다. 본인은 WSL2와 Ubuntu 싱글 부팅
이번에는 ROS를 설치했으니, 당연한 수순으로 ROS가 무엇인지에 대해서 짧게 공부해보는 시간을 가지도록 하자.ROS 관련 가장 공신력 있는 레퍼런스인 ROS 위키에서는 ROS를 다음과 같이 소개하고 있다.https://wiki.ros.org/ROS/Intro
이번에는 ROS의 파일 시스템에 대해서 알아보도록 하자.참고한 링크는 다음과 같다.https://cafe.naver.com/openrt/2500https://wiki.ros.org/ROS/Tutorials/NavigatingTheFilesystem&l

이번에는 ROS의 빌드 시스템에 대해서 이해하고, 실제로 패키지를 생성 및 빌드해보도록 하자.작성에 사용한 링크는 다음과 같다.https://cafe.naver.com/openrt/2585https://wiki.ros.org/ROS/Tutorials
이번 용어들을 공부하면서 보고 배운 링크는 다음과 같다. https://cafe.naver.com/openrt/2466 > 🚀 * ROS * 로봇 응용 프로그램 개발을 위한 운영체제와 같은 로봇 플랫폼이다. > 🚀 * 마스터(master) * 마스터는 노드와

이번에는 용어 정리에 이어서 ROS가 어떻게 구동되는지에 대해서 관련된 개념들을 정리해보자. 1. 메시지 통신
지난 포스팅까지 ROS의 기본적인 개념과 원리에 대해서 공부를 하였다(물론 파일 시스템을 다룰 때 ROS 쉘 명령어의 일부인 rospack, roscd, rosls 등에 대해서도 다루긴 했다). 따라서 이번 포스팅부터는 본격적으로 ROS에서 사용되는 명령어들에 대해서
이번에는 마스터, 노드, launch 파일 등 다양한 ROS의 파일이나 시스템을 실행하는 명령어들에 대해서 알아보자. roscore, roslaunch, rosrun, rosclean 정도가 있다.참고한 링크는 다음과 같다.https://cafe.naver.c
이번에는 ROS의 노드와 관련 명령어에 대해서 알아보자.💡 ROS 노드(node)란?ROS에서의 노드는 최소 단위의 실행 가능한 프로그램 혹은 프로세스라고 이해하면 된다. ROS의 최소 단위로 노드가 모여서 패키지를 구성하고, 패키지가 모여서 메타-패키지를 구성하게
이번 페이지에는 ROS 토픽(topic)과 관련된 명령어들에 대해서 알아볼 것이다. 참고한 링크는 다음과 같다.https://cafe.naver.com/openrt/2832https://wiki.ros.org/ROS/Tutorials/Understan
이번에는 토픽에 이어서 서비스와 관련된 명령어에 대해서 알아보도족 하자.참조한 링크는 다음과 같다.https://cafe.naver.com/openrt/2833https://wiki.ros.org/ROS/Tutorials/UnderstandingSer
이번 포스팅에서는 ROS 파라미터, 매개변수들을 다루는 명령어에 대해서 알아보도록 하자.참고한 링크는 다음과 같다.https://cafe.naver.com/openrt/2845https://wiki.ros.org/ROS/Tutorials/Underst
이번에는 ROS의 메시지(message)와 관련된 명령어를 공부해보도록 하자.참고한 링크는 다음과 같다.https://cafe.naver.com/openrt/2847https://wiki.ros.org/ROS/Tutorials/CreatingMsgAn
참고한 링크는 다음과 같다. https://cafe.naver.com/openrt/2849 https://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv srv는 ROS 서비스의 내용을 담고 있는 파일이다. 요청과 응답으로 구성되어 있
이번에는 ROS에서 파일을 저장하고 재생할 수 있는 bag, 그리고 관련 명령어에 대해서 알아보자..참고한 링크는 다음과 같다.https://cafe.naver.com/openrt/2852https://wiki.ros.org/ROS/Tutorials/

이번 포스팅에는 ROS에서 사용할 수 있는 유용한 도구인 rqt에 대해서 알아보자. 공부를 위해서 참고한 링크는 다음과 같다.https://wiki.ros.org/ROS/Tutorials/UsingRqtconsoleRoslaunchhttps://caf

이번에는 rqt에 이은 다른 유용한 툴(tool), RViz에 대해서 알아보자.참고한 링크는 다음과 같다.https://cafe.naver.com/openrt/2950RViz는 ROS의 3차원 시각화(Visualization) 툴로써, ROS 네트워크 상의 데

이번 포스팅에서는 메시지, 토픽, 서비스, 매개변수를 다시 한번 복습해보자. 이는 본격적으로 패키지를 생성하기 전에 다시금 개념을 짚고 넘어가는 것이다.참고 링크는 다음과 같다.https://velog.io/@hy_k/ROS-%EA%B3%B5%EB%B6%80%
이것 역시 예전에 다루었지만, 복습 차원에서 한번 더 공부해보자.참고한 링크는 다음과 같다.https://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv💡 ROS 메시지란? 노드 간의 데이터를 주고 받을 때 사용하는 형식으로

이번 포스팅에서는https://cafe.naver.com/openrt/3043https://seansun79.tistory.com/19여기 링크를 참고하여, 토픽을 발행하고 구독하는 패키지를 생성하고, 빌드한 후 실행해보자.의존성 패키지로 std_ms
C++로 ROS 패키지를 작성하게 된다면 (당연히) int main() 함수를 사용하게 된다.int main() 함수를 작성하게 되면 다음과 같은 형식으로 작성하게 된다.이번 포스팅에서는 int argc와 char \*\*argv 인자에 대해서 공부해보고자 한다. in

이번에도 토픽을 주고받는 패키지를 간단하게 만들어보자.많이 만들어봐야 익숙해진다.본인은 ROS2로 시작해서, ROS1의 문법에는 아직 안익숙하다 ^^;;참고한 링크는 다음과 같다.https://wiki.ros.org/ROS/Tutorials/WritingPub
이번 포스팅에도 ROS의 C++ 패키지를 통해서 토픽을 퍼블리시 해보자.참고한 링크는 다음과 같다.https://cafe.naver.com/openrt/3043빌드 및 실행은 이전 포스팅들을 참조해서 하면 된다.
이번에는 파이썬을 통해서 토픽을 발행하고 구독해보자.참고한 링크는 다음과 같다.https://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber%28python%29C++ 패키지의 경우 src 폴더에 노드를 작성해서
이번 포스팅에서는 C++로 작성된 ROS 서비스 패키지를 만들어보자. 참고한 링크는 다음과 같다.https://wiki.ros.org/ROS/Tutorials/WritingServiceClient%28c%2B%2B%29기존에 쓰던 beginner_tutoria
이번 포스팅에서는 저번에 다룬 서비스 패키지를 파이썬으로 작성해보도록 하자. 참고한 링크는 다음과 같다.https://wiki.ros.org/ROS/Tutorials/WritingServiceClient%28python%29오늘도 우리의 패키지 beginner
다시 한번 C++ 패키지로 서비스를 만들어보자.참고한 링크는 다음과 같다.https://cafe.naver.com/openrt/3044이것 역시 저번에 생성한 oroca_ros_tutorials 패키지를 그대로 사용하도록 하자. 다만 CMakeLists.txt
이번에는 ROS Noetic에서 시스템 종속성을 관리하는 방법에 대해서 알아볼 것이다. 참고한 링크는 다음과 같다.https://wiki.ros.org/ROS/Tutorials/rosdepROS Noetic에서 ROS 패키지를 실행하기 위해 필요한 패키지 의존
이번 포스팅에서는 ROS의 매개변수(parameter, 파라미터) 프로그래밍에 대해서 공부해보자. 참고한 링크는 다음과 같다.https://cafe.naver.com/openrt/3111우선 매개변수가 뭔지부터 다시 복습하자.💡 매개변수(parameter)
이번에는 ROS에서 snap을 공부하고, 사용하는 법에 대해서 익혀보자.참고한 링크는 다음과 같다.https://wiki.ros.org/ROS/Tutorials/Packaging%20your%20ROS%20project%20as%20a%20snap💡 sna
이번 포스팅에서는 간단한 토픽을 송수신 하는 패키지를 만들고, 빌드하고, 실행시켜보자. C++ 패키지로 작성하였다.자체 msg를 사용하지 않고, std_msgs를 사용하였기 때문에 message_generation이나 message_runtime과 같은 패키지들을 의존
이번에는 다수의 노드를 한번에 실행시킬 수 있는 launch 프로그래밍에 대해서 알아보자. 참고한 링크는 다음과 같다. https://cafe.naver.com/openrt/3113 https://wiki.ros.org/ROS/Tutorials/Roslaunch%20t
이번 포스팅에서는 지난 포스팅에 이어서, roslaunch 프로그래밍을 조금 더 공부해보자. 이번 포스팅에서 다룰 주제는 launch 파일을 작성할 때 사용하는 태그들에 대한 내용이다. 1. launch 태그 launch 태그는 .launch 파일의 root 태그로