환경 설정 동일하게 진행하고, 커맨드도 동일하게 입력했는데 ros2 node가 실행되지 않았다.
꼭 나만 안되지..
그래도 단 한 시간만에 해결 방법을 찾았다!
PX4-Autopilot에서 make 하고 나서 해야하는 파라미터 설정이 있었다.
이게 왜 github에는 안올라가 있는지 모르겠지만 곧 올려봐야지
[Terminal #1]
cd ~/PX4-Autopilot
make px4_sitl_rtps gazebo
# 엔터치면 pxh> 로 바뀜
pxh> micrortps_client stop
pxh> micrortps_client start
# stop, start는 해도 되고 안해도 되는데 보통 한번에 안되기 때문에 재설정하는 겸 해준다.
# 파라미터 설정
pxh> param set COM_RCL_EXCEPT 4
pxh> param set NAV_DLL_ACT 0
pxh> param set NAV_RCL_ACT 0
# 나머지 커맨드는 동일함
항상 QGC를 실행해야 failsafe가 안뜬다.
QGC에서 failsafe를 거의 비활성화하다시피 설정해놔도 되는데, 이건 언제까지나 SITL을 위한 방법이고.. 실제로 필드 테스트 하려면 QGC의 failsafe는 꼭 채널 할당 해줘야하기도 하고, 필드 나갈때 잊어버릴까봐(혹시나 해서) QGC 파라미터 세팅은 변경하지 않았다.
https://docs.px4.io/main/en/advanced_config/parameter_reference.html
이 홈페이지 들어가면 나오는데 대충 훑어보니 command로 failsafe를 비활성화 해준 것이었다.
근데 왜 failsafe가 떴는지는 한번 더 살펴봐야할 것 같다.
필드 나가서 offboard로 멋모르고 코드짜서 돌렸다가 추락하면 마음 아프니깐..
예상 가는 건 가상 조이스틱이나 조종기가 연결되어있지 않아서, ekf2 센서 에러가 첫 화면에 떴었는데(재실행했을때부터는 안떴음) 연결이 안되어서, .. 등이 있을 것 같다.