※ 본 게시물은 프로그래머스 신승렬 강사님의 자율주행 sw특강을 들으며 정리한 자료입니다.
< 기존 로봇 개발 방식과 한계 >
- 하드웨어 설계, 제어부터 제어기, 비전, 네비게이션 등 모든 것을 개발해야함
- API마다의 interface가 다르고, 적용하는데 학습이 필요함 ( 예를 들면, 음성인식api, 얼굴인식api 등...)
- 하드웨어에 의존적인 소프트웨어적 성격때문에 로봇이 달라지면 소프트웨어 또한 수정이 필요함
- 소프트웨어를 작성하는데 하드웨어에 대한 지식이 필요함
- 디버깅을 하기 위해 디버깅 틀을 작성하거나 디버깅 API코드를 삽입해야함
- OS에 의존적이어서 변경이 어렵거나 불가능함.
- 멀티 PC, 로봇을 구성하는 경우 통신구축, 검증에 많은 시간을 소비해야함.
< 로봇 소프트웨어 플랫폼의 필요성 >
- 하드웨어 인터페이스의 통합
- 하드웨어 추상화-규격화-모듈화
- 가격은 down, 성능은 up
- 하드웨어, 미들웨어(os), 소프트웨어로 분리
- 사용자 수요에 맞는 서비스에 집중
- 사용자의 증가 > 피드백 반영 > 개선 > 사용자의 증가 = 생태계 형성
< ROS >
- 장점: 활성화된 커뮤니티, 오픈소스
- 단점: 네트워크 의존성이 높음, 보장되지 않는 실시간성, 임베디드 시스템에서 사용하기 어려움, 리눅스 위주의 개발과 패키지의 공개 등..
ROS2는 윈도우, 리눅스, 맥에서도 사용가능하다, 마이크로 ROS도 나와서 경량회된 모델도 있음
< 시뮬레이션의 필요성 >
- 시각화 & 디버깅 ( Field Of View: 시야각도 설정 가능하다. )
- 실패도 빠르게, 배우는 건 더 빠르게
- 실제 로봇 제작에 대한 시간 & 비용 - 배터리, 센서 사양 등등,..
- 개발 시간 단축 - 현장 작업 시간 최소화
- (트러블) 센서위치, pc, 어떻게 달고 이런거 열심히 작업하는 동안 설계랑 전장이 시간을 더 가져가서 제어개발팀은 사실상 시간이 없음 => 그 시간동안에 활용하면 좋을게 시뮬레이션이다. ㅋㅋㅋㅋ아 카이할때 이렇게 시간 아낄걸,,.,
'자율주행 > 실습' 카테고리의 다른 글
RVIZ에서 Mapping 과정 시각화 하기 (0) | 2024.01.26 |
---|---|
[Gazebo] (0) | 2024.01.12 |