Mobile Robot Control 2023 Group 11
Group members:
Name | student ID |
---|---|
Anagha Nadig | 1830961 |
Sarthak Shirke | 1658581 |
Idan Grady | 1912976 |
A* algorithm is more effiient when there are fewer nodes to consider on the map and is faster. In the current map, there are multiple nodes which are adjacent in continuum with each other. This means that the robot can travel long distances without any obstruction. These nodes can be grouped together to form a single node.
The figure below shows the modified node placement of the small maze which can increase the efficiency of the A* algorithm.
The local path planning algorithm open space method is implemented, to avoid the obstacles detected by the robot while moving. The Laser data obtained when the robot scans the area is used to detect obstacles and determine their position with respect to the robot's frame of reference. The robot is stopped if there is an obstace within a minimum distance from the robot. The area of the open space between the detected obstacles within the field of view of robot is calculated. The heading of the midpoint of the largest open area is obtained and the robot is given a command to rotate towards that heading with the help of odometry data. Then, the robot is asked to move forward with another command. The cycle of scanning, calcualting the open space area, rotating and moving forwad is repeated until it reaches the end of the path.
The simulation result and the video link -
Assignment 3 - Localization
Assignment-1
A program was created which records the odometry data in the current timestep and compares it with the odometry data from the previous timestep. The program is uploaded on the github.
The difference between the current timestep data and the previous timestep data should give the distance the robot has moved.
Assignment-2
The dead reckoning approach is used in this assignment to obtain the position and the orienation of the robot.
In simulation, the accuracy of the method can be assessed by calculating the number of pixels between the previous position and the current position of the robot. This gives the distnace moved by the robot. The odometry data can then be compared with this data to analyse the accuracy of the odometry data.
SInce the odomery data does not give an absolute position coordinates of the robot with respect to the origin or initial coordinates. The difference between the previous odometry data and the current odometry data have to be calculated to obtain the distance travelled by the robot between the two time instants. The odometry data have to be transformed to match with the map frame of reference before performing all the calculations.
The data from the simulation without the wheel slip, will not match accuratey with the real time data.
Adding the wheel slip, there is a difference in odometry data from the data obtained in the simulation without wheelslip. And as the robot does not travel the exact distance specified beacuse of the wheel slip, there will be a difference between the actual distance specified and the distance travelled.
Assignment-3
The physical robot was moved and the odometry data was recorded at the current position of the robot. The distance moved by the robot was measired physically using a measuring tape and compared with the odometry data. The table below shows the data
Experiment | Measured using | Distance moved in 'x' direction (cm) | Distance moved in 'y' direction (cm) | 'θ' angle rotated (radians) |
---|---|---|---|---|
1 | Measuring Tape | 278 | 0 | 0 |
Odometry | 273 | 0.62 | 0.094 | |
2 | Measuring Tape | 0 | 135 | 0 |
Odometry | 0.27 | 113 | 0.059 | |
3 | Measuring Tape | 208 | 170 | 0 |
Odometry | 220 | 139 | 0.094 | |
4 | Measuring Tape | 0 | 0 | π |
Odometry | 0.0005 | 0.00132 | 2.09952 |
The physical robot will have wheelslip which will be recorded by the odometer. The measurement by odometer can be slightly noisy because of physical sensor limitations.
From the experiment it is observed that the odometer does give measurements with slightly large error margin in a few cases and can be used to detect the position of the robot.
Hence, multiple snesors which are available on the robot can be used along with the odometer to obtain accurate measurements.
Assignment 4 -Localization