THIS IS THE TEST SITE OF EUROBRICKS!
Search the Community
Showing results for tags 'Ev3'.
-
AWD MiniKart is my latest creation using three differentials. This is my first attempt at building an All-Wheel-Drive drivetrain, but it was worthwhile the effort. I wouldn't say this is a huge success, but it works well on perfectly smooth terrain. I do have a few ideas for a 4x4 vehicle now ;) It uses two Large Motors to drive the center differential which distribute the power to all four wheels, and the Medium Motor steers the Rack and Pinion setup. I also built a custom base stand for some video purposes; it's not hard to build and has good usages. Any more information you would like will be happily answered. Until NXT time… DamonMM2000 Please click to watch a detailed video on AWD MiniKart!
- 2 replies
-
- lego
- Mindstorms
-
(and 7 more)
Tagged with:
-
Hi, Here is my latest project that i have been working on the past 2 months. It's only function is to keep on rotating a platform or sphere. So it doesn't really have any purpose besides looking kinda cool. It can be used as a MOC display stand, but it has it's weight limit. I tried to have Gyroboy(from Ev3 education set) balancing on the platform but it was to heavy and it didn't really like the unstable platform. So it ended up with a borring box on top instaid. Lego Axis by Andreas Håkansson, on Flickr The build was inspired by a robot/machine i saw on the new season of battlebots. It's the one holding the trophy. After some research i found out that it was created by Mark Setrakian. I also found a video of his machine. (see below) You might notice that his moves alot more smoother. And that i stole the name becouse i couldn't come up with something myself. So this project was kinda software heavy compared to my other mocs so i figured i might aswell share i little about what makes it tick. For those that don't care how it works or just hate math should probably skip the rest. First off, what is the problem? The problem is to get the arm to follow i curved line at a specific height in space so that the 5 arms together makes a circular motion. What I need for this is a way to convert X,Y,Z coordinates into angles for the diffrent joint in the arm and then a way to plot a curved path in the X,Y,Z coordinate system. Converting X,Y,Z coordinates into angles (for 3 joints) The way i did this was to create two 2-dimensional views of the arm, X-Y and Z-Ys (not same as Y). YX by Andreas Håkansson, on Flickr So first of i calculate the value of Ys. This is done with the X Y positions that would be part of our desired position. Ys = sqrt(X^2 + Y^2) Now it is possible to get the angle between Ys and X. Angle Radians_YsX = arccos(X/Ys) (arccos = inverted cos = cos-1) Some calculators/softwares (EV3 original software) would directly give you the value in degrees. In labview you get the value in radians instaid of degrees so you have to convert it into degrees youself. The diffrence between radians and degrees is basically that for degrees 360 = full circle and for radians 6,28(Pi x 2) = full circle. I used labview so i had to add this. Degrees_YsX = Radians_YsX x 180 / Pi Now i have the calculated angle for the first joint. YsZ by Andreas Håkansson, on Flickr B and C is fixed distances in the mechanical design so they will be constants in this case. Ys i got from the calculations above and Z is part of our desired position so i know that value aswell. To get the angle for bc (third joint) i first need to know the lenght of V. V = sqrt(Z^2 + Ys^2) To get the angle for bc. Radians_bc = arccos((B^2 + C^2 - V^2) / (2 x B x C)) Degrees_bc = Radians_bc x 180 / Pi Now i just need the angle between B and Z (bz) for the second joint. First i calculate the angle between B and V (bv) Radians_bv = arccos((B^2 + C^2 - V^2) / (2 x B x C)) Degrees_bv = Radians_bc x 180 / Pi Then i calculate the angle between V and Z (vz) Radians_vz = arccos(Z/V) Degrees_vz = Radians_vz x 180 / Pi Add them together Degrees_bz = Degrees_bv + Degrees_vz Now i am able to generate the degree values for the 3 joint in the arm based on the XYZ coordinates. However the degree values of the joint is not the same as the degree value for the motors so i will have to account for that with some gear ratio calculations. (I have a feeling most people here in the technic forum knows the basics of gear ratio so i'll skip explaining that.) In the calibration sequence of the machine i then match the starting position for the motors with the appropriate degree value. Creating a curved path. The curved path is based of a circle that has it center in the middel of the machine. Each arm will move along 64 degrees of the circle. I used 64 degree instaid of 72 (1/5 of 360 degree) to avoid collisions of the arms when they do the transition. I had to use a separate coordinate system for the path based of the center of the machine, in the new coordinate system i use Xc and Yc. Path by Andreas Håkansson, on Flickr As you can see in the image above the path starts at 328 degree and moves to 392 degree. I keep going above 359 (instaid of starting over at 0) to avoid having make special code that would have to hadle the jump as it moves along the path. To get Xc and Yc coordinates for the path (based of th center of the machine). Yc = cos(v) x r (v = angle, r = radius) Xc = sin(v) x r Ex: 1/ (Yc) 127,2mm = cos(328) x 150mm (Xc) -79,5mm = sin(328) x 150mm 2/ (Yc) 150mm = cos(360) x 150mm (Xc) 0mm = sin(360) x 150mm 3/ (Yc) 127,2mm = cos(392) x 150mm (Xc) 79,5mm = sin(392) x 150mm Now i just need to get the path based in the center coordinate system to the coordinate system for the arm. The distance between the two coordninate systems is know (just measure). To get the Z and X positions. Z = P - Yc (P = distance between the two coordinate systems) X = 0 - Xc Ex: (Z) 122,8mm = 250mm - 127,2mm (Yc) (X) 79,5mm = 0 - -79,5mm (Xc) The Y value for the arm does not need to be calculated, it can be what ever i set it at as long as the arms can reach it. So that is basically the math for the machine. I use the same calucaltions for all 5 arms. To get it to move in the path i start at 328 degree and then every 100ms i add 1 degree until i get to 392. Then i lower the Y value to lower the arm and then start to subtract 4 degree every 100ms until it reach 328 again. Then change back the Y value to make to arm go up again then it kinda repeats that. Each arm starts at 5 diffrents points in this cycle so that when the first arm starts moving forward the last arm will start moving revers. This way there will always be 4 arms holding the plate. There is probably more efficent ways to solve this, but this is what i could come up with. :) Most of the equations could be used for a walking robot as long as its only has 3 joints / leg if you want all legs to pull in the same directions. But i have a feeling there might be some weight issue. Hopefully the explinations was understandable and not too boring. :) /Hknssn
-
Hello, Rubik Cube robots capable of using ultrasonic sensor. .
- 7 replies
-
- Ev3
- Mindstroms
-
(and 1 more)
Tagged with: