На хабре была статья о том, как получать изображение с оптического датчика компьютерной мыши.
https://habr.com/ru/post/128972/
По идее единственным этим датчиком вполне можно было бы обойтись для прототипа, ведь мышь умеет оценивать перемещение даже по чистому листу.
Можно добавить энкодеры на колёса и применить метод Калмана для повышения точности и устойчивости определения координат. Для хранения растровой картинки с тем разрешением, с которым "видит" оптический сенсор мыши 600-1200dpi в стоковой ардуинке не хватит памяти, так что можно действительно гнать данные (смещения и картинки) на комп (или смартфон), а там уже обрабатывать и отсылать команды для моторов робота.
Можно взять ESP-cam и приколхозить линзу с подсветкой, тогда можно пробовать формировать картинку на девайсе, например на флешке.
Эффективнее сделать штангу с подвижным сенсором и ровно едущего робота, или взять сенсор от готового сканнера. Лет 20 назад у моего друга был ручной сканнер, который нужно было возить по бумаге, чтобы отсканировать лист. По вращению колёс сканнер понимал с какой скоростью его тянут. Если вести аккуратно, получалась вполне сносная картинка, но только в случае одного прохода.
Само собой с оптическим сенсором от мыши у вас робот будет сканить А4 долго и муторно, причем в ЧБ.
Вообще проще фотать лист сверху смартфоном=).