from controllers.cup_state import CupState from controllers.face_state import FaceState from controllers.nxt_controller import NxtController from sensors.webcam import Webcam, CupDetector, FaceDetector from event import EventLoop from motors.pyrobot import Create import sys if __name__ == "__main__": e = EventLoop() irobot_controller = Create() irobot_controller.Control() c_s = CupState(e, cam_angle=-25) f_s = FaceState(e, irobot_controller) cd = CupDetector(e, cam_angle=-25) fd = FaceDetector(e) e.register('webcam', Webcam(e, cam=1)) e.register('fd', fd, 'frame') # We can see! # Events for face tracking and killing actions e.register('f_s', f_s, 'cups_done') e.register('f_s', f_s, 'face_pos') e.register('f_s', f_s, 'face_gone') e.register('f_s', f_s, 'no_face') e.add_event('cups_done', None) e.run()
cd = CupDetector(e, cam_angle=-25) fd = FaceDetector(e) td = TableDetector(e) e.register('webcam', Webcam(e, cam=1)) e.register('ultrasonic', ud) e.register('td', td, 'frame') # e.register('td', td) e.register('cd', cd) e.register('fd', fd) # We can see! # e.register('fd', fd, 'frame') # We can see! # Events for cup taking actions e.register('c_s', c_s, 'cup_start') e.register('c_s', c_s, 'cup_appeared') # Arm may align to grasp # Events for face tracking and killing actions e.register('f_s', f_s, 'cups_done') e.register('f_s', f_s, 'face_pos') e.register('f_s', f_s, 'face_gone') e.register('f_s', f_s, 'no_cups_on_tray') # Events for going to the table e.register('t_s', t_s, 'faces_done') e.register('t_s', t_s, 'table_pos') # e.add_event('cups_done', None) e.add_event('faces_done', None) e.run()