|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools |
Rating:
|
Display Modes |
|
|
|
#1
|
|||||
|
|||||
|
Re: pic: FRC488's Octocanum Ver 2.0
The wheel assemblies are 1/4" ABS with .5x.5x.125" angle added for rigidity. We can laser cut the ABS parts in a few minutes; then it's simply a matter of cutting the angle to length and match drilling it to the ABS.
The bearing blocks are of similar construction, but are really ugly right now. I'm still working on those. If possible, we'll bolt the transmissions through just one wall of the C-channel. Otherwise, we'll laser cut 1/2" ABS inserts to stick inside the C-channel to prevent it from buckling where it's bolted through. |
|
#2
|
|||
|
|||
|
Re: pic: FRC488's Octocanum Ver 2.0
Woah.....
I have seen many amazing drive trains in my time (and I mean MANY), but this is just AMAZING! I love the idea! Are you going to implement it next year? Just some questions: 1. How many KoP parts does it use? 2. How many other parts? 2.5 Where can these parts be obtained? 3. How easy is this to make (during build season, with a team of builders) 4. Is it open source? ![]() |
|
#3
|
||||
|
||||
|
Re: pic: FRC488's Octocanum Ver 2.0
Quote:
If your robot had superior control, I suspect the reasons are probably: 1) superior craftsmanship and attention to detail of the mechanical design (wheel and frame alignment, leveling, weight distribution, minimal and consistent drivetrain friction, carefully assembled and adjusted mecanum wheels) 2) attention to detail of the electrical design (proper wiring to motors and gyro, selection of gyro with minimal drift, etc) 3) well-designed driver interface (match the driver interface to the driver) 4) skilled drivers with lots of practice |
|
#4
|
|||
|
|||
|
Re: pic: FRC488's Octocanum Ver 2.0
^ Those help too.
![]() |
|
#5
|
|||
|
|||
|
Re: pic: FRC488's Octocanum Ver 2.0
Quote:
The base aspect of converting a desired vector/rotation into wheel speeds is pretty easy (it's even included in the WPI libraries), but we did a lot of additional work so the robot would _actually_ move the way you intended. There were many PID operations that more or less worked in concert to allow smooth robot control. It was essentially a solved problem from a theory perspective, but still required a lot of code in order to operate well. |
|
#6
|
||||
|
||||
|
Re: pic: FRC488's Octocanum Ver 2.0
Quote:
|
|
#7
|
|||
|
|||
|
Re: pic: FRC488's Octocanum Ver 2.0
Initially, we had 3 closed-loop systems:
Rotational - used a gyro to keep the robot on target heading Translational - used encoders on "follow wheels" (unpowered wheels) to gauge ground speed and keep the robot translating on a target vector Wheel Speed - used encoders on the drive wheels themselves to achieve precise wheel speed control After a while, we actually disabled the wheel speed, as we didn't appear to get much performance improvement from it and we were looking to save on some CPU cycles. |
|
#8
|
||||
|
||||
|
Re: pic: FRC488's Octocanum Ver 2.0
Quote:
|
|
#9
|
|||
|
|||
|
Re: pic: FRC488's Octocanum Ver 2.0
The driver had two joysticks:
1st: X/Y joystick movement controlled X/Y direction & magnitude of the robot relative to the field 2nd: X joystick movement controlled rotational rate relative to the robot So, not exactly what you described, but fairly close. |
|
#10
|
||||
|
||||
|
Re: pic: FRC488's Octocanum Ver 2.0
Quote:
- You do closed-loop control of the vehicle speed as commanded by the radius1 of joystick #1 Am I understanding you correctly? How many follower wheels did you use, and how are they mounted? 1 Do you use sqrt(X^2+Y^2) or max(abs(X),abs(Y))? 2 Do you use atan2(X,-Y) to calculate angle, or something else? |
|
#11
|
|||
|
|||
|
Re: pic: FRC488's Octocanum Ver 2.0
Sorry, I think something got lost in my description.
-We perform closed loop control of X translation as commanded by the X axis of Joystick1 -We perform closed loop control of Y translation as commanded by the Y axis of Joystick1 -We perform open loop control of Robot rotation rate as commanded by the X axis of Joystick2 (however, when desired rotation rate is 0, we perform closed-loop control of robot angle as commanded by the heading we were at when we stopped rotating) This was accomplished with 3 follow wheels and a gyro. Two of the follow wheels were used to track the robot moving forward/backward, and one was placed directly under the center of rotation and used to track the robot strafing. |
|
#12
|
|||||
|
|||||
|
Re: pic: FRC488's Octocanum Ver 2.0
Wouldn't measuring the vehicle's actual velocity be more useful? After all, the drive has no care as to what wheel speed is (especially if that wheel is slipping).
|
|
#13
|
||||
|
||||
|
Re: pic: FRC488's Octocanum Ver 2.0
Quote:
We tried Mecanum wheels and tried field oriented drive. It was a good exercise for our programmer who did it all on his own. It would work for 10 to 15 seconds and then the headings will be off. I think it is because of gyro drift. We use the gyro that comes in the KOP. Is there a better one that we should use? We tried a compass sensor but there is too much electro magnetic interference from the motors. Any help would be appreciated. |
|
#14
|
||||
|
||||
|
Re: pic: FRC488's Octocanum Ver 2.0
Quote:
How about it, John? :-) |
|
#15
|
|||||
|
|||||
|
Re: pic: FRC488's Octocanum Ver 2.0
The Discobots used the kit gyro last year to do field oriented drive on our omni-drive. We didn't have to much issues with drift over the duration of the match. We did have it setup so that the driver could zero the gyro him self at any of the cardinal directions but he only needed to use it in a few matches.
Our biggest problem with the kit gyro was the initial calibration routine we were dead in the water during a few elimination matches at Lone Star because we didn't let the robot sit still when we turned it on. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|