Recent posts
-
셸 스크립트 작성하기Linux 2024.11.19 00:37
Shebang 지정상단에 shebang(#!, 스크립트를 실행할 셸/인터프리터)을 지정해줘야 한다.지정하지 않았을 경우 기본 셸로 실행된다. 기본 셸은 다음 명령어로 확인할 수 있다.echo $SHELL bash일 경우#!/bin/bash zsh일 경우#!/bin/zshzsh에서만 지원되는 문법을 사용할 경우 상단에 zsh 명시를 해줘야 제대로 실행된다. 주석 처리#을 붙여 나타낸다.e.g.# Installation script for ros2 변수변수 선언일반적으로 일반 변수는 snake_case로, 환경 변수는 SCREAMING_SNAKE_CASE로 쓰는 것 같다.= 전후로 공백이 없어야 한다.e.g.workspace_path="/home/user/catkin_ws" 변수 사용$를 붙여..
-
ROS1, ROS2 동시 사용ROS 2024.11.12 07:17
ROS1이 설치된 상태에서 ROS2를 같이 설치해줘야 하는 경우에 대한 내용이다.설치는 그냥 각각 공식 문서 보고 똑같이 해주면 된다. 단, 소스 코드를 실행하기 전에 각 코드에 맞게 ROS 버전을 적용을 해줘야 하는데,매번 source 시키기 번거로우므로 .bashrc(zshell일 경우 .zshrc) 파일에 스위칭 함수 같은 걸 만들어서 넣어주면 편리하다. e.g. Ubuntu 18.04에 ROS1(melodic)과 ROS2(eloquent)를 설치한 경우# for ros1rosv1() { source /opt/ros/melodic/setup.bash source ~/ros1_ws/devel/setup.bash}# for ros2rosv2() { source /opt/ros/eloquent/..
-
정규표현식 re.sub() - 특정 문자열 교체Python 2023.04.06 07:11
re 파이썬 정규표현식(Regular Expression) 라이브러리 사용 방법 import re re.sub(패턴, 바꿀 문자열, 적용할 문자열) 바꿀 문자열을 ''로 설정함으로써 제거할 수 있다. 숫자를 문자열로 교체 0-9 사이의 문자를 'num'으로 변환한다. >>> s = 'windyday0728!!!' >>> re.sub('[0-9]','num',s) 'windydaynumnumnumnum!!!' 숫자만 제거 0-9 사이의 문자를 ''로 변환함으로써 제거한다. >>> s = 'windyday0728!!!' >>> re.sub('[0-9]','',s) 'windyday!!!' ^의 사용 >>> s = 'windyday0728!!!' >>> re.sub('[0-9]','@',s) # 숫자를 @로 ..
-
udev rules 심볼릭링크 설정 - USB 장치 포트 이름 고정하기Linux 2023.03.01 19:26
udev /dev 디렉터리의 장치 노드를 관리하는 장치 관리자 (userspace /dev) udevadm 장치 제어, 테스트 등에 사용하는 장치 관리 명령어 option : info, control, monitor, test 등 udev rules 설정 장치의 port name을 특정 이름으로 고정시킴으로써 PC 재부팅 혹은 USB 재연결 시 장치 이름이 바뀌는 것을 방지한다. e.g. ttyUSB0 → ttyGPS rules 설정에 필요한 정보 Vendor ID, Product ID (Model ID), Serial number 등 설정 과정 1) ls 명령어를 이용해 /dev 디렉터리 내 tty로 시작하는 장치 목록을 조회한다. $ ls /dev/tty* /dev/tty /dev/tty0 /dev/..
-
ROS gdb, valgrind 디버깅ROS 2023.03.01 15:57
ROS 패키지를 gdb와 valgrind로 디버깅하는 방법에 대해 기록한다.빌드 타입 옵션을 debug로 설정한 상태에서 빌드해야 보다 정확한 위치를 파악할 수 있다.e.g. catkin_make -DCMAKE_BUILD_TYPE=debug rosrun, roslaunch 커맨드 실행 시 옵션으로 붙여주거나, 아예 launch 파일을 수정한 후 실행하는 방법이 있다. 1. roslaunch 커맨드 실행커맨드에 prefix 옵션을 붙여준다.e.g.roslaunch --prefix 'gdb -ex run --args' my_package my_launch.launchroslaunch --prefix 'valgrind' my_package my_launch.launch 2. rosrun 커맨드 실행마찬가지로 ..