본문 바로가기

전체 글23

ROS2 cpp 파라미터 선언 및 코드 내 활용(2) - yaml 파일 활용하기 지난 예제코드(https://robocoder.tistory.com/7)에 이어서 설명한다. 타이머 두개로 하나는 파라미터를 읽고, 하나는 출력하는 예제이다. #include "rclcpp/rclcpp.hpp" class myParamNode : public rclcpp::Node { public: myParamNode() : Node("param_node") { RCLCPP_INFO(this->get_logger(), "param_node의 기본생성자"); timer1_ = this->create_wall_timer(std::chrono::milliseconds(200), std::bind(&myParamNode::timerCallBack,this)); timer2_ = this->create_wall.. 2024. 3. 5.
C++ 아스키아트(ASCII art) 코드에 넣기 코딩을 하다보면 프로그램 시작 시 또는 종료 시에 밋밋한 문구말고 멋진 이벤트를 넣고싶을때가 있다. 이럴 때 문구를 아스키아트로 출력하면 겉멋을 낼 수 있다. (뭔가 박혀있으면 코딩 잘해보이는... ㅋㅋㅋㅋ) 우선 아래의 ASCII art generator로 이동한다. 아래의 링크가 아니라도 ASCII art generator로 구글에 입력하면 생성기를 쉽게 찾을 수 있다. How? https://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20 Text to ASCII Art Generator (TAAG) patorjk.com 텍스트를 위쪽 빈칸에 쳐넣고 font에서 원하는 폰트를 고르면 위와 같이 생성된다. test all을 .. 2024. 3. 5.
ROS2 cpp 파라미터 선언 및 코드 내 활용(1) parameter란? node의 시작 시, 또는 작동 시의 값을 구성(configure)할 때 쓰인다. 코드를 바꾸지 않으면서. 파라미터의 lifetime은 노드의 lifetime에 종속된다. (당연히 파일, 코드등에 저장하고 쓰는방법은 있지만) 각 파라미터는 key값과 value로 이뤄져있다. key값은 string 이고 value는 다음 아래 중 하나이다. bool, int64, float64, string, byte[], bool[], int64[], float64[] or string[] 전역적인 상수로써의 역할을 하고 코드로써, 커맨드로써 값을 실시간으로 바꿀수 있다. 공홈 설명(https://docs.ros.org/en/foxy/Concepts/About-ROS-2-Parameters.html.. 2024. 2. 24.
ROS2 cpp 패키지 만들기 환경 : 우분투 20.04 + ROS2 foxy + CPP ROS2 패키지를 쌩으로 하나 만들고 싶을 때 어떻게 하는 지를 서술한다. + CMakelist.txt, package.xml 파일의 내용을 살펴본다. 1. 워크스페이스 만들기 아래 명령어로 ws를 만들고 colcon build 실행한다. 워크스페이스 이름은 자유다. $ mkdir -p ~/my_ros2_ws/src && cd ~/my_ros2_ws/ && colcon build tree 로 폴더 구조를 보면 아래와 같은 구조다. 굳이 확인 안해봐도 된다. $tree . ├── build │ └── COLCON_IGNORE ├── install │ ├── COLCON_IGNORE │ ├── local_setup.bash │ ├── local_se.. 2024. 2. 19.