![]() |
Re: Who to Choosing Between programming language?
The only "special program" I would especially recommend you have is netconsole. Python is interpreted, not compiled, so if a crash-worthy bug is made, it will be uploaded to the robot and might not be caught until it actually does crash on the robot, potentially mid match. By no means is this a deal breaker- a once-over of the code before upload will catch your spelling and syntax errors, which are the vast majority of crashes, and you need to make it a point to test every single line of code, but you do that anyway, right?. In the current version, crash information is reported over console, so if you want to know where to look for your bug, you need NetConsole. To be crash-tolerant, put your different subsystems in their own try-except blocks, so if one fails the rest of your robot is still workable.
Probably the biggest downside right now to Python is that it is new and documentation isn't complete. if you have problems at competition, you might be the only team there using it, so no one would be able to help. We're working on the documentation part, although it really requires little past the tutorial on how to install, and that was the first thing written. |
Re: Who to Choosing Between programming language?
Quote:
|
Re: Who to Choosing Between programming language?
Quote:
|
Re: Who to Choosing Between programming language?
Quote:
I too had a frustrating introduction to LabVIEW. My instructor was a wizard at dataflow programming, and showed me things so quickly that I never had a chance to understand the underlying nature of what was going on. Later, after I had gone through a well-done series of tutorials -- and after I had let go of much of what I thought a programming language "needed" to be -- everything was much easier to understand. |
Re: Who to Choosing Between programming language?
There are many phases of software development that are language independent as it applies to FIRST robots. The requirement definition of functions and interfaces applies to all languages. Also the top level design, algorithms and logic tasks apply to all languages. Neither SW coding nor language for most typical SW development projects are the biggest problem. The FIRST software code must interface in real time with the physical world of the FIRST robot with its various sensors and actuators. This is quite a challenge for the code which most SW developers usually don’t have to deal with. These physical items are not familiar to most FIRST participants especially the students. Understanding how these physical items respond is important to developing good code to control the robot.
What I like about LV is the ability to easily make front panels with lots of graphical items to display various parameters simultaneously so that everyone can observe what is happening in real-time. There is also the ability to monitor selected data flows in the code. This is a big deal when you are trying to characterize the sensors and actuators and when you are debugging and tuning the robot. With the wireless interface and the graphics it sure beats the old tethered and printf debugging of years past. There are lots NI tutorials and documentation to get up to speed. LV tech support on the phone is both responsive and expert. FRCMastery video tutorials are also an excellent source for learning FIRST LV code. |
Re: Who to Choosing Between programming language?
When building a robot for a personal project recently, I used labview to debug a lot of its problems. I spent a few days getting the serial connection to work, but after that I could look at the signals the robot was getting and what it was outputting on a graph and managed to figure it all out. I feel this is one of the real strengths of labview.
Another part of labview that I really liked was that I didn't need to put in anything to debug. By "probing" wires, you can see what its value is, and you can even see what function it is currently executing. That means that even if you don't think that you will need to look at a value, ever, you can still look at it without any recompiling, redownloading, or anything. However, labview is also very slow. Downloading it takes a long time, starting it takes a long time, and, worst of all, uploading code takes a long time. This means that, if there's a problem, you can't just throw something onto the robot, you have to wait about a minute for it to load. Another thing I don't like is that it is completely closed sourse, and, even worse, expensive. That means that after I get out of FRC, I pretty much won't be able to use it until I get a job. Also, you can only use computers with labview on it to write code, unlike in text-based languages. |
Re: Who to Choosing Between programming language?
I'm very interested in coding an FRC robot in Python and I'm glad to hear you guys had success with Python this year. I'd love to make Python an off season project for Shaker Robotics :)
|
| All times are GMT -5. The time now is 20:56. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi