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()
#! /usr/bin/python from sensors.webcam import Webcam, CupDetector, FaceDetector, TableDetector from controllers.table_state import TableState from controllers.nxt_controller import NxtController from motors.pyrobot import Create from event import EventLoop import sys if __name__ == "__main__": e = EventLoop() irobo = Create() irobo.Control() td = TableDetector(e) ts = TableState(e, irobo) n_c = NxtController(e) e.register('webcam', Webcam(e, cam=1)) e.register('td', td, 'frame') e.register('ts', ts, 'table_pos') # Obstacle avoidance e.register('ts', ts, 'obstacle') # Response (ts) e.register('n_c', n_c, 'obstacle_distance') # Request e.run()
lynx = lynx_motion.Arm() nxt = NxtController() irobot_controller = Create("/dev/ttyUSB1") irobot_controller.Control() ud = Ultrasonic(e) c_s = CupState(e, lynx, nxt, cam_angle=-25) f_s = FaceState(e, lynx, irobot_controller) t_s = TableState(e, lynx, nxt, irobot_controller) 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')