Autonomous/Remote Control Mecanum Wheel Tesla Roadster in real-world

Published:

Advisor: Prof. Scott Boskovich




Brief: This project is, actually, 12-month long, and I did everything by myself. I am really proud of this project and I hope you also enjoy it while reading through my stories!

In the Spring of 2022, I began my research with Dr. Scott Boskovich about researching and building a prototype of a Tesla Roadster with full functions, then implementing the mecanum wheels (omnidirectional wheels) on it to examine the potential of replacing the current wheel to push the potential of electric cars into smart cars. What if, in the future, humans use a system of intelligent vehicles that can communicate with each other and run-on autopilot? Then the mecanum wheel has a huge advantage in this system for using less space for rotating, changing lanes, and saving space. And when it comes to developing smart cars, my top choice is Tesla electric cars since they are optimized for this case. I designed my project based on the Tesla car’s structure so everyone can have a realistic look at this project in practice.

Role: Robotics Researcher

Process

I began my project by sketching my idea of the car model that I would use for this project. As this project was my senior project, it had time constraint that I had to finish by deadline, so it is important to know which features were important for the goal of the research.
It all started from here

After many considerations, I started my project officially. I took measurements, did calculations, designed, manufactured, and assembled my first systems of mecanum wheels at home.
I designed, 3D printed and assembled mecanum wheel at home

Then, the next step was making sure that the electronics would work as expected. For this project, I used Arduino Microcontroller to control a system of 4 stepper motors.
Stepper motor testing

Here is the very first version of the chassis, just a simple version for movement tests and saving printing time.
Chassis version 1

I would like my car to be functioning as a normal car, so I added some decorations such as light signal, head lights, turning driving wheel when the vehicle turns, and windshield wiper. I also intended to make opening doors and hood.
Almost real time light signal, driving wheel, windshield wiper

Now, it's time for real testing, and the motor and movement mechanism actually worked. They were just noisy.
Wired Control test

Nobody wants to hold a cable behind a car, neither do I. So of course, I developed remote control systems to replaced the wired control.
Electronics diagrams

I had some troubles with the NRF24L01 modules but yet it was solved, by debugging code and adding a ceramic capacitor right next to each of the radio modules to reduce the noisy signal.
Wireless Control test

A new problem came up. The current chassis was too weak and it bent inward, preventing the wheels from touching the ground and reduced friction to move. For a mecanum wheel, that was a serious problem. So I redesigned the chassis, and added some new features to hold the battery and board neatly. This structure also strengthen the overall structure. I also learned that printing with triangle infill would give the 3D printed part one of the sturdiest structure inside.
Chassis version 2 with stronger structure and place to hide battery and control board

At the time of this project, the new Tesla Roadster model was not yet released. And all I could find were some diagrams of the old model, so I designed the car body based on this, using 3D sketch in SolidWorks.
Google resources that I used to model the car

Design the car body - first approach

Design the car body - second approach

This project model was significant, so their printing time was also significant. It took about 2 days to print just 1 part, and I splitted my car into 8 parts to fit my Ender 3 Pro printer.
Significant time to print only 1 in 8 parts of the car body

Looking at the mechanism of the mecanum wheel, there are a lot to discuss about its pros and cons.
Mecanum wheel diagonnaly movement which has potential in lane changing

While waiting for the printing parts, I started developing autonomous functions for my project. This was a simple algorithm, if it sees anything in front of it, it will check both side, whichever side has more gap/distance, it will move toward that side, until it sees something on that side, it will turn back forward and repeat the whole process.
Autopilot testing phase 1

However, this algorithm has a lot of problems in its logic. For example, if there is nothing on the side, it will keep moving sideway until it reach the sideline of the road, which is unnecessary in real life situation.
Autopilot testing phase 2

So I had to changed the algorithm approach. And I also changed the chassis and motors because they were not efficient throughout testing.
Chassis version 3 and mecanum wheel version 2

Here is the progress of my car body assembly.
Complete car body assembly

Now with the new car body, I had to test the wheel movement again because weight distribution was a crucial problem with this design.
Test remote control with full-size model weight

Another angle of Test remote control with full-size model weight

The PLA mecanum wheel was good to some points. But for this research to go further with its goals, I had to switched to the pre-built mecanum wheel with sturdier materials and rubber rollers.
Chassis version 4 and mecanum wheel version 3

I also developed a better version of my wireless controller, with neater wire management to prevent short circuit.
Wireless Controller version 1

Wireless Handheld Controller version 2

The controller has 3 modes:
- Red: Controller is on but the car will not receive anything, become idle.
- Green: Controller is in manual mode, that the car will listen to the controller's command.
- Purple: The car goes into autonomous mode, the function right now is checking for parking possibility, it is available then take action.
During this process, the receiver on the car will always listen to interrupts from the controller command if it switches between modes.
Testing new wireless handheld controller

I also tested the maximum distance that these NRF24L01 modules can hold. The result was about 160ft.
Testing wireless communication distance of radio modules

Due to time constraint, I had to make final modification for final demo assignments.
Final modification to complete the vehicle

The first autonomous function was object avoidance.
Object avoidance phase 1 test

Object avoidance phase 2 demo

The second autonomous function was self-parking function. It will check for multiple small divisions and store the data in an array. If the data met the criteria, it is good to do "self-parking" action. This algorithm could be done better with higher-performance controller board.
Autonomous Self-Parking Function Demo

In the end, I am truly proud of this project and myself for completing a project that required so many skills in different areas. I was having fun building this project and the result of the research surprised me. I leave the link to my GitHub repo and report below!

Summary of my work:
- Independently designed and fabricated a 1:6 scale model of a Tesla Roadster, integrating omnidirectional mecanum wheels to explore enhanced mobility solutions for electric vehicles in urban settings.
- Designed the entire car body from scratch, using only 2D images of the Tesla Roadster (side, top, front, and rear views) found on Google. I converted these views into a 3D model, which I 3D-printed and assembled entirely by myself, ensuring both aesthetic precision and mechanical functionality for the scale model.
- Utilized SolidWorks to design and manufacture the mecanum wheels, focusing on the precise creation and assembly of components for optimal functionality. The entire vehicle was engineered to meet both the mechanical specifications and aesthetic requirements of the project.
- Managed the complete hardware setup, including battery installation, electrical system configuration, and mechanical assembly.
- Developed autonomous navigation and obstacle avoidance systems using Arduino, implementing sensors and control algorithms to enable smart vehicle functionalities such as self-parking and obstacle detection.
- Designed a dual-mode control system, allowing both manual remote control and autonomous operations. I conducted extensive testing to evaluate the vehicle's maneuverability and self-parking capabilities.
- Refined the design through iterative testing, optimizing the integration of mecanum wheels to improve maneuverability and space-efficient parking in urban environments.

[GitHub][Publication]

Skills: C, C++, Microcontroller, GPIO, ADC, PWM, SolidWorks, 3D Printing
Contributors' Acknowledgement: How To Mechatronics