본문 바로가기

전체 글23

ROS2 cpp 커스텀 메세지 및 서비스 작성 (custom msgs & srv) ㅇ배경 ros2에 편리한 내장 메세지나 서비스가 많지만 개발을 하다보면 커스텀 메세지나 서비스를 작성해야 한다. rosidl generator 덕분에 빌드 한 번하면 build 파일 내에 파이썬 ,C++ 버전의 메세지 클래스, 헤더파일이 생성된다. 예제 cd ~/dev_ws ros2 pkg create --build-type ament_cmake my_msgs my_msgs라는 패키지를 만들고 하위 폴더로 msg와 srv를 만든다. . ├── CMakeLists.txt ├── include │ └── my_msgs ├── msg ├── package.xml ├── src └── srv msg 폴더 안에 아래와 같은 내용의 파일을 작성한다. 확장자는 .msg int64 num srv 폴더 안에는 아래와 같.. 2024. 4. 7.
[ubuntu] 우분투 버전 확인하는 법(예제와 명령어) lsb_release -a $ lsb_release -a #No LSB modules are available. #Distributor ID:Ubuntu #Description:Ubuntu 20.04.6 LTS #Release:20.04 #Codename:focal lsb_release 유틸은 리눅스 배포에 대한 LSB(Linux Standard Base)를 표시한다. 비단 우분투 뿐만 아니라 리눅스에서 현 기기의 배포가 뭔지 알고 싶을때 쓰면 된다. lsb_release -d #Description:Ubuntu 20.04.6 LTS 위에 -d 옵션을 붙이면 description만을 출력한다. 보통 나는 이렇게 확인하고 아래 방법은 거의 안쓴다... 찾아보니 있어서 써본다. hostnamectl $ ho.. 2024. 4. 5.
[ubuntu] 우분투 ip 확인하는 세 가지 방법 $ ifconfig 가장 쉽고 일반적으로 쓰인다. ifconfig가 설치되어 있지 않으면 command not found 에러가 뜰 것이다. 그럴 때는 아래의 커맨드로 net-tools패키지를 설치해주자 $ sudo apt install net-tools ip addr $ ip addr 네트워크 인터페이스와 ip주소의 바인딩 상태도 알 수 있다. hostname -I $ hostname -I 내가 젤 많이 쓰는 방법이다. 현 호스트기기가 쓰고 있는 아이피만 깔끔하게 딱 떠서 좋다. 2024. 4. 5.
[백준][브루트포스] 2798번 : 블랙 잭(C++) https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 풀이 #include #include #include using namespace std; int main(){ int n,m; int i{0},sum{0},tmp{100000},result{0}; cin >> n >> m; vector vec(n,0); vector checker(n,true); for(;i> vec[i]; for(i=0;i= sum){ tmp =.. 2024. 4. 5.