센서 및 액추에이터 실행
ROS에서 bringup은 로봇을 실제로 동작할 수 있는 상태로 기동하는 과정을 의미합니다. 선박의 각 센서와 액추에이터는 모두 독립적인 노드 형태의 드라이버를 통해 제어되며, 이러한 노드를 한 번에 실행할 수 있도록 bringup launch 파일을 제공합니다.
정보
일부 명령은 선박에서, 일부 명령은 PC에서 실행합니다. 각 명령마다 실행 위치를 표시하였으니 올바른 위치에서 명령을 실행합니다. 선박의 원격 접속은 선박 원격 접속 문서를 참고합니다.
선박에서 실행
$ # 선박에서 실행하는 명령입니다.
PC에서 실행
$ # PC에서 실행하는 명령입니다.
열려 있는 터미널의 프롬프트를 확인하면 원격 연결 여부를 확인할 수 있습니다.
ubuntu@mechaship-076pm9:~$ # <- mechaship-xxxxxx 형태로 표시된다면 선박에 연결된 상태
ubuntu@ubuntu:~$ # <- 그 외인 경우 PC
Bringup 실행
선박에 원격으로 접속한 후 launch 명령을 입력합니다.
선박에서 실행
$ ros2 launch mechaship_bringup mechaship_bringup.launch.py
정보
명령을 실행하면 센서와 모듈이 부팅되며 많은 로그가 화면에 표시됩니다.
ERROR가 아닌 메시지는 대부분 정상 로그입니다.
ublox_gps_node에서 발생하는 아래와 같은 메시지는 GPS 센서의 상태에 따라 표시될 수 있습니다. 특히 부팅 후 처음 bringup을 실행하는 경우 자주 발생하지만, 정상 동작이므로 무시해도 됩니다.

노드, 토픽 확인
bringup을 실행한 후 PC에서 토픽이 정상적으로 수신되는지 확인합니다.
rqt_graph 확인
PC에서 실행
$ rqt_graph

토픽 리스트 확인
PC에서 실행
$ ros2 topic list
/actuator/key/degree
/actuator/rgbwled/color
/actuator/thruster/percentage
/actuator/tone/play
/camera_info
/gps/diagnostics
/gps/fix
/gps/fix_velocity
/image_raw
/image_raw/compressed
/image_raw/compressedDepth
/image_raw/theora
/image_raw/zstd
/imu
/joint_states
/mag
/parameter_events
/point_cloud
/robot_description
/rosout
/scan
/sensor/battery/voltage
/sensor/emo/status
/system/ip_address_report
/temperature
/tf
/tf_static
/ydlidar_ros2_driver_node/transition_event
토픽 수신 테스트
PC에서 실행
$ ros2 topic echo /imu --once
header:
stamp:
sec: 1783405523
nanosec: 690613888
frame_id: imu_link
orientation:
x: -0.0006065228186339312
y: -0.002317840495527518
z: -0.5671113628414514
w: 0.8236376399130989
orientation_covariance:
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
angular_velocity:
x: 0.0010652644360316951
y: 0.0
z: 0.0
angular_velocity_covariance:
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
linear_acceleration:
x: 0.033518823242187495
y: 0.0047884033203125
z: 9.835380419921874
linear_acceleration_covariance:
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
---