January 2019 - May 2019, for MRover and Computer Engineering Senior Design -- EECS 467: Autonomous Robotics (Dr. Chad Jenkins). Semi-automating a 6 degree-of-freedom arm for use on a mobile robotic platform in the desert.

Problem and Background

In order to achieve the complex manipulation tasks at competition, arbitrary positioning of the end-effector is necessary. Thus, we built a 6 degree-of-freedom (6 DOF) arm. However, to effectively use a highly configurable arm, kinematics and motion planning are necessary as manually operating 6 actuators is difficult time consuming. I used my Computer Engineering Senior Design class (EECS 467 -- Autonomous Robotics with Chad Jenkins) to implement these capabilities for our arm.


Design Goals

The design was executed with these goals in mind:

  • Automate use of the lowest 5 DOF's (the end-effector "wrist" roll was left to manual operation)
  • Avoid arm self-collision
  • Interface with the existing MRover software stack
  • Implement a visual user interface

Design Overview



The project was overall a success, but needs a lot of improvement to make the most use out of the arm hardware. The project is currently being continued for use in URC 2020.


  • Visual command interface works well and doubles as a simulator for testing
  • Inverse Kinematics solver runs efficiently


  • Poor actuator controls (due to low resolution (4096 counts per joint rotation) and control loop frequency (~200 Hz))
  • Motion Planner is very slow
  • Motion Planner operates in configuration space, resulting in very strange world space paths
  • Small motions aren't executed well
  • Software architecture is convoluted and difficult to maintain in certain places

Future work:

  • Include orientation in IK and planning
  • Improve command interface: allow operator to specify paths
  • Include surroundings in visualizer
  • Improve controls
  • Improve software architecture