Autonomous Robotics Club SNU ZERO

December 2016 – August 2018

Founder & Software Team Leader

* Advisor: Professor Kyongsu Yi (SNU Vehicle Dynamics & Control Lab.) and Professor Seong-Woo Kim (Assistant Professor of SNU Graduate School of Engineering Practice)

* Participated in KATRI International Student Autonomous Drive Competition (2017 & 2018)

Foundation & 2017 Autonomous Drive Competition

In 2017, KATRI opened a new Autonomous Drive session in their International Student Car Competition. The competition provided each participating team with a testing vehicle platform. This was the best opportunity for me to develop and evaluate an entire self-driving system by myself. My colleagues and I decided to participate in the contest, and we founded the Autonomous Robotics Club “SNU ZERO” (the name Zero means that we aim at the future of zero driver). Professor Kyungsu Yi, who is in charge of Vehicle Dynamics and Control Lab at SNU, became our advisor.

I took charge of the software team, which consisted of three members – Dongwan Kim, JoonSeo Lee, and me. Before receiving our testing vehicle, we explored and studied the components of an autonomous driving system, such as path planning, lane estimation, and obstacle detection. My two focuses during this preliminary study were methods of combining these components together to build the entire system architecture and developing a robust lane estimation system which was the core part of the contest. The other two members took charge of the lane detection based on computer vision, and obstacle detection based on 2D Lidar perception.

After receiving our vehicle in late March, we only had two months before the contest. I built the system based on LabView because it was easy to integrate our components and visualize our data. Below is an overview of the system architecture that we built.

2017_Architecture

vi
Part of our Labview Code.

I designed the ego lane estimation system with a Kalman Filter so that the system could handle noisy data from processed camera images. The image below is a brief summary of the state and measurement models, using geometric relations between the lane and the ego vehicle.

Zero

I also built a pure pursuit based PID controller for the vehicle to track the planned path.
Finally, at the contest, the vehicle was able to pass through the track without a single lane departure. However, our logic failed in many obstacle-based missions. This was mainly because our obstacle avoidance logic was based on case-structured logic. Therefore, we realized the importance of the path planner being capable of dealing with obstacles in various configurations.

28795726_241931096378521_592413729719582720_o

Here are some pictures of the 2017 Autonomous Drive Competition:

IMG_20170409_161017
Calculating camera homography with fixed grid configuration.
IMG_20170517_214254
Fabrication of vehicle body with FRP. (hardware team members)
IMG_20170507_154229
Testing our mission logic in our workshop.
IMG_20170520_165334
Riding our vehicle after the contest.

2017 Autorace with Turtlebot 3

During the Fall semester of 2017, Dongwan Kim, Joonseo Lee, and Yoonkyung Cho participated in the 2017 Autorace with Turtlebot 3. During this time, I was doing a research internship at Naver Labs Robotics Group.

2018 Autonomous Drive Competition

This year, I participated in the same competition because I wanted to accomplish making a robust obstacle avoidance system, which we had failed in the last contest. Dongwan Kim, Yoonkyung Cho, and I were the only original members left, so we recruited new members.

From January to March, Dongwan Kim and I spent time educating new members about Robotics Operating System (ROS) and the basics of a self-driving system. From March, after receiving our vehicle, we started preparing for the competition. This year, Sung-Gyun Kim, Junho Kim, and Soohan Kim also participated in developing the software. Also, we got rid of LabView and built our system with ROS.

Dongwan improved his lane perception system, removing many false positive lane-marking detections. Also, he deployed convolutional neural networks for road sign detection.

I succeeded in implementing a path planner capable of passing through obstacles in various configurations. The path planner was based on a Hybrid A* Algorithm. You can see the detailed explanation of this system here.

KakaoTalk_20181106_033746275
Testing our logic on a road of SNU campus.

During the contest, we succeeded in all obstacle-based missions. The results can be found in this video. Here are some pictures of the 2018 Autonomous Drive Competition:

29217023_244113659493598_3327475395170664448_n
– Me and Dongwan explaining our code from last year.
29197238_244113686160262_598667700318765056_n
Me explaining grid map.
29214676_244113632826934_8282479688828321792_n
Software team meeting: code review and discussion.
KakaoTalk_20181015_022825334
Debugging our system on a test road.
KakaoTalk_20181111_043256982
Junho Kim riding the vehicle in autonomous mode.
KakaoTalk_20181106_033758367
2018 Team Members – (From left top to clockwise) Me, Dongwan Kim, Jung-hyuk Lee, Yoonkyung Cho (club president), Sung-Gyun Kim, Junho Kim, and Soohan Kim.

Summer Vacation Group Study

After the competition ended, we recruited new members to join our club.

During summer vacation, I led a group study with all members of our club. The purpose of the study was threefold: 1) to educate new members on the basics of self-driving, from theories to tools, 2) to better understand how to implement and utilize core components of a self-driving system, and 3) to explore recent status quo and trends in academia.

The study consisted of two sessions: 1) team projects and 2) paper review.

First, we aimed at learning the fundamentals of three main components of self-driving technology – vision-based perception, Simultaneous Localization and Mapping (SLAM), and path planning. Each of our members was assigned to one of the three teams investigating a specific topic. I led the SLAM team.

The vision team studied classic computer vision algorithms utilized in mobile robots for exterior environments, stereo vision, and deep learning basics. The SLAM team studied basic probabilistic approaches in robotics such as the Kalman Filter, Particle Filter, and Occupancy Grid Map. Also, we studied fundamental SLAM algorithms including EKF-SLAM, Fast SLAM and Graph-based SLAM. Finally, the path-planning team studied various algorithm groups of path-planning for autonomous vehicles, such as graph search, sampling, and optimization. They later extended their investigation and studied characteristics of recent RRT-based path planners.

Presentations of Computer Vision team, Path Planning team, and SLAM team respectively.

For the paper review session, I randomly picked three members and assigned each a paper. Papers topics ranged from the deep learning related to autonomous driving, to localization and SLAM, and even to path planning.

Soohan Kim and Taek-Rim Kim giving presentations about the papers they reviewed. 

For the final project, each team aimed to implement some algorithms that may be useful for next year’s competition. Firstly, the vision team implemented a 3D reconstruction algorithm with stereo-vision. Secondly, the SLAM team implemented Fast SLAM and Occupancy Grid Map with a Turtlebot3 robot. Last but not least, the Path Planning team implemented RRT*-Smart. Each team presented the result to Professor Seong-woo Kim, our co-advisor.

KakaoTalk_20181015_023102311

After this study, I retired from the club activity, entrusting responsibility to junior members who I am confident will do a great job in preparing for next year’s competition. Through activities in ZERO – from its foundation and contest participation to the education of juniors – I myself could extend my expertise in self-driving technology, as well as the capability of team leading, project management, and education. Most importantly, I feel proud to have motivated and helped many juniors gain interest and learn the fundamental of Autonomous Driving.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s