2021SpringTeam8
Team Members
Kennan Gonzales (MAE)
McKinley Souder (ECE)
Cade Wohltman (MAE)
Project Overview
UCSD has access to plenty of robots with autonomous capabilities however, a lot of them are sitting in a lab waiting to be used. Our team aims to implement a ROS package that would allow all of those robots to be of use even when people aren't in the immediate vicinity. To alleviate this issue a room would be setup with a camera such that an individual could log into one of UCSD's robots, deploy their programming package, and when they were done using it our ROS package would launch. Our ROS packaged intends to autonomously navigate itself to a designated location marked with an AprilTag.
Functional Requirements
- Make use of an Ackermann Steering RC car
- A camera with at least 30 FPS
- An RPLidar for collision prevention
- A SBC for data processing
- A PWM for both the servo and stepper motor
Hardware Design
Baseplate
Donkey/ROSRacer Camera Mount Assembly
The camera mounting assembly was designed with the ability to adjust the height and angle of the camera to get the best possible position of the track. This design not only allowed for different camera position configurations but also prioritized protection of the camera in the event of a collision. In fact, the mount was able to survive a full speed collision with a wall and the only part that suffered any damage was the acrylic base plate. The only disadvantage to this design was the time that it took to print the components (~ 10 hrs).
Lidar Mount
Assembly
Electrical Design
Components
- LiPo Battery
- Battery Monitor
- Stepper Motor (Throttle)
- Servo Motor (Steering)
- Electronic Speed Controller
- USB Camera
- RPLidar
- 12V - 5V Buck Converter
- Jetson Nano
- Relay Module & Key Fob
- LED
- PWM (16 Channels)
Software Design
McKinley
Dependencies
Results
Future Plans & Improvements
The team originally planned on using the hector_slam ROS package to map out the environment with the RPLidar. Then the car could instantly localize itself in the room using a combination of AprilTags and ScanMatcher packages. This would have allowed the navigation stack in rviz to be used for setting goal positions and path planning. However, there were some issues integrating the AprilTag and RPLidar transforms together in the rviz environment. Due to time constraints the team decided to use