Roberts served as lieutenant on Cook's HMS Discovery, where he was entrusted with many hydrographic and cartographic tasks, and also met then-midshipman George Vancouver. Roberts spent many years after that voyage preparing the detailed charts that went into Cook's posthumous Atlas. Roberts also served on HMS Resolution where he was to make a painting of the ship.
In 1790, Roberts was appointed to command a newly built HMS Discovery on another round-the-world voyage and selected George Vancouver as his first lieutenant. However, the Nootka Crisis called both men to duty elsewhere, and upon its resolution, Vancouver was given command of the historic voyage. Roberts died on 25 August 1796, Captain of HMS Undaunted in the West Indies, where he contracted yellow fever.