Announcement

Collapse
No announcement yet.

Is anyone else worried that this new platform is too difficult/unstable

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Is anyone else worried that this new platform is too difficult/unstable

    I have a masters degree in Electrical Engineering. I've been developing software applications for electrical engineers for 30+ years.
    And I have been trying to set up a base-level autonomous program with the new Android Studio + new Modern Robotics modules similar to what I had with RobotC/NXT.
    I've spent about 5 days on this problem and still cannot begin to describe to a high school student how to develop applications for this platform.

    Yes, you can watch the YouTube videos and follow along the script carefully, but as soon as you want to make your own change you get obscure messages on the Robot Controller, or you have to sift through reams of log messages in Android Studio. Or you have to search the FTC forum to try to find someone else who might be attempting to something similar. And glaring holes in the use model like not being able to add a new usb device to an existing robot configuration file make the whole system so tedious to work with.

    There is NO WAY high school students will have the patience for this. At least with RobotC it was a nicely constrained environment.
    Having Android Studio is like using a Space Shuttle when all they really need is an electric scooter.

    Is anyone else feeling the same way? What should we do?

  • #2
    dburnette,

    It IS complicated (I have 40 + years computer science / EE experience).

    And I have a bunch of experience with Android generally.

    I admit that I haven't yet tried to change autonomous.

    But we have least gotten our team's K9Bot mostly running.

    And, IMHO, we had our own set of problems with RobotC.

    For now, I'd encourage ongoing patience, persistence, and experimentation...

    Good luck and skill to you and your team.

    Martin Haeberli
    Mentor, FTC 7593 TigerBots

    Comment


    • #3
      Originally posted by dburnette View Post
      I have a masters degree in Electrical Engineering. I've been developing software applications for electrical engineers for 30+ years.
      And I have been trying to set up a base-level autonomous program with the new Android Studio + new Modern Robotics modules similar to what I had with RobotC/NXT.
      I've spent about 5 days on this problem and still cannot begin to describe to a high school student how to develop applications for this platform.

      Is anyone else feeling the same way? What should we do?

      We agree 100%, add that our current platform (legacy Matrix) isn't supported yet, and yes, the angst is growing.

      That said, I have a feeling that having App Inventor as part of the program is the logical path for those with less/no programming experience, as it is drag/drop/go. Okay, so it's not that easy, but waaaay easier than hard coding in Android Studio.

      App Inventor doesn't appear to have to have the top-end functionality of what you'd get in Android Studio, however, if a team has little/no programming knowledge, those higher end functions are likely beyond them anyway. (Can you tell I'm not a programmer, LOL)

      Further, while I wouldn't disagree that a team will almost certainly need autonomous points to advance from any major event (baring a non driving award), nearly half the teams we saw last year had either no autonomous, or limited to just driving down the ramp.

      Do I think FIRST was totally prepared for the change, clearly no. That said, with LEGO discontinuing support for the NXT, which would likely limit new team sign-ups, a change had to made, and issues aside, this may be the best FIRST could do with limited resources, and even more limited time.

      The long term benefit of eventually training our own corp of Java Programmers, which can (unlike Robot C) actually lead to job prospects, may eventually outweigh the initial obstacles.

      I'm not normally a silver-lining kind of guy, but the sake of our kids, I'm trying to find one.
      Michael P Clark
      Founding Mentor, FTC 9958
      http://www.redfishrobotics.com
      "We're Hooked on FIRST"

      Comment


      • #4
        Originally posted by dburnette View Post
        I have a masters degree in Electrical Engineering. I've been developing software applications for electrical engineers for 30+ years.
        And I have been trying to set up a base-level autonomous program with the new Android Studio + new Modern Robotics modules similar to what I had with RobotC/NXT.
        I've spent about 5 days on this problem and still cannot begin to describe to a high school student how to develop applications for this platform.

        Yes, you can watch the YouTube videos and follow along the script carefully, but as soon as you want to make your own change you get obscure messages on the Robot Controller, or you have to sift through reams of log messages in Android Studio. Or you have to search the FTC forum to try to find someone else who might be attempting to something similar. And glaring holes in the use model like not being able to add a new usb device to an existing robot configuration file make the whole system so tedious to work with.

        There is NO WAY high school students will have the patience for this. At least with RobotC it was a nicely constrained environment.
        Having Android Studio is like using a Space Shuttle when all they really need is an electric scooter.

        Is anyone else feeling the same way? What should we do?
        If this is not complicated, you probably designed it yourself. Java itself is a high-level language. Now, you're incorporating it with Android with the Dalvik VM and the program itself is more complex. Luckily, Qualcomm did write an intuitive api to make development a lot easier, and that also allowed developers to deviate from the whole Java-based android programming.

        What you really need to know is basic Java fundamentals. I recommend going to YouTube, watch couple beginner Java tutorials. Learn things like syntax, methods, imports, etc. Then get to more complex fundamentals, such as Objects and other oop-concepts. Multi-threading would be good to learn as well.

        I am only in middle-school, but I did know a lot about Java. Once I started developing OpModes in Android Studio, I realized how it's exactly like Java and with the api's, all I needed to know is the methods that I need to know to run certain commands. Qualcomm put a lot of documentation (JavaDocs) in to the doc folder of the project. All though, they don't have a clean description of what a method or class does, the titles make it self-explanatory.

        In the process, I learned some basic Android development like activities, XML layout and emulators. There are many YouTube videos on basic Android development. Knowing the Android SDK, we were able to incorporate external functionality such as wireless ADB debugging, LogCat, and using the phone's built-in sensors.

        In RobotC, it was linear programming. In the new platform, we have both loop-based and a linear op mode development. I'm not going to explain how those op modes work 'cause it's pretty self-explanatory. But, that shows how similar it is to RobotC and how that process can be simplified by learning just a little Java.

        Looking at the debugging side, it can be simplified to have a faster development process. First, try out ADB wireless debugging. Using Wi-Fi, this will debug you code onto the robot controller phone. This also opens up Android Logcat. An alternative to logging is FTC SDK's Telemetry.

        I hope this helps in making the transition to the new programming platform a little easier.
        Vinay Jagan,
        Techie Titans FTC Team #9901
        http://techietitans-ftc.com

        Comment


        • #5
          Thanks for your encouragement. I'm glad that you are having success. However I still have many concerns/issues with this platform.
          For example, you mention LogCat.
          LogCat is a joke. I downloaded my opmodes and this is what shows up LogCat:
          09-22 10:28:37.570 13138-13138/? D/dalvikvm﹕ Late-enabling CheckJNI
          09-22 10:28:37.590 13138-13144/? E/jdwp﹕ Failed sending reply to debugger: Broken pipe
          09-22 10:28:37.590 13138-13144/? D/dalvikvm﹕ Debugger has detached; object registry had 1 entries
          09-22 10:28:37.620 13138-13138/? D/ActivityThread﹕ handleBindApplication:com.qualcomm.ftcrobotcontrol ler
          09-22 10:28:37.620 13138-13138/? D/ActivityThread﹕ setTargetHeapUtilization:0.75
          09-22 10:28:37.620 13138-13138/? D/ActivityThread﹕ setTargetHeapMinFree:2097152
          09-22 10:28:37.710 13138-13154/? V/RobotCore﹕ saving logcat to /storage/emulated/0/com.qualcomm.ftcrobotcontroller.logcat
          09-22 10:28:37.760 13138-13138/? I/FIRST﹕ Wifi Direct - disconnected
          09-22 10:28:37.780 13138-13138/? I/FIRST﹕ Starting FTC Controller Service
          09-22 10:28:37.780 13138-13138/? I/FIRST﹕ Android device is zte, N9130
          09-22 10:28:37.790 13138-13138/? V/RobotCore﹕ There are 1 Wifi Direct Assistant Clients (+)
          09-22 10:28:37.790 13138-13138/? V/RobotCore﹕ Enabling Wifi Direct Assistant
          09-22 10:28:37.840 13138-13138/? I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: ()
          OpenGL ES Shader Compiler Version: E031.24.02.07
          Build Date: 10/29/14 Wed
          Local Branch:
          Remote Branch:
          Local Patches:
          Reconstruct Branch:
          09-22 10:28:37.880 13138-13138/? D/OpenGLRenderer﹕ Enabling debug mode 0
          09-22 10:28:37.890 13138-13138/? D/RobotCore﹕ Wifi Direct state - enabled: true
          09-22 10:28:37.890 13138-13138/? D/RobotCore﹕ Wifi Direct connection changed - connected: true
          09-22 10:28:37.890 13138-13138/? D/RobotCore﹕ Wifi Direct this device changed
          09-22 10:28:37.890 13138-13138/? V/RobotCore﹕ Wifi Direct device information: 0750-RC aa:a6:68:a3:75:36
          09-22 10:28:37.890 13138-13138/? D/RobotCore﹕ Wifi Direct cannot create group, does group already exist?
          09-22 10:28:37.890 13138-13138/? I/FIRST﹕ Bound to Ftc Controller Service
          09-22 10:28:37.890 13138-13138/? I/FIRST﹕ Wifi Direct - disconnected
          09-22 10:28:37.900 13138-13138/? I/FIRST﹕ Robot Status: null
          09-22 10:28:37.960 13138-13154/? V/RobotCore﹕ Killing PID 7774
          09-22 10:28:38.000 13138-13138/? E/RobotCore﹕ Analytics encountered an IOException: java.io.FileNotFoundException: /.analytics_id: open failed: EROFS (Read-only file system)
          09-22 10:28:38.000 13138-13138/? E/RobotCore﹕ Analytics encountered a FileNotFoundException while trying to read a file.
          09-22 10:28:38.000 13138-13138/? E/RobotCore﹕ Analytics encountered an IllegalArgumentException
          09-22 10:28:38.000 13138-13138/? E/RobotCore﹕ Analytics encountered an IOException: java.io.FileNotFoundException: /.analytics_id: open failed: EROFS (Read-only file system)
          09-22 10:28:38.020 13138-13138/? I/FIRST﹕ Processing robot setup
          09-22 10:28:38.020 13138-13160/? I/FIRST﹕ Robot Status: scanning for USB devices
          09-22 10:28:38.120 13138-13138/? D/RobotCore﹕ Group owners address: /192.168.49.1
          09-22 10:28:38.120 13138-13138/? D/RobotCore﹕ Wifi Direct group formed, this device is the group owner (GO)
          09-22 10:28:38.120 13138-13138/? I/FIRST﹕ Wifi Direct - Group Owner
          09-22 10:28:38.120 13138-13138/? D/RobotCore﹕ Wifi Direct stop discovering peers
          09-22 10:28:38.120 13138-13138/? I/FIRST﹕ Wifi Direct - enabled
          09-22 10:28:38.140 13138-13138/? V/RobotCore﹕ Wifi Direct connection information available
          09-22 10:28:38.140 13138-13138/? I/FIRST﹕ Wifi Direct Passphrase: 8ABBnl6Y
          09-22 10:28:38.150 13138-13138/com.qualcomm.ftcrobotcontroller I/Timeline﹕ Timeline: Activity_idle id: [email protected] time:2298538
          09-22 10:28:40.030 13138-13160/com.qualcomm.ftcrobotcontroller V/RobotCore﹕ EventLoopManager state is NOT_STARTED
          09-22 10:28:40.030 13138-13160/com.qualcomm.ftcrobotcontroller I/FIRST﹕ Robot Status: waiting on network
          09-22 10:28:40.030 13138-13160/com.qualcomm.ftcrobotcontroller I/FIRST﹕ Robot Status: starting robot
          09-22 10:28:40.140 13138-13160/com.qualcomm.ftcrobotcontroller D/RobotCore﹕ RobocolDatagramSocket binding to /192.168.49.1:20884
          09-22 10:28:40.340 13138-13160/com.qualcomm.ftcrobotcontroller V/RobotCore﹕ EventLoopManager state is STOPPED
          09-22 10:28:40.340 13138-13160/com.qualcomm.ftcrobotcontroller I/FIRST﹕ Robot Status: stopped
          09-22 10:28:40.340 13138-13160/com.qualcomm.ftcrobotcontroller V/RobotCore﹕ EventLoopManager state is INIT
          09-22 10:28:40.340 13138-13160/com.qualcomm.ftcrobotcontroller I/FIRST﹕ Robot Status: init
          09-22 10:28:40.340 13138-13160/com.qualcomm.ftcrobotcontroller I/FIRST﹕ ======= INIT START =======
          09-22 10:28:40.340 13138-13160/com.qualcomm.ftcrobotcontroller V/RobotCore﹕ Starting Modern Robotics device manager
          09-22 10:28:40.340 13138-13160/com.qualcomm.ftcrobotcontroller V/D2xx::﹕ Start constructor
          09-22 10:28:40.360 13138-13160/com.qualcomm.ftcrobotcontroller V/D2xx::﹕ End constructor
          09-22 10:28:40.370 13138-13160/com.qualcomm.ftcrobotcontroller I/RobotCore﹕ ========= Device Information ================================================== =
          09-22 10:28:40.370 13138-13160/com.qualcomm.ftcrobotcontroller I/RobotCore﹕ Type Name Connection
          09-22 10:28:40.370 13138-13160/com.qualcomm.ftcrobotcontroller I/FIRST﹕ ======= INIT FINISH =======
          09-22 10:28:40.380 13138-13160/com.qualcomm.ftcrobotcontroller V/RobotCore﹕ EventLoopManager state is RUNNING
          09-22 10:28:40.380 13138-13160/com.qualcomm.ftcrobotcontroller I/FIRST﹕ Robot Status: running
          09-22 10:28:40.380 13138-13180/com.qualcomm.ftcrobotcontroller V/RobotCore﹕ EventLoopRunnable has started
          09-22 10:28:43.020 13138-13138/com.qualcomm.ftcrobotcontroller W/RobotCore﹕ Unable to send RobocolDatagram: java.lang.NullPointerException: Destination address is null
          09-22 10:28:43.020 13138-13138/com.qualcomm.ftcrobotcontroller W/RobotCore﹕ RobocolDatagram - type:NONE, addr:null, size:0
          09-22 10:28:43.020 13138-13138/com.qualcomm.ftcrobotcontroller I/RobotCore﹕ Battery Checker, Level Remaining: 79.0

          That is 64 lines of gobbledygook.
          What line in that log reassures the high school student that his/her download was successful?
          Should they be worried about the "broken pipe" the "killed pid", the "Robot Status: null"?

          If the FIRST program is intended to get students excited about technology this is the wrong way to go about it.
          All you are going to get here is "deer in the headlights" from most students.
          Sorry to be such a "Gloomy Eeyore", but I've got 4 FTC teams that need to get started on development and they have little to go on.

          One of our coaches attended a workshop on Sunday. He spent 8 hours there and the farthest he got was being able to drive the K9bot around. 8 hours. And that was not including the prework time to build the robot.

          Comment


          • #6
            Just last week I helped out at a FTC Programming Workshop here in Arizona were 9 teams participated. The workshop was intended for teams that had little or no experience with the new control system. For what its worth, here are few observations from that experience.

            Our workshop was roughly divided into two parts: 1) setup and installation for Android Studio, ZTE Phones, and building robot configuration files, and 2) coding a simple teleopt and autonomous mode program using DC motors and servos. The idea was to have all workshop teams leave with an operating robot from which they could build new code to solve specific game tasks.

            The installation and setup portion of the workshop was painful for many. It is not easy to get the software development environment working smoothly. Before the workshop, teams were offered links to installation guides and videos that would help them setup up their phones and PCs. Some of these guides were already outdated for the Android Studio/Java installation as these two components evolve fairly quickly. Fortunately, we had a few experienced student programmers who could identify and fix the many setup issues the teams were experiencing. An individual team-by-team effort was required. The most common setup problems were 1) not having SDK build-tools 21.1.2 and API 19 properly installed, 2) not having the "ZTE Handset ADB Interface" installed on the PC, 3) ZTE device not properly configured for development, 4) trying to install Android Studio on an older PC that could not handle the substantial resources required to run it, and 5) the intimidating experience of trying to use Android Studio for the first time. It took about 3 hours to fix the setup problems and finally get everyone ready for programming.


            The actual programming session went much more smoothly and was enjoyable for most teams. We introduced the OpMode and LinearOpMode classes. We went over specific coding examples on how to operate motors, servos, and sensors. We just stayed with the basics here, nothing fancy. With example code in hand they were then given the assignment to develop a simple teleopt program using the OpMode class and time-driven autonomous-mode program using the LinearOpMode class. It was great fun to see the students grow grins when they got their robots operating. Within a couple of hours all the teams had their robots running in teleopt mode and by the end of the day most teams had written an autonomous-mode program to drive their robot from the field perimeter to the park zone.

            I am at least fairly confident that beginning teams that stick with basic programming will be able to have a rewarding season this year. However, I can not speak to those teams that intend to use more sophisticated programming techniques like using encoders and gyros in an event-driven coding environment.

            Comment


            • #7
              Originally posted by emeflag View Post
              The installation and setup portion of the workshop was painful for many.

              This is my take as well. The Java programming isn't the issue. The amount of configuring and fiddling you have to do in order to be able to run a program is the issue. To be fair, we had plenty of annoyances with ROBOTC. I lost count a long time ago of the number of hours I spent troubleshooting "I can't connect to the NXT" issues with old system. But with the new system when you write an OpMode you're standing on top of a pretty tall technology stack that all needs to be working. It's daunting.

              I support 3 teams. Once we get the configuration nailed down, I will probably write some kind of diagnostic script in Powershell (or maybe an Android Studio plugin if I'm feeling ambitious) to check their project for common configuration issues so that they can self help more, and I won't be running down the same issues over and over again.

              Comment


              • #8
                Originally posted by dburnette View Post
                Thanks for your encouragement. I'm glad that you are having success. However I still have many concerns/issues with this platform.
                For example, you mention LogCat.
                LogCat is a joke. I downloaded my opmodes and this is what shows up LogCat:
                09-22 10:28:37.570 13138-13138/? D/dalvikvm﹕ Late-enabling CheckJNI
                09-22 10:28:37.590 13138-13144/? E/jdwp﹕ Failed sending reply to debugger: Broken pipe
                09-22 10:28:37.590 13138-13144/? D/dalvikvm﹕ Debugger has detached; object registry had 1 entries
                09-22 10:28:37.620 13138-13138/? D/ActivityThread﹕ handleBindApplication:com.qualcomm.ftcrobotcontrol ler
                09-22 10:28:37.620 13138-13138/? D/ActivityThread﹕ setTargetHeapUtilization:0.75
                09-22 10:28:37.620 13138-13138/? D/ActivityThread﹕ setTargetHeapMinFree:2097152
                09-22 10:28:37.710 13138-13154/? V/RobotCore﹕ saving logcat to /storage/emulated/0/com.qualcomm.ftcrobotcontroller.logcat
                09-22 10:28:37.760 13138-13138/? I/FIRST﹕ Wifi Direct - disconnected
                09-22 10:28:37.780 13138-13138/? I/FIRST﹕ Starting FTC Controller Service
                09-22 10:28:37.780 13138-13138/? I/FIRST﹕ Android device is zte, N9130
                09-22 10:28:37.790 13138-13138/? V/RobotCore﹕ There are 1 Wifi Direct Assistant Clients (+)
                09-22 10:28:37.790 13138-13138/? V/RobotCore﹕ Enabling Wifi Direct Assistant
                09-22 10:28:37.840 13138-13138/? I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: ()
                OpenGL ES Shader Compiler Version: E031.24.02.07
                Build Date: 10/29/14 Wed
                Local Branch:
                Remote Branch:
                Local Patches:
                Reconstruct Branch:
                09-22 10:28:37.880 13138-13138/? D/OpenGLRenderer﹕ Enabling debug mode 0
                09-22 10:28:37.890 13138-13138/? D/RobotCore﹕ Wifi Direct state - enabled: true
                09-22 10:28:37.890 13138-13138/? D/RobotCore﹕ Wifi Direct connection changed - connected: true
                09-22 10:28:37.890 13138-13138/? D/RobotCore﹕ Wifi Direct this device changed
                09-22 10:28:37.890 13138-13138/? V/RobotCore﹕ Wifi Direct device information: 0750-RC aa:a6:68:a3:75:36
                09-22 10:28:37.890 13138-13138/? D/RobotCore﹕ Wifi Direct cannot create group, does group already exist?
                09-22 10:28:37.890 13138-13138/? I/FIRST﹕ Bound to Ftc Controller Service
                09-22 10:28:37.890 13138-13138/? I/FIRST﹕ Wifi Direct - disconnected
                09-22 10:28:37.900 13138-13138/? I/FIRST﹕ Robot Status: null
                09-22 10:28:37.960 13138-13154/? V/RobotCore﹕ Killing PID 7774
                09-22 10:28:38.000 13138-13138/? E/RobotCore﹕ Analytics encountered an IOException: java.io.FileNotFoundException: /.analytics_id: open failed: EROFS (Read-only file system)
                09-22 10:28:38.000 13138-13138/? E/RobotCore﹕ Analytics encountered a FileNotFoundException while trying to read a file.
                09-22 10:28:38.000 13138-13138/? E/RobotCore﹕ Analytics encountered an IllegalArgumentException
                09-22 10:28:38.000 13138-13138/? E/RobotCore﹕ Analytics encountered an IOException: java.io.FileNotFoundException: /.analytics_id: open failed: EROFS (Read-only file system)
                09-22 10:28:38.020 13138-13138/? I/FIRST﹕ Processing robot setup
                09-22 10:28:38.020 13138-13160/? I/FIRST﹕ Robot Status: scanning for USB devices
                09-22 10:28:38.120 13138-13138/? D/RobotCore﹕ Group owners address: /192.168.49.1
                09-22 10:28:38.120 13138-13138/? D/RobotCore﹕ Wifi Direct group formed, this device is the group owner (GO)
                09-22 10:28:38.120 13138-13138/? I/FIRST﹕ Wifi Direct - Group Owner
                09-22 10:28:38.120 13138-13138/? D/RobotCore﹕ Wifi Direct stop discovering peers
                09-22 10:28:38.120 13138-13138/? I/FIRST﹕ Wifi Direct - enabled
                09-22 10:28:38.140 13138-13138/? V/RobotCore﹕ Wifi Direct connection information available
                09-22 10:28:38.140 13138-13138/? I/FIRST﹕ Wifi Direct Passphrase: 8ABBnl6Y
                09-22 10:28:38.150 13138-13138/com.qualcomm.ftcrobotcontroller I/Timeline﹕ Timeline: Activity_idle id: [email protected] time:2298538
                09-22 10:28:40.030 13138-13160/com.qualcomm.ftcrobotcontroller V/RobotCore﹕ EventLoopManager state is NOT_STARTED
                09-22 10:28:40.030 13138-13160/com.qualcomm.ftcrobotcontroller I/FIRST﹕ Robot Status: waiting on network
                09-22 10:28:40.030 13138-13160/com.qualcomm.ftcrobotcontroller I/FIRST﹕ Robot Status: starting robot
                09-22 10:28:40.140 13138-13160/com.qualcomm.ftcrobotcontroller D/RobotCore﹕ RobocolDatagramSocket binding to /192.168.49.1:20884
                09-22 10:28:40.340 13138-13160/com.qualcomm.ftcrobotcontroller V/RobotCore﹕ EventLoopManager state is STOPPED
                09-22 10:28:40.340 13138-13160/com.qualcomm.ftcrobotcontroller I/FIRST﹕ Robot Status: stopped
                09-22 10:28:40.340 13138-13160/com.qualcomm.ftcrobotcontroller V/RobotCore﹕ EventLoopManager state is INIT
                09-22 10:28:40.340 13138-13160/com.qualcomm.ftcrobotcontroller I/FIRST﹕ Robot Status: init
                09-22 10:28:40.340 13138-13160/com.qualcomm.ftcrobotcontroller I/FIRST﹕ ======= INIT START =======
                09-22 10:28:40.340 13138-13160/com.qualcomm.ftcrobotcontroller V/RobotCore﹕ Starting Modern Robotics device manager
                09-22 10:28:40.340 13138-13160/com.qualcomm.ftcrobotcontroller V/D2xx::﹕ Start constructor
                09-22 10:28:40.360 13138-13160/com.qualcomm.ftcrobotcontroller V/D2xx::﹕ End constructor
                09-22 10:28:40.370 13138-13160/com.qualcomm.ftcrobotcontroller I/RobotCore﹕ ========= Device Information ================================================== =
                09-22 10:28:40.370 13138-13160/com.qualcomm.ftcrobotcontroller I/RobotCore﹕ Type Name Connection
                09-22 10:28:40.370 13138-13160/com.qualcomm.ftcrobotcontroller I/FIRST﹕ ======= INIT FINISH =======
                09-22 10:28:40.380 13138-13160/com.qualcomm.ftcrobotcontroller V/RobotCore﹕ EventLoopManager state is RUNNING
                09-22 10:28:40.380 13138-13160/com.qualcomm.ftcrobotcontroller I/FIRST﹕ Robot Status: running
                09-22 10:28:40.380 13138-13180/com.qualcomm.ftcrobotcontroller V/RobotCore﹕ EventLoopRunnable has started
                09-22 10:28:43.020 13138-13138/com.qualcomm.ftcrobotcontroller W/RobotCore﹕ Unable to send RobocolDatagram: java.lang.NullPointerException: Destination address is null
                09-22 10:28:43.020 13138-13138/com.qualcomm.ftcrobotcontroller W/RobotCore﹕ RobocolDatagram - type:NONE, addr:null, size:0
                09-22 10:28:43.020 13138-13138/com.qualcomm.ftcrobotcontroller I/RobotCore﹕ Battery Checker, Level Remaining: 79.0

                That is 64 lines of gobbledygook.
                What line in that log reassures the high school student that his/her download was successful?
                Should they be worried about the "broken pipe" the "killed pid", the "Robot Status: null"?

                If the FIRST program is intended to get students excited about technology this is the wrong way to go about it.
                All you are going to get here is "deer in the headlights" from most students.
                Sorry to be such a "Gloomy Eeyore", but I've got 4 FTC teams that need to get started on development and they have little to go on.

                One of our coaches attended a workshop on Sunday. He spent 8 hours there and the farthest he got was being able to drive the K9bot around. 8 hours. And that was not including the prework time to build the robot.
                There is also the SDK's telemetry that you can also look at which is also great for debugging purposes.

                And besides... In real world development, you get many errors in your code, and you still have errors. But in a way, this is part of the process of being a developer. Not everything is going to perfect. The LogCat could still be useful for cases such as figuring out when the init method is ran and when finished and etc.

                Vinay Jagan
                FTC Team Techie Titans #9901
                Vinay Jagan,
                Techie Titans FTC Team #9901
                http://techietitans-ftc.com

                Comment


                • #9
                  Second year FTC coach here, after many fun and successful years with the kids at FLL. MechE by background, though the kiddos did get their world championship trophy in programming. And so far I think they feel like they are spending more time on configuration and syntax than design and coding. Just so much to learn. And having spent last year making the RobotC switch (and buying all the hardware) making the investment in time and money to get back to the starting point yet again is indeed daunting. I don't see what choice FIRST had in all of this given NXT's obsolescence something was gonna change. But this seems pretty big.

                  That said, threads like this give me a little hope these kids are not doomed, and that most everybody will be starting out from this same confused spot. I do really worry about teams without enough support though.

                  And I wonder what happens when we really do need legacy sonar sensors and color sensors working... or even how I'd know for sure if the current release of things supports them...

                  Comment


                  • #10
                    Second year FTC coach here, after many fun and successful years with the kids at FLL. MechE by background, though the kiddos did get their world championship trophy in programming. And so far I think they feel like they are spending more time on configuration and syntax than design and coding. Just so much to learn. And having spent last year making the RobotC switch (and buying all the hardware) making the investment in time and money to get back to the starting point yet again is indeed daunting. I don't see what choice FIRST had in all of this given NXT's obsolescence something was gonna change. But this seems pretty big.

                    That said, threads like this give me a little hope these kids are not doomed, and that most everybody will be starting out from this same confused spot. I do really worry about teams without enough support though.

                    And I wonder what happens when we really do need legacy sonar sensors and color sensors working... or even how I'd know for sure if the current release of things supports them...

                    Comment


                    • #11
                      Abraham Lincoln to Gen. Irving McDowell who was worried about the preparedness of his soldiers for the pending battle at Manassas:

                      “You are green, it is true; but they are green also. You are all green alike.”

                      Comment


                      • #12
                        Originally posted by emeflag View Post
                        Abraham Lincoln to Gen. Irving McDowell who was worried about the preparedness of his soldiers for the pending battle at Manassas:

                        “You are green, it is true; but they are green also. You are all green alike.”
                        I'm not sure how encouraging or comforting this is. Remember how BOTH battles at Manassas (aka Bull Run) ended for the Union. We're all dedicated to helping our students find a way to win, despite the current state of the equipment and training provided by FIRST, Qualcomm, Modern Robotics, and Intellitek.

                        As a motto for all of us coaches and mentors, I prefer NASA's: "Failure is not an option."

                        Comment


                        • #13
                          Originally posted by Robert Van Hoose View Post
                          I support 3 teams. Once we get the configuration nailed down, I will probably write some kind of diagnostic script in Powershell (or maybe an Android Studio plugin if I'm feeling ambitious) to check their project for common configuration issues so that they can self help more, and I won't be running down the same issues over and over again.
                          Please remember that there are Mac/Linux users out there, that cannot run Powershell natively. Bash (Bourne Again Shell) is very common or easily installable on Linux distros and Windows as well. Powershell is only available for non-Windows machines as an open-source reimplementation called PASH, which has its limitations and was last updated seemingly in 2008:

                          ~50% of public PowerShell classes defined.

                          ~40% of framework functionality operational.
                          FTC6460 mentor (software+computer vision+electronics), FPGA enthusiast. In favor of allowing custom electronics on FTC bots.
                          Co-founder of ##ftc live chat for FTC programming--currently you may need to join and wait some time for help--volunteer basis only.

                          Comment


                          • #14
                            It is painful. I see the kids for 45 minutes every day. The last two days I spent the entire period trying to get the Robot Controller to run. I kept getting the same error message saying it couldn't find the motor controller or couldn't find the servo controller. When it finally happened, the kids were off in a corner talking about the journal. They had given up on the push bot. As a rookie team, they are really disappointed and wonder why the old NXt isn't being used. They're veteran FLL gamers who are used to programming a robot easily and efficiently.

                            Comment


                            • #15
                              Originally posted by hexafraction View Post
                              Please remember that there are Mac/Linux users out there, that cannot run Powershell natively. Bash (Bourne Again Shell) is very common or easily installable on Linux distros and Windows as well. Powershell is only available for non-Windows machines as an open-source reimplementation called PASH, which has its limitations and was last updated seemingly in 2008:
                              I already have a tool out (thread: http://ftcforum.usfirst.org/showthre...=ftc+configure.) Anyone who wants to help is more than welcome (languages: Powershell, Batch, Bash, .NET VB (this portion needs a lot of work)) It "should" work on 32-bit, 64-bit, *nix or Windows, I bet it doesn't on at least one combination, and it doesn't check a lot of things.

                              Comment

                              Working...
                              X