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