Может опечатка? Вот рабочий код:
local robot = component.proxy(component.list('robot')())
while true do
computer.beep(20, 0.5)
if robot.detect(3) then
robot.swing(3)
end
end
Библиотека robot и компонент robot несколько отличаются.
При использовании компонента в вызове robot.swing(3) следует указывать сторону, как в коде @Doob