Undergraduate
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.
Control Software and Application Development for a Robotic Agility Performance Testbed
- 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
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