70 likes | 224 Views
An aluminium two-wheeled robot (ALBot) for teaching. Phil Culverhouse. Field Programmable Gate Array (FPGA). Interface PCB. Atmel microcontroller. Robot motor & wheel assembly. ALBot v1. Atmel controller & robot. Programme in C Use AVRstudio and JTAG interface
E N D
An aluminium two-wheeled robot (ALBot) for teaching Phil Culverhouse
Field Programmable Gate Array (FPGA) Interface PCB Atmel microcontroller Robot motor & wheel assembly ALBot v1
Atmel controller & robot • Programme in C • Use AVRstudio and JTAG interface • PID controller available embedded • Robot can operate from PSU or battery • Fast – up to 2metres per second! • Teaching version of Mirosot competition robot footballer
ALbot sensors • Sensors • Infra-red chat (front facing) • Infra-red Line detect (bottom) • VGA colour camera
FPGA • Altera FPGA EP2C8T144 – 200MHz programmable hardware • Quartus development tool • Design in logic schematic and/or VHDL (Very high speed IC Hardware Description Language)
VHDL example • LIBRARY ieee; • USE ieee.std_logic_1164.all; • use IEEE.numeric_std.all; -- for integer to bit_vector conversion • ENTITY SlowCounter IS • PORT (Clk : IN std_logic; ClockOUT : OUT std_logic); • END SlowCounter; • ARCHITECTURE SlowCounter_v1 OF SlowCounter IS • CONSTANT maxval: natural := 100; -- • signal Counter: natural range 0 to maxval; -- reduce clock to approx 500ms from 64uS (Hsync input) • signal Ctemp: std_logic := '0'; • begin • process (clk) • begin • if (clk'event) and (clk ='1') then • Counter <= Counter +1; • if Counter = 0 then • Ctemp <= '0'; • end if; • if Counter = maxval then • Ctemp <= not(Ctemp); • end if; • end if; • end process; • Clockout <= Ctemp; • end SlowCounter_v1; Sequential process Concurrent process runs in separate Hardware section
AINT302: Machine vision & behavioural Computing: laboratory 2 problem • Recognise golf ball by hardware • What questions to ask? • What camera/lens • What colour processing? • What speed of operation? • How?!!!