Chang Kon Han – Robot Soccer – VAMIX



Chang Kon Han – Robot Soccer – VAMIX

0 0


fphc_presentation

Fisher and Paykel Healthcare presentation

On Github changkon / fphc_presentation

Chang Kon Han

University and Personal projects

Outline

  • Robot Soccer
  • VAMIX
  • Test Drive

Robot Soccer

BLAZE

We won the competition last year. Decided to try create our own software

Ongoing project. Supervised by Dr Ho Seok Ahn

Implemented in Java

What do we use

  • OpenCV for Java
  • Gradle
  • jFuzzyLogic

Vision system

Uses OpenCV to capture webcam images and finds robot location through image segmentation(binary)

Control system

Using a mixture of PID and Fuzzy Logic

FunctionBlock fb = loadFuzzy("fuzzy/goalKeeper.fcl");
fb.setVariable("targetTheta", targetTheta);
fb.setVariable("targetDist", targetDist);
fb.evaluate();
fb.getVariable("linearVelocity").defuzzify();
fb.getVariable("angularVelocity").defuzzify();
r.linearVelocity = fb.getVariable("linearVelocity").getValue();
r.angularVelocity = fb.getVariable("angularVelocity").getValue();

Strategy system

  • Goalkeeper
    • Predict movement
  • Defender
  • Attacker
    • Waiting striker

Simulation Demo

VAMIX

Target audience

Young adults - wanting to use an easy and simple video/audio editing software

Features

  • Download audio from internet
  • Play media files
  • Extract audio from media file
  • Replace audio to a video file
  • Overlay audio to a video file
  • Change volume in a video file
  • Add additional audio tracks to a video file
  • Drawing text to a video
  • Adding fade in or fade out effects to a video
  • Edit subtitles and add subtitles to a video

GUI

Fullscreen

Control panel implemented using FSM and mouse listeners

Linux avconv library

StringBuilder command = new StringBuilder();
command.append("avplay -i \'" + inputFile + "\' ");
command.append("-ss " + data[0] + " -vf ");
command.append("drawtext=\"fontfile=" + data[3]);
command.append(": fontsize=" + data[4]);
command.append(": fontcolor=" + data[5]);
command.append(": x=" + data[6]);
command.append(": y=" + data[7]);
command.append(": text=\'" + data[2] + "\': draw=\'lt(t," + MediaTimer.getSeconds(data[1].toString()) + ")\'\"");

ProcessBuilder builder = new ProcessBuilder("/bin/bash", "-c", command.toString());
builder.redirectErrorStream(true);
Process process = builder.start();

Test Drive

What did we use

  • ROS
  • CMake
  • Google Test

Objectives

Simulating robots in orchard picking kiwi fruits

Features

  • Orchard
  • Robots
    • Picker
    • Carrier
  • Animals
    • Dogs
    • Cats
  • Humans
    • Workers
    • Gardeners
    • Bystanders

GUI

Stage

Stage

Movement

  • Moves in x and y directions
  • Uses queue system

Obstacle avoidance

Uses information from laser sensors

Questions?

Chang Kon Han University and Personal projects