Fanuc Industrial Robots for Tesla Manufacturing
Fanuc Industrial Robot in room 2001 D from our department: ... Meet Robotics as optional lecture for the Economic Informatics 3rd year students @


ACS Team and invited guests: Cristian Toma, Catalin Boja, Marius Popa, Alin Zamfiroiu, Cristian Ciurea, Bogdan Iancu, Mihai Doinea and others.


Robotics lectures and labs are published @ GitHub:

You can use this command to clone the repo on your storage / simply download the ZIP from the website: git clone ...


Technological transfer from the teacher/university to the students of the practical and theoretical knowledge regarding Robotics:
Industrial and Humanoid Robots Programming - RoS and Karel,
IoT develpoment - C-Arduino | Java/Python - RPi,
Embedded Controllers-ARM Assembly and FPGA concepts - Verilog,
Applied A.I./M.L. - Artificial Intelligence/Machine Learning and Vision Computing in Robots - TinyML, Quantum Computing Clouds for Robots
 and achievment of the robotics field 
paradigms and concepts.

Programming Languages/Platforms for the Robotics Labs:
1. Electronics: Verilog
2. Embedded Controllers: ARM Assembly 
3. IoT Nodes: C-Arduino / node.js & IoT Gateways: Java SE-e / Python
4. Industrial Robots (Didactic): V+ for COBRA
5. Industrial Robots (Production): Karel for Fanuc
6. RoS Programming (Humanoid Robots): C/C++ and Python
7. A.I./M.L. (Artificial Intelligence/Machine Learning - Deep Learning and Neural Networks): Python / Java SE | Tiny-ML: C Language

Lectures & Labs

Lecture Headlines Description



Laboratory Description Labs
- Administrative issues

General Recommandations:


Introduction in Electronics:
- Electronic Components: Resistors, LEDs, Capacitors, Inductors, Servo-Engines, Relays, Breadboard
- Circuits and Semi-conductors: Diodes and Transistors, TTH circuits build, Stabilized AC
Signals: Amplifiers, Filters, Modulation and Demodulation devices, Timers
Digital Electronics: Boolean Gates, Convertors, Logic Switches: MOS and DEMOS, Flip-Flop, Registers.
From Prototype to Product: gEDA and Fritzing Schematic IDE


FPGA - Verilog VLSI/VHDL Basics

- VLSI (Very-Large-Scale Integration) Design: Digital System, FPGA (Field Programmable Gate Array), MOS/MOSFET/CMOS (Metal-Oxide-Semiconductor Field Effect Transistor - MOSFET), Logic Gates and Circuits
- VHDL (Very high-speed integrated circuit Hardware Description Language): Combinational and Sequential Circuits
- Design And Tool Flow
- Verilog HDL Syntax And Semantics
- Gate Level Modeling
- User Defined Primitives
- Verilog Operators
- Verilog Behavioral Modeling
- Procedural Timing Control
- Task And Functions
- System Task and Function

FPGA/Verilog Programming - Introduction in Icarus Simulator and Spartan develoment board

Embedded Microcontrollers Programming - ARM Assembly Programming:
Part 1: Introduction to ARM Assembly
Part 2: Data Types Registers
Part 3: ARM Instruction Set
Part 4: Memory Instructions: Loading and Storing Data
Part 5: Load and Store Multiple


Embedded Microcontrollers Programming - ARM Assembly Programming: 
Part 6: Conditional Execution and Branching 
Part 7: Stack and Functions

ARM microcontroller: ARM v6/v7 – Raspberry Pi Intro in ARM Assembly Programming - via SSH to RPi 3 with port forwarding

IoT - Internet of Things Concepts, Clouds and Edge Devices - IoT Nodes, Gateways and MCU - Micro Computing Units

- IoT Clouds: Google, Amazon AwS, MS Azure, Oracle
- Communications Protocols: MQTT, MQTT-SN, COAP and HTTP-REST

C-Arduino Programming:

- Program Structure and Data Types
- Variable & Constants
- Operators
- Control Statements: Alternative, Loops, ...
- Functions
- Strings, Time and Arrays
- I/O Functions and Advanced I/O
- Character Functions and Math Library
- PWM (Pulse Width Modulation), Interrupts
- Communications, Inter Integrated Circuits
- Serial Peripheral Interface
- Sensors and Motor Control


IoT Node/Gateways Programming:
Digital I/O Programming on Raspberry Pi Board for UART, GPIO, SPI, I2C (Sensors and Actuators)
- Java DIO / Pi4J;
- Python / C - wiringPi
- ESP8266 – Espruino – node.js JavaScript Programming
- Micro-controllers AVR ATtiny85 – C and Arduino UNO Programming

Micro-controllers AVR ATtiny85 – C and Arduino UNO Programming Examples in C-Arduino for real development boards such as: Arduino UNO / ESP8266 / Intel Galileo

Industrial Robots Programming
- Types of the industrial robots (e.g. Fanuc-CISCO, Kuka-HUAWEI, Adept Technologies – COBRA, DOBOT Magician) and robotic arms – e.g. Cartesian, Cylinder, SCARA, Parallel.
- Simulators for the industrial Robots – Intro: Adept Digital Workcell, KUKA Sim / KUKA Office and Fanuc RoboGuide IDE
- Simulators and Operating Systems and Open Platforms for Robots Programming: and Python Adept Digital Simulator; V+ OS and V+ Programming Language


Industrial Robots Programming

- Terminology. Coordinates systems and robots spaces. Homogenous Transformations Vectors and Matrix. Industrial Robots 
- Architectures and Real Time Performances.

- Geometric position models: direct and inverse kinematics models.

- Diferential Cinematic Models. Analytic and geometric Jacobian.
- Robot Dynamic models in
 Lagrange and Newton-Euler formalism. Dynamic movement models in cartezian space.

- Planning methods for robots movements and generation of the movements paths.

Industrial Robots Programming in V+ for COBRA Robots

Industrial Robots Programming

- Industrial Robots Operations:
   - Pick and Place
   - One-dimensional Stacks
   - 3D Stacks parallel with the robot axes

- Tool Transformation: Grip orientation in Tool Transformation, Exocentric Gripper in Tool Transformation.

- Robots Procedural Movement and Complex Trajectories: optimization of the Pick and Place Operation, Mathematical Trajectories
- Trajectories generation – simulation and implementation

- Kinematics Singularities

10. Industrial Robots Programming - Karel:

- Software Program Structure, Variables and declaration
- Data Structures, Operators and Functions
- Program Execution Control: Jumps, Loops, if, etc.
- Motion and Program Control - Routines / Sub-programs / Functions
- I/O Operations – RS232, RS 485
- Digital Signals I/O programming
- File and Socket Operations – TCP/IP - Condition handlers / Interrupts
- Multi-tasking - Libraries for integrating with Industry 3rd party programs

- Communications, Cooperation and Synchronization between the robots

Industrial Robots Programming in Karel for Fanuc Robots

Humanoid Robots Programming
SoftBanks Robotics:

Programming Pepper / NAO
- Choreograph - NAOqi OS - GNU/Linux distribution based on Gentoo
- Python Programming SDK API for:
- Motion - Sensors - Audio - Vision - Communications - Autonomous Life State Machine


Humanoid Robots and other robots type Programming with RoS - Robots Operating System / Linux Embedded

Libraries for Visual Computing - OpenCV for RoS - Robots Operating System

RoS Programming Project Development

Artificial Intelligence / Machine Learning with Visual Computing Programming for Robots

- Explore the machine learning landscape, particularly neural nets
- Use Scikit-Learn to track an example machine-learning project end-to-end
- Explore several training models, including support vector machines, decision trees, random forests, and ensemble methods
- Use the TensorFlow library to build and train neural nets
- Dive into neural net architectures, including convolutional nets, recurrent nets, and deep reinforcement learning
- Learn techniques for training and scaling deep neural nets

Software Libraries/API for A.I. to be integrated into Robots: e.g. Deeplearning4j, Apache NLP, Keras, etc.

14. Artificial Intelligence / Machine Learning and ANN - Artificial Neuronal Networks with Tiny ML
- Build a speech recognizer OR a camera that detects people
- Work with ultra-low-power microcontrollers for Neural Networks Inferences
- Learn the essentials of ML and how to train your own models
- Train models to understand audio, image, and accelerometer data
- Explore TensorFlow Lite for Microcontrollers, Google’s toolkit for TinyML
- Debug applications and provide safeguards for privacy and security
- Optimize latency, energy usage, and model and binary size
TinyML Project on Embedded Board Development


Additional to the didactic activities (lectures/labs/seminars) will be items dedicated for the team projects presentations and/or discussions - e.g. Quantum Computing in Cloud impact in Robotics, Nano-Robots or Medical Robots, Boston Dynamics robots or AWS storage houases robots.




Mandatory: Multi-Paradigm Programming – Java; Data Structures – C; Object Oriented Programming – C++; Linux/Windows OS and Networking topics.

Optional: node.js/Python Programming

E-Framework Solutions & Resouces Downloads / Access:

E-Framework solutions and docs plus the simulators for Robotics are stored in Git or provided by ACS team.

E-Learning Solution

E-Learning solution platform for BSc. Economic Informatics study program @ Robotics, as part of the DICE/DEIC - Department of Economic Informatics and Cybernetics ( | is based on SAKAI CLE / TalentLMS. The SAKAI CLE is powered by Sakai Project and it is provided by: ISM - ICT | Cyber Security Master ( program and ACS - Applied Computer Science And Cyber Security Team ( Also for the blending learning process and the projects/tests upload, as alternative, (moodle) and Google Class-Room might be used.

The web address of SAKAI platform for the students from Economic Informatics master program is for the moment - the page SHOULD be accessed from Mozilla Firefox, Google Chrome, Opera or Internet Explorer browser, without any proxy set (e.g. without ' : 8080'), or alternatively, insert the exception for IP address in proxy section + please accept SSL Warning because the security certificate is 'self signed' and you SHOULD choose the option link 'Proceed Anyway / Not Recommended': 


1. Anil Mahtani, Luis Sanchez, Enrique Fernandez, Aaron Martinez, Lentin Joseph, "ROS Programming: Building Powerful Robots", Publisher: Packt Publishing, Release Date: March 2018, ISBN: 9781788627436

2. Morgan Quigley, Brian Gerkey, William D. Smart, "Programming Robots with ROS", Publisher: O'Reilly Media, Inc., Release Date: December 2015, ISBN: 9781449323899

3. Bernardo Ronquillo Japon, "Hands-On ROS for Robotics Programming", Publisher: Packt Publishing, Release Date: February 2020, ISBN: 9781838551308

4. Lentin Joseph, "Robot Operating System (ROS) for Absolute Beginners: Robotics Programming Made Easy", Publisher: APress, Release Date: May 2018, ISBN: 9781484234051

5. Theodor Borangiu, Alexandru Dumitrache, Florin Daniel Anton, "Programarea Robotilor", Editura A.G.I.R, 2010, ISBN: 978-973-720-3 37-3

6. Industrial Robots Programming - Fanuc – Cisco – Karel Programming Manual: |

7. Industrial Robots Programming - Kuka – Huawei – Expert Programming Software Manual:;topic=20.0;attach=11

8. Omron/Adept COBRA Robots, V+ Language and Simulator: | | |

9. Humanoid Robots Programming: |

10. Robotics Lecture @ Stanford:

11. Robotics Lecture @ MIT:

12. ARM Assembly Intro:

13. ARM Assembly Guide: | | 

14. FPGA/Verilog Guide: | |

15. C-Arduino Programming: |

16. Aurélien Géron, "Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition", Publisher: O'Reilly Media, Inc., Release Date: September 2019, ISBN: 9781492032649

17. Pete Warden, Daniel Situnayake, "TinyML", Publisher: O'Reilly Media, Inc., Release Date: December 2019, ISBN: 9781492052043

18. Paulo Aliverti – Electronic Book for Beginners – Complete Guide

19. Tom Taulli, "The Robotic Process Automation Handbook: A Guide to Implementing RPA Systems", Publisher: Apress, Release Date: February 2020, ISBN: 9781484257296

20. Books for students projects in Robotics and IoT field (didactic, non-production):

- Stephen Smith, "Raspberry Pi Assembly Language Programming: ARM Processor Coding", Publisher: Apress, Release Date: October 2019, ISBN: 9781484252871

- Stephen Smith, "Programming with 64-Bit ARM Assembly Language: Single Board Computer Development for Raspberry Pi and Mobile Devices", Publisher: Apress, Release Date: May 2020, ISBN: 9781484258811

- David McGriffy, "Make: Drones", Publisher: Make: Community, Release Date: October 2016, ISBN: 9781680451719

- Stephen Chin, James Weaver, "Raspberry Pi with Java: Programming the Internet of Things (IoT)", Publisher: McGraw-Hill, Release Date: October 2015, ISBN: 9780071842020

- Donald Norris, "The Internet of Things: Do-It-Yourself at Home Projects for Arduino, Raspberry Pi and BeagleBone Black", Publisher: McGraw-Hill Education TAB, Release Date: January 2015, ISBN: 9780071835213

- Nicolas Modrzyk, "Real-Time IoT Imaging with Deep Neural Networks: Using Java on the Raspberry Pi 4", Publisher: Apress, Release Date: March 2020, ISBN: 9781484257227

- Wolfram Donat, "Make a Raspberry Pi-Controlled Robot", Publisher: Make: Community, Release Date: November 2014, ISBN: 9781457186035

- Rick Waldron, "Make: JavaScript Robotics", Publisher: Make: Community, Release Date: April 2015, ISBN: 9781457186950

- Matt Timmons-Brown, "Learn Robotics with Raspberry Pi", Publisher: No Starch Press, Release Date: December 2018, ISBN: 9781593279202

- Rui Santos, Sara Santos, "20 Easy Raspberry Pi Projects", Publisher: No Starch Press, Release Date: April 2018, ISBN: 9781593278434

Meher Kasam, Siddha Ganju, Anirudh Koul, "Practical Deep Learning for Cloud, Mobile, and Edge", Publisher: O'Reilly Media, Inc., Release Date: October 2019, ISBN: 9781492034865

* Vladimir Silva, "Practical Quantum Computing for Developers: Programming Quantum Rigs in the Cloud using Python, Quantum Assembly Language and IBM QExperience", Publisher: Apress, Release Date: December 2018, ISBN: 9781484242186