The following is the comprehensive course catalogue offered by faculties of the Robert Bosch Centre for Cyber-Physical Systems (RBCCPS) at the Indian Institute of Science (IISc). We provide a comprehensive selection of courses tailored to the department’s focus, including core, soft-core, and elective courses. To register for courses, kindly use IISc’s SAP portal.
Dr. Shishir N Y Kolathaya
core
Course Description
As we see an increasing use of industrial and service robots around us, there is a need for development of new skills in the field of robotic
systems. More importantly, there is a need for development of new expertise in controllers, systems, sensors and algorithms that are tailored for the domain of robotic systems. Therefore, the objective of this course is to serve as an introductory robotics course for EECS students with little/no background in mechanical systems. The course will first build the necessary mathematical framework in which to understand topics relevant to fundamentals of mechanical systems. Some of the topics are center of gravity and moment of inertia, friction, statics of rigid bodies, principle of virtual work, kinematics of particles and rigid bodies, impacts, Newtonian and Lagrangian mechanics. With these fundamentals, the course will focus on topics like rigid body transformations, forward and inverse kinematics of manipulators, and forward and inverse dynamics of manipulators. Towards the end of the course advanced topics such as rigid body collisions, and hybrid dynamical systems will also be covered.
NOTE: This course is cross-listed with CSA (soft core for CSA)
None
Freebody diagrams, constraints, friction, center of gravity and moment of inertia. Virtual displacement, principle of virtual work, potential energy and equilibrium. Types of motion, force, acceleration. Work and energy, impulse and momentum, impact. Configuration space, task space, rigid body transformations. Manipulator kinematics, forward and inverse kinematics. Forward and inverse dynamics. Hybrid systems, introduction to walking robots
Linear Algebra Basics: Matrices, Vector Spaces, Independence, Rank, Mappings
Analytic Geometry Basics: Inner products, norms, orthonormal basis, projections, rotations
Matrix Decomposition: Determinant &. Trace, Eigenvalues and vectors, Cholesky decomposition, Eigen Decomposition, Singular Value decomposition
Vector Calculus: Gradients of functions and matrices, Backpropagation and Automatic Differentiation
Floating point arithmetic.
Optimization Basics: Gradient Descent, Constrained optimization, Convex Optimization.
Probability and Stats Basics: Conditional Probability & Independence, Discrete distributions, Continuous distributions, Hypothesis Testing,
Computational Techniques: Linear Regression, Density Estimation, Monte Carlo Methods
Mathematics for Machine Learning, M P Deisenroth, A Aldo Faisal, Cheng Soon Ong
Besides foundational theory, the new course will have an applied component as well. This will enable the students to implement the control techniques on actual robots later in their program. The current control courses like Dynamics of Linear Systems, Nonlinear Systems and Control etc. are theory focused and go into depth into the subject matter. In the new course, we plan to cover the basics of both linear and nonlinear systems, and also introduce simulation experiments. At a broad level, two-thirds of the course will focus on linear control systems, and the remaining one-third on nonlinear control systems
None
Linear Systems – Mathematical representation of dynamical systems, State-space and input-output representations, Time response of homogeneous and non-homogeneous systems, Stability, Controllability and observability, State feedback controllers and pole placement, State observers, LQR control, PID control Nonlinear Systems – Mathematical background for nonlinear systems, Equilibrium points, Essential nonlinear phenomenon like finite escape time, multiple isolated equilibria, limit cycle, chaos etc. Lyapunov and input-state stability, Control Lyapunov functions, Feedback linearization, Model predictive control Lab – Simulation of linear, nonlinear, and hybrid control systems, Phase-space visualizations, Implementation of different controllers on various robotics and autonomous systems
References
Dr. Prasant Misra, Visiting Faculty, RBCCPS, IISc. Bangalore.
Elective
This course will introduce operations research (OR) techniques applied to cyber-physical systems (CPS), with an emphasis on decision making for mobility management.
Urban mobility is evolving from a fixed supply chain that delivers process-driven travel to a dynamic ecosystem that delivers on-demand services. This new mobility model requires optimization across multiple systems such as transportation, parking, electric vehicle charging and vehicle-to-grid services, etc. The complexity, therefore, arises from the large scale of operations; heterogeneity of system components; dynamic and uncertain operating conditions; and goal-driven decision making and control with time-bounded task completion guarantees.
The focus in this course will be on various classical optimization techniques and learning to optimize approaches that can be applied to solve operational problems at scale in the urban mobility domain. Examples of some decision questions include planning/scheduling charging operations for a fleet of electric vehicles; dynamic pricing for charging demand management; electric vehicle route planning for last-mile delivery of goods and other valued-added services (such as selling energy back to the grid); operations management of mixed fleet of vehicles; etc. Selective operations research topics such as linear programming and combinatorial optimization; dynamic programming; sequential decision making under uncertainty; reinforcement learning; etc.; will be covered to understand the mathematical concepts for problem solving in mobility management.
A preliminary understanding of mathematical programming would be helpful, but no prerequisites are assumed.
Part 1: Basics
Computer organization: CPU, memory, buses, IO ports, interrupts etc.
• Microprocessor basics: internals of Cortex-M4 processor
• Embedded C programming: compilation process, working with the target
Lab:
• Parts of a program
• Floating point operations / pointers
• LED
• Timer
• Buttons
1st test
Part 2: Interfacing IO devices
• IO programming (GPIO, ADC, PWM, UART etc.)
• Interrupts
Lab:
• Device classes (digital read/write, analog read/write, serial, microphone etc.)
• UART / shell
• Demo
2nd test
Part 3: mini project / presentation / topics
• Interface a motor and a sensor
• Bluetooth
• Implement a control algorithm
• Individual presentations on sensors
Except Bluetooth protocol and the control algorithm, everything would be hand-coded.
Assignments and mini project in a team of two. Help encouraged. Sharing of code with acknowledgement.
Marks:
2 tests: 20 Lab assignments: 30 Internal: 50
Exam: 30 Mini project: 20 Final: 50
Theory: 50 Practical: 50
Sensor presentations marks can be a part of exam or mini project depending on time & effort.
Computer organization: CPU, memory, buses, IO ports, interrupts etc., Interfacing IO devices, mini project / presentation / topics
Basic knowledge: control, optimization, linear algebra
Knowledge preferred: Labview, Gazeboo, Matlab
Throughout the course, students will learn to use real data to solve smart city application problems via data science techniques covered in this course.
Basic knowledge of Linear Algebra, Probability, and Calculus, and Basic Programming knowledge (preferably in Python)
Data types (spatio-temporal data, event data, trajectories, time-series, point-reference etc.), data pre-processing (filtering, discretization, standardization, transformation, Imputation etc.), Regression (linear regression, passion regression), spatio-temporal estimation (kriging, Gaussian process regression etc.), data dissimilarity measures, Pattern discovery (frequent pattern mining, clustering (event, time-series, trajectory clustering, spatio-temporal clustering etc.), Classification (logistic regression, Bayesian classification, SVM, Ensembles), Anomaly/Outlier Detection Techniques, Concepts for big data mining and visualizations (sampling techniques, dimension reduction (PCA, Manifold learning, Self-organizing maps etc.)), Concepts for stream data mining, MapReduce framework.
Networked control systems is broad term used to describe dynamical systems that are distributed in nature and are integrated with communication, computation and processing technologies. This interplay of control, communication and computation presents several new and interesting problems that are typically not encountered in traditional control systems. This course will provide students an exposure to this emerging interdisciplinary field. We will study key problems, frameworks and results using research papers and monographs. The students will also go into depth in one of topics through a class project that can be aligned with their current research or project.
Background in linear algebra/matrix theory and probability is required. Some exposure to graduate level control and/or related areas such as linear/non-linear systems theory, estimation theory or random processes is preferred.
The course structure is flexible and we can add/remove topics, go into detail/skip the details based on the interests of the students.
Consensus over networks with applications in synchronization and opinion dynamics
Estimation and control over imperfect communication channels (erasure, delay, etc.)
Stabilization over rate-limited and quantization channels
Distributed estimation and Kalman filtering
Network protocol design via distributed optimization
Decentralized optimal control and information patterns
Security and privacy in networked control systems
Any other topic of interest if time permits
There is no required textbook for the course and most of the material is based on research papers. These papers will be made available to the students as the course proceeds. A minor portion of the course material is based on the following textbooks:
Alberto Bemporad, Maurice Heemels, and Mikael Vejdemo-Johansson. Networked Control Systems. Lecture Notes in Control and Information Sciences, Vol. 406, Springer-Verlag London, 2010.
Serdar Yüksel and Tamer Başar. Stochastic Networked Control Systems: Stabilization and Optimization under Information Constraints. Springer Science & Business Media, 2013.
Mehran Mesbahi and Magnus Egerstedt. Graph Theoretic Methods in Multiagent Networks. Princeton University Press, 2010.
Francesco Bullo. Lectures on Network Systems (http:motion.me.ucsb.edu/book-lns)
Francesco Bullo, Jorge Cortes, and Sonia Martinez. Distributed Control of Robotic Networks: A Mathematical Approach to Motion Coordination Algorithms. Princeton University Press, 2009.
The course objective is make the student design a complete system to suit a use case application. In view of this, the student is expected to choose several components from a list. The components include Processor, Communication protocol, Communication technology, Power supply and Powering, Sensor interfacing, sampling, MAC layer, security of sensor nodes, etc
Embedded Systems, Microcontroller basics, Processor basics, Communication basics
Embedded Systems: Rise of embedded systems and their transition to intelligent systems and to Internet of Things – RFIDs, NFC, Web of Things – Network of interconnected and collaborating objects, Embedded systems architecture: Key hardware and software elements. Low power and very low power embedded systems, peripherals and sensors in embedded systems, peripheral interfacing – SPI and I2C, Hardware and software protocol stacks – MAC, Routing and application layers, performance considerations. Embedded Systems Design: Partitioning to hardware and software; principles of co-design; performance of these systems estimation of speed, throughput, energy harvesting and power management algorithms; hardware design elements – design, validation, and testing tools; software platforms OS and applications, code optimization, validation and robust code generation; system integration, debugging and test methodology; tools for coding, debugging, optimization, and documentation; measurement of system performance, Linux distributions for embedded systems using tools from Yocto project; Applications: Healthcare, autonomous vehicles, automation example
ARM embedded Systems, Design of Internet of things (Oreilly), TI, NXP, ARM, STMicro, Maxim, Richtek data sheets and specifications, TI application notes, Reference designs etc.
Basic knowledge of computer science, psychology, mathematics and statistics
Basic theories of visual and auditory perception, cognition, rapid aiming movement and their implications in electronic user interface design, Concept of user modelling, Multimodal interaction, Eye gaze and finger movement controlled user interface, Usability evaluation, User study design, Basic principles of experiment design, Conducting t-test and one-way and repeated measure ANOVA, Parametric and non-parametric statistics, Interaction design for automotive and aviation environments, HCI in India, Writing international standards through ITU and ISO.
Students will learn about modelling complex relationships of data using multivariate and categorical distributions, and apply their learning in data science and machine learning tasks. Concepts such as probability theory, Bayesian modelling, probabilistic graphical models form the core knowledge of this course. This course will involve mathematics and programming tasks that require you to exercise critical thinking.
Basic knowledge of Linear Algebra, Probability, and Calculus, and Basic Programming knowledge (preferably in R or Python)
Descriptive Statistics, Introduction to Probabilities, Bayes Rules, Probability Distributions, Maximum Likelihood Estimation, Bayesian Regression and Classification, Expectation Maximization, Frequentist vs Bayesian Learning, Conjugate Priors, Graph Concepts, Bayesian Belief Networks, Probabilistic Graphical Models (PGMs), Probabilistic and Statistical Inferencing, Bayesian Estimation, Structure Learning, Bayesian Optimization, Markov Random Fields, Markov Chain Monte Carlo, PGM examples and applications (including industry and smart cities applications)
Lab: Weekly Practical Workshops (3 hours)
Dr. Debasish Ghose, Professor, Aerospace Engineering, IISc Bangalore.
Dr. Pradipta Biswas, Associate Professor, CPDM and RBCCPS, IISc Bangalore.
A core course that deals with navigation and planning for autonomous robots.
Familiarity with MATLAB, ROS/Gazebo; Exposure to mathematical concepts from linear algebra.
(Theory) Motion planning in discrete space; Logic-based planning methods; Geometric representations; Kinematic chains and rigid and non-rigid transformations; Configuration space; Topological space concepts; Obstacles; Collision detection and avoidance in relative velocity space; Collision cones and velocity obstacles; Artificial potential fields; Flocking; Formation control; Sampling based motion planning; Collision detection, incremental sampling and searching, Rapidly exploring random trees, roadmap methods; Combinatorial motion planning; Complexity.
(Laboratory) Path planning infrastructure in software; Planning space representation through vector constructs, Discretization of planning space, sampling the planning space, node-graph representations; Grid search based planning (A* algorithm); Forward and inverse kinematics, obstacle representations; planning complexity, Various heuristics for A* algorithm; Sampling based planning (RRT & RRT* algorithms); Path planning using RRT; Implementation of continuous space sampling; Rewiring procedure; Implementation on 2-DoF manipulator and mobile robot; Real world example using A* and RRT*.
A course on Robotics – either in earlier or in present semester
Dr. Bharadwaj Amrutur, Professor, RBCCPS/ECE, IISc Bangalore
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
Basics of Linear Algebra and Probability, Comfort with some programming language
Module 1: Probabilistic Techniques
State Estimation & Bayesian Inference, Parametric and Non-parametric Filters for Sensor Signal Processing. Kalman filter and its variants, Use of simple motion models with wheel and IMU odometry in the assignments. Robotic Localization & Perception
Laboratory Exercises for each of the above.
Module 2: Introduction to Deep Learning Techniques
Deep feedforward networks , Convolutional Neural Networks , Recurrent Networks
Laboratory Exercises.
Module 3: Case Studies on Perception for Robotics
Basics of Image Processing and Manipulation. Basics of low-level vision, filtering, feature extraction, etc. Object Detection and Segmentation Pose estimation and semantic segmentation. Visual Odometry and Localization Visual SLAM. Introduce fusion of point cloud data and lidar data with RGB.
Laboratory Exercises for each of the above.
This course will provide an end-to-end overview of different topics involved in designing or analyzing autonomous systems. It begins with different formal modeling frameworks used for autonomous systems including state-space representations (difference equations), hybrid automata, and in general labeled transition systems. It also discusses different ways of formally modeling properties of interest for such systems such as stability, invariance, reachability, and temporal logic properties.
As a next step, the course will cover different techniques on the verification of such systems including Lyapunov functions, reachability, barrier certificates, and potentially model checking. Finally, the course will introduce students to several techniques for designing controllers enforcing properties of interest over autonomous systems.
basic knowledge of differential equations, linear algebra, calculus, and linear control theory
Formal modeling of autonomous systems: State-space modeling framework, Automata, Labeled transitions systems
Formal specifications: Low-level specifications (stability), High-level specifications (Invariance, Reachability, Temporal logic Specifications)
Formal analysis: Lyapunov theory, Reachability analysis, Barrier certificate, Model checking
Formal synthesis: Stabilizing feedback controllers, Formal MPC based control, Abstraction-based synthesis, Control barrier certificate, Sampling-based motion planning
References
This is an interdisciplinary course on the experimental techniques in robotic systems, inviting students from all departments. It provides hands-on experience with specifying, designing and building robotic systems with the requisite background on the mechanical, electrical and control/navigation sub-systems.
Part 1: Working with sensors and actuators relevant to robotics
Part 2: Mechanical Design and Prototyping
Part 3: Control/Navigation
Dr. Shishir N Y, Assistant Professor, RBCCPS/CSA, IISc Bangalore.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
E0 226 Linear Algebra and Probability or equivalent
Robot dynamics and kinematics, nonlinear control and stability, Lyapunov theory, PD control, reinforcement learning, imitation learning, model-based and model-free methods, impedance control, trajectory optimization, online learning
The course is organized in three parts: standalone (OS less) systems, multi-tasking systems with RTOS and systems with embedded OS. The course involves significant programming in C on embedded platforms running RTOS / embedded Linux.
Embedded systems / C programming
Part 1: Standalone systems: 4 weeks Software architecture: control loop, polling and interrupt driven systems, PID control and finite state machine Experiments: interfacing sensors and actuators to implement a standalone control system on an ARM based hardware platform.
Part 2: Multi-tasking systems: 6 weeks Introduction to real-time systems, multitasking, scheduling, inter-task communication, memory management and device drivers Experiments: build a multitasking system involving multiple simultaneous activities involving computing algorithms, IO processing and a user interface.
Part 3: Embedded Linux: 4 weeks Building an embedded Linux system; processes and threads, memory management, file-system, drivers. Real-time limitations and extensions.
Experiments: build connected application with sensor/actuator front-end and embedded Linux for UI and connectivity.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
AE 205 or equivalent and familiarity with MATLAB.
Introduction and Motivation; Review of static optimization; Calculus of variations and Optimal control formulation; Numerical solution of Two-point boundary value problems: Shooting method, Gradient method and Quasi-linearization; Linear Quadratic Regulator (LQR) design: Riccati solution, Stability proof, Extensions of LQR, State Transition Matrix (STM) solution; State Dependent Riccati Equation (SDRE) design; Dynamic programming: HJB theory; Approximate dynamic programming and Adaptive Critic design; MPSP Design and Extensions; Optimal State Estimation: Kalman Filter, Extended Kalman Filter; Robust control design through optimal control and state estimation; Constrained optimal control systems: Pontryagin minimum principle, Control constrained problems, State constrained problems; Neighbouring extremals and Sufficiency conditions; Discrete Time Optimal Control: Generic formulation, Discrete LQR.
This course is on the description, analysis and control of nonlinear systems. Nonlinear systems occur everywhere – in nature and in numerous engineering applications. So, it is very useful to a controls practitioner or theorist to have a good understanding of nonlinear systems and methods to design controllers for them. The focus of the course leans towards mathematical theory and analysis. However, interesting applications in various domains would also be discussed frequently.
E1-241 “Dynamics of linear systems” or equivalent; Or background in linear algebra and ordinary differential equations; Or permission of the instructor. Familiarity with some simulation software such as MATLAB is useful.
Equilibria and qualitative behavior, Existence and uniqueness of solutions, – Lyapunov stability, invariance principle, converse theorems, ultimate boundedness, input-to-state stability, Input-output stability, small-gain theorem, passivity, Feedback linearization, gain scheduling, sliding mode control, backstepping, Selected topics from: Intro to switched and hybrid systems, Applications in networked control such as control over channels with quantization, sampling, time delays, Applications in distributed systems and control such as consensus, synchronization, coverage, etc.
This is a graduate level course on statistical inference that deals with decision making based on observed data. The course is divided into two parts – Detection Theory and Estimation Theory. Detection theory provides a framework to make an intelligent guess regarding which hypothesis is true among a given set of n>2 hypotheses, while Estimation Theory provides a framework to intelligently guess the value of an unknown parameter that can be random or deterministic. The students will learn to mathematically formulate appropriate detection and estimation problems, solve these problems to get good/best detectors and estimators, and analyze their performance. This is a math-oriented course and will use concepts from probability and linear algebra
A graduate level course on Probability and Random Processes
A fair level of understanding of Linear Algebra/Matrix Theory Concepts
Bayesian and Min-Max Hypothesis Testing, Neyman-Pearson Hypothesis Testing, Multiple Hypothesis Testing, Composite Hypothesis Testing and Generalized Likelihood Ratio Test (GLRT), Detection of random/deterministic signals in presence of noise, Sequential Hypothesis Testing, Bayesian Estimation, MMSE and ML Estimators, Minimum Variance and Best Linear Unbiased Estimators, Cramer-Rao Bound and Consistency, Kalman Filter.
There is no required textbook for the course. Below is a list of useful reference books:
Fundamentals of Statistical Signal Processing – Volume I: Estimation Theory by Steven M. Kay. Prentice Hall, 1993.
Fundamentals of Statistical Signal Processing – Volume II: Detection Theory by Steven M. Kay. Prentice Hall, 1993.
Statistical Inference for Engineers and Data Scientists by Moulin and Veeravalli. Cambridge University Press, 2019.
An Introduction to Signal Detection and Estimation (2nd Edition) by H. Vincent Poor, Springer-Verlag, 1994.
Statistical Inference (2nd Edition) by Casella and Berger. Duxbury Press, 2002.
Statistical Signal Processing by Louis L. Scharf. Pearson India, 2010.
The course deals with probabilistic models for problems of dynamic decision making under uncertainty. Stochastic dynamic programming is a general framework for modelling such problems. However, one requires knowledge of transition probabilities (i.e., the system dynamics) as well as the associated cost function. Both of these quantities are normally not known and one only has access to data that is available from the experiment. For instance, one may not know the transition probabilities but one may see what the next state is given the current state and the action or control chosen. The course deals with building first the model based dynamic programming techniques and subsequently the model free, data driven algorithms, and deals with the theoretical foundations of these.
Any student who has done the course E0 232 — Probability and Statistics or an equivalent probability course
Introduction to reinforcement learning, introduction to stochastic dynamic programming, finite and infinite horizon models, the dynamic programming algorithm, infinite horizon discounted cost and average cost problems, numerical solution methodologies, full state representations, function approximation techniques, approximate dynamic programming, partially observable Markov decision processes, Q-learning, temporal difference learning, actor-critic algorithms.