[ROS1] C++ 패키지 관련 오류 정리
오류 정리 ROS2 python만 써왔더니 ROS1 C++은 다른 세계... CMakeList 관련해서 우여곡절이 좀 있어서 정리. 계속해서 적용해 나갈 예정.. 1. 커스텀 메세지 적용 내 폴더에 msg를 만드는 방법이 가장 간편하지만 관련된 커스텀 메세지를 하나의 패키지에 묶어두는게 속편하다. GVINS의 경우 gnss_comm이라는 메세지 패키지가 따로 존재했다. 메세지 패키지를 catkin_make하면 local 시스템의 ROS에 등록이 되니까 의존성만 잘 기입 해주면 된다. 본인이 만든 패키지의 CMakeLists.txt를 gedit으로 열어준다. 중요한 것은 왠만하면 spacebar를 쓰자. 괜히 Tab키 썼다가 오류날 수 있음. find_package 괄호 안에 커스텀 메세지 패키지 이름을 ..
2024.01.31
ROS
[ROS] VINS-Mono_Melodic Build
Problem VINS-Mono를 Docker를 이용하여 Kinetic 버전에서 빌드를 했다. 하지만 그래픽 카드 문제인지 하루를 갈아넣어도 해결되지 않는 디스플레이 문제 때문에 Melodic으로 빌드를 시도했다. libGL관련 오류였는데, docker-nvidia2를 사용을 해도... 구글에 나온 방법을 다 시도해봐도 되지 않는걸 우째하리..(CLI에서 nvidia-docker를 사용..) 연구실에 있는 데스크탑 에서는 GPU가 없이 CPU만으로 잘만 디스플레이 되던데, 그래서 이건 내 노트북의 GPU(3070ti)문제라고 생각했다. 아무래도 최신 그래픽카드이다보니 ubuntu 18.04를 설치했을때도 디스플레이 문제때문에 20.04를 쓰고있긴 했다. 거두절미하고 Docker ros-melodic을 받..
2023.10.22
ROS
no image
[ROS1] VINS-Mono 진행하며 얻은 점
Compressed 이미지 CLI에서 변환하기 rosrun image_transport republish compressed in:=camera/color/image/ raw out:=cam0/image_raw 자체적으로 만든 compresseed image to raw image 노드에서 TimeStamp를 누락시켜서 삽질을 했다. grep으로 토픽에서 "sec"를 뽑아 시간이 잘 퍼블리시 되고 있는지 확인한다. rostopic echo /cam0/image_raw | grep "sec" 이미지 사이즈를 항상 확인해준다. rqt에 들어가서 이미지뷰로 들어간담에 저장버튼을 누른다. 이후 이미지의 속성에서 픽셀값 확인. Docker관련 항상 Commit하는 습관을 들일 것. Github와 CI되는지 확인 ..
2023.10.19
ROS
[Docker] docker : You don't have enough free space in /var/cache/apt/archives/.
빈 터미널에 입력 sudo docker container prune sudo docker image prune sudo docker volume prune
2023.10.16
ROS
[NAV2] AMCL 파라미터
AMCL Monte Carlo Localization 알고리즘을 기반하여 로봇의 위치 추정 라이다센서의 데이터를 사용하여 로봇의 위치를 추정. 라이다 파티클로 주변의 장애물에 대한 거리 및 방향정보로 위치를 추정. 파티클 필터는 가상 파티클을 만들어 위치 확률 분포를 추정. 현재의 센서 데이터와 비교해서 가장 일치하는 파티클로 로봇의 위치를 추정. AMCL Parameter alpha1: 로봇의 회전 운동 모델에 대한 노이즈. 로봇이 회전할 때 예측 오차. 값이 높을수록 노이즈 큼. alpha2: 로봇의 직진 운동 모델이 대한 노이즈. 로봇이 직진할 때 예측 오차. 값이 높을수록 노이즈 큼. alpha3: 로봇의 회전 운동 모델에 대한 노이즈. 로봇이 회전할 때 측정된 회전량에 대한 오차. 값이 클수록 ..
2023.05.18
ROS
[matlab] Ubuntu에서 Matlab Add-on 설치시 권한 오류 해결법
원인 보통 /usr 하위에 있는 matlab 실행파일을 실행하게 된다. Matlab은 Add-on을 설치할 때 모든 창을 종료하고 인스톨러를 실행한다. 이럴경우 인스톨러가 정상적으로 실행되지 않으며 /usr 하위목록에 대한 권한 오류가 발생한다. 해결법 이럴때는 sudo ./matlab으로 루트로서 matlab을 실행한다. Sudo 권한으로 실행하면 이전에 세팅해놓은 인터페이스나 모든게 디폴트 상태일 것이다. 놀라지 말고 설치하려던 Add-on을 Install해주면 된다. Sudo권한으로 실행한 Matlab이나 그냥 사용자로 실행한 Matlab이나 Add-on은 공유되기 때문에 위 방법이 통한다.
2023.05.04
no image
[ROS2]DeclareLaunchArgument와 LaunchConfiguration의 차이점
Launch 파일에서 DeclareLaunchArgument와 LaunchConfiguration의 사용에 있어서 차이점이 궁금했다. DeclareLaunchArgument CLI에서 Launch파일을 실행할 때 인수를 지정 가능하다. 즉 외부에서 Launch파일의 인수에 접근이 가능한 것이다.gui_arg = DeclareLaunchArgument( name='gui', default_value='True' ) default_value에 기본값을 지정해주어 Launch파일 실행 시 따로 변수를 입력해주지 않아도 되게끔 한다. 만약 default_value를 주석처리하고 코드를 실행해보면 변수가 없으므로 오류가 발생하며 직접 CLI에서 입력해주어야 한다. 주석처리 시 발생하는 오류는 다음과 같다.Runt..
2023.03.15
no image
[ROS2] SetuptoolsDeprecationWarning
개발 환경 ROS2 Foxy Ubuntu 20.04 LTS 문제 상황 --- stderr: data_export /usr/local/lib/python3.8/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( --- 아무래도 타 패키지의 파이썬 라이브러리를 설치하는 과정에서 무언갈 잘못 건드린 것 같다. 패키지를 빌드할 때, ROS2가 직접적으로 setup.py 를 불러오는 과정에서 생기는 이슈라고 한다. setup tools version이 파..
2022.08.04
no image
[ROS2]파이썬 패키지가 없다고 뜰 때(python packages not found)
Package '[package_name]' not found 대부분 하기 파일의 오타가 원인이 된다. 사소한 오타나 들여쓰기 실수만으로 패키지가 인식이 되지 않는다. 본인이 실수했던 부분을 나열해본다. [직접 경험한 오타 및 수정내용] 1. package.xml 의존성 기입을 하였지만 ' / ' 를 빼먹었다. ex) Adafruit_DHT (X) Adafruit_DHT (O) 2. setup.py entry_points 부분의 들여쓰기가 잘못되었다. ex)'console_scripts': [ 'dht_pub = dht_sensor.dht_pub:main'
2022.07.30