PART I: Contextual Design
Genealogy of artificial beings: from ancient automata to modern robotics Nicolas Reeves and David St-Onge
1.1 What is a robot?
1.2 A mythical origin
1.3 Early automata
1.4 Anatomical analogies: understanding through replication
1.5 Industrial (r)evolutions
1.6 Modern robotics
1.7 SOCIAL ROBOTICS
1.8 Robotic futures and transrobotics
- Teaching and learning robotics: A pedagogical perspective
Eleni Petraki and Damith Herath
2.1 Learning objective
2.2 Introduction
2.3 Defining the body of knowledge of the robotics field
2.4 Review of research on pedagogies and practices in robotics education
2.5 Assessment practices
2.6 Paving the way for innovative pedagogies and assessment in robotics education
2.7 Chapter summary
2.8 Quiz
2.9 References
- Design Thinking: from Empathy to Ideation
Fanke Peng
3.1 Learning objectives
3.2 Introduction
3.3 Design Thinking Process: Discover, Define, Develop and Deliver
3.4 Conclusion
3.5 Quiz
3.6 References
- Software building blocks: From Python to Version control
Damith Herath, Adam Haskard and Niranjan Shukla
4.1 Learning Objectives
4.2 Introduction
4.3 Python and basics of programming
4.4 Object-Oriented Programming
4.5 Error handling
4.6 Secure Coding
4.7 Case study - Writing your first program in Python
4.8 Version control basics
4.9 Containerising applications
4.10 Chapter summary
4.11 Revision questions
4.12 Further reading
4.13 References
- The Robot Operating System (ROS1&2): programming paradigms and deployment
David St-Onge and Damith Herath
5.1 Learning Objectives
5.2 Introduction
5.3 Why ROS?
5.4 What is ROS?
5.5 Key features from the core
5.6 Additional useful features
5.7 Linux for robotics
5.8 Chapter Summary
5.9 Revision Questions
5.10 Further reading
5.11 References
- Mathematical building blocks: From geometry to quaternions to Bayesian
Rebecca Stower, Bruno Belzile and David St-Onge
6.1 Learning Objectives
6.2 Introduction
6.3 Basic Geometry and Linear Algebra
6.4 Geometric Transformations
6.5 Basic Probability
6.6 Derivatives
6.7 Basic Statistics
6.8 Chapter Summary
6.9 Revision Questions
6.10 Further Reading
6.11 References
PART II: Embedded Design
- What makes robots? Sensors, Actuators and Algorithms
Jiefei Wang and Damith Herath
7.1 Learning Objectives
7.2 Introduction
7.3 Sense: Sensing the world with sensors
7.4 Think: Algorithms
7.5 Act: Moving about with actuators
7.6 Computer vision in robotics
7.7 Review questions
7.8 Further reading
7.9 References
Mobile robots: Controlling, Navigating and path planning Jiefei Wang and Damith Herath
8.1 Learning Objectives
8.2 Introduction
8.3 Mobile robots
8.4 Controlling robots
8.5 Path planning
8.6 Obstacle avoidance
8.7 Chapter Summary
8.8 Review Questions
8.9 Further Reading
8.10 References
- Lost in space! Localisation and Mapping
Damith Herath
9.1 Learning Objectives
9.2 Introduction
9.3 Robot localisation problem
9.4 The Robot Mapping Problem
9.5 The Simultaneous Localisation and Mapping (SLAM) problem
9.6 The Kalman Filter
9.7 A Case Study: Robot Localisation using the Extended Kalman Filter
9.8 Summary
9.9 Review Questions
9.10 Further Reading
9.11 References
- How to manipulate? Kinematics, dynamics and architecture of robot arms
Bruno Belzile and David St-Onge
10.1 Learning Objectives
10.2 Introduction
10.3 Architectures
10.4 Kinematics of Serial Manipulators
10.5 Kinematics of Parallel Manipulators
10.6 Dynamics
10.7 Chapter Summary
10.8 Revision Questions
10.9 Further Reading
10.10 References
- Get together! Multi-robot systems: bio-inspired concepts and deployment challenges
Vivek Shankar Varadharajan and Giovanni Beltrame
11.1 Objectives of the chapter
11.2 Introduction
11.3 Types of multi-robot systems
11.4 Swarm Programming
11.5 Deployment of real world swarm systems
11.6 Chapter Summary
11.7 Chapter Revision
11.8 Further reading
11.9 References
- The Embedded design process: CAD/CAM and prototyping
Eddi Pianca
12.1 Learning Objectives
12.2 Introduction
12.3 The design process and CAD
12.4 The Design Process vs Design Thinking
12.5 CAD systems
12.6 CAD file types
12.7 CAD parametric modelling - Assembly and part files
12.8 CAD parametric modelling - Drawing Files
12.9 CAD File Transfer
12.10 VR and AR for CAD
12.11 CAM and CNC
12.12 Workshop
12.13 Case study - hexapod robot project
12.14 Revision questions
12.15 References
PART II: Interaction Design
- Social robots: Principles of interaction design and user studies
Janie Busby Grant & Damith Herath
13.1 Learning Objectives
13.2 Introduction
13.3 Cobots, Social Robots and Human Robot Interaction
13.4 Why conduct research?
13.5 Deciding on your research variables
13.6 Sampling, reliability & validity
13.7 Ethics
13.8 Chapter Summary
13.9 Revision Questions
13.10 References
- Safety first: On the safe deployment of robotic systems
Bruno Belzile and David St-Onge
14.1 Learning Objectives
14.2 Introduction
14.3 Standards
14.4 Industrial Risk Assessment and Mitigation
14.5 Cobots
14.6 Mobile Robots
14.7 Chapter Summary
14.8 Revision Questions
14.9 Further Reading
14.10 References
- Managing the world complexity: from linear regression to deep learning
Yann Bouteiller
15.1 Objectives of the chapter
15.2 Introduction
15.3 Definitions
15.4 From linear regression to deep learning
15.5 Policy search for robotic control
15.6 Wrapping it up: how to deeply understand the world
15.7 Summary
15.8 Quiz
15.9 Further reading
- Robot ethics: Ethical design considerations
Dylan Cawthorne
16.1 Learning Objectives
16.2 Introduction
16.3 Ethics
16.4 The non-neutrality of technology
16.5 Technological determinism and multiple futures
16.6 Human values in design
16.7 Value sensitive design
16.8 Ethics tools
16.9 Case study: VSD of a Danish healthcare drone
16.10 Responsible research and innovation
16.11 Chapter summary
16.12 Revision questions
16.13 References
APPENDIX: Projects
- Robot Hexapod Build Labs
David Hinwood and Damith Herath
17.1 Introduction
17.2 Project One: Defining the Robot System
17.3 Project Two: Modelling the Position Kinematics
17.4 Project Three: Modelling the Velocity Kinematics with Python
17.5 Project Four: Building Communication Protocols
17.6 Some Final Thoughts
17.7 References
- ROS Mobile Manipulator labs
David St-Onge, Corentin Boucher and Bruno Belzile
18.1 Introduction
18.2 Project 1: Discovering ROS and the Dingo
18.3 Project 2: Kalman for differential drive
18.4 Project 3: 3-DoF Kinematics
18.5 Project 4: Let's bring it back together!
18.6 Project 5: Save the day!