projects:g3:start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
projects:g3:start [2014/04/30 02:35] – cse93178 | projects:g3:start [2014/04/30 03:40] – cse93178 | ||
---|---|---|---|
Line 2: | Line 2: | ||
====== | ====== | ||
+ | {{http:// | ||
+ | |||
+ | {{http:// | ||
+ | |||
\\ | \\ | ||
Students: | Students: | ||
Line 75: | Line 79: | ||
Our project have 5 components: | Our project have 5 components: | ||
- | * Voice recognition (Audio | + | * Voice recognition (Audio |
- | * Sensors | + | * Sensors |
- | * Visual input | + | * Computer Vision (Image Processing) : Veesion |
- | * Design and Hardware integration | + | * Design and Hardware integration |
- | * Movement | + | * Kinematics Model : VeeNverseKinamatics |
+ | |||
+ | Design and Hardware integration involves the designing | ||
+ | |||
+ | {{http:// | ||
+ | |||
+ | As we can see, these five modules could be used to control a robot. \\ | ||
+ | |||
+ | {{http:// | ||
+ | |||
+ | In the above figure we can see the different configurations of the modules. For example, the ICCE (Motion control) module and the Veesion (Image processing) module could be used to control a robot. On the other hand, with that configuration, | ||
+ | |||
+ | The graph below shows the current trend in the robotic industry. This shows why we have chosen the right field on the right time because the sales of service robots are increasing very rapidly and are projected to increase every year with revenues topping billions. \\ | ||
+ | |||
+ | {{http:// | ||
+ | |||
- | Design and Hardware integration involves the designing of the arm and the require hardware components to control the arm. The other 4 components are involved with the operation of the arm. \\ | ||
==== VRobotics : Design Complexity ==== | ==== VRobotics : Design Complexity ==== | ||
- | Our project has 5 different components, which includes both hardware and software solutions. This makes our project one of the complex designs in the ENG4000 course. We design an arm, of length 1.3 meters, from scratch. We have used developement | + | Our project has 5 different components, which includes both hardware and software solutions. This makes our project one of the complex designs in the ENG4000 course. We design an arm, of length 1.3 meters, from scratch. We have used development |
===== Brief Description of the Blocks ===== | ===== Brief Description of the Blocks ===== | ||
Line 99: | Line 118: | ||
- | {{http:// | + | {{http:// |
The above flow chart shows how we get the speech data from (from the mic) and what we do with it. We get the speech from the mic, we compare it with our acoustic, language, sentence model, and then we send the data back to our common data bus, which is received by all the other modules. Now, depending on the source and destination, | The above flow chart shows how we get the speech data from (from the mic) and what we do with it. We get the speech from the mic, we compare it with our acoustic, language, sentence model, and then we send the data back to our common data bus, which is received by all the other modules. Now, depending on the source and destination, | ||
Line 128: | Line 147: | ||
Color Tracking suffers from dynamic lighting. The color of an object is affected by the brightness of the room where the object is situated. If the object is not well lit, the darker the color of the object will be. Initially, the project will be situated at a kitchen where the light does not change dramatically. So the only solution to this so far is that the algorithm has to be calibrated properly to the rooms lighting conditions. | Color Tracking suffers from dynamic lighting. The color of an object is affected by the brightness of the room where the object is situated. If the object is not well lit, the darker the color of the object will be. Initially, the project will be situated at a kitchen where the light does not change dramatically. So the only solution to this so far is that the algorithm has to be calibrated properly to the rooms lighting conditions. | ||
- | Shape tracking with only one camera produces problematic errors with 3D objects. For instance, a cube viewed on the top looks like a square, but when it is viewed on one of its corner, it looks like a hexagon. The good news is that we only aim to process simple shapes and most of the time, the robotic arm most of the time will view the object at the top. The bad news is that since the design decision that we will only use 1 camera to do computer vision prevents me from doing computer vision in order to process depth. So why did we use only one camera if depth is needed to reach an object? The answer to that is that the computer vision only gives the (x,y) coordinates and the depth will be given by a laser sensor. Therefore, no image processing is done when the robot wants to find how far the object is. \\ | + | Shape tracking with only one camera produces problematic errors with 3D objects. For instance, a cube viewed on the top looks like a square, but when it is viewed on one of its corner, it looks like a hexagon. The good news is that we only aim to process simple shapes and most of the time, the robotic arm most of the time will view the object at the top. The bad news is that since the design decision that we will only use 1 camera to do computer vision prevents me from doing computer vision in order to process depth. So why did we use only one camera if depth is needed to reach an object? The answer to that is that the computer vision only gives the (x,y) coordinates and the depth will be given by a laser sensor. Therefore, no image processing is done when the robot wants to find how far the object is. The image below shows how our vision module works.\\ |
- | A flow chart below shows how the CV (color vision) algorithms work. \\ | + | {{http:// |
+ | |||
+ | A flow chart below shows how the CV (color vision) algorithms | ||
{{http:// | {{http:// | ||
Line 155: | Line 176: | ||
What sets our point cloud block apart from the rest is that it is ready to go right out of the box. It uses a serial interface to transmit 3D maps. The brain and all internal processes are hidden out of sight and out of mind…so you can focus on your project. \\ | What sets our point cloud block apart from the rest is that it is ready to go right out of the box. It uses a serial interface to transmit 3D maps. The brain and all internal processes are hidden out of sight and out of mind…so you can focus on your project. \\ | ||
We are happy to announce that we have achieved our goals. The point cloud system is able to obtain a point cloud, process it, and send it via serial. | We are happy to announce that we have achieved our goals. The point cloud system is able to obtain a point cloud, process it, and send it via serial. | ||
+ | |||
+ | A flow chart of our VeeCloud system is shown below: | ||
+ | |||
+ | {{http:// | ||
=== Inverse Kinematics and Movement === | === Inverse Kinematics and Movement === | ||
- | This specific subsystem deals with planning out the motion of the arm not only to make the arm reach its desired destination but also to make sure that the arm does not find itself in compromising situations whereby its movement are going to be hindered. \\ | + | This specific subsystem deals with planning out the motion of the arm not only to make the arm reach its desired destination but also to make sure that the arm does not find itself in compromising situations whereby its movement are going to be hindered. |
+ | |||
+ | {{http:// | ||
+ | \\ | ||
Any robotic platform that requires any form of automated response to a change in its environment will have to have an inverse kinematic system. The challenge posed by our current robotic arm is not only that due to the amount of links it has, there are several configurations to take into account but also since it is a modular robot, at least a significant amount of models have to be considered for any given amount of modules connected. Therefore there is going to be 2 links and 3 links configuration and using the encoders available, we would therefore be able to determine which configuration the arm is in and the arm will know which inverse kinematic set to use. Also collision detection is another aspect being worked on currently and progress is being made when dealing with motion of the arm within the range of the arm itself since there is a region close to the origin whereby the arm cannot reach. Such an example being tackled is when the arm gets too close to the origin of the coordinate frame. In which case points which would then be going through a region inaccessible to the arm in order to get to one which can be accessed, the points whose value are imaginaries are then made to go through the same motion except on the surface of an artificial sphere modelled to make sure to get around this problem. \\ | Any robotic platform that requires any form of automated response to a change in its environment will have to have an inverse kinematic system. The challenge posed by our current robotic arm is not only that due to the amount of links it has, there are several configurations to take into account but also since it is a modular robot, at least a significant amount of models have to be considered for any given amount of modules connected. Therefore there is going to be 2 links and 3 links configuration and using the encoders available, we would therefore be able to determine which configuration the arm is in and the arm will know which inverse kinematic set to use. Also collision detection is another aspect being worked on currently and progress is being made when dealing with motion of the arm within the range of the arm itself since there is a region close to the origin whereby the arm cannot reach. Such an example being tackled is when the arm gets too close to the origin of the coordinate frame. In which case points which would then be going through a region inaccessible to the arm in order to get to one which can be accessed, the points whose value are imaginaries are then made to go through the same motion except on the surface of an artificial sphere modelled to make sure to get around this problem. \\ | ||
If we switch the whole frame into a spherical coordinate system, the end effector would go through the same azimuth and zenith angle though the radius in question would change and match that of an artificially created sphere. \\ | If we switch the whole frame into a spherical coordinate system, the end effector would go through the same azimuth and zenith angle though the radius in question would change and match that of an artificially created sphere. \\ | ||
Line 173: | Line 202: | ||
As you can see, the last figure shows the solution to the inverse kinematics. | As you can see, the last figure shows the solution to the inverse kinematics. | ||
- | === Arm Design and Hardware Integration === | + | === Arm Design and Hardware Integration |
+ | |||
+ | Our robotic arm is different than any other arms in the sense that it has more flexibility due to more number of links. The total length of the arm is 1.3 meter!. Most robotic arms are half of that and contains only two links (3 joints). Our arm offers 6 DOF and uses AX-18 servos for better performance. The flows diagram of the ICCE system (Motion control) is shown below: \\ | ||
- | Our robotic arm is different than any other arms in the sense that it has more flexibility due to more number of links. The total length of the arm is 1.3 meter!. Most robotic arms are half of that and contains only two links (3 joints). Our arm offers 6 DOF and uses AX-18 servos for better performance. | + | {{http://i.imgur.com/hcRPxt0.png? |
Line 187: | Line 218: | ||
{{http:// | {{http:// | ||
+ | |||
+ | {{http:// | ||
The figure below shows communication between two blocks (the vision module and the voice recognition module) and inverse kinematics calculation. | The figure below shows communication between two blocks (the vision module and the voice recognition module) and inverse kinematics calculation. | ||
Line 241: | Line 274: | ||
{{: | {{: | ||
+ | |||
+ | ===== Potential Clients ===== | ||
+ | |||
+ | {{http:// | ||
===== Video Demo ===== | ===== Video Demo ===== |
projects/g3/start.txt · Last modified: 2014/05/19 03:08 by cse93178