Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Robot Showcase (http://www.chiefdelphi.com/forums/forumdisplay.php?f=58)
-   -   FRC971 Spartan Robotics 2016 Release Video (http://www.chiefdelphi.com/forums/showthread.php?t=146113)

AustinSchuh 23-03-2016 11:15

Re: FRC971 Spartan Robotics 2016 Release Video
 
Quote:

Originally Posted by AdamHeard (Post 1561646)
I count 5 control loops minimum to put a ball in the goal?

Depends on how you count them :P

The same loop runs on the left and right side of the shooter. They are only coupled in software. The control loop to run the shoulder and shooter angle is a 6 state MIMO (multiple input, multiple output) controller. The intake loop is separate. Then, there is the MIMO drivetrain loop being fed with angles by the camera.

So, yea, 5.

Quote:

Originally Posted by aphelps231 (Post 1561645)
May I ask what kind of mechanism you're using to push the ball into the shooter wheels?

A pair of connected linkages (driven by miniature pistons).

Amit3339 23-03-2016 11:34

Re: FRC971 Spartan Robotics 2016 Release Video
 
Amazing robot as always!
a few question about you auto aiming- are you guys using two camera's to aim? can you explain how it works? how much(avg) time does it take to be focused on the target?
Thanks in advance!

Doug G 23-03-2016 12:58

Re: FRC971 Spartan Robotics 2016 Release Video
 
Ok so I thought last years 971 robot was unique and yet very competitive... This year continues that trend... can't wait to see this up and running tomorrow at Sac/Davis!

Sohaib 23-03-2016 16:34

Re: FRC971 Spartan Robotics 2016 Release Video
 
They just make the most robotic robots. :p

Basel A 23-03-2016 17:37

Re: FRC971 Spartan Robotics 2016 Release Video
 
Quote:

Originally Posted by AustinSchuh (Post 1561802)
Depends on how you count them :P

The same loop runs on the left and right side of the shooter. They are only coupled in software. The control loop to run the shoulder and shooter angle is a 6 state MIMO (multiple input, multiple output) controller. The intake loop is separate. Then, there is the MIMO drivetrain loop being fed with angles by the camera.

So, yea, 5.



A pair of connected linkages (driven by miniature pistons).


The first 4 states are obvious: main arm position and speed, shooter mini-arm position and speed. What are the other two? How'd you go about tuning that? With that level of complexity, I imagine you had to go to model-based control?

josesantos 23-03-2016 18:07

Re: FRC971 Spartan Robotics 2016 Release Video
 
Quote:

Originally Posted by Basel A (Post 1562102)
The first 4 states are obvious: main arm position and speed, shooter mini-arm position and speed. What are the other two? How'd you go about tuning that? With that level of complexity, I imagine you had to go to model-based control?

I'd guess they're also controlling acceleration for both arms. In 2014, they described their control system hardware and software in this thread.

971's made a really cool robot as usual, I'm hoping to see it in person soon!

cxcad 23-03-2016 18:17

Re: FRC971 Spartan Robotics 2016 Release Video
 
How much of this robot was made on your in house CNC router? Great looking robot by the way

Basel A 23-03-2016 18:42

Re: FRC971 Spartan Robotics 2016 Release Video
 
Quote:

Originally Posted by josesantos (Post 1562116)
I'd guess they're also controlling acceleration for both arms. In 2014, they described their control system hardware and software in this thread.

I remember reading that thread now, totally forgot it existed. Thanks for the reminder. Would be fun to do this stuff on an FRC robot if we ever found the time..

AustinSchuh 27-03-2016 01:23

Re: FRC971 Spartan Robotics 2016 Release Video
 
Quote:

Originally Posted by Basel A (Post 1562102)
The first 4 states are obvious: main arm position and speed, shooter mini-arm position and speed. What are the other two? How'd you go about tuning that? With that level of complexity, I imagine you had to go to model-based control?

Model based control is required :) Once you get the hang of it, I find it to let us do cooler stuff than non-model based controls. We plot things and try to figure out which terms have errors in them to help debug it.

The states are:
[shoulder position; shoulder velocity; shooter position (relative to the base), shooter velocity (relative to the base), shoulder voltage error, shooter voltage error]

The shooter is connected to the superstructure, but there is a coordinate transformation to have the states be relative to the ground. This gives us better control over what we actually care about.

The voltage errors are what we use instead of integral control. This lets the kalman filter learn the difference between what the motor is being asked to do and what actually is achieved, and lets us compensate for it. If you work the math out volts -> force.

Thardro 27-03-2016 14:21

Re: FRC971 Spartan Robotics 2016 Release Video
 
Easily one of the coolest robots I have seen yet. Could you expand some on closed loop driving? Also, what is the reasoning behind using two cameras?

AustinSchuh 27-03-2016 14:58

Re: FRC971 Spartan Robotics 2016 Release Video
 
Quote:

Originally Posted by Thardro (Post 1563580)
Could you expand some on closed loop driving? Also, what is the reasoning behind using two cameras?

We are using the gyro and encoders to do what essentially boils down to proportional velocity controller on top of feed-forwards. In a year where the tire dynamics play such a big part in how the robot responds, having a little bit of feedback to help the driver deal with the fast dynamics of a bouncing robot helps a lot.

We are currently just averaging the angles from the two cameras, but when we get a bit more time, we are going to work on using the pair of cameras to do stereo distance measurement. We have a proof of concept working on a laptop, but haven't made it work reliably yet on a robot.

thatprogrammer 27-03-2016 15:02

Re: FRC971 Spartan Robotics 2016 Release Video
 
Quote:

Originally Posted by AustinSchuh (Post 1563607)
We are using the gyro and encoders to do what essentially boils down to proportional velocity controller on top of feed-forwards. In a year where the tire dynamics play such a big part in how the robot responds, having a little bit of feedback to help the driver deal with the fast dynamics of a bouncing robot helps a lot.

Are you using this controller to help drive straight on top of obstacles only, or whenever you drive?
Also, what RPM and ball compression are you running? You shoot the balls out like bullets!

AustinSchuh 27-03-2016 17:56

Re: FRC971 Spartan Robotics 2016 Release Video
 
Quote:

Originally Posted by thatprogrammer (Post 1563608)
Are you using this controller to help drive straight on top of obstacles only, or whenever you drive?

We use that controller for all teleop control. We use a more complicated controller for autonomous trajectory following. There are many corner cases in teleop driving that are hard to design for. A simple velocity controller has proved to work really well without really having any corner cases.

Quote:

Originally Posted by thatprogrammer (Post 1563608)
Also, what RPM and ball compression are you running? You shoot the balls out like bullets!

Sorry, you'll have to wait until after the season to get an answer on that one. We are happy to share, but some things took a lot of prototyping and design to figure out and are too easy to reproduce.

nuclearnerd 27-03-2016 18:35

Re: FRC971 Spartan Robotics 2016 Release Video
 
It looks like you have a 775 pro on the "elbow" gearbox, and maybe the shoulder too? No spring to balance the load either. If so, how are you holding position without burning out the motor? Is there a brake I can't see?

(It's my understanding that the 775 pros will melt in just a few seconds when stalled at more than 6V)

AustinSchuh 27-03-2016 20:41

Re: FRC971 Spartan Robotics 2016 Release Video
 
Quote:

Originally Posted by nuclearnerd (Post 1563705)
It looks like you have a 775 pro on the "elbow" gearbox, and maybe the shoulder too? No spring to balance the load either. If so, how are you holding position without burning out the motor? Is there a brake I can't see?

We did some pretty extensive calculations on heat dissipation. The shoulder is designed to hold the entire weight of the arm for a couple minutes per Vex Pro's charts. We designed for somewhere around 4 volts. We also run a fan on the motor to pull heat away, though that helps with longer runs and only pushes the limit out a little ways.

We don't leave the arm up for long periods, and land it on the bellypan when we are done shooting. This helps keep it cooler.

The rest of the joints run cool and aren't a concern due to the low loads.


All times are GMT -5. The time now is 05:44.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi