Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   General Forum (http://www.chiefdelphi.com/forums/forumdisplay.php?f=16)
-   -   Alpha Weekend #2, 2015 Control System (http://www.chiefdelphi.com/forums/showthread.php?t=129753)

Joe Ross 29-06-2014 18:18

Re: Alpha Weekend #2, 2015 Control System
 
Quote:

Originally Posted by apples000 (Post 1391261)
9. We're one of those teams that just wants a single solenoid for shifting so we don't want the fancy pneumatics bumper, but we use more than 4 relays on most robots. How much current can the DIO source? Enough for a relay? Can the super expansion port do it?

Using a DIO to control a relay will likely never be legal.

Joe Ross 29-06-2014 18:24

Re: Alpha Weekend #2, 2015 Control System
 
Quote:

Originally Posted by Bryce Paputa (Post 1391519)
Any idea if we will be able to easily port roborio code to the crio for use on practice robots? Specifically java code.

At this point, they are very similar and it would not be hard to make a program work on both.

Thad House 29-06-2014 18:38

Re: Alpha Weekend #2, 2015 Control System
 
Quote:

Originally Posted by Joe Ross (Post 1391530)
Using a DIO to control a relay will likely never be legal.

There's no rule currently saying you have to hook relays up to the relay ports. The only hookup requirement is that servos must be hooked up to PWM ports.

calcmogul 29-06-2014 19:30

Re: Alpha Weekend #2, 2015 Control System
 
Quote:

Originally Posted by apples000 (Post 1391261)
10. Most importantly, what are the plans for the cRIOs? Can we use them on a practice bot next year? When LV/windriver licenses run out, do we end up with really expensive paperweights? That would really suck. A lot.

For C++, one could also use GCC 4.8.0 and newer. Windows and various distros of Linux are supported natively. See http://firstforge.wpi.edu/sf/projects/c--11_toochain. There are also Eclipse plugins for it but I don't think they are officially packaged for Windows. One would have to track down the .jar files to place them in the dropins folder.

Pault 29-06-2014 20:02

Re: Alpha Weekend #2, 2015 Control System
 
2 things:

1. Has anybody had time to look at using USB to communicate with a co-processor? Is this even supported? How comprehensive is wpilib in supporting this at the moment?

2. I believe this has already been adressed, but are there any updates on when the roboRIO will be released to teams? Would it be possible for the 2015 wpilib to get released first, or at least a beta version? I really want to get a chance to look at developing code for some of the newer features on the roboRIO.

Pat Fairbank 30-06-2014 15:24

Re: Alpha Weekend #2, 2015 Control System
 
Quote:

Originally Posted by Thad House (Post 1391533)
There's no rule currently saying you have to hook relays up to the relay ports. The only hookup requirement is that servos must be hooked up to PWM ports.

<R66> Every relay module, servo, and PWM motor controller shall be connected to a corresponding port on a Digital Sidecar and be controlled by signals provided from the cRIO. They shall not be controlled by signals from any other source.

Thad House 30-06-2014 16:23

Re: Alpha Weekend #2, 2015 Control System
 
Quote:

Originally Posted by Pat Fairbank (Post 1391641)
<R66> Every relay module, servo, and PWM motor controller shall be connected to a corresponding port on a Digital Sidecar and be controlled by signals provided from the cRIO. They shall not be controlled by signals from any other source.

Ah I must have just skipped right over that. Also thinking about it, that rule makes sense because of the integrated pullups. That could get bad if it has enough current to run the relay. Yeah my bad.

Mark McLeod 30-06-2014 17:20

Re: Alpha Weekend #2, 2015 Control System
 
Also, hooking a Relay to a DIO will leave one channel of the Relay permanently on (corresponding to the DIO power line).

glennword 02-07-2014 21:54

Re: Alpha Weekend #2, 2015 Control System
 
Okay, off topic, but r66 was mentioned so I hope this isn't too off base.
My team is currently in the middle of designing a swerve drive. Part of the design is a custom circuit board that would be mounted to each swerve module to reduce the amount of computing the ___RIO has to do, as well as improve modularity, wiring, and ease of replacement if a module were to fail. The board takes inputs from the SideCar (if using 2014 and older control system) or roboRIO itself over SPI. The circuit board then processes the inputs and turns them into PWM motor commands, which are sent to a Talon or other approved motor controller. Does this meet the requirements of R66? It could be interpreted as legal if one thought that the ___RIO was still providing the signals by proxy, or it could be viewed as an entirely separate entity, and therefore illegal. Another thought, with the integration of the various serial communication ports on the roboRIO, as well as the MXP boards, do you think that this rule could be omitted, reworded, or loosened in next years manual?
Thanks and sorry if this is off topic and/or confusing.

AllenGregoryIV 02-07-2014 22:11

Re: Alpha Weekend #2, 2015 Control System
 
Quote:

Originally Posted by glennword (Post 1392003)
Okay, off topic, but r66 was mentioned so I hope this isn't too off base.
My team is currently in the middle of designing a swerve drive. Part of the design is a custom circuit board that would be mounted to each swerve module to reduce the amount of computing the ___RIO has to do, as well as improve modularity, wiring, and ease of replacement if a module were to fail. The board takes inputs from the SideCar (if using 2014 and older control system) or roboRIO itself over SPI. The circuit board then processes the inputs and turns them into PWM motor commands, which are sent to a Talon or other approved motor controller. Does this meet the requirements of R66? It could be interpreted as legal if one thought that the ___RIO was still providing the signals by proxy, or it could be viewed as an entirely separate entity, and therefore illegal. Another thought, with the integration of the various serial communication ports on the roboRIO, as well as the MXP boards, do you think that this rule could be omitted, reworded, or loosened in next years manual?
Thanks and sorry if this is off topic and/or confusing.

This doesn't meet the rule because there isn't anything specifically preventing you from leaving those PWM singles on after the robot is disabled. It's a safety issue for everyone at events.

Jon Stratis 02-07-2014 23:47

Re: Alpha Weekend #2, 2015 Control System
 
Quote:

Originally Posted by glennword (Post 1392003)
Okay, off topic, but r66 was mentioned so I hope this isn't too off base.
My team is currently in the middle of designing a swerve drive. Part of the design is a custom circuit board that would be mounted to each swerve module to reduce the amount of computing the ___RIO has to do, as well as improve modularity, wiring, and ease of replacement if a module were to fail. The board takes inputs from the SideCar (if using 2014 and older control system) or roboRIO itself over SPI. The circuit board then processes the inputs and turns them into PWM motor commands, which are sent to a Talon or other approved motor controller. Does this meet the requirements of R66? It could be interpreted as legal if one thought that the ___RIO was still providing the signals by proxy, or it could be viewed as an entirely separate entity, and therefore illegal. Another thought, with the integration of the various serial communication ports on the roboRIO, as well as the MXP boards, do you think that this rule could be omitted, reworded, or loosened in next years manual?
Thanks and sorry if this is off topic and/or confusing.

Such a board would be considered a "CUSTOM CIRCUIT", per 2014 rules. The specific rule you're looking for here is R71:

Quote:

All outputs from CUSTOM CIRCUITS shall connect to only the following:

other CUSTOM CIRCUITS,
input ports on the Digital Sidecar,
input ports on the Analog Breakout Board,
the RS-232 port on the cRIO,
the Ethernet network connected to either Port 1 or Port 2 of the cRIO,
the CAN-bus if and only if all Jaguar motor controllers on the CAN-bus are wired in full compliance with R67and R68, or
the sensor inputs on the Jaguar motor controller.
There is no wiggle room in that rule - outputs from a custom circuit CAN NOT be connected to the PWM inputs on a speed controller.

I expect this particular rule might be changed a little bit for next year, in order to accommodate break-out boards attached to the MPX port on the RoboRio. Despite that, I doubt it will change enough to make your solution legal.

Aren Siekmeier 03-07-2014 05:28

Re: Alpha Weekend #2, 2015 Control System
 
Quote:

Originally Posted by glennword (Post 1392003)
Okay, off topic, but r66 was mentioned so I hope this isn't too off base.
My team is currently in the middle of designing a swerve drive. Part of the design is a custom circuit board that would be mounted to each swerve module to reduce the amount of computing the ___RIO has to do, as well as improve modularity, wiring, and ease of replacement if a module were to fail. The board takes inputs from the SideCar (if using 2014 and older control system) or roboRIO itself over SPI. The circuit board then processes the inputs and turns them into PWM motor commands, which are sent to a Talon or other approved motor controller. Does this meet the requirements of R66? It could be interpreted as legal if one thought that the ___RIO was still providing the signals by proxy, or it could be viewed as an entirely separate entity, and therefore illegal. Another thought, with the integration of the various serial communication ports on the roboRIO, as well as the MXP boards, do you think that this rule could be omitted, reworded, or loosened in next years manual?
Thanks and sorry if this is off topic and/or confusing.

971 does the same sort of offboarding you are talking about, but in order to comply with R66 (among others) they have to send all PWM, relay, and solenoid output data back to the cRio before it gets forwarded to controllers. Thread

Jefferson 03-07-2014 09:52

Re: Alpha Weekend #2, 2015 Control System
 
Quote:

Originally Posted by glennword (Post 1392003)
Okay, off topic, but r66 was mentioned so I hope this isn't too off base.
My team is currently in the middle of designing a swerve drive. Part of the design is a custom circuit board that would be mounted to each swerve module to reduce the amount of computing the ___RIO has to do, as well as improve modularity, wiring, and ease of replacement if a module were to fail. The board takes inputs from the SideCar (if using 2014 and older control system) or roboRIO itself over SPI. The circuit board then processes the inputs and turns them into PWM motor commands, which are sent to a Talon or other approved motor controller. Does this meet the requirements of R66? It could be interpreted as legal if one thought that the ___RIO was still providing the signals by proxy, or it could be viewed as an entirely separate entity, and therefore illegal. Another thought, with the integration of the various serial communication ports on the roboRIO, as well as the MXP boards, do you think that this rule could be omitted, reworded, or loosened in next years manual?
Thanks and sorry if this is off topic and/or confusing.

As others have already answered, this would not be allowed under current rules, and I would be shocked if the rules allowed it next year.

Now, if you're doing it just for the experience, don't let me dissuade you. It sounds like a fun controls design task.

If wiring simplicity is your desire, you can use the Jaguar's internal PID over CAN. That way the sensor wiring just has to run back to the Jaguar. The only reason we don't do this is because the analog encoder we use requires a 5V input and only outputs 0-5V. The Jaguar outputs 3.3V and is looking for a 0-3.3V input. It ends up complicating the wiring and requires a voltage divider in there to make things right.

On the other hand, we have run at least 6 (maybe 7... can't remember) simultaneous PID loops on the cRio and never got close to 100% processor usage and saw no ill affects to any of the controls. We were using the WPILib PIDController on C++, so with other languages/controller YMMV.

Joe Ross 04-07-2014 23:46

Re: Alpha Weekend #2, 2015 Control System
 
Quote:

Originally Posted by Pault (Post 1391536)
1. Has anybody had time to look at using USB to communicate with a co-processor? Is this even supported? How comprehensive is wpilib in supporting this at the moment?

What support would you want to see in WPILIB, vs using the interface provided by the OS?


All times are GMT -5. The time now is 07:31.

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