Skip to content

ERA-IITK/learning101

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 

Repository files navigation

Learning 101

Learning 101

Getting Started

Installation of Linux and Introduction to Linux Ecosystem

  • Getting Started with Ubuntu
    • Install Ubuntu 16.04
    • Install VS code, Google Chrome
    • Install git
    • Install pip, pip3, link pip3 with python3
    • Login with your GitHub on VScode.
    • Detect your Webcam from the terminal using V4L,
    • Capture a selfie using the Terminal.
    • Find out your IP address using Terminal

Programming Languages(C++ and Python)

  • Installing and Using Python
  • Variables and Expressions
    • Try and Except, Conditional Statements, Functions, Loops and IterationsData Structures, Strings, Files, Lists, Tuple, Dictionaries
  • Object-Oriented Python
    • Object-Oriented Definitions and Terminology
    • Class and Object
    • Object Life Cycle
    • Object Inheritance
  • Basic Structured Query Language
  • Object-Oriented C++
    • Object-Oriented Definitions and Terminology
    • Class and Object
    • Object Life Cycle
    • Object Inheritance
  • Hackerrank - C++
    • You have to solve until Challenge 20, Abstract Classes - Polymorphism
    • Write your program locally using your text editor and push to your GitHub repository, Learning101. At the end of the task, submit a pull request to ERA-IITK/learning101.
  • Hackerrank -Python
    • You have to solve from Challenge 9, Nested Lists until Challenge 27, Merge the Tools.
    • Write your program locally using your text editor and push to your GitHub repository, Learning101. At the end of the task, submit a pull request to ERA-IITK/learning101.

GitHub for Work

  • Fork learning101 from github.com/ERA-IITK. Add your respective codes along with a README.MD detailing the internal structure of your repository in a concise manner. (1 or 2 lines for each subfolder)
  • On 15th March, send a pull request.

Reading

  • Read the Rules Manual for RoboMaster AI challenge 2020

Image Processing

  • What is an image?
  • What is the brightness, contrast, saturation, and hue of an image?
  • What is the difference between image processing and computer vision?
  • Learn about various color-spaces and bit-wise operations in OpenCV and try to implement skin detection.
  • Learn about contours in OpenCV and use the previously implemented skin detection with contours.
  • Read and practice Chapter 1 (except PCA) of the book Programming Computer Vision with Python by Jan Erik Solem (can be found in ERA-IITK/res)
  • Write a code to detect the best Armour Plate in the given image. Draw a rectangular box around the armor. (Image can be found in ERA-IITK/res)

Introduction to Linux Ecosystem- Part 2

  • Getting into Linux Eco-System
    • Kernel vs. Operating System
    • What is a Daemon?
    • Difference Between Bash and sh ?
    • What is Gnome?
    • What is Shell?
    • Complete the chapters 1-5 of the book "Linux Shell Scripting Tutorial - written by Vivek Gite" (Found at ERAIITK/res)
    • Complete Challenges 1-10 (up to Functions and Fractals) on Hackerrank
      (https://www.hackerrank.com/domains/shell)

Getting into ROS Eco-System

  • Installing and Using ROS

    • Installation - one line, Desktop- full, kinetic.
    • Read through Section 1.1 of Mahtani - found at ERAIITK/res
  • ROS System Levels

    • Understand the Filesystem level and The Computation Graph level, and draw flow diagram, illustrating your understanding of each of these
  • Introduction to Nodes and Topics

    • Use Turtle Sim simulator, and use the built-in teleop, Use the RQT graph to see the active nodes and topics.
    • Write a node that moves the turtle forward when the input is 'f' and backward when input is 'b'
    • Write a node that takes an input 'r' from the user and makes the turtle move in c circle of radius 'r'

Getting comfortable with the ROS Eco-System - CMake

Having fun with ROS.

  • You have to work in pairs to write a subscriber publisher pair that can communicate over the network to your partner's computer.
    • Ping the network, Perform simple addition.
    • You must use a ROS based approach.
    • Submit these task as a separate compiled workspace
    • Generate the RQT graph and submit that as an image file
  • Now modify your talker subscriber network such that the talker on your computer is able to control the turtlesim turtle in your partner's computer.
    • The movements are forward and backward, turn left 90* turn right 90*. The forward-backward motion must be quantized for each keypress irrespective of the duration of the keypress.
  • Now modify your above program to include gesture recognition. Control the turtlesim turtle on your partner's computer using hand gestures in front of your webcam
    • The same movement constraints apply as above.
    • You must get feedback of the current position of the turtle, back on your screen.
    • Use OpenCV for image processing
  • The above tasks need to be done in the C programming language and compiled as a package

About

This repo contain learining material.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published