Over the past semester I’ve been diving into the world of robotics simulation using MoveIt2 and RViz in ROS 2. This work centers around learning to operate the UR5E robot arm using Gazebo for simulation, and is a stepping stone to using the physical UR5E arm owned by Duke University later this semester.

Table of Contents
Controlling the UR5E with Python
In my simulations, I’ve been using Python scripts to control the UR5E’s movements. My code takes advantage of both joint angle selections and pose selections to guide the robot through block stacking tasks. Joint angle selection gives me control over each specific joint of the robot, while pose selection allows for specifying the position and orientation of the robot’s end effector. Together, these methods enable precise and flexible control of the arm’s movements.
In the example below, I had some fun. I directed the robot to write my initials in the air.

Designing a Custom Robot Arm with Fusion360
Taking my simulation attempts to the next level, I designed a custom robot arm to remove lightbulbs in high places such as museums and libraries. The robot arm includes a coiled end effector to both grab and twist the lightbulbs.
