Advanced and Robot Programming

ECN Robotics Major and Master 1 CORO

The goal of this course is to be able to program a industrial robot and to develop robot prototypes.

My participation deals with an introduction do C++ programming.

  • C++ slides available here . Do not hesitate to comment in order to improve the course.
  • Python slides available here.
  • The lab templates and lectures examples can be downloaded from Github:

    git clone https://github.com/oKermorgant/ecn_arpro.git
  • For Centrale Nantes students: this script will install a shortcut to quickly configure a CMake project for Qt Creator on the school's standard lab computers (buildings B/C/D). You can run it with:
    bash setup_lab_computer.sh

ROS course

ECN Robotics Major

The goal of this short course is to introduce the Robot Operating System. Labs are done on the Baxter robot, where students control some, then all of the degrees of freedom of the arms.

  • Slides for ROS 2 are available here .
  • Legacy slides for ROS 1 are still available here .
  • The labs for ROS 2 are available on Github, download them to your ROS 2 workspace:

    git clone https://github.com/oKermorgant/ecn_ros2_labs
  • Previous ROS 2 exams are available on Github. They usually boil down to writing a simple C++ node and some launch files.

    git clone https://github.com/oKermorgant/ros2_exams

Other ressources, given at Action Nationale de Formation, are available under the anf_launch package:

Underwater Robotics

ECN Robotics Major and Master 2 CORO-IMARO

The goal is to have an overview of underwater robotics, from applications, design, modeling to basic control.

Task-Based Control

Master 2 CORO-IMARO

In this course the students are given state-of-the-art approaches for visual servoing and task-based control of robots.

The first lectures are about sensor modeling through interaction matrices and the study of the properties of the corresponding control laws (local minima, 3D trajectory, singularities).
First, the use of visual moments is detailed and compared to classical image-based and position-based approaches in visual servoing.
We then focus on redundancy and multi-task control, without then with unilateral constraints.

  • The corresponding slides are available here .
  • Additional slides from François Chaumette are on the GDR Robotique page
  • Labs subjects are on Github:
    git clone https://github.com/oKermorgant/ecn_visualservo.git
    git clone https://github.com/oKermorgant/ecn_sensorbased.git
    git clone https://github.com/oKermorgant/ecn_baxter_vs.git

Past teachings

Modeling of Manipulators

Master 1 CORO

The goal of this course is to get knowledge on 3D geometry, serial robot modeling and basic control. We explore the Direct Geometric and Kinematic models, the Inverse Geometric Model, and joint-space and operational-space trajectory generation.

Mobile Robots

Master 1 CORO

This course deals with mobile robots with modeling, localization, trajectory planning and control. My contribution is on the planning and control parts.

  • The slides for the control and planning parts are available here .
  • Control labs are on Github, they use Matlab/Simulink to control either a (2,0) or a (1,1) robots, using either static feedback or Lyapunov analysis.

Vision for Robotics

ECN Robotics Major and Master 1 CORO

This course deals with computer vision with a focus on robotics applications. Students may come from the CORO program, or from the Robotics Major at École Centrale de Nantes.

  • The book associated to the lecture is Computer Vision: Algorithms and Applications, from Richard Szeliski.
  • Many of the slides come from the course of James Hays at Brown University: Introduction to Computer Vision.
    The slides that are used are:
    • 02: perspective transforms
    • 03: color spaces
    • 04: basic filtering
    • 06: template matching
    • 07: edge detection
    • 08-09: interest point and point descriptors
    • 10: robust fitting (Hough transform, RANSAC)
    • 12: epipolar geometry
    • 14: feature tracking
  • Examples used in class can be downloaded in a ZIP file from here
  • The calibration lab templates can be downloaded from Github:
    git clone https://github.com/oKermorgant/ecn_calib.git