Fanuc Industrial Robot in room 2001 D from our department: www.dice.ase.ro ... Meet Robotics as optional lecture for the Economic Informatics 3rd year students @ http://www.acs.ase.ro/robotics
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
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
- 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
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: ROS.org 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
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.
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.
E-Framework solutions and docs plus the simulators for Robotics are stored in Git or provided by ACS team.
E-Learning solution platform for BSc. Economic Informatics study program @ Robotics, as part of the DICE/DEIC - Department of Economic Informatics and Cybernetics (www.dice.ase.ro | www.csie.ase.ro) is based on SAKAI CLE / TalentLMS. The SAKAI CLE is powered by Sakai Project and it is provided by: ISM - ICT | Cyber Security Master (www.ism.ase.ro) program and ACS - Applied Computer Science And Cyber Security Team (www.acs.ase.ro/acs-team). Also for the blending learning process and the projects/tests upload, as alternative, http://online.ase.ro (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 'cache.ase.ro : 8080'), or alternatively, insert the exception for IP address 22.214.171.124 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': http://126.96.36.199:8020/portal
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
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
- 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