Undergraduate
Control Software and Application Development for a Robotic Agility Performance Testbed
Project PREP0005107 · NIST sponsor Justin Albrecht
Overview
The Agility Performance of Robotic Systems (APRS) project at NIST is seeking a candidate to support the
development of a new robotic testbed for measuring the agility performance of robotic systems. The
testbed consists of multiple robot manipulators and a conveyor that work together to complete
assembly tasks organized on task trays. The candidate will focus on two core areas: 1) developing the
control software for the testbed's robot manipulators and 2) developing an application for configuring,
executing, and monitoring testbed operations.
Qualifications
- Currently enrolled in a BS program in Computer Science, Robotics, Mechanical Engineering, Electrical Engineering, or a related engineering field, with senior standing
- Programming experience in Python and C++
- Experience with ROS 2 on Linux systems
- Experience with motion planning frameworks such as MoveIt
- Experience with version control software and workflow (Git/GitHub/GitLab)
- Familiarity with robot manipulators, end effectors, and sensor integration
- Strong communication skills and ability to work in a collaborative research environment
Research Proposal
Key responsibilities will include but are not limited to:
Robot Control Software Development
- Develop ROS 2 control software for multiple robot manipulators, including Franka Research 3 and Universal Robots arms, to perform tray handling and assembly tasks
- Implement motion planning and execution for pick-and-place and assembly operations using MoveIt
- Integrate end effectors including a vacuum gripper, an automatic tool changing system with pneumatic parallel grippers, and a screwdriving system with an automatic screw feeder
- Coordinate manipulator actions with conveyor operation to transfer task trays between robots
Testbed Application Development
- Design and implement an application for configuring and running testbed experiments, including task tray selection, ordering, and execution
- Develop monitoring capabilities that display testbed status and task progress during operation
- Implement data logging and collection to support the measurement of robot agility performance
- Create documentation and tests to support maintainability and reuse of the testbed software