AOOV

AOOV
                           
Autonomous Obstacle Overcoming Vehicle
Design by Felix Kaiser and Martin Chudoba
Technical design class under the guidance of Prof. Tom Philipps.
Using a fully Autonomous Vehicle programmed with arduino, the task is to overcome an obstacle. The goal is to cover a distance of 1500mm, overcome an obstacle of 500mm and travel another 1500mm to the target location. This has to happen fully autonomous. The only action required by the user is to initiate the process.
Research
Having this Inspiration in mind, we started to researching existing products and ordered a wide variation of toys and parts exploring in all possible directions. Once on site, we disassembled the products to get a feeling for the structures and mechanisms needed. Once disassamble it a was easy to reverse engineer some of the products and use them to learn and understand the mechanisms used. Having these insights, we started to cad our own rig.
Process
Code
Cooperating with the department if Information Technology at the University of Applied Sciences, we wrote code to make the bot move according to our plans. Adapting to struggles and issues along the way, we edited the code over and over to get the components move the way we pictured it. Review our code here.
​​​​​​​
int WheelMotorL = 10;
int WheelMotorR = 11;
int JumpingMotor = 9 ;
int JumpingMotorback = 12;
int RunningSpeed;
int Jumpingtorque;
int Jumpingback;

void setup() {
   pinMode(WheelMotorL, OUTPUT);
   pinMode(WheelMotorR, OUTPUT);
   pinMode(JumpingMotor, OUTPUT);
   pinMode(JumpingMotorback, OUTPUT);
}

void loop() {
for (int RunningSpeed = 1; RunningSpeed <= 180; RunningSpeed = RunningSpeed +5){
    analogWrite(WheelMotorL, RunningSpeed);
    analogWrite(WheelMotorR, RunningSpeed);
    delay(50);}
    for( RunningSpeed = 180;  RunningSpeed >= 0; RunningSpeed = RunningSpeed -5){
   analogWrite(WheelMotorL, RunningSpeed);
    analogWrite(WheelMotorR, RunningSpeed);
  delay(60);} 
     analogWrite(WheelMotorL, 0);
    analogWrite(WheelMotorR, 0);
  delay(300);
    analogWrite(JumpingMotor, 255);
    delay(5000);
    analogWrite(JumpingMotor, 0);
   delay(1000);
for (int RunningSpeed = 1; RunningSpeed <= 180; RunningSpeed = RunningSpeed +5){
    analogWrite(WheelMotorL, RunningSpeed);
    analogWrite(WheelMotorR, RunningSpeed);
    delay(50);}
    for( RunningSpeed = 180;  RunningSpeed >= 0; RunningSpeed = RunningSpeed -5){
   analogWrite(WheelMotorL, RunningSpeed);
    analogWrite(WheelMotorR, RunningSpeed);
  delay(60);} 
     analogWrite(WheelMotorL, 0);
    analogWrite(WheelMotorR, 0);
while(1);}

Thank you.
AOOV
Published:

AOOV

Exploring the possibilities of Arduino and designing a transformation. Designed to do one specific task, this tiny robot was created to drive 150 Read More

Published: