Skip to content

Teaching

From equations to running robots.

Lecturer in Robotics, Automation and Control Engineering at the University of Brighton, teaching across robotics, machine learning and programming.

“I connect robotics and AI theory with programming, simulation and hands-on experimentation, helping students understand both the mathematical principles and their implementation in real systems.”

Teaching philosophy

Approach

How I teach

01

Theory you can run

Every equation on a slide should have a counterpart students can execute — a kinematics derivation becomes a ROS 2 node, a loss function becomes a training curve they can break and fix.

02

Simulation before hardware

Students build confidence in RViz, PyBullet or a dry-run mode first, then move to real equipment knowing what the robot should do and how to stop it.

03

Feedback that moves work forward

Assessment is most useful when it tells a student what to try next. I favour short, specific feedback on code and design decisions over generic marks.

Current teaching

University of Brighton

Teaching contributions in the School of Architecture, Technology and Engineering and in computing.

  • Robotics, Automation and Control Engineering

    University of Brighton

  • Machine Learning

    University of Brighton · Level 6

  • Introduction to Programming (CI401)

    University of Brighton

  • Working in the Computing Industry (CI453)

    University of Brighton

  • Enterprise Networking

    University of Brighton

  • Cyber Security Management

    University of Brighton

Previous teaching

Foundation and undergraduate teaching

  • Physics, Mathematics, Engineering and Programming

    Kaplan International Pathways

  • Mechanical Engineering

    Undergraduate teaching, India

In practice

Beyond the lecture

Project mentoring

Guiding undergraduate and postgraduate projects in robotics, computer vision and applied machine learning, from scoping to write-up.

Laboratory demonstrations

Live demonstrations on the Franka Emika Panda and in simulation, so students see planning, control and safety behaviour in practice.

Practical coding exercises

Short, incremental exercises in Python and ROS 2 that students extend week by week.

Assessment and feedback

Coursework and practical assessment with written feedback focused on the next improvement.

Workshop topics

ROS 2 fundamentalsForward and inverse kinematicsMoveIt 2 motion planningRobot simulation in RViz and PyBulletPython for engineers

Teaching resources

ROS 2 exercises on GitHub

Both packages target ROS 2 Humble on Ubuntu 22.04 and run entirely in simulation.

Franka Panda over a green table in RViz during a MoveIt 2 pick-and-place exercise
Simulation only

ROS 2 Panda Pick-and-Place with MoveIt 2

sh1755/ROS2-Panda-Pick-and-Place

Problem. Students need a complete, readable example of motion planning, planning scenes and gripper control.

Approach. A teaching package that adds a table and cube to the MoveIt planning scene, plans pose-constrained motions, commands the gripper and attaches the object through a full pick-and-place sequence in RViz.

ROS 2 HumbleMoveIt 2RViz 2Pythonament_python

Status: Teaching resource

Simulation only

ROS 2 Forward & Inverse Kinematics for a 7-DoF Arm

sh1755/ROS2-Forward-Inverse-Kinematics-repository

Problem. FK and IK are usually taught on paper; students rarely see a redundant arm respond to their own maths.

Approach. FK by chained transforms and damped-least-squares Jacobian IK, published as joint states and animated in RViz 2 through approach, grasp, lift, transfer and place stages.

ROS 2 HumblePythonNumPyRViz 2TF

Status: Teaching resource