build error 관련 문의
페이지 정보
본문
사용 환경: ubuntu 22.04 ros2 humble
개발 언어: python
안녕하세요. AHRS colcon build가 되지 않는 문제로 문의 드립니다.
이전에 20.04 foxy를 사용했을 때 라이브러리를 MW_AHRS_arm64.a로 변경하여 build가 되지 않는 문제는 해결했었습니다.
근데 22.04 humble로 넘어가서 사용하려고 모든 라이브러리 즉,
MW_AHRS_aarch64.a, MW_AHRS_amd64.a, MW_AHRS_arm64.a, MW_AHRS_armv7l.a를 사용해봤지만, 모두 빌드 에러가 발생하였습니다.
빌드 에러의 내용은 간단하게 다음과 같습니다.
error: no matching function for call to ‘ntrex::MwAhrsRosDriver::declare_parameter(const char [19])’
56 | this->declare_parameter("orientation_stddev");
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
혹시 우분투 22.04 혹은 humble에서 작동시킬 순 없나요?
- 이전글MW-AHRSV1를 이용하여 Pixhawk 외부 imu로 이용하기 23.11.16
- 다음글MW-AHRSV2 단자문의 23.11.10
댓글목록
하아진님의 댓글
하아진 작성일
우선 문제는 해결한 것 같습니다.
1. mw_ahrs.cpp의 내용을 조금 수정하였습니다.
declare_parmeter 부분에서 config.yaml의 내용을 불러오지 못하거나 humble에서는 직접 입력해줘야 하는 것 같습니다.
따라서 아래와 같이 직접 파라미터들을 추가했습니다.
this->declare_parameter("linear_acceleration_stddev", 0.02);
this->declare_parameter("angular_velocity_stddev", 0.01);
this->declare_parameter("magnetic_field_stddev", 0.00000327486);
this->declare_parameter("orientation_stddev", 0.00125);
그리고 라이브러리는 MW_AHRS_arm64.a를 사용하였습니다.
위 과정으로 build에 성공하였습니다.
2. launch 파일의 driver_node에서 문제가 발생했습니다.
- LIfecycleNode 부분의 인자 설정에서 문제가 발생했는데, foxy에서 되었던 것으로 보아 ros2의 문제는 아니고 humble에서 안되는 것 같습니다.
driver_node = LifecycleNode(package='stella_ahrs',
executable='stella_ahrs_node',
name='stella_ahrs_node',
output='screen',
emulate_tty=True,
namespace='/',
)
위처럼 node_executable이 아닌, 모두 node_를 제거하는 방향으로 수정하였습니다.
일단 위 방법으로 launch까지 성공하였고, 로봇을 작동시켜보겠습니다!
최고관리자님의 댓글
최고관리자 작성일
안녕하세요.
foxy 버전까지 테스트를 완료한 상태라서 별도의 지원이 어렵습니다.
별도로 도움이 필요하신 내용이 있으시면 회신 드리도록 하겠습니다.