주간 진행 보고서 (5월 5주차)

2019.05.28 (화)


오늘은 앱 데이터베이스 연동 작업과 아두이노 소프트웨어 보조 작업을 진행했다.

우선 아두이노 같은 경우에는 기존에 썼던 코드에 오류가 좀 있어서 수정을 했는데 나중에는 결국 라즈베리파이를 써야 하기 때문에 기본적인 부분만 교체하고 차후 라즈베리파이 파이썬과 연동해서 옴니 카를 움직이도록 할 예정이다.

앱 부분에서는 레이아웃의 일부를 수정하고 메인화면 및 다이얼로그에 필요한 변수들과 데이터베이스 내의 값들을 연결하는 작업을 했다.

앱 내 전체 데이터 확인 화면을 위한 커스텀 리스트를 만들어 두었는데 각 튜플마다 들어갈 데이터 값들의 정렬이 약간 바닥으로 붙은 것 같은 느낌이 들어 가운데 정렬을 시켜주기 위해 레이아웃 일부를 수정하였고 위치 정보 같은 경우도 내용이 너무 길 경우 잘려서 나오는 현상을 발견하여 해당 열의 폭을 증가시켰다.

또, 메인 아이피 주소 및 포트 정보 표시 구간과 아이피 정보 변경 다이얼로그에 대한 부분을 데이터베이스와 연결시켰다.

데이터베이스에 아이피 정보 값이 저장되어 있는 경우 아이피 정보 변경 다이얼로그에서 이미 저장된 주소 값을 표시하도록 하였고 이는 아이피 정보 변경 시 수정이 용이하도록 한 작업이었다.

추가로, 아이피 정보 변경 다이얼로그에서 메인 아이피 정보, 카메라 아이피 정보, 포트 번호를 입력하지 않는 경우의 예외처리를 일부 수정하기도 했다.



2019.05.29 (수)


기존 환경설정 다이얼로그의 데이터 저장 주기 공간에는 특정 숫자와 초, 분을 선택할 수 있는 라디오 버튼이 있었고 원하는 경우 커스텀 값을 입력할 수 있도록 해두었는데 데이터베이스 연동 간 고려해야 할 사항이 너무 많아서 간단한 방식으로 설정되도록 전체 레이아웃을 수정했다.

또, 데이터 관리 화면 전체 데이터 확인 화면의 텍스트 형태 일부 수정, 자이로스코프 센서 이용 방식 화면의 기본 레이아웃 구성 등을 진행했다.

환경설정 다이얼로그의 데이터 저장 주기에 대한 자세한 내용을 살펴보면 기존에는 1, 5, 10 그리고 직접 시간을 고를 수 있는 라디오 버튼 그룹 하나와 초, 분을 선택할 수 있는 라디오 그룹이 따로 존재했다.

그런데 이렇게 분리해 놓은 상태에서 데이터베이스와 연결을 시키려고 하니 조건문이 너무 많아지기도 하고 직접 입력한 숫자와도 구분을 해야 하는 경우가 생겨서 모든 기본 경우의 수는 삭제하고 직접 숫자를 정할 수 있는 EditText와 초, 분 라디오 버튼만을 남겨두었다.

이를 위해 Java와 xml 코드 전체를 수정하였고, EditText 값을 int로 변환하는 과정에서 생긴 예외처리까지 해결하였다.

3개로 줄이긴 했지만 예외처리 해야 할 내용이 상당히 많았다.

데이터 관리 화면과 전체 데이터 확인 화면에서는 데이터가 존재하지 않은 경우를 위해 리스트뷰 표시 제외 기능을 넣었고 차후 데이터가 들어가게 되면 커스텀 리스트뷰 형태로 다시 표시할 예정이다.



2019.05.30 (목)


이제 본격적으로 조립할 부품에 대한 세부적인 구상을 시작했다.

가장 먼저 옴니 휠을 장착할 베이스의 크기를 측정해야 했는데 기존에 사용하던 옴니 휠보다 지름으로 2~3배 정도 더 큰 바퀴를 장착하려고 계획하고 있기 때문에 베이스의 크기도 훨씬 크게 조정을 했다.

옴니 휠에 새로운 모터를 장착하고 전압을 인가하여 바퀴 작동 테스트를 해보았는데 바퀴가 큰 데다 모터와 바퀴가 맞물리는 부분이 생각보다 얇고 약해서 덜덜거리는 현상이 있었다.

그 부분은 새로운 모터 브라켓을 구입하여 보완할 예정이다.

기본적인 베이스 크기는 30 x 30cm로 정하고 각 모서리마다 56.39㎠ 만큼 잘라내기로 했다.

이 모양은 마름모이면서 정사각형 형태이고 기존 옴니 휠 베이스에 있던 모양과 유사하게 잘라서 움직이는 동안 걸림이 최대한 없도록 만들 예정이다.

실질적으로 라즈베리파이와 모터 드라이버 등이 장착되는 위치는 아직 정하지 못했는데 전체적인 무게 중심을 고려해서 가상으로 먼저 배치하고 필요한 서포터 부품들을 선택할 예정이다.

모터와 딱 맞는 모터 브라켓을 찾는 것도 쉬운 일은 아니었고 일단 어떻게 배치할지부터 생각한 이후에 각 부품에 필요한 크기와 서포터 제품을 찾아보도록 해야겠다.



2019.05.31 (금)


오늘은 어제 구상한 내용을 일러스트레이터를 이용하여 그대로 디자인해보았다.

문서의 크기와 실제 부품 크기를 비율에 따라 비교하면서 배치하였고 몇몇 부품을 이용하여 실제 크기의 나무판자에 대본 결과 큰 차이가 없었다.

30 x 30cm로 베이스를 정해놓았더니 생각보다 남는 공간이 많아서 정가운데 부분으로 부품들을 밀착시켜둔다면 선들이 겉으로 지저분하게 보이지는 않을 것이라 생각한다.

배터리, GPS 센서, 자이로 센서는 아직 결정하지 않았기 때문에 해당 부품들이 들어갈 공간까지 계산해서 마무리하면 될 것 같다.

그림상으로만 배치하는 것이어도 무게 중심을 잡는 것이 중요한 관건이라 생각해서 팀원들과 고민하는 데 시간이 꽤 걸렸다.

우선 라즈베리파이, L298N 센서, PWM 제어 모듈, 미세먼지 센서, 온/습도 센서는 바퀴가 달려있는 부분으로 배치하였고, 장애물 확인을 위한 초음파 센서는 바퀴와 바퀴 사이의 대각선 모서리마다 부착하도록 했다.

실질적으로 움푹 파인 대각선 모서리 부분이 앞, 뒤, 좌, 우로 이동하는 방향이기 때문에 위치상 적절한 것 같다.

팔 부착을 위한 2층 플레이트 사이의 높이까지 최종적으로 확인하고나서 서포터 부품을 찾아 연결할 계획이다.

마지막으로 모터가 생각보다 너무 무거워서 아크릴 판으로 하게 되면 조금 버겁지 않을까 싶기도 해서 나무판자나 조금 더 두꺼운 판으로 해야 하지 않을까 하는 생각도 든다.

Author

Alec J

Posted on

2019-05-31

Updated on

2021-02-09

Licensed under