INF4500 - rapid prototyping of robotic systems (10p)

This course focuses on the interdisciplinary field of computer aided modelling, simulation, prototyping and control of robotic systems and parts. The course is based on 3 practical projects where the students will learn to use and understand the concepts of computer aided design (CAD), computer aided machining (CAM) and rapid prototyping (3D printing) for robot applications. The students will learn how to design, simulate and fabricate a simple legged robot on our 3D printer, and will write the necessary computer IO communication, and the micro controller program to make the robot able to walk. In the last part of the course the students will learn how to program and run the essential parts of the control system for a CNC milling machine and thereby get a deep understanding of the underlying concepts of modern digital prototyping and fabrication of parts in metal, wood and plastic

The course was run last time V2017 - it will be replaced by IN5300 V2019

Organization - V2017
  • 2 hours of lectures (plenary sessions) / week by Mats Høvin - Tuesdays 12.15-14.00, room: OJD-Prolog
    • First lecture: Tuesday 24.1
  • 2 hour of training exercises (plenary sessions) / week by Mats Høvin - Mondays 12.15-14.00, room: OJD-SED
    • First exercise: Monday 30.1
  • 2-(4) hours of supervised practical project work / week - Mondays 14.15-16.00 and Tuesdays 14.15-16.00, room: OJD RobinLab 4112 by teaching assistants and Mats Høvin
    • First day of project work: Monday 30.1
Schedule FAQ Projects Hall of fame 2014, 15, 16, 17
Project 1 - Legged walking robot

In this project we use CAD, physics simulations, 3D printing and Java programming to assemble a legged Dynamixel servo based robot.

  • Computer aided design and 3D print of a legged robot
  • Physics simulation of walking patterns in SolidWorks
  • Java programming of the robot control program
  • Documentation of the finished robot by photo realistic 3D rendering and video generation.
  • Physical demonstration of robot walking for an expert panel for approval of the project

Delivery upload page.

Project 2 - Freeform robot computer aided design

In this project we will investigate two of the main mathematical techniques of modern CAD - polygon subdivision and NURBS (non-uniform rational B-spline). We will combine these two design techniques in a freeform robot design to utilize advantages from both of these worlds

  • Manual Catmull Clark polygon subdivision / B-spline generation (Python, Blender / Java, Processing)
  • Freeform robot CAD NURBS/subD combination design (may be printed or CNC machined)
Project 3 - Computer numerical control (CNC)

Java/C++ PC/microcontroller programming of our 5 axis CNC milling machines (from G-code to physical milling).

  • ArduinoDue programming (C/C++) of a single stepper motor to run in both directions controlled by local switches or simple wiring
  • Writing the necessary code in Processing(Java)/ArduinoDue(C/C++) to enable our CNC machines to read G01 commands from file and move the milling head as specified.
  • 3D milling path generation by various milling strategies using computer aided machining (CAM) (HSMworks)
  • Practical milling of robotic parts in plastic/aluminium
Resources / overview

Lecture handouts

Student evaluation
  • This course is a project based course with a "pass"/"no pass" grade (no final examination). All projects must be approved to get a "pass" grade. Each project will have a specified set of requirements to be approved.
  • Object oriented programming knowledge corresponding to INF1000 or other object oriented programming languages.
  • Analogue electronic knowledge corresponding to INF1411.
  • Digital electronic knowledge corresponding to INF1400 or INF2270 (digital part).
  • Linear algebra knowledge for robotic applications, corresponding to INF3480.
The RobinRuter project CAD files Data sheets
  • Electronic/mechanical components used in this course



INF4500       SolidWorks      Blender       Arduino/Processing/Dynamixel       3Dprint       CNC       Materials