
Are you getting started with the Penn State Advanced Vehicle Team? This webpage will guide you through various online resources new members can use to learn. Begin exploring our team’s commonly used technical resources to enhance your productivity as a team member!
This guide is an introduction to several resources used by the PSU AVT and industry including:
This list is not exhaustive but introduces the tools we use at the PSU AVT to new members who may want to gain hands-on experience with them in the future.

Robot Operating System (ROS)
Getting started with any robotics project can be a seemingly overwhelming task. Luckily, Robot Operating System or ROS is an open-source set of libraries meant to help you build robot applications. From visualizing sensor data to implementing control algorithms, ROS has a plethora of prebuilt state-of-the-art algorithms with a large community of developers. ROS support includes tutorial videos, forums, and documentation pages.
ROS 2, the newest version of ROS, facilitates communication between PSU AVT’s advanced autonomous driving algorithms. Whether new or experienced using ROS, the Penn State Advanced Vehicle Team is a good opportunity to refine these software skills on an industry-focused project.
Tips
Downloading ROS: See the “Getting Started” tab to learn how to download and run ROS on your computer. Note that the ROS installation requires either a Linux or Windows OS.
Working as a ROS Developer: Select the “Community” tab to learn more about the ROS community and affiliated organizations. Developer help is provided through the ROS Package Documentation, Robotics Stack Exchange, and ROS Discourse Forum.

OpenCV
Computer vision is a central part of cutting-edge robotics and autonomous vehicle projects. OpenCV is the largest open-source computer vision library meant to help programmers build and implement their algorithms. Like ROS, OpenCV has a large community of developers and researchers contributing to the project.
OpenCV is crucial to the Advanced Vehicle Team’s artificial intelligence and machine learning work. In addition to being a great resource for onboarding new members to computer vision concepts, OpenCV helps the team build software we use on our vehicle. Lane line and object detection are two features of OpenCV implementation used by the PSU AVT.
Tips
Getting Started with OpenCV: Browse the “Library” tab to download the OpenCV library. Search “OpenCV” on YouTube for tutorial videos for building your project. For example, this video promises to teach you how to use OpenCV’s Python library.
Take a free OpenCV course: Under the “Free Courses” tab, developers can find introductory courses to enroll in at no cost. These resources will provide a good foundation for learning to use OpenCV.

Git
Maintaining and storing the code for an autonomous vehicle requires version control. The Git platform is a free and open-source version control manager that enables collaboration among all software developers. Git is the most commonly used version control system for any large software project, with many features and maintainers.
Git is the foundation for the GitLab platform used by the Advanced Vehicle Team to maintain and track changes to our code base. Storing our team’s code on GitLab makes it easy to onboard new software developers to the team every semester. Additional features such as continuous integration and deployment streamline software development by automatically testing our code for bugs and deploying it to the cloud.
Tips
Learning Version Control: Use the ‘About’ and ‘Documentation’ tab on the Git website to learn more about the methodologies and syntax of the version control system. YouTube videos such as Git Tutorial for Absolute Beginners are also good places to get started.
Joining the PSU AVT GitLab Repository: New members must complete all steps under this website’s ‘Joining the Team’ tab before creating an account at git.avt.psu.edu. Once completed, you will be granted GitLab access by team leadership.

SolidWorks
Designing and developing 3D parts for mechanical design requires an easy-to-use modeling platform. Solidworks is an industry-standard computer-aided design (CAD) solution that helps designers, engineers, and businesses to prototype and share 3D designs quickly. The SolidWorks website offers a variety of Support and Community resources for new users.
The Advanced Vehicle Team uses SolidWorks to prototype and manufacture designs that mount to the vehicle. Our team also leverages the tool’s integration with additive manufacturing to print 3D parts. Hardware designed using SolidWorks on and inside the car includes the 3D-printed camera mounts, roof rack fasteners, and our rear rack design. Familiarizing yourself with this tool is important if you want experience in hardware and engineering design.
Free SolidWorks Licenses: All students can access SolidWorks for free using PSU ITS lab computers or downloading it onto their personal computers using this guide from PSU IT.
Hardware Engineering @ PSU AVT: Interested in gaining hands-on experience with hardware design and prototyping? Our Vehicle Systems Department is responsible for all non-stock hardware and electronic design.
Simulink
Simulation is crucial to cutting-edge engineering projects as it imitates systems from the physical world. Simulink is a model-based design block diagram environment extending MATLAB’s capabilities and enabling code design, simulation, and deployment. The Simulink website has a ‘Learn’ tab to onboard new users.
The Advanced Vehicle Team chose Simulink to develop our autonomous vehicle application suite as it has automated driving libraries built in and its model-based design makes it easy to onboard new members. Packages such as the Automated Driving and Computer Vision Toolbox contain pre-built examples and tools extending Simulink’s functionality. Our team leverages these toolboxes and other Simulink features to build a robust simulation suite for our autonomous vehicle.
Downloading Simulink for Free: All Penn State students can access free MATLAB and Simulink licenses through the university. MATLAB must be installed first using this link. Users must then select the ‘Simulink’ package while installing MATLAB or using the Toolbox Manager to access the software after installation.
Learning Simulink: Since Simulink is an extension of the MATLAB software, users must be familiar with both. Consider completing the MATLAB and Simulink Onramp courses to familiarize yourself with the software.

Autoware
Developing autonomous vehicles is challenging and complicated. The Autoware Foundation’s Autoware Project is the ‘world’s leading open-source software project for autonomous driving.’ This software features ROS integration and hosts various GitHub repositories for autonomous driving algorithms. Companies and research groups around the world rely on Autoware’s software. Penn State’s Smart Mobility Lab uses Autoware to pioneer connected and automated vehicle technology research.
Although the Advanced Vehicle Team’s use of Autoware is limited, this resource is valuable to new members learning about automated driving concepts. The same design decisions used to create Autoware’s software stack can be applied to other autonomous driving projects. The Autoware Project can be used effectively by reading its documentation, browsing its various repositories, and applying it to a project such as AVT.
Jumping into the Code: The Autoware Foundation’s GitHub repository can be difficult for new members to navigate. Click on this link to jump into the newest Autoware software stack built for ROS 2.
More about Automated Driving Research: Joining the Advanced Vehicle Team will connect you with research advisors and experiences. Our Applied Research department is responsible for learning from open-source solutions such as Autoware.