This page summarizes all the research work I did for this term. You'll notice two research topics here. Due to change in project strategy as per the suggestions of the instructors of the class, I changed my research topic half way through the term. Work done towards both the topics are presented here.
The research topic I had initially decided to explore this term is Automatic Driving with Dynamic Obstacles. This is relevant to the robot design because during the transition round, in order to safely make it to the other side, the robot would have to be faster and manage to avoid collision with the other team’s robot.
The new research problem introduced is the ability to plan the shortest collision-free path while making it to the other side quicker than the other robot. This is challenging because most collision avoidance strategies executed so far involves being safe and waiting for the dynamic obstacle to get out of your way. Also there is the uncertainty of, no matter what autonomous driving strategy we come up with, it’ll always fail, if the other robot has mo
We plan to use ultrasonic sensors to detect and maintain a safe distance from obstacles.
An Impedance Force Control Algorithm can be used to model the distance detected from the ultrasonic sensors as a force field to always keep a safe distance from obstacles at all times [1]. It has been shown to be effective for both static and dynamic obstacles. However this is not enough to dictate how the robot should follow the shortest path around it. This can be easily evaluated by sending motor control commands using sensor data from ultrasonic sensors.
Having a multi-sensored system with four or more ultrasonic might solve this issue. The data from the sensors can be combined and using a statistical learning theory called Support Vector Machine (SVM) [2]. This can let us know the velocity of the approaching dynamic obstacle and plan the best path around it. This can help us predict the trajectory of the other robot and find the optimal path. This can be tested by putting 4 ultrasonic sensors in each corners of the robot and walk past it and see how well the algorithm is able to predict the person’s trajectory.
In order to beat the other robot, it is imperative to be able to replan the shortest path quickly around the other robot where using traditional ways of constantly monitoring and updating the map can be time-consuming. SIPP or Safe Interval Path Planning can be used to tackle this [3]. Using SIPP, it is possible to find a solution in state space without having time as a dimension which means it can potentially provide a solution where it wouldn’t require us to wait for the obstacle to pass. Instead of keeping track of state at every timestep, the timeline is split into safe and collision intervals reducing the number of states and configuration the robot has to keep track of.
It can also take into account multiple trajectories per dynamic obstacle which is particularly applicable in our case since we have no idea what the other robot’s transition strategy is going to be. Some problems with this technique is that it has not been tested with erratic trajectories and the model does not take acceleration/deceleration of the robot into consideration. This will definitely require implementation on the physical robot since the algorithm doesn’t take consider the real-world dynamics of the robot.
References
[1] E. S. Jang, S. Jung, T.C. Hsia, “Collision Avoidance of a Mobile Robot for Moving Obstacles Based on Impedance Force Control Algorithm”, 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems, IEEE, August 2-6, 2005.
[2] J. Tian, M. Meijuan, E. Lu, “Dynamic Collision Avoidance Path Planning for Mobile Robot Based on Multi-sensor Data Fusion by Support Vector Machine”, International Conference on Mechatronics and Automation, IEEE, August 5-7, 2007.
[3] M.Philips, M.Likhachev, “SIPP: Safe Interval Path Planning for Dynamic Environments, International Conference on Mechatronics and Automation, IEEE, May 9-13, 2011.
As mentioned above, my research topic is no longer going to be Autonomous Driving with Dynamic Obstacles as per the suggestion of graders in the midterm presentation. So my new research topic is Drive Train Design and Control.
The research problem I tackled is design and control of a drivetrain that is able to move the robot precisely from one point to another and is able to counteract the backward momentum produced during bean bag launch.
The precise control of the robot can be achieved by having encoders on the wheels. Since the robot is teleoperated this will be quite simple do to by specifying how far the wheels should turn per click of the key. We have already demonstrated this in the first actuator demo.
The robot has a simple drive train design with two driven wheels powered by DC motors. Power is transmitted using sprocket and chain. Since the motors used are already had a 53:1 reduction, the sprockets used only needed a further 2:1 reduction to achieve the desirable torque.
Drivetrain Evaluation
In order to transition to the second spot, it is important that the drive train is able to carry the robot at least a reasonable speed with minimum braking distance.
I proposed two experiments for evaluating the performance of the drive train in these two areas.
From difficulties faced in getting the robot to move, the first test is just a test to see if the drive train is able to carry the robot’s weight and successfully move a distance of about 4 meters in the allotted 3 minutes for transition. The evaluation criteria is going to be either pass/fail.
Procedure:
Criteria:
1. If Pass move on to second criteria. If Fail figure out why.
2. If Pass move onto next experiment. If Fail, figure out why.
Experiment 1: Movement
For this experiment, the robot was moved in a straight line until it reached 4 meters and timed. It was able to move the 4 meters in only 15 seconds (within 8 percent of the allotted transition time). We repeated the experiment only 3 times to save time since it was obvious that the robot had easily PASSED this criteria.
This test will give insight into the size of error the robot has for each keystroke and let us figure out strategies to minimize the error. The error found should be the sum of errors originating both from the encoder and inertia of the robot.
Procedure:
1. Move 22 inches or 0.5588 m (Distance travelled per wheel revolution)
2. Measure how far the robot actually moved and calculate the error.
3. Repeat 10 times and average the data to get a mean error.
4. Repeat for steps 1-3 to get the error in turning.
Criteria:
1. Given the cumulative error, can we manage to get the robot inside the box by travelling in a straight line? If yes, move onto the second criteria. If no, figure out better control strategy.
2. Given the cumulative error from moving, stopping and turning, can we manage to get the robot inside the box following a curved path? If yes, great! If no, figure out better control strategy.
3. Given all the errors, is it possible to control the robot to go around a dynamic obstacle (in this case a person) and reach the box on the other side.
The third criteria however is not so straightforward because of other factors such as the size of the obstacle (other team’s robot), its velocity and how much room is there to maneuver around it. This can be especially difficult to achieve successfully during the actual competition on top of the challenge of teleoperating the robot without being able to actually look at it.
Move Straight for per wheel revolution: The table below shows the error in movement of the robot per revolution of the wheel. 22 inches (0.5588) were marked up on the floor and the robot was programmed to move that distance and stop.
Move Straight for Transition distance: The table below shows the error in the movement of the robot for the transition distance of 4 meters. 4 meters were marked up on the floor and the robot was programmed to move that distance and stop.
Turn in place for full rotation:The table below shows the error in the movement of the robot for one full rotation in place. The starting position was marked up on the floor and the robot was programmed to turn in place for 360 degree.
These experiments gave us an insight into the size of the error in robot movement in three different cases.
Applied Strategies in Competition
During the competition, the robot performed beyond our expectations in terms of movement. We won every transition round. We were also much faster than the other robots. The smaller size of the robot was also advantageous since it allowed for easy maneuverability.
The experiments were designed (AND competition performance) to establish a baseline in terms of the drivetrain performance since there really wasn't a known baseline to start with. We didn't know how fast and what degree of fine control was necessary to beat other robots until the actual competition day. So the results form the experiments were used to make the robot as precise as possible, given the timeframe.
Now that we have observed its performance against other robots, we can start thinking of better control strategies to improve controls for the robot. Incorporation of PID control for the drivetrain with more smaller resolution encoders could easily make the system more reliable and robust. Rigging the robot with multiple camera views can also enhance the experience of the teleoperator, which in turn will affect the human reaction time and thus the performance of the robot.
The research on the design and control of a teleoperated moving base can useful in the any telerobotics applications. The mobile base with wheels alone can be used for applications like space exploration, disaster/rescue missions and dangerous excavation where robots need to be operated from a distance in real-time. Any work on the control strategy can in the long run be used any other telerobotics applications such as such as medical surgery and/or for handling harmful substances.