About me
home
Portfolio
home

6조 10/25 발표

발표자
날짜
2023/10/25
교수님 피드백

1. Gazebo Simulation URDF 셋팅

URDF 셋팅(robot < descriptions < unitree_ros < robots < go1_descriptions < xacro < go1.champ.urdf에 다음파일 복붙)
1.
GPS URDF
코드
2.
Lidar URDF
코드
3.
결과사진

2. Purepursuit을 적용하여 정해진 경로를 따라 로봇 제어

영상
가제보에서 GPS를 받아오는 시간이 느려서 정확한 추종 X
구상한 시스템을 구현하는 정도까지 해볼 예정

3. 앞으로 할 일

시뮬레이션을 이용하여 구상한 시스템 구현
로봇 제어 PC에 이식해 실험

김영준 발표 내용

1. 학식 메뉴 웹스크래핑

초기 설정과 드라이버 초기화

__init__ 메소드에서는 초기 설정을 한다. 웹 드라이버로는 Chrome을 사용하며, 대상 건물 이름과 해당 건물의 탭 ID를 딕셔너리로 저장한다. 또한 현재의 요일과 날짜 정보, 그리고 데이터를 저장할 디렉토리를 설정한다.
init_driver 메소드에서는 Selenium 웹드라이버를 초기화하고, 대학의 학식 페이지에 접근한다. 페이지 로딩을 위해 명시적 대기를 사용한다.

건물과 주간 메뉴 탭 선택

search_building 메소드에서는 각 건물의 탭을 클릭하는 작업을 수행한다. enter_weekly_menu 메소드에서는 주간 메뉴 탭(tab2)을 클릭한다.

메뉴 데이터 추출

extract_meal_data 메소드에서는 주간 메뉴 데이터를 추출한다. 이를 위해 XPATH를 사용하여 테이블의 tbody를 찾은 후, 각 행(tr)과 그 안의 셀(td)을 순회한다. 각 셀에서 메뉴 정보를 추출하고, 정규표현식을 사용하여 불필요한 문자를 제거한다.
clean_text 메소드는 음식 메뉴 데이터에서 필요하지 않은 부가 정보를 제거하여 사용자가 원하는 핵심 정보만을 제공하기 위한 전처리 메소드이다. 구체적으로 다음과 같은 작업을 수행한다:
제공 시간대와 가격 정보를 제거한다.
영어로 된 메뉴명을 제거한다. 단, '코너 A', '코너 B', '코너 C' 등은 유지한다.
원산지 및 칼로리 정보를 제거한다.
이렇게 처리된 데이터는 음성으로 메뉴 목록을 제공할 때 사용자가 필요로 하는 핵심 정보만을 효율적으로 전달할 수 있다.

전처리 전 메뉴 text

“11:30~14:00 (6,000원) 너비아니볶음 neobiani(pork) 두부무국 우엉채조림 숙주나물 소면야채무침 돈,계육:국산/대두:외국산 998kcal/46g”

전처리 후 메뉴 text

너비아니볶음 두부무국 우엉채조림 숙주나물 소면야채무침”

파일 관리 및 데이터 저장

remove_old_files 메소드에서는 이전에 저장된 md 파일을 삭제한다. extract_meal_data_for_md 메소드에서는 수집한 데이터를 표 형태로 Markdown 파일에 저장한다.

실행

run 메소드에서는 위의 모든 메소드를 순차적으로 호출한다. 먼저 웹드라이버를 초기화하고, 이전 파일을 삭제한다. 그리고 각 건물에 대해 주간 메뉴 데이터를 추출하여 md 파일로 저장한다. 마지막으로 웹드라이버를 종료한다.
기존에는 학식 메뉴 데이터를 CSV 파일로 저장하고 있었으나, Langchain을 활용해 서울시립대의 문서를 Language Learning Model (LLM)에 학습시키기 위해 전략을 변경하였다. Langchain의 학습 메커니즘이 주로 텍스트를 중심으로 하고 있기 때문에, 다양한 파일 형식(CSV, PDF, XML 등) 대신에 Markdown 형식으로 파일을 통일시켰다. 이렇게 하여 모든 데이터를 효율적으로 LLM에 학습시킬 수 있게 되었다.

2. 학교 공지사항 웹스크래핑

서울시립대에서 제공하는 REST API를 사용하여 XML 형태의 공지사항 목록을 추출하려 했지만, 학식 메뉴를 스크레이핑한 경험을 바탕으로 더 쉽고 전처리가 필요 없는 웹스크래핑 기술을 활용하는 것으로 변경하였다.
1.
시립대 학생들이 주로 확인하는 '일반 공지'의 공지사항 제목들을 추출한다.
2.
공지사항의 세부 내용까지 제공하는 것은 음성으로 전달한다는 제약을 고려하여 부적절하다고 판단하여 공지사항의 제목만 간략히 소개하는 방향으로 채택하였다. 학생들이 관심을 가지면 직접 시립대 홈페이지를 찾아들어가보는 정도로 안내한다.
3.
공지는 자주 업로드되므로 웹스크래핑도 빈번히 해야 한다.

서울시립대학교 일반 공지 목록의 최신 공지사항들의 제목들을 스크래핑한다.

시립대 공지사항 사이트 https://www.uos.ac.kr/korNotice/list.do?list_id=FA1
추출해야 할 공지사항 제목들
추출하여 markdown에 기록한 10개의 공지사항 제목들

산관학페스티벌 GO1 전시 계획

간단한 음성 명령으로 GO1 로봇이 춤추거나 움직이는 시스템 구현
OK