Dev record/ROS
-
문제 상황 rosbag record를 이용해서 topic들을 로깅하는데 위와같이 버퍼 문제로 로깅이 제대로 되지 않는 경우가 종종 발생하였다. 특히 외부 장비에서 로깅을 진행할 경우 ethernet 통신을 하다 보니 버퍼 사이즈가 자동적으로 줄어들어 토픽이 제대로 레코딩 되지 않고 일정한 간격으로 로깅되지 않고 특정 영역에서 뭉치는 현상이 발생하였다. 해결 방안 1. 최대 bandwidth 사용 완변한 방법은 아니지만 bandwidth를 최대로 늘려 로깅을 할 경우 어느정도 개선이 있었다. 기존 rosbag record 명령어에 -b 옵션을 통해 버퍼사이즈를 늘린다. rosbag record -b # 최대 bandwidht_size 사용하기 rosbag record -b 0 2. 동일 머신에서 레코딩하기..
[ROS] rosbag 최대 bandwidth로 로깅 하기문제 상황 rosbag record를 이용해서 topic들을 로깅하는데 위와같이 버퍼 문제로 로깅이 제대로 되지 않는 경우가 종종 발생하였다. 특히 외부 장비에서 로깅을 진행할 경우 ethernet 통신을 하다 보니 버퍼 사이즈가 자동적으로 줄어들어 토픽이 제대로 레코딩 되지 않고 일정한 간격으로 로깅되지 않고 특정 영역에서 뭉치는 현상이 발생하였다. 해결 방안 1. 최대 bandwidth 사용 완변한 방법은 아니지만 bandwidth를 최대로 늘려 로깅을 할 경우 어느정도 개선이 있었다. 기존 rosbag record 명령어에 -b 옵션을 통해 버퍼사이즈를 늘린다. rosbag record -b # 최대 bandwidht_size 사용하기 rosbag record -b 0 2. 동일 머신에서 레코딩하기..
2023.01.18 -
문제 상황 ROS 를 사용하다 보면서 매번 topic을 고르고 rostopic hz, rostopic bw 를 명령어를 입력하고 여러 토픽들을 매번 확인하는게 불편했다. 예를 들어 이렇게 카메라만 5대, 라이다 2대인 경우 매번 해당 토픽들이 잘 들어오는지 확인하려면 이렇게 매 토픽마다 rostopic hz, rostopic bw 최소 2번을 명령어를 입력해야한다. 거기에 topic 수가 많아지면 진짜 귀찮아 진다. 해결 방안 기존의 rostopic 명령어가 python 기반으로 짜인 코드라 기존 코드를 수정해서 yaml 파일에 원하는 topic들만 넣어 한번에 확인 할 수 있게 코드를 정리했다. 우선 처음 실행할 경우 어떤 topic들을 확인할 지 정하기 위해 rostopic list를 이용해 현재 나..
[ROS] topic hz, bandwidth 한번에 확인하기문제 상황 ROS 를 사용하다 보면서 매번 topic을 고르고 rostopic hz, rostopic bw 를 명령어를 입력하고 여러 토픽들을 매번 확인하는게 불편했다. 예를 들어 이렇게 카메라만 5대, 라이다 2대인 경우 매번 해당 토픽들이 잘 들어오는지 확인하려면 이렇게 매 토픽마다 rostopic hz, rostopic bw 최소 2번을 명령어를 입력해야한다. 거기에 topic 수가 많아지면 진짜 귀찮아 진다. 해결 방안 기존의 rostopic 명령어가 python 기반으로 짜인 코드라 기존 코드를 수정해서 yaml 파일에 원하는 topic들만 넣어 한번에 확인 할 수 있게 코드를 정리했다. 우선 처음 실행할 경우 어떤 topic들을 확인할 지 정하기 위해 rostopic list를 이용해 현재 나..
2023.01.16 -
문제 상황 ROS에서 bag file 을 play 했을 시 다음과 같은 문제가 발생했다. Is /clock being published? 해결 방안 해당 문제는 bag file을 play 할 때 /clock이 없어서 토픽을 확인 할 수 없는 경우로 --clock 옵션을 rosbag play에 사용하면 해결된다. rosbag play --clock ex) rosbag play --l --clock /home/eddy/harddisk_2/dataset/huskybot/0110_rkt_bag/lidar_calib_2023-01-10-13-54-51.bag --l option은 loop 기능으로 bag file을 반복적으로 실행 할 때 사용한다.
[ROS] Is /clock being published?문제 상황 ROS에서 bag file 을 play 했을 시 다음과 같은 문제가 발생했다. Is /clock being published? 해결 방안 해당 문제는 bag file을 play 할 때 /clock이 없어서 토픽을 확인 할 수 없는 경우로 --clock 옵션을 rosbag play에 사용하면 해결된다. rosbag play --clock ex) rosbag play --l --clock /home/eddy/harddisk_2/dataset/huskybot/0110_rkt_bag/lidar_calib_2023-01-10-13-54-51.bag --l option은 loop 기능으로 bag file을 반복적으로 실행 할 때 사용한다.
2023.01.11 -
문제 상황 GNSS 로 받은 topic을 사용하려고 하는데 다음과 같은 오류 코드가 발생하였다. Cannot load message class for [novatel_oem7_msgs/INSPVA]. Are your messages built? 해결 방안 해당 topic을 받을 수 있게 INSPCA 에서 제공하는 패키지를 설치한다. sudo apt install ros-melodic-novatel-oem7-driver apt-get update --fix-missing rosotpic echo {topic_name} 으로 토픽을 subscribe 할 수 있게 된다. reference https://github.com/novatel/novatel_oem7_driver
[ROS] Cannot load message class for [novatel_oem7_msgs/INSPVA]. Are your messages built?문제 상황 GNSS 로 받은 topic을 사용하려고 하는데 다음과 같은 오류 코드가 발생하였다. Cannot load message class for [novatel_oem7_msgs/INSPVA]. Are your messages built? 해결 방안 해당 topic을 받을 수 있게 INSPCA 에서 제공하는 패키지를 설치한다. sudo apt install ros-melodic-novatel-oem7-driver apt-get update --fix-missing rosotpic echo {topic_name} 으로 토픽을 subscribe 할 수 있게 된다. reference https://github.com/novatel/novatel_oem7_driver
2023.01.10 -
문제 상황 rosinstall_generator: command not found 위와같은 오류가 발생하였을 경우 다음과 같이 rosinstall generator를 설치한다. 해결 방안 apt-get install python-rosinstall-generator
[ROS] rosinstall_generator: command not found문제 상황 rosinstall_generator: command not found 위와같은 오류가 발생하였을 경우 다음과 같이 rosinstall generator를 설치한다. 해결 방안 apt-get install python-rosinstall-generator
2023.01.09 -
문제 상황 ros 1 melodic 버전에서 python3 에서 사용하는 tf2를 사용하려고 할때 발생한다. 이는 catkin_make에서 발생하며 python3를 사용하는 환경에서 tf2 사용하는 부분만 따로 설치를 해주는 식으로 bulid를 해야한다. 해결 방안 python 3.8을 사용하는 경우 다음과 같은 방식으로 catkin_make를 진행한다. sudo apt update sudo apt install python3-catkin-pkg-modules python3-rospkg-modules python3-empy mkdir -p ~/catkin_ws/src; cd ~/catkin_ws catkin_make source devel/setup.bash wstool init wstool set -y..
[ROS] ImportError: dynamic module does not define module export function (PyInit__tf2)문제 상황 ros 1 melodic 버전에서 python3 에서 사용하는 tf2를 사용하려고 할때 발생한다. 이는 catkin_make에서 발생하며 python3를 사용하는 환경에서 tf2 사용하는 부분만 따로 설치를 해주는 식으로 bulid를 해야한다. 해결 방안 python 3.8을 사용하는 경우 다음과 같은 방식으로 catkin_make를 진행한다. sudo apt update sudo apt install python3-catkin-pkg-modules python3-rospkg-modules python3-empy mkdir -p ~/catkin_ws/src; cd ~/catkin_ws catkin_make source devel/setup.bash wstool init wstool set -y..
2023.01.09