![]() |
2009 Control System Feature Wishlist
As requested by Greg McKaskle, let's start a wishlist of features that we'd like to see in the new controller.
I'll start: -encoder counting in the FPGA for a fixed/flexible number of encoders |
Re: 2009 Control System Feature Wishlist
To add to that:
-Built in gyro support, with oversampling, noice reduction, integration, and all that jazz done on the FPGA level. -Similarly, the ability to use similar tools (oversampling and other noise reduction techniques) on sensors that don't require intgration (such as pots, absolute magnetic encoders, and analog rangefinders). -Again, I'm not sure if this is FPGA level stuff, but the ability to write out some PWMs faster than others (just like we were able to do with pwms 13-16 on the IFI control system). This could be useful to run tight and powerful control loops, particularly on the drive train. |
Re: 2009 Control System Feature Wishlist
On thing I think is likely is that this control system will be running a faster loop than the IFI one. So I don't think multirate PWMs will be as necessary. My additions to the wishlist (assuming FPGA lockout):
- Provisions for interrupt-on-change like functionality on a subset of the digital inputs. - something similar to the Capture functionality on a CCP port to easily measure pulse widths. |
Re: 2009 Control System Feature Wishlist
I just copied over my post from another thread.
Greg, Thank you for you help and insights with this new control system. Here is my wish list: 1.) could someone please give us the name of the Project Head at both FIRST and NI. I am a member of the Colorado FIRST planning committee, president of Colorado School of Mines Robotics Club and a long time FRC mentor. We have a great relationship with our Regional NI sales office and have all the resources to do a mentor workshop on the new control system, but we need to know more about certain things (like access to the Digital Sidecar) so we are able to do such a workshop. Myself and many other are more than willing to sign a NDA. It is frustrating to say the least of the politics inside of NI and FIRST are cutting good people off at the knees. BTW I called FIRST on Monday (4/21) and they told me NI had nothing to do with the new control system, even after the announcement. go figure 2.) Encoder interfaces galore - I would love to see 8-10 encoder interfaces. It would be really nice if some of the encoder interfaces had upper and lower limit switch support. In our lab we setup 9403 channels as follows: 8 x RC-PWM outputs 8 x quadture encoder inputs (channels 0-7) 4 x upper and lower limit switches (mapped to channels 4-7) Currently in our 2008 bot we used 6 encoders (4 channels had upper/lower limit switches), but that could of easily been 8 if we chose to use a Mecanum drive. 3.) More powerful sensors like gyros, accelerometer, ultra-sonics, laser range finders moved onto a communications bus (I2C, SPI or CAN). This will reduce pin count and if implemented correctly will allow for self diagnostics. Now Moving on to the long term wish list: 4.) Make a Radio modem cRIO module. - if implemented correctly inside of VxWorks it could be used to provide the supervisory control that FIRST needs while still granting us access full access to the FPGA 5.) Migrate to using a cRIO module for motor control (NI 9505?) 6.) let us use the NI 1742 - I love this thing! 7.) Larger cRIO Chassis maybe 12/16 Slot |
Re: 2009 Control System Feature Wishlist
I'm not sure exactly how to word this, but I'll give it a try
1) Have the FPGA interface for the encoders that provides the position and the velocity that the sensor is spinning at. |
Re: 2009 Control System Feature Wishlist
One of the things I'm curious about is what sensors teams are interested in using. Specifically part numbers / data sheets / etc. Don't limit your wishes based on the interface to the sensor... this is a wish-list, right?
I know there are several I2C sensors our team is interested in. Magnetometers are interesting. Some of the gyros and accelerometers have pulse-width or I2C interfaces, instead of analog. Some temperature sensors are 1-wire (Dallas Semi) interfaced. I'm sure you guys have many. Thanks, -Joe |
Re: 2009 Control System Feature Wishlist
The more that I think about various sensors, I would really like to see more rs-232/485 ports on the controller
|
Re: 2009 Control System Feature Wishlist
Well, I'd really like to have a DWIM programming interface (Do What I Mean) as opposed to our current "Do What I Say" system. That would really make life easier, and allow our programming team to make full use of that half-hour period they get to work on the "finished" robot before it goes in the crate! :)
As far as sensors... the Banebots Encoders are nice... so I echo the requst for multiple quadrature encoder support in hardware. We've run up to four encoders at a time... although we used Banebots decoder board to simplify the inputs, it would still be nice to just have a plug'n'play hookup for multiple encoders. The maxbotix sonars are great, and while they work great with their easy-to-use analog interface they have a couple other modes as well that could be supported. But my biggest request is that the whole system be tested on a very large scale (perhaps an off-season event) in the early autumn so that there is time to work out any bugs that show up when multiple systems run conncurrently in a public environment. We typically compete in Portland (a first weekend regional) and really hope we aren't serving as one of the first large-scale public testbeds for the new system. Jason |
Re: 2009 Control System Feature Wishlist
Now that the controller can do I2C similar to the NXT, I would like to see drivers on the cRio for all Lego NXT sensor products.
Mindsensors - http://www.mindsensors.com/ Hitechnic - http://www.hitechnic.com/ In terms of interfaces, here is my priority list, 1. I2C 2. Serial Ports 3. Quadrature Encoders 4. Analog 5. SPI Eventually having more interfaces for SparkFun's huge product line would be nice as well, http://www.sparkfun.com/commerce/cat...hp?cPath=23_85 an IMU would make life so much easier |
Re: 2009 Control System Feature Wishlist
Quote:
Well for one RS-232 port, at any rate. Certainly better than none, and there are RS-232 and RS-485 expansion modules available that we might get to use in the future. |
Re: 2009 Control System Feature Wishlist
This is probably more a function of the master control routines, rather than a user function, but I'd like to see more comprehensive diagnostics indications on the robot and OI. For example, on the robot: a status display indicating go/no-go status of the robot control hardware, digital sidecar, battery charge level and wireless connectivity. On the driver control OI: display the OI & robot status, field control state (enabled/disabled, autonomous/teleoperation, e-stop), plus wireless status and packet loss, etc. for diagnosing robot communications issues.
|
Re: 2009 Control System Feature Wishlist
I would like to be able to interface one of these to the bot.
http://www.acroname.com/robotics/parts/R93-SRF04.html |
Re: 2009 Control System Feature Wishlist
gryo w/drift compensation and programmable op-amp gain (similar to those used on model helicopters like ICG400).
sensorless motor feedback using back emf measurement sync'd with pwm cycle (i.e. automatically interrupt pwm setting, substituting neutral for a couple of cycles, but sync'd with start of pulse train). programmable op-amp gain would be a bonus. Should be available on any pwm output, but would require A/D channel to get the measurement. Would need sync signal on when to acquire analog sample. |
Re: 2009 Control System Feature Wishlist
I would like to see the LabView PID toolkit included in the KOP.
|
Re: 2009 Control System Feature Wishlist
Design the entire system so it is easy (and inexpensive) for off season events and individual teams to build their own field controller system, using nothing more than a laptop, a wireless router and an NI USB 6008 or 6009 multifunction IO module or two (ie COTS materials).
Field controller software would be an open source download. Install it and go. Ideally, this would be a Labview App. This would include built-in monitoring and diagnostics, of course. With 1500 teams testing it out for 6 weeks we might get a lot of valuable feedback prior to the events themselves ... |
Re: 2009 Control System Feature Wishlist
Maybe it's already in the works but, I'd love to have an easy way to get program info without a computer. So possibly a built in text LCD or something similar.
|
Re: 2009 Control System Feature Wishlist
It would be nice to be able to set certain constants without having to reprogram (for PID tuning and such). Something on the OI would be nice.
|
Re: 2009 Control System Feature Wishlist
Let us customize the information displayed on the OI - Possibly even full control of the LCD.
|
Re: 2009 Control System Feature Wishlist
Of the items not yet mentioned, the most important one to me is to be able to program it entirely from Linux (use of Wine is acceptable).
|
Re: 2009 Control System Feature Wishlist
Quote:
-Joe |
Re: 2009 Control System Feature Wishlist
Quote:
Quote:
I'm interested in following this up. Please give more information. Thanks, -Joe |
Re: 2009 Control System Feature Wishlist
Quote:
Does anyone have a use case for PWM generation that is not servo PWM protocol? Thanks -Joe |
Re: 2009 Control System Feature Wishlist
Quote:
Thanks -Joe |
Re: 2009 Control System Feature Wishlist
Quote:
Please don't lump FIRST politics onto NI. ;) Sorry about your knees. Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Thanks for the comments, -Joe |
Re: 2009 Control System Feature Wishlist
Quote:
SparkFun.com is awesome. :D -Joe |
Re: 2009 Control System Feature Wishlist
Quote:
The tail rotor gyro referenced splices directly into the tail pwm signal and by adjusting the gain and setting the mode to heading lock, you can get the helicoptor to fly straight without having to constantly compenstate. For the back-emf, this isn't typically implemented in the H-bridge. Usually its implemented at the source where the PWM signal is generated. When you idle the speed controller and don't output any drive voltage, the motors free spin and act as a generator. A measurement of the back-emf voltage is in direct correlation to the motor speed. Doing an analog pre-charge capture at this point in time allows you to measure the back-emf and thus speed of the motor. Often the motor voltage is higher than the A/D capture range and so a resistor divider is used. Due to digitization quanta, analog amplification is used to auto-range so you have better measurement of low speeds (voltages). You can do some of this programmatically, but you have to set the PWM to idle, wait some small but finite amount of time for the signal to propogate out, sample the back-emf voltage, and then restore the PWM value. The measured back-emf is often used in PID feedback loops for motor control. Its especially useful for smaller motors where quad encoders would be overkill. Also, its real easy to detect motor stall as the back-emf voltage drops to zero during stalls. This also means its relatively easy to quesstimate the amount of current being drawn by using both the value of pwm and the measured back-emf. |
Re: 2009 Control System Feature Wishlist
Quote:
While there isn't analog gain, you can oversample the signal which has the same effect of increasing resolution of the measurement. The benefit of oversampling compared with analog gain, is that you don't have to sacrifice range for resolution. What it does require is an A/D and frontend that samples faster. Quote:
Quote:
Quote:
First requirement is obviously that the speed controller be set to coast (which most drivetrains are) so you don't short the back emf. I'm not sure about a clean mechanism for synchronizing the PWM and the analog measurement. Also, the back emf will be an AC signal (top 1/3 of a sine wave as the brushes commutate, so you'd need to measure some portion of that singal to find the maximum (or minimum depending on direction), not just take a single sample. The other issue I see is with the isolation of the analog measurement. The NI-9201 analog input module is isolated, but only on a per module basis. The frontend is also single-ended only (no differential) so you would have to connect the reference of the module to one of the speed controller output terminals. This would preclude you from using that module for much of anything else. It's a good idea, but I suspect it is too complicated given the current module selection. That being said, there's nothing stopping you from trying and it certainly could get easier in the future if the modules change (i.e. NI-9205 which has programmable gain and differential measurements). Thanks for the info, -Joe |
Re: 2009 Control System Feature Wishlist
Quote:
"We don't know yet, but we'd sure like it." I don't think anyone's bothered with it on the current RC, but I can see a few uses. Given the lack of analog outputs, anyone wanting to output an analog signal is going to need to use an SPI or I2C chip, or will need a very flexible PWM output that they can filter to get an analog signal. So I can see a few uses, though they're likely rare. |
Re: 2009 Control System Feature Wishlist
Quote:
We just have a standard controller config. This controller everything from robotic arms to misc project robots. This can be anywhere from a mowing robot to a robot that just does our vending machines runs for us. The limit switches just shut off the motor in a direction so we don't hurt our bots. More or less like a safety switch. Quote:
Quote:
Quote:
Quote:
Thanks for everything that you are doing! |
Re: 2009 Control System Feature Wishlist
Quote:
The NI-1742 won't be in the kit in 2009. :( Maybe someday. Cheers! -Joe |
Re: 2009 Control System Feature Wishlist
I guess my wishlist would start with being able to framegrab and run image recognicion (sp?) using multiple, inexpensive USB webcams (ethernet cameras are so expensive).
|
Re: 2009 Control System Feature Wishlist
For the controller to control the robot...flawlessly.
|
Re: 2009 Control System Feature Wishlist
Quote:
How expensive is "so expensive"? How does that cost compare with USB cameras? How about compared to the cost of the CMUcam? Are you considering any specs of the cameras besides the interface? -Joe |
Re: 2009 Control System Feature Wishlist
Quote:
The CMUcam is $239.00 here and still needs an interface as it's serial (I haven't seen any serial interface on the cRio). And the thing I was really interested in, though, was the ability to Frame Grab and IR with multiple cameras. |
Re: 2009 Control System Feature Wishlist
Quote:
Ethernet cameras can be found for around a hundred dollars for low quality to a few hundred for decent quality imaging. The cRIO has an RS232 serial port on it. Cheers! -Joe |
Re: 2009 Control System Feature Wishlist
Quote:
-Jacob |
Re: 2009 Control System Feature Wishlist
Because our school's wireless is PEAP-based, I would love if it could connect to that considering that the place most of the programming is done is far out of range of the workshop.
Also, it would save alot of trouble if the OI could easily be powered by battery for testing. ~DtD |
Re: 2009 Control System Feature Wishlist
Quote:
Not to mention the sheer number of other USB devices that the cRio could control (Enviromental control and monitoring, control feedback through DAQs, Logic instrumentation, ocilliscope signals, etc) and all through a common port (latency, timing, and bandwidth would be an issue on the higher end devices). This would seem to me to be an easy way to expand the cRio's capabilities while keeping the cost to the end user down. JMHO |
Re: 2009 Control System Feature Wishlist
Quote:
You'll notice that even for the cSeries IO modules, we have different chassis to use them in, such as the NI cDAQ-9172 chassis. This chassis is USB and can interact with the same modules that come in the kit. This is for reading lots of data very fast or writing lots of data very fast. It is not made for the read-compute-write single point data path that is needed for control systems. I hope this clarifies the reason why USB is not used for control. If you have more questions, I'd be glad to attempt to answer them. Cheers! -Joe |
Re: 2009 Control System Feature Wishlist
Quote:
Now on the the method behind my madness :P : Our old controller gave us a 40ms slow loop (where we could write PWM outputs). Given that, the capabilities of USB 2.0 (even with latency) would be a dream. I wasn't suggesting USB for output control (even though, in some cases it's possible) but instead for data input from cameras and other sensors. Now my guess is that the cRio (I havent seen a datasheet on the base unit yet) uses either CAN, PXI or a PCI express bus (My guess is CAN bus). The FIRST demonstration (not really complete :( ) showed a single ethernet camera at 640x320, 15fps, full color. This (to me) didn't seem to tax either the ethernet port nor the bus/processor but is stated as the capabilities of the cRio. This is why I was looking for USB connectivity and webcams. So I guess my question is ... is the (FIRST configuration) cRio capable (framgrab and IR) of more than than 1 camera at this framerate? higher framerates at lower resolution? higher framerates at lower color? Multiple cameras (at all)? |
Re: 2009 Control System Feature Wishlist
Quote:
Quote:
Because the cRIO for FIRST teams will fundamentally be a stock commercial cRIO, the addition of USB to the controller is not possible. :( Quote:
In the demo, the cRIO was not heavily taxed to simply stream the image back to the PC, and the Ethernet port certainly wasn't saturated. I imagine multiple ethernet cameras would be straight forward to get going if a switch were used to attach both of them. The real problem comes when you try to do video processing on the images. At that point, I think the processor in the cRIO will be very heavily taxed and the frame rate of processing will likely be significantly less than the rate that the images come from the camera. Naturally this depends a lot on what you are trying to do and how efficiently you implement it. Cheers! -Joe |
Re: 2009 Control System Feature Wishlist
If the goal of multiple cameras is to have a view in multiple directions, a single camera can do this with a mirror and some math. Point the camera straight up. Mount a curved mirror -- a hyperbolic is best, but simple mirrored Christmas balls can work. The image from the camera contains information from all around the camera, but it is distorted due to the shape of the ball. A math transform lets you put the pixels onto a cylinder, letting a single camera see everything around it.
Not the same as stereo-optic vision, but much simpler, and perhaps useful on a crowded field of robots. Greg McKaskle |
Re: 2009 Control System Feature Wishlist
Quote:
Up until now the vision system used in FIRST has only had to track a single, non-moving, known sized (usually illuminated) target. Thus, it's my belief that FIRST will challange the teams with either (or a combination of) multiple targets, moving targets or targets where their form, color or shape may change. With 2 cameras and a known distance between them I can calculate distance to a target ... and with 2 frames from each I can calculate the vector (curve with 3 frames, if needed) in 3D and thus estimate a target location at a future time. Your suggestion of a parabolic mirror (sounds like a fish-eye lens effect) looks like it could answer the multiple targets possibilities but may make image recognition a bit difficult (depending on mirror quality, orientation of the target, distance, etc). From the answers above, it sounds like the cRIO is quite capable of reading from multiple cameras, but that the processing power may limit the framerate. This leads me to another question. Will the LabView program supplied to FIRST teams be able to compile to processors other that the cRIO PowerPC (Like an ARM processor running linux in a Gumstix)? P.S. In case it sounds like I'm whining for more ... I want you all to know I love the cRIO. It's a wonderful system, and I can't wait to get my software teams hands on it. |
Re: 2009 Control System Feature Wishlist
Quote:
LV realtime currently supports two processor architectures, x86 and PPC. LV supports other desktop varieties, though not officially anymore. And then there are the embedded tools which actually compile to C, which is then sent through other tools to target processors such as the ARM. So technically LV can target the ARM, but the dev cycle isn't quite the same as RT. Whining on a wish list, ... I think that is what it is hear for. Greg McKaskle |
Re: 2009 Control System Feature Wishlist
My biggest wish is to get the controller and the default code as soon a possible. I know that I'd be willing to accept the fact that there will be bugs in both the FPGA and the libraries. Heck, there will be bugs in those systems regardless of when we get them so it would be better for all if the FIRST community could find them early and have a better chance of getting them fixed in time for the competition.
|
Re: 2009 Control System Feature Wishlist
I don't think there will be much of a problem with the webcam, even if the camera doesn't send info to the cRIO as quickly as it can. Even if the output stream only updates at 8 fps, it should serve its purpose rather well (unless you're doing something really complex with it that requires a faster refresh rate). I don't think it will be a serious issue unless you're doing something really complex.
I am probably not the best person to ask about this, but it's just my thoughts on the matter. |
Re: 2009 Control System Feature Wishlist
I know this was mentioned before (on page 2 I believe), but I would also like to have control over what the LCD screen on the Driver Station says.
|
Re: 2009 Control System Feature Wishlist
Quote:
-Joe |
| All times are GMT -5. The time now is 02:45. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi