본문 바로가기

자율주행배달로봇10

[젯슨나노 프로젝트]자율 주행 배달 로봇 Selly(10)_인도보행 및 장애물 인식 우리 멋진 팀원님께서 내가 여러 실패를 겪는동안 vision처리를 멋지게 해내주었다. 우선 우리는 교내에서 주행하는 배달로봇을 목표로 하고 있기 때문에, 인도 주행 로봇을 만들기로 결정했었다. AI Hub에서 제공하는 인도 보행 데이터셋을 이용하여 인도 Segmentation을 진행하였고, UNet, PSPNet, ICNet 등의 여러 모델을 사용하고 학습하였다. 나는 그냥 옆에서 이 모델들이 뭔지 열심히 논문을 읽었다ㅎ... 그런데 뭔가 성능이 다 조금씩 맘에 안 들어서 우리 멋진 팀원님께서 새 모델을 만들어버렸다ㅋㅋㅋㅋ 멋져. 이름은 PSPUNet이고, PSPNet이랑 UNet을 섞었다 한다. 사진은 멋진 팀원님 깃허브에서 발췌. 이렇게해서 인도 보행을 위한 인도 segmentation이 완성! 그 .. 2020. 5. 12.
[젯슨나노 프로젝트]자율 주행 배달 로봇 Selly(9)_openVSLAM과 cartographer의 실패 openVSLAM 오픈소스 for visual SLAM(카메라 기반)과 cartographer 구글 오픈소스 for SLAM(라이다 기반)이 모두 실패하면서 나의 지난 한 달 반이 사라져버렸다...ㅠㅠ 슬램이 자율주행에 핵심 기술인걸로 알고 있는데... 실외에서 잘 작동하지를 않는다는 것이 문제이다. visual SLAM의 경우에는 비쥬얼 슬램 자체가 feature point를 잡아서 feature point 개수의 변화&거리 변화로 mapping을 하는 기술인 것 같은데(어떻게 mapping하는지는 정확히는 모르겠다. feature point를 이용하는 것만 알겠음.), 알다시피 feature point는 천장, 바닥, 벽면 같은 plane에서는 절대 detection 되지 않으니까... 참고로 ope.. 2020. 5. 12.
[젯슨나노 프로젝트]자율 주행 배달 로봇 Selly(8)_visual SLAM 테스트 우리 팀은 자율주행에 있어서 딥러닝 기반의 이미지 처리를 핵심 아이디어로 가져와 프로젝트를 진행하고 있다. SLAM 관련 논문을 읽던 중, 기술 이름만 알고 있던 visual SLAM 기술에 대해 자세히 알게 되었고, vision 기술을 중시하는 우리 프로젝트의 특성상 visual SLAM을 사용하는 것이 좋겠다고 생각했다 visual SLAM은 SLAM에 비해서 최근에 연구되는 기술이라 오픈소스가 많이 없고 정보가 없어서 애먹었다. 그 중 xdspacelab에서 visual SLAM 기술을 연구하고 오픈소스로 제공하고 있다. https://arxiv.org/pdf/1910.01122.pdf (논문) https://github.com/xdspacelab/openvslam xdspacelab/openvsl.. 2020. 5. 12.
[젯슨나노 프로젝트]자율 주행 배달 로봇 Selly(7)_Cartographer SLAM 개발 환경 : ubuntu 18.04, ROS melodic 사용한 센서 : zed 카메라(zed2), ydliar x4 사용하는 카메라 센서에서 odometry와 imu topic도 publish하기 때문에, 위 센서 데이터를 사용했다. cartographer docs에 따르면 2d SLAM에서는 imu data는 있어도 그만 없어도 그만이라는 것 같아서 우선 odometry 토픽만 사용했다. cartographer 구동을 위해 필요한 odometry 데이터는 odom이라는 토픽으로 subscribe된다. rostopic list -p를 통해 zed 카메라에서 퍼블리싱하는 모든 ros 토픽은 zed2/zed_node/topic의 형태로 이루어져 있음을 확인하고 published topic을 remap했.. 2020. 5. 12.
[젯슨나노 프로젝트]자율 주행 배달 로봇 Selly(6)_로봇 프레임 기초작업 지난 한 달 간 이번 자율주행 배달 로봇 프로젝트를 진행하며 예상치 못한 난관에 부딪혔다. 다름 아닌 하드웨어 제작 부분에서이다. 팀원 모두 정교한 하드웨어 설계 경험은 없지만 사실상 자율주행은 소프트웨어가 대부분의 역할을 차지하기 때문에 크게 신경 쓰지 않았었다. ? 억 단위? ...................................?? ...이에 우리 팀은 로봇 하드웨어를 직접 제작하기에 이른다. 시장 조사 - 구로 중앙유통단지 우선 사용하기로 결정한 디바이스 마트의 부품들은 다음과 같다. http://www.devicemart.co.kr/main/index 이 외에도 대부분의 하드웨어 부품은 모두 위의 디바이스마트에서 구매했다. 그런데 타이어 상세 정보에 정확한 타이어 크기(타이어 두께)가 .. 2020. 5. 11.
[젯슨나노 프로젝트]자율 주행 배달 로봇 Selly(5)_SLAM 테스트 자율 주행 기술에서 빠지지 않고 등장하는 기술에 SLAM 기술이 있다. 자율 주행을 위해서는 로봇 스스로가 위치를 추정(navigation)할 수 있어야 하는데, 이를 위해 지도를 작성(mapping)하는 과정에서 사용되는 기술이다. SLAM : Simultaneous Localization And Mapping SLAM이란 이름에서 알 수 있듯 자율 주행에 필수적인 스스로 위치 추정을 할 수 있게 도와주는 기술이다. 초기 상태에서 주행하며 얻은 정보를 바탕으로 자신이 주행하는 공간에 대한 지도를 그린 후 다음 주행에서는 내장된 지도를 이용하여 자신의 위치에 대한 추정을 도와주는 기술이라 할 수 있다. ​ https://google-cartographer-ros.readthedocs.io/en/lates.. 2020. 5. 11.