Autonomous Go-Kart

Autonomous Go-Kart

Four wheeler are a luxury where I live. 100% of the vehicle in Nepal are imported. This dire situation that is crumbling the economy and life style of people in Nepal. This was the main motivating factor for me to take on and try to replicate a vehicle from scratch. We do not have a auto manufacturer here so we do not have any expertise in the field. So, the design progress should start from scratch with the vehicle body to all the electronics in the system. But just replicating a vehicle that is tried and tested in 2024 seemed a bit boring. So, I along with my team decided to make the final vehicle autonomous around our college.

I took this as my final year project of my engineering degree and convinced some of my friends to join me. There were two teams tasked, one to work on the physical vehicle and electronics another to work on the control algorithm and autonomy. I was the lead hardware designer in this project and a close collaborator with the other team.

This was a big task in hand and required someone to back us up with some capital. Initially we asked our Department of Electronics and Computer Engineering at Pulchowk Campus for funds but being a public institution they were in a situation where they could not afford to provide us some funds. Then we contacted all the major auto dealership and resellers in Nepal. They were intrigued with the idea of what we were doing but did not support us. Understanding the market trend, the main reason was they only sponsored events where they could get traction which we could not provide. So, with over 4 months invested searching for sponsorship and only 8 months remaining and an upcoming semester exam. I wouldn't say I was not in a situation to ditch this project for another one. But I had a good deal of confidence inside of me saying to take on the project no matter what. I convinced my project partners that we could achieve it and we started the project on our own investment.

I had some experience in building 3d models in the past, I am experienced with Fusion 360. I set out to build a chassis design. I took some inspiration from go karts that are in the market and started building one. The first iteration was to build a double rear and front suspension vehicle. The front one to have a double wishbone structure and a simple shock absorber in the back.

Now, I exported all the drawing of the parts and started to cut out metals. Our campus is under equipped with parts and materials. Soon we realized that the design could not be fabricated with the tools in hand. I iterated the design to a simple one: without any suspensions and simple bends.

The next thing to focus on was the steering system.

Until now we were only focusing on the chassis. Now we needed motors, motor drivers and battery.

We did not have any one of them. I started to search local markets if we could get any. We had an option of running a single motor at the rear and control the steering system up front with some high torque motor. At least that was the idea that I had. I did some crude calculation and found out for the vehicle we wanted to create, we needed a steering motor with more than 20Nm of torque.

Acquiring the parts

With no capital in hand and no parts available locally, I set out to search the internet on what kinds of parts we needed. I landed on some expensive parts that could have made our life a lot easier but those were not realistic.

What else could I do? I started to email companies if they could support us for the parts that we needed. Having no luck through local companies had left me to be pessimistic about this option but I still tried it anyway. I went onto their respective website and started to email them on the customer support email. I wrote around 10-15 emails per day. Initially, I was not getting any reply or the reply that I got would be of companies not being interested to support us. Still, I kept going and going. Finally, I had a break through with ARK Electronics, they could provide us with an RTK based GPS system(in simple terms a higher precision GPS system). Well, I believe this was a turning point for us because one of the local electric scooter company also agreed to provide us two used hub motors and a used battery.

Now, we had a good GPS system to locate our vehicle, motor to push the vehicle and battery to make it run on its own. Still, we needed a specific kind of motor controller. The motors we got were BLDC(Brushless Direct Current Motors) type, and to control it with precise feedback we needed FOC(Field Oriented Control) controller. I emailed Odrive Robotics and they replied quickly. That seemed a bit strange because I was not accustomed to it. They offered to provide us with 6 Odrive S1s and a lot complimentary accessories. This was a great positive for us as we only had 3 months to submit our project. We had to do some finagle work with the customs department here because they charge a ridiculous amount for importing any electronics items( I have had to pay nearly 40-50% of the total cost as tax for importing, even though they were sponsored ).

I would like to thank all the supporters of this project, you gave us immense motivation and a drive to do this project. We could not have done this without you, thank you for believing in us.
Motors and Battery ( Thanks NIU Scooter Dealership Nepal )
Motor Drivers ( Thanks Odrive and Solomon Greenberg )
RTK GPS ( Thanks Ark Electronics )
RTK GPS ( Thanks TinkerBug Robotics )
Radxa Rock Pi 5 ( Thanks Radxa and Tom )

Work Work and Work

For the steering system, we didn't have any gearbox so we needed to be creative. We analyzed the market for what was a generic tool that had a gearbox. We ended up with a grinder. We had a motor that could provide a torque of 3-4Nm which is not enough from the stated 20Nm. We had to multiply the torque and this is done by the gearbox. The grinder we bought had a gear ratio of around 4.7:1 which means that for every 4.7 turns of input shaft the output shaft rotates only a single time. This in turn reduces speed by the factor of 4.7 and increases the torque nearly by factor of 4.7. There are losses involved of course.

0:00
/0:12

Battery

The battery that we received from NIU Dealership proprietary. The battery system ran at 70V but we only needed under 40V for the motors and under 30V for the electronics. We modified the battery to divide into two different sections. Using some XT60 connectors, this was easily reconfigurable. We could easily swap from the stock configuration to our need and back to the stock configuration in just seconds. We had to do this because we had to utilize the stock charger that could only charge the 70V battery.

System Architecture

We had a main controller(Rock Pi 5) that ran linux and was using socket CAN to connect to other devices in the can bus. We used our own custom board as USB to CAN device. We also had a depth camera to get information from the surrounding and a display to monitor and control the system. I wrote all the control software and provided an abstraction through which we could control the vehicle, get feedback and also monitor the system. This was necessary for the autonomous system.

Some problems

We had some problems with our front steering system. The cheap gearbox that we used started to slip. This is a condition when gears do not bite each other, this can occur due to inability of gearing system to bear the load put on it or manufacturing constraints. A better suit would be a cycloidal drive or planetary drive gearbox. We tried to make it work with a rack and pinion gearing system. We bought a rack and pinion from a junkyard and tried to make it work. The size constraints of our design and the intended purpose of the gearbox didn't match.

Because of these reasons we moved away from ackerman steering to a differential drive system.

Output

We were successfully able to drive our car around the campus.

0:00
/0:47

Endorsed by Government of Nepal on ICT day 2024.

Our Department of Electronics and Computer Engineering provided us an opportunity to showcase our development on ICT day. Our project was endorsed by the Education Minister of the country.