MW-AHRS-X1 ROS
페이지 정보

본문
사용 환경:ROS-humble, ubuntu 22.04
안녕하십니까 mw-ahrs-x1 IMU를 사용하고 있습니다.
ros-foxy 버전을 지원하는것으로 매뉴얼에 표시되어있는데
ros-humble, ubuntu22.04 버전에서도 지원하는지 알고싶습니다.
만약 humble에서도 사용할수 있다면 방법또한 알고싶습니다. 감사합니다
- 이전글MW-AHRS V2 오차범위 25.10.01
- 다음글MW-AHRS V2 GUI프로그램 이상 문의 25.09.25
댓글목록

최고관리자님의 댓글
최고관리자 작성일
안녕하세요.
아이디어 로봇입니다.
아래 git에서 사용하시는 PC의 CPU에 맞는 lib 파일을 사용하시면 ubuntu 22.04에서 사용하실 수 있습니다.
https://github.com/ntrexlab/2th_NtrexAHRS_lib_ROS.git
또한 동일한 git에 있는 ros2 패키지에서
launch/stella_ahrs_launch.py 코드의
driver_node = LifecycleNode(package='stella_ahrs',
node_executable='stella_ahrs_node',
node_name='stella_ahrs_node',
output='screen',
emulate_tty=True,
node_namespace='/',
)
위 부분에서 아래처럼 node_를 제거하시고
driver_node = LifecycleNode(package='stella_ahrs',
executable='stella_ahrs_node',
name='stella_ahrs_node',
output='screen',
emulate_tty=True,
namespace='/',
)
mw/mw_ahrs.cpp 코드에서
if (res)
{
this->declare_parameter("linear_acceleration_stddev");
this->declare_parameter("angular_velocity_stddev");
this->declare_parameter("magnetic_field_stddev");
this->declare_parameter("orientation_stddev");
위 부분에서 아래처럼 기본값을 추가하여 주시면
if (res)
{
this->declare_parameter("linear_acceleration_stddev", 0.0);
this->declare_parameter("angular_velocity_stddev", 0.0);
this->declare_parameter("magnetic_field_stddev", 0.0);
this->declare_parameter("orientation_stddev", 0.0);
humble에서도 사용하실 수 있습니다.

아정말다있네님의 댓글의 댓글
아정말다있네 작성일
해당 방법으로 시도해보았습니다.
첫 빌드시 해당 오류가 발생하였습니다.
thy@thy-LINUX:~/ros2_ws$ colcon build
[0.395s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/thy/ros2_ws/install/stella_ahrs' in the environment variable AMENT_PREFIX_PATH doesn't exist
[0.395s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/thy/ros2_ws/install/robstride02' in the environment variable AMENT_PREFIX_PATH doesn't exist
[0.395s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/thy/ros2_ws/install/ebimu_pkg' in the environment variable AMENT_PREFIX_PATH doesn't exist
[0.395s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/thy/ros2_ws/install/stella_ahrs' in the environment variable CMAKE_PREFIX_PATH doesn't exist
Starting >>> ebimu_pkg
Starting >>> robstride02
Starting >>> stella_ahrs
Finished <<< robstride02 [1.90s]
Finished <<< ebimu_pkg [1.95s]
--- stderr: stella_ahrs
/home/thy/ros2_ws/src/PC_AHRS_ROS2/stella_ahrs/serial/list_ports_linux.cc: In function ‘std::vector<std::__cxx11::basic_string<char> > glob(const std::vector<std::__cxx11::basic_string<char> >&)’:
/home/thy/ros2_ws/src/PC_AHRS_ROS2/stella_ahrs/serial/list_ports_linux.cc:66:40: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
66 | for(int path_index = 0; path_index < glob_results.gl_pathc; path_index++)
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/home/thy/ros2_ws/src/PC_AHRS_ROS2/stella_ahrs/serial/list_ports_linux.cc:57:9: warning: variable ‘glob_retval’ set but not used [-Wunused-but-set-variable]
57 | int glob_retval = glob(patterns[0].c_str(), 0, NULL, &glob_results);
| ^~~~~~~~~~~
/home/thy/ros2_ws/src/PC_AHRS_ROS2/stella_ahrs/serial/list_ports_linux.cc: In function ‘std::string format(const char*, ...)’:
/home/thy/ros2_ws/src/PC_AHRS_ROS2/stella_ahrs/serial/list_ports_linux.cc:246:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
246 | else if( return_value >= buffer_size_bytes )
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/home/thy/ros2_ws/src/PC_AHRS_ROS2/stella_ahrs/src/listener.cpp: In function ‘int main(int, char**)’:
/home/thy/ros2_ws/src/PC_AHRS_ROS2/stella_ahrs/src/listener.cpp:7:18: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
7 | char *port = "/dev/ttyUSB0";
| ^~~~~~~~~~~~~~
In file included from /home/thy/ros2_ws/src/PC_AHRS_ROS2/stella_ahrs/src/listener.cpp:1:
/home/thy/ros2_ws/src/PC_AHRS_ROS2/stella_ahrs/include/mw/mw_ahrs.hpp: At global scope:
/home/thy/ros2_ws/src/PC_AHRS_ROS2/stella_ahrs/include/mw/mw_ahrs.hpp:40:14: warning: ‘mag_value’ defined but not used [-Wunused-variable]
40 | mag_value[3] = {
| ^~~~~~~~~
/home/thy/ros2_ws/src/PC_AHRS_ROS2/stella_ahrs/include/mw/mw_ahrs.hpp:37:14: warning: ‘deg_value’ defined but not used [-Wunused-variable]
37 | deg_value[3] = {
| ^~~~~~~~~
/home/thy/ros2_ws/src/PC_AHRS_ROS2/stella_ahrs/include/mw/mw_ahrs.hpp:34:14: warning: ‘gyr_value’ defined but not used [-Wunused-variable]
34 | gyr_value[3] = {
| ^~~~~~~~~
/home/thy/ros2_ws/src/PC_AHRS_ROS2/stella_ahrs/include/mw/mw_ahrs.hpp:31:14: warning: ‘acc_value’ defined but not used [-Wunused-variable]
31 | static float acc_value[3] = {
| ^~~~~~~~~
---
Finished <<< stella_ahrs [9.74s]
Summary: 3 packages finished [10.1s]
1 package had stderr output: stella_ahrs
또한 런치파일 실행시 해당 오류가 발생하였습니다.
thy@thy-LINUX:~/ros2_ws$ ros2 launch stella_ahrs stella_ahrs_launch.py
[INFO] [launch]: All log files can be found below /home/thy/.ros/log/2025-09-30-16-34-51-724393-thy-LINUX-12502
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [stella_ahrs_node-1]: process started with pid [12513]
[stella_ahrs_node-1] [INFO] [1759217696.978528996] [stella_ahrs_node]: product_id : 5011
[stella_ahrs_node-1]
[stella_ahrs_node-1] [INFO] [1759217696.978752233] [stella_ahrs_node]: software_ver : 500
[stella_ahrs_node-1]
[stella_ahrs_node-1] [INFO] [1759217696.978793537] [stella_ahrs_node]: hardware_ver : 400
[stella_ahrs_node-1]
[stella_ahrs_node-1] [INFO] [1759217696.978805927] [stella_ahrs_node]: function_ver : 15
[stella_ahrs_node-1]
[stella_ahrs_node-1] Set Error : [33], [07] index mismatch
[stella_ahrs_node-1] [INFO] [1759217701.121924247] [stella_ahrs_node]: MW-AHRS ROS Init Fail

최고관리자님의 댓글의 댓글
최고관리자 작성일ttps://github.com/ntrexlab/2th_NtrexAHRS_lib_ROS.git 이 git 리포지토리에 있는 패키지를 사용해 주세요.

아정말다있네님의 댓글의 댓글
아정말다있네 작성일네, 해당 패키지를 사용했는데 해당 오류가 발생합니다.

최고관리자님의 댓글의 댓글
최고관리자 작성일
오류가 난 패키지는 PC_AHRS_ROS2 로 확인 됩니다.
2th_NtrexAHRS_lib_ROS 패키지로 부탁드립니다.

아정말다있네님의 댓글의 댓글
아정말다있네 작성일해당 패키지로 진행하였습니다. 똑같은 오류가 발생합니다

최고관리자님의 댓글
최고관리자 작성일
2th_NtrexAHRS_lib_ROS에 있던 패키지를 PC_AHRS_ROS2로 이동하여 colcon build 실행하셨다는 말씀이시죠?
[stella_ahrs_node-1] Set Error : [33], [07] index mismatch 에러가 발생하는 경우 아래 공지의 해결 방법으로 해결된 적이 있습니다.
https://idea.synology.me/bbs/board.php?bo_table=forum&wr_id=38
적용하여 확인 부탁 드립니다.
