ROBOTIC ARM KINEMATICS AND AUTONOMY
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.
Solution
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
Reflection
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.
Successes:
- Visual command interface works well and doubles as a simulator for testing
- Inverse Kinematics solver runs efficiently
Failures:
- 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