.. Cover Letter

ㅇ 프로젝트/TEAM_실내외배송로봇

6. 터틀봇 4도 포기하게 되었다. / 핑크봇을 위한 맵을 만들었다.

BrainKimDu 2023. 3. 6. 01:33

도큐먼트를 아무리 따라해도 SLAM이 안되는 문제가 있었다.
 
당장 문제는 
robot_description 토픽을 발행하지 않아서 
아무리 해도 Rviz에서 터틀봇을 띄울 수가 없었다.
 
이전에 사용한 사람 때문과의 설정차이때문에 문제가 생긴거 아닐까?
그러니까 bashrc에 들어가야할 어떤 소스코드 하나를 삭제했다거나 하는 문제가 아닐까 하는 생각이였다.
 
그래서 도큐먼트 상에서 터틀봇4용 라즈베리파이의 이미지 파일을 구할 수 있었고
분해방법은 다음과 같았다.

우선 육각렌치로 위의 4개의 나사를 풀어준다.
그리고나서 원판을 들어내고 
기둥을 풀면 다음처럼 위에 기판이 들리게 된다.

 
라즈베리파이가 보이며 손을 잘이용하여 SD카드를 분리한다.
SD카드를 분리하고 도큐먼트에서 시키는대로 터틀봇4를 초기화했다.
 
 
초기화하고 Ros topic list를 명령하니
robot_description 토픽을 쏜다. 
그래서 Rviz 상에서 터틀봇도 띄워보고

와!! 해결했다 하는 것도 잠시
SLAM 이 안된다...
 
 
SLAM용 코드를 아무리 넣어도 Rviz에 Map이 로딩이 안된다.
분명 Topic으로는 Map Topic이 발행되고 있는데, 로딩이 안된다.
 
문제가 무엇일까하고 여기서 하루를 날린다.
그때 옆팀의 터틀봇4를 성공적으로 구동시킨 동기분이 오셔서 

ros2 launch turtlebot4_bringup standard.launch.py

이 launch 파일을 한 번 실행해보는게 어떠냐? 이게 터틀봇의 모든 센서를 실행하는 코드다.
 
오?? 그럼뭔가 될거 같습니다. 하고 바로 실행시켰다.
Rviz에 SLAM이 되는 것이 아니던가..
 
와... 하고 해결했다 하고 좋다고 있었는데
 
"ㅇㅇ님 라이다가 이상한데요?"
"네??"

어??
RPLidar도 뭔가 이상하고 

(추가 : 해당 오류는 라이다의 고장이 아닙니다. 라이다의 설정값의 문제로 2D 라이다의 측정 부분이 360도 범위가 실제에서 360도와 맞지 않을때 발생한다고 합니다. 쉽게 이야기하면 싱크가 안맞는다?)
 

프로세스도 죽고 난리가 났다.
 
결국 나포함 터틀봇을 시도했던 팀원들은 모두 멘탈이 나갔고
터틀봇은 포기하는 것으로 결정이 났다.
문제는 이번주 월화수는 수업이라 프로젝트 진행이 불가능하고, 목요일에 해결을 해도 당장 2주가 남은 시점에서 할 수가 없다.
 
대신 다행히도? 터틀봇의 구동부인 Create 3는 쓸 수 있어서 

이런식으로 노트북을 올리고 노트북에서 카메라를 통해서 SLAM을 하는 것으로 하였다.
 
 


이제 핑크봇으로 넘어와서 강의실을 옮기면서 상당히 넓어졌고
맵을 만들게 되었다.
실제 로봇과 연동하기 (tistory.com)

 

실제 로봇과 연동하기

이거 실습하면서 작성한거라 글이 이상해서 수정할 예정입니다만 바빠서.. https://github.com/byeongkyu/pinklab_minibot_robot_firmware/blob/main/arduino_motor_controller/arduino_motor_controller.ino GitHub - byeongkyu/pinklab_minib

kimbrain.tistory.com

 
이를 활용해서 SLAM도 진행하고 이제 Nav2를 이용해서 목적지를 보내는 과정에서 생긴 문제는 파라미터 수정에 관한 내용이였다.
 

collision 관련 파라미터 문제로 벽의 범위가 엄청나게 늘어난 상황
이를 위해 논문하나를 봐야하는 상황입니다.
 
 
그리고 추가적으로 발생한 문제는 

잘가던 놈이 갑자기 이상해졌다.

 
네트워크 문제는 아닌 것으로 보이는데, 이를 어캐 해야할지 참 난감해졌다.
주변에 물어보니 나만 이런 것이 아니라고 한다.
 
해결법을 찾아야할 것으로 보인다..