Mobile Robot Control 2020 Group 3
Jump to navigation
Jump to search
Team members
M.N. de Boer (Martijn)
G.J.L. Creugers (Gijs)
P. Leonavicius (Pijus)
S. Narla (Shashank)
A.L. Nooren (Anna Lisa)
M.K. Salahuddin (Mohamed Kaleemuddin)
Design Document
Requirements:
The following requirements regarding task performance, safety and software should be satisfied by the simulated PICO robot:
- Task performance
- The robot must be able to recognize target cabinets
- The robot is capable of planning a path and is able to adapt to unexpected circumstances, for instance a closed door.
- PICO can rotate in place, in order to re-position when in front of a cabinet
- Must be able to announce the completion of the current objective
- The robot should not be inactive for more than 25 seconds.
- The robot has to be able to detect static and dynamic object and present them in the world model.
- Safety
- The robot avoids bumping into walls and doors
- The robot avoids collisions with static and dynamic obstacles
- PICO must obey the limits on translation and rotation velocity
- PICO should maintain a 5cm Stopping distance from the obstacle.
- Software
- The software is started by a single executable
- The software can be easily updated .
- The User-interaction should be minimal and User-friendly.
Functions:
Input data processing
- Laser range finder interpretation
- Inputs: distance and angle from LaserData Interpreting data generated by the laser range finder, using a 2D SLAM algorithm.
- Odometer interpretation
- Inputs: OdometryData Calculates speed of the mobile robot integrating position values, relays the data to the SLAM algorithm.
- Sensor Fusion
- Combining sensory information from multiple sensors can have uncertainty.This module can help to have reliable information flow to correlate and deconstruct data.
- Vector map data interpretation
- A function used for structuring data obtained from the provided map of the testing area. To be used as
inputs for position estimation and path planning functions.
Mapping world model
- Surroundings detection:
- Comparing the expected surroundings based on the vector map and the output of the LRF interpretation function.
- Obstacle recognition:
- Given the found surroundings, the robot has to decide whether the surrounding are known walls or unknown obstacles as mark them accordingly.
- Position estimation:
- Comparing the expected surroundings using the provided vector map and the outputs of the LRF and odometry interpretation functions.
Control
- Path planning:
- A function based on a Dijkstra’s/ A* / Dynamic programming algorithm. Uses data from the provided vector map and outputs from LRF and odometry interpretation functions. Constantly recalculates the optimal path based on detected obstacles or changes in the environment such as closed doors.
- Movement functions:
- Used for describing routines to be sent as inputs for the base controller of the robot.
- Final re-positioning:
- After the objective position is reached, the rotation of the robot is compared to the required value obtained from the vector map data.
- Signaling function:
- A print output marking the completion of an objective: called once the final state of the path planning algorithm is reached and the correct orientation of the robot is achieved.
- Safety function:
- Constantly running in the background (as a separate process/thread) in order to detect anomalous behavior of the mobile robot and interrupt the operation of the robot if necessary.
Specifications:
- Maintain a distance of 20cm between walls and PICO, stop and reroute if distance is less than 20cm
- Maintain a distance of 80cm from any moving object
- Move at a maximum speed of 0.3m/s while tracking a moving object
- Move forward slightly, if robot has been standing stationary for 30s.
- Maximum speed of 0.5m/s translational, 1.2rad/s rotational
- Position PICO π rad with respect to the cabinet upon arrival
- Visit the cabinets in the required order
Components:
Sensors
- Laser range Finder
- – Provides a set of points in polar coordinates relative to the PICO robot.
- Wheel encoders
- – With this distance translated and rotated can be measured, is however highly sensitive to noise and will require filtering.
Actuators
- Holonomic base wheel
- – It can realise the required degrees of freedom - translation in x and y and rotate about the z - axis without any position level constraints.
Computation unit
- Containing the software module that drives the robot and lets all other components communicate
Interfaces:
Design Document download:
Escaperoom challenge
Video of escape-room simulation
https://commons.wikimedia.org/wiki/File:Rooboot.webm#file