ENME480 · Reference
Resources
Setup guides for the toolchain, references for the math, and the handful of external docs worth bookmarking.
Course documents
- Syllabus
- Fall 2026 syllabus (PDF) — grading, policies, week-by-week outline
- UR3e DH table
- Denavit-Hartenberg parameters (PDF)
- FK datasheet
- Forward kinematics datasheet (PDF)
- Camera notes
- Perspective transform estimation (PDF)
Setup guides
Work through these in order the first time. Everything after Week 1 assumes they are done.
-
Ubuntu
Installing 22.04, dual boot and VM options, partitioning, drivers.
-
ROS 2
Installing Humble, sourcing the environment, building a workspace.
-
Gazebo
Launching the simulated UR3e cell and troubleshooting the usual failures.
-
Dev environment
VS Code against the course Docker image, and a terminal setup that will not fight you.
Language and tooling
-
Python
The subset used in lab: NumPy arrays, classes, callbacks, and the ROS 2 client library.
-
Git
Cloning lab code, branching, and getting out of the states you will end up in.
-
Kinematics
DH conventions, homogeneous transforms, the UR3e parameter table, FK and IK derivations.
External documentation
| Source | Use it for |
|---|---|
| ROS 2 Humble docs | Concepts, tutorials, rclpy API |
| Gazebo docs | Worlds, plugins, spawning models |
| NumPy reference | Array and linear algebra operations |
| OpenCV Python tutorials | ArUco detection, perspective warps |
| Universal Robots UR3e | Hardware specifications and reach |
| Robotics Stack Exchange | Where ROS Answers questions live now |
| UMD Robotics Minor | The minor this course leads into |
Course repositories
| Repository | Contents |
|---|---|
| ENME480/Lab-Code | Lab handouts and starter packages |
| ENME480/enme480_project | Final project package with redacted scripts |
| github.com/ENME480 | Everything else |
Commands worth memorizing
# ROS 2 — source before anything else, in every new terminal
source /opt/ros/humble/setup.bash
source ~/ros2_ws/install/setup.bash
# Inspect a running system
ros2 node list
ros2 topic list
ros2 topic echo /joint_states
# Build only the package you changed
cd ~/ros2_ws && colcon build --packages-select <pkg> --symlink-install
When something breaks after a rebuild
Re-source install/setup.bash. A stale environment explains most "my node disappeared" reports.