build error 관련 문의 > Module_Forum

본문 바로가기
사이트 내 전체검색

Module_Forum

build error 관련 문의

페이지 정보

profile_image
작성자 하아진
댓글 2건 조회 417회 작성일 23-11-15 18:49

본문

구매한 Sensor:MW-AHRSV2

사용 환경: 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에서 작동시킬 순 없나요?

댓글목록

profile_image

하아진님의 댓글

하아진 작성일

우선 문제는 해결한 것 같습니다.

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까지 성공하였고, 로봇을 작동시켜보겠습니다!

profile_image

최고관리자님의 댓글

최고관리자 작성일

안녕하세요.

foxy 버전까지 테스트를 완료한 상태라서 별도의 지원이 어렵습니다.

별도로 도움이 필요하신 내용이 있으시면 회신 드리도록 하겠습니다.

회원로그인

회원가입