380 likes | 497 Views
iMagic Senior Project. Project Supervisor: Asst. Prof. Uluç Saranlı. Emre AYDIN Asil Kaan BOZCUOĞLU Onur ÖZBEK Egemen VARDAR Onur YÜRÜTEN. Introduction - MAGIC 2010. Multi Autonomous Ground-robotic International Challenge Jointly sponsored by the US and Australian Departments of Defense
E N D
iMagicSenior Project Project Supervisor: Asst. Prof. Uluç Saranlı Emre AYDIN Asil Kaan BOZCUOĞLU Onur ÖZBEK Egemen VARDAR Onur YÜRÜTEN
Introduction - MAGIC 2010 • Multi Autonomous Ground-robotic International Challenge • Jointly sponsored by the US and Australian Departments of Defense • Robots that will conduct a mission of intelligence, surveillance and reconnaissance • Mission objectives: • Accuratelyand completely exploringand mappingthe challenge area • Correctlylocating, classifyingand recognisingall simulated threats
Introduction – MAGIC 2010 (cont.) • Program goals: • Accelerating the development of autonomous and unmanned vehicle technology. • Demonstrating that multi-UVS cooperatives can operate effectively with limited supervision by humans in realistic environments. • Bringing fresh insights to the problem of developing robust autonomous multi-vehicle cooperatives and to identify and transition technologies to meet emerging requirements.
Introduction - iMagic • iMagic is an implementation of the contest in a simulated environment. • Development of the two opposing teams: • Incursion robots • Objects of interest • Project goals: • Efficient decision-making and planning algorithms • Task allocation and re-allocation for multiple robots • Full autonomy • Reliance on sensory information exclusively
Problems We Have Encountered • A completely new technology (CCR & DSS) • Complications due to asynchrounous and distributed computing • Bugs related to the physics engine
Odometry • Robotics Studio does not have encoder in standard configurations • We implemented our own encoders with following formula: rotation = update_elapsed_time * rotation_scale(1/2*pi)*wheel_speed
Odometry (cont’d) • The formulae: OT+1 = OT + (DR - DL) / W DT,T+1 = (DR + DL) / 2 XT+1 = XT + DT,T+1cos(OT+1) YT+1 = YT + DT,T+1sin(OT+1)
Odometry (cont’d) • Odometry can be erroneous • Our case: - In mapping, we don’t see much error - That can be because we implement the encoders virtually.
Mapping • One of the main goal of the Magic 2010 • While the target OOIs are neutralized, mapping process also must be done.
Mapping Algorithm (cont’d) • Occupancy Map Principle - Every pixel has a value. ( Default: 128) - Robots’ laser range finders measure distance in 180 degree. - If it returns max range, corresponding pixel values in the range are increased. -Otherwise, the value of the end point of the corresponding ray is decreased.
Incursion Team Robots • Pioneer 3DX Equipments: - Laser Range Finder - Differential Drive on two wheels - Web cam
Incursion Team Robots (Cont.) • They can be in either of the following 3 states: • Wander • OOI Following • Motion-to-goal
Incursion Team Robots (Cont.) • ‘Wander’ State: • Default state • Move randomly and explore the environment
Incursion Team Robots (Cont.) • ‘OOI Following’ State: • Follow an OOI until neutralizing it • Neutralizing an OOI: • Keep the OOI under surveillance for 20 seconds. • Neutralized OOIs are removed from the environment.
Incursion Team Robots (Cont.) • ‘Motion-to-goal’ State: • Try to reach a goal point • For fast and deterministic exploration
Incursion Team Robots (Cont.) • How is collision avoidance handled? • Slowing down • Doing boundary following • Backing off
Incursion Team & Command Center • Switching to OOI Following State: • Command center calculates the distance between incursion robots and OOIs. • If it finds an ‘available’ incursion robot close enough to an OOI, it sends a message to that incursion robot.
Incursion Team & Command Center • Switching to ‘Motion-to-goal’ State: • Command center determines the unexplored regions in the map built so far. • Generates a random point in the most unexplored region; finds an available incursion robot, and assigns that point as a goal to that robot.
OOI Robots’ Motion Goal • Provide a collision-free motion • Patrol within a subregion
Robot Information • Lego mindstorm NXT • Actuators and Sensors • Differential drive on two wheels • Laser range finder • Webcam
Motion Planning Algorithm • “Node construction” phase • “Patrol” phase • Local planner: Artificial potential fields
Node Construction • Produce # of samples = # of existing nodes
Node Construction (cont.) • Randomly pick one of the samples
Node Construction (cont.) • Connect the sample with up to k (k=3) neighbours of the previous node
Patrol • Select target from the node set
Patrol • Generate additional “bridge” nodes if needed.
Analysis • Incremental node construction • Avoiding massive pre-computation • Motion is not delayed • Implicitly building “borders” • Tentative area for patrolling • Collision-free, elegant motion