Gazebo
에서 plugin
으로 구현해서 시뮬레이션 할때, ray
혹은 gpu_ray
를 사용한다.gpu_ray
만 사용하면 segmentation fault
가 발생하면서 시뮬레이션이 터졌다.gpu_ray
는 renderer를 활용한다고 어디서 줏어 들어서 처음에는 NVIDIA 드라피버나 GPU 사용 설정, OpenGL 등이 문제라고 생각했는데…Gazebo
버전이 너무 낮아서 안되었던 것 같다…Gazebo
버전 업그레이드… (ft. gpu_ray segmentation fault 해결)Gazebo
에서 gpu_ray
플러그인 사용 시, segmenation fault 에러 발생GDB
로 backtrace 해보니 해당 부분에서 에러 발생 gazebo::sensors::GpuRaySensor::UpdateImpl(bool) ()
gpu_ray
의 소스 코드를 직접 들여다 보았으나 그냥 CPU 버전의 ray
와 큰 차이 못 느낌…Gazebo
버전 확인은 터미널에서 gzclient
혹은 gzserver
입력후 tab으로 자동 완성해보면 알수있다. 기본으로 ROS-melodic
에 깔리는 버전은 9.0.0인데 9.19.0 이상이 되어야 gpu_ray
사용 시에 문제가 없었다.$ sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
$ cat /etc/apt/sources.list.d/gazebo-stable.list
$ wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get upgrade