2023.10.10 데브코스 15일차😊
초음파 센서 ROS 패키지 제작, RVIZ에서 모터와 라이다, imu 센서를 통합하는 강의를 들었다.
초음파 센서는 아두이노와 연결되기 때문에 Arduino IDE를 설치하고 구현하는데 조금 어려웠다...ㅎㅎ 그래도 오늘은 구현하는 과정에서 오류가 많이 나지 않았고 오류가 나도 수정하는데 오래걸리지 않았다!! ROS에 많이 적응한 것 같다👍
내일 드디어 첫 오프라인이다! 팀원들과 자이카를 만날 수 있다는 사실에 조금 설렌다..🥰 며칠동안 강의로 만난 자이카를 가지고 빨리 실습해보고 싶다. 사실 막막한 마음도 크지만 해보는 것밖에는 방법이 없기 때문에 빨리 해보고 싶다!!
📝 배운 내용
초음파 센서 ROS 패키지
- 초음파 센서 -> 아두이노 (아두이노 펌웨어) -> 리눅스 ROS
- ROS 소스코드에서 port로 연결하고 마지막에 시리얼 포트를 꼭 닫아야한다!
RVIZ에서 모터와 센서 통합하기
- 8자 주행을 하는 자이카에 라이다 센서와 IMU 센서의 뷰어를 통합
- 즉, 3D 모델링 된 차가 8자 주행을 하면서 주변 장애물까지의 거리값을 Range로 표시하고 IMU 센싱 값에 따라 차체가 기울어진다
장애물 회피 주행 (라이다, 초음파)
- 장애물이 있으면 정지, 없으면 주행
- 장애물이 있으면 후진 -> 방향 조절 -> 전진
- 두 가지 경우를 생각하여 구현
- 1번의 경우 간단하게 구현하였지만 2번의 경우는 구현하지 못하였다. 방향 각도의 크기, 시간을 어떻게 고려해야할지 어렴풋이 알겠지만 구현하는 것은 실제 센서와 자이카가 필요할 것 같았다.
😵어려웠던 점
RVIZ에서 모터와 센서 통합하기
- 처음부터 다 구현하는 것은 아니고 지금까지 구현한 파일들을 활용하여 통합하는 실습
- 사용되는 파일이 너무 많고, 그 파일들이 어떤 역할을 하는지, 토픽이 어디서 발행되고 어디로 전달되는지 헷갈렸다.
- 필요한 파일들을 하나씩 확인하며 수행하는 일, sub_topic, pub_topic, 토픽의 type 등을 정리하니 전반적인 흐름이 이해되었다.
- 아직 여전히 odometry 부분은 어려웠다. imu에서 받은 데이터와 8자 주행할 때의 joint_states 토픽을 모두 활용하여 odom 토픽을 발행하는 부분이 가장 어려웠다.