Wednesday 21 March 2018


How to become an autonomous car engineer in India



If you look at the automobile industry it is evident that self-driving technology is cruising into India. But are we on-board?

https://geek.digit.in/wp-content/uploads/2017/12/Areas.jpg

Self-driving vehicles have been a topic of contention in the world of technology for quite some time now. While the general sentiment in the automotive industry is that autonomous cars are ready to roll into our driveways any moment now, in all their driverless glory, if reports are to be believed then truly autonomous vehicles are quite far away. Given that most people expect the industry to take a few decades to mature, acting now could get you in on the ground floor of an industry that’s sure to skyrocket. After all, people like Elon Musk know a lot more about it than us. But where do you start?



How it comes together

Autonomous vehicles are fairly complicated systems, especially from an academic point of view, with a multitude of areas working together. Even in the industry, the main focus is on developing a problem statement that encompasses all these areas effectively – as in, the biggest question is, how to make all these systems work together effectively and seamlessly to make a flawless autonomous driving system.

For instance, the broadest field that covers most of the areas involved in autonomous driving is mobile robotics. However, there’s also a huge role for mathematics. According to Ankur Pandey, Sr. Data Scientist, HERE Solutions India Pvt. Ltd., “Deep Learning (and Machine Learning in general), Computer Vision/ Image Processing, Sensors, Robotics, IoT, Embedded systems, are the hot skill sets for breaking into self-driving car/vehicle industry. One must (also) have excellent program chops (specifically Python, and C++).”


Even in their initial stages, perfectly autonomous vehicles can transform what it means to drive

Anyone working with autonomous vehicles has to deal with three different modules – a module to accept sensory input, another to calculate the correct outputs, which are sent to a third module – that acts on it to provide accurate guidance to the vehicle. The sensory input module would involve dealing with mechanical, visual, and digital sensors that locate the vehicle, study the surrounding terrain and objects, and pass this information on. The processing module then leverages neural networks to process this information to decide courses of action – accelerating, braking, or turning. The third module uses these decisions as an input, and convert them into mechanical actions upon the physical body of the car to translate them into the actual driving of the car.

Skills needed

According to Ishan Gupta, MD-India, Udacity, the skills that the industry is looking for are:

  • Python and C++
  • TensorFlow
  • Keras
  • OpenCV
  • NumPy
  • Scikit-leam
  • Amazon Web Services
  • Anaconda
  • make.

    Udacity’s Self Driving Car Nanodegree is a comprehensive course to prepare yourself
    for a career in this industry. Apart from this, familiarity with neural networks, image processing, sensory calibration, object detection and virtual filters, prediction and measurement loops, open and closed- loop controllers, data calibration and fusion, as well as linear quadratic regulators are also skills that make one a better candidate.
    Robot OS (ROS)
    A good place to start, according to Rajesh Kumar, VP, Strategic initiatives at Tata Elxsi, is the Robot Operating System (ROS). Technically, it is a collection of frameworks for the development of robot software, but it also provides services designed for a heterogeneous computer cluster such as hardware abstraction, low-level device control, message-passing between processes, and package management, making it almost a full-fledged operating system.
    ROS: The Linux for Robotics

    There are quite a few milestones that ROS has achieved in the autonomous vehicle industry. For instance, Baidu’s open sourced autonomous vehicle platform, Apollo, runs entirely on ROS, and BMW, Bosch, and the recent Delphi-acquired NuTonomy also use it.
    Advantages of using ROS include:

  • A lot of code is available
    Algorithms with all the capabilities required for the navigation of wheeled robots have already been created in ROS and self-driving cars can just make use of them.
  • Visualization tools present
    A suite of graphical tools for easy recording and visualization of sensor data to represent the status of the vehicle are already available in ROS.
  • It is relatively simple
    You can start right now with a simple robot equipped with a pair of wheels, a camera, a laser scanner, and the ROS navigation stack, and you will be learning in a few hours tops.
    You can download the ROS framework at ros.org, learn basic and advanced concepts at http://dgit.in/RIAROS. Also, check out Turtlesim (http://dgit.in/TurtleSim) which is a tool made for teaching ROS.



    Article Source: geek.digit.in
  • Arnab Mukherjee | arnab@digit.in

Thursday 8 March 2018


Module1: Question Bank

Syllabus: Why should you learn to write programs, Variables, expressions and statements, Conditional execution, Functions?



Part A: Theory

  1. a. Discuss with example and diagrams, Why Should you learn to write Programs?
    b. Define Program. Differentiate between Compiler and Interpreter. Give Examples.
    c. With a neat diagram explain the High level definition of the parts of Hardware Architecture. Explain the role/Job of Programmer.
  2. a. With examples explain the following Six Building blocks of Programs: Input, Output, Sequential Execution, Conditional Execution, Repeated Execution and Reuse.
    b. Explain the following different types of errors: Syntax errors, Semantic errors and Logic Errors. 
  3. Define the following with example :  Values and Types , Variables , Expressions , Keywords ,  Statements , Operators and Operands, Order of Operations , Modulus Operators , String operations and  Comments.
  4. Explain how to read the input from the user with example.
  5. Explain the following with examples
    1. Boolean Expression
    2. Logical Operators
    3. Conditional Execution :  if
    4. Alternative Execution:  if else
    5. Chained Conditionals :  if elif else
    6. Nested Conditionals : if else if else
    7. Catching exception using try and except
    8. Short circuit evaluation of logical circuits
  6. Explain the following with example
    1. Functions
    2. Function Call
    3. Built in Function
    4. Type Conversion Functions
    5. Random Numbers
    6. Math Functions
    7. Adding new Functions
    8. Defining and using the new functions
    9. Flow of execution
    10. Parameter and Arguments
    11. Fruitful and void Functions
    12. Advantages of Functions
Part B: Programs

  1. Write a program that uses input to prompt a user for their name and then welcomes them.
  2. Write a program to prompt the user for hours and rate per hour to compute gross pay.
  3. Write a program to read the following input from user and display
    1. Name : 
    2. USN :
    3. Roll NO:
    4. Mobile No:
    5. E-Mail id :
    6. Percentage of Marks :
  4. To find the simple interest for a given value P,T and R.  The program must take the input from the user.
  5. To read two integers and find the sum , diff , mult and div .
  6. To check whether the number is positive using simple if .
  7. To check whether the given number is even or odd using simple if else.
  8. Write a program to prompt the user for hours and rate per hour to compute gross pay. Also to give the employee 1.5 times the hourly rate for hours worked above 40 hours.

Activation function in Neural network

Back Propagation in Neural Network

Explained In A Minute: Neural Networks

Machine Learning for Flappy Bird using Neural Network & Genetic Algorithm

Neural Networks Explained - Machine Learning Tutorial for Beginners