![]() |
[FTC]: New Android Control System
We're excited about next year's new control system. I'm starting this thread to assemble information about the "Qualcomm® Snapdragon" based smartphone platform. We were a rookie team in the 2014/2015 season and had just begun learning the NXT/RobotC/Textrix systems.
I personally, am not at all disappointed to put NXT behind us. My role as FTC mentor has been mainly mechanical engineering and fabrication support, but I have worked with the NXT controls and programming enough to understand the limitations. I'm excited about First's decision to move to a more sophisticated platform where we won't be tied to RobotC, Tetrix and Matrix proprietary systems. I'm hoping FTC goes to a fully open system where we can use available evolving robotics technologies independent of HiTech, Lego, RobotC sellers. So... here's information I've assembled so far: http://simhardware.org//img/FTC 2015...cr 22mar15.pdf While waiting for further details of the hardware/software specs later this month, I'd like to look into "Qualcomm® Snapdragon" hardware and the programming platforms. If anyone would like to post here (or link to) their work, it would be much appreciated. |
Re: [FTC]: New Android Control System
The following is a screenshot of the "TecTalk" video posted on YouTube.com:
FTC Tech Talk: Platform Presentation ![]() I've seen very little posted on the internet about the "Modern Robotics Inc" modules. So... I'll focus on the Android phone capabilities until more info is available. I've looked at "MIT App Inventor" and "Android Studio" programming platforms. App Inventor is a graphical programming language and Android Studio is a big programming language based on "Java". I played with App Inventor, but I'm old school and came up through Fortran77, Basic... C++ text based systems and will spend my time with the Android Studio application. After taking a peek at the programming stuff, I'd like to "look under the hood" of the ""Qualcomm® Snapdragon" Android device. The CPU (chipset) looks like a full blown computer ; cool! ![]() I'm off into computer hardware morass of techie gobbley-gook. Any help from the pros would be much appreciated... |
Re: [FTC]: New Android Control System
I've set up an "Qualcomm Developer Network" account where they have a robot design using their system:
"Robots powered by Snapdragon processors leverage technologies working together to make robots smarter and more efficient. The Snapdragon Micro Rover is a simple design that garners lots of power and intelligence. It’s powered by a smartphone with a Snapdragon processor, is easily printed on a 3D printer and has a forklift that allows the robot to manipulate its world."After setting up an account, I was able to download files, one of which is a PDF detailing how to build the Micro Rover. It's mostly 3D printer stuff, but has info on I/O as well. |
Re: [FTC]: New Android Control System
Poking around the "Qualcomm Developer Network" website, I found DragonBoard 410c page:
"Coming Summer 2015 The link in the text above has a specification document Low Cost Hardware Platform Specification with details of platform functionality. NOTE: I don't know what Snapdragon series FTC will use, I just picked 400 series for research |
Re: [FTC]: New Android Control System
|
Re: [FTC]: New Android Control System
|
Re: [FTC]: New Android Control System
|
Re: [FTC]: New Android Control System
I am confused at what Android devices we will need to purchase. The videos show a simple cell phone. Is there something specific they want us to use? It would be handy to have something small and compact for the robot side, with a larger controller device for the driver station.
Is there a specific product FIRST has in mind for these? |
Re: [FTC]: New Android Control System
The control system will be, at a minimum, two (2) cell phones. I'm not sure if FTC will only allow us to use one model, or if we'll be able to use other type phones, tablets and the development boards available.
I'm hoping we'll be able to use any Qualcomm® Snapdragon devices compatible w/ FTC required hardware (power mod, motor control mod, etc...) |
Re: [FTC]: New Android Control System
|
Re: [FTC]: New Android Control System
|
Re: [FTC]: New Android Control System
|
Re: [FTC]: New Android Control System
OK... now for a journey into the "Quad-core ARM® Cortex™ A53" specifications for an attempt to understand our new controls environment.
What's a "Quad-core ARM® Cortex™ A53" thingy? Let's start with the "ARM" name. ARM Holdings WikipeniA: "...is a British multinational semiconductor and software design company with its head office in Cambridge, England. Its largest business is designing processors (CPU) bearing the ARM name...systems and platforms, system-on-a-chip (SoC) infrastructure and software. It is considered to be market dominant in the field of processors for mobile phones (smartphones or otherwise) and tablet computers and is arguably the best-known of the 'Silicon Fen' companies." What's a ARM® Cortex™ A53? WikipediA: "The ARM Cortex-A is a group of 32-bit and 64-bit RISC ARM processor cores licensed by ARM Holdings... ARM Holdings does not manufacture nor sell CPU devices based on its own designs, but rather, licenses the processor architecture to interested parties." So- ARM designs the CPU stuff, but doesn't manufacture the chips, Qualcomm is the chip manufacturer. WikipediA: "Qualcomm Incorporated is an American global semiconductor company that designs and markets wireless telecommunications products and services... San Diego, California, United States..." The chip which uses the ARM Cortex-A architecture is the Qualcomm Snapdragon. WikipediA: "...is a family of mobile systems on a chip (SoC) by Qualcomm. Qualcomm considers Snapdragon a "platform" for use in smartphones, tablets, and smartbook devices." Hmm... so how does this help me understand how to control a robot? I don't know yet, but will continue this research later. |
Re: [FTC]: New Android Control System
|
Re: [FTC]: New Android Control System
So I'm scratching my head over how to sort through all this information and figure out what we need to know for FTC...
What I know:
What I don't know:
I guess we'll have to wait for the MRI specs for firmware to know. |
Re: [FTC]: New Android Control System
My advice is to just wait and see what they announce next. Odds are we won't learn anything of true substance until Worlds or after.
They might put another video or two out but given that Super Regionals are over and Worlds is imminent, sit back and wait. |
Re: [FTC]: New Android Control System
Quote:
Yes, that'd be the logical thing to do, but I'm like a kid at Christmas and want to shake the package before mom and dad tells me I can open it. :) So... I bought a ZTE Speed on Amazon ($50). I've been playing with the "WI-FI Direct" thingy. I confirmed that the ZTE Speed has this function, but don't have another phone with this (I use an iPhone). ![]() |
Re: [FTC]: New Android Control System
From the FTC forum: Tom Eng (FTC Engineer)
Quote:
|
Re: [FTC]: New Android Control System
...playing with sensor data from phone to laptop.
Video --> Test accelerometer Andriod sensors WiFi Streamer & visualization GUI |
Re: [FTC]: New Android Control System
From the FTC forum re wireless comms: Tom Eng (FTC Engineer)
Quote:
Quote:
|
Re: [FTC]: New Android Control System
|
Re: [FTC]: New Android Control System
I've been looking for information about FTC android system that was scheduled to be unveiled at the St. Louis Worlds this weekend. I've only found this link for training curriculum coming in June:
http://www.intelitek.com/first-tech-challenge/ Anyone seen anything else? Here's what the Intelitek PDF says: Quote:
|
Re: [FTC]: New Android Control System
I've been working on understanding the Android programming environment. I've installed the software and used the tutorials to write my first "Hello World" program.
![]() |
Re: [FTC]: New Android Control System
The JAVA based Android Studio reminds be a lot of the Visual C++ "programming environment": wicked complicated for the beginner and installing the software is not trivial. I'm hoping JAVA will be like C++ in that once you'd set up all the installation and configuration stuff, you can find example programs on-line and cut-n-paste programs together. I followed this YouTube tutorial
![]() and had no problem getting it to communicate with my phone and run the tutorial "Hello World" program. A lot of the programming functions are designed for making graphic interfaces (GUI) for all the different phones, and I'm thinking this complexity won't be a problem for our robotics use. I'm thinking that the programming will be mostly communications stuff between phones and the FTC controller thingy, and the algorithms for robot control. Since I'm too impatient to wait for the FTC hardware, I've purchased one of these: SparkFun IOIO boards which "connects an app on your PC or Android device to low-level peripherals like GPIO, PWM, ADC, I2C, SPI, and UART" I'll set up a test-bed with some servos and hopefully will have a hardware/software set-up that will allow study of the new control system's capabilities. ![]() |
Re: [FTC]: New Android Control System
Now I'll do some research to understand what's happening between the Android and the robot controller board:
Simple demo of IOIO with USB connection to phone Relay control Servo contro The IOIO board has a "collection of libraries" and "libraries expose a set of Java interfaces". I have no idea what that means, but will jump in and see if I can figure out enough of this gobbly-gook to get the phone controlling a servo... |
Re: [FTC]: New Android Control System
From what I've seen at the Android demonstration at Worlds, the IOIO board will not be a component used on the FTC platform. The controllers from Modern Robotics will be performing those functions in a way that will make it easy to facilitate OTG comms between the phone and the controllers. I'm also under the impression that teams will not be writing Wifi Direct routines despite that being the method of communication between devices.
I also heard that although there will no longer be a central control mechanism, there will be an attempt to ensure that a robot can be shut down in case of emergencies. (i.e. required code in place to stop motors - if say the driver station app crashes). For the 2016 season, this MAY result in a required driver station runtime app from the Google play store ( no source ). However on the robot side, source will be made available with plenty of sample code. On Android Studio and your earlier comparison to C++: I'd say this would be a similar experience to using RobotC in that there will be plenty of examples to use. The phones: I can't make any predictions whether or not FTC will require you to use the phones that come with your 2016 registration. All I can tell you is that the phone would need to support "usb host mode", have a snapdragon processor, and run KitKat. (supposedly Lollipop support is still pending). Again - These are only my impressions from what was demonstrated at Worlds. I do not speak for FTC so I'd suggest that you continue to wait for further announcements. Hope this helps. David |
Re: [FTC]: New Android Control System
5 Attachment(s)
The Electronics. Shown at the 2015 FTC World Championship.
|
Re: [FTC]: New Android Control System
Quote:
Quote:
Thanks Matt for posting the photos! Much appreciated! |
Re: [FTC]: New Android Control System
It is nice to have the new device interface module. I hope it works as good as our protoboard has in the past.
|
Re: [FTC]: New Android Control System
|
Re: [FTC]: New Android Control System
Quote:
|
Re: [FTC]: New Android Control System
Jerry McManus has posted an excellent guide and also frequently asked questions (FAQ) post at the FTC forum:
Feeling overwhelmed? Start here. Technology forum FAQ Thanks Jerry! Great stuff! |
Re: [FTC]: New Android Control System
Modern Robotics Inc. registration is up. I've registered and received an email with info below:
Quote:
|
Re: [FTC]: New Android Control System
This post is intended to summarize what is know about the new control system in order to plan work for next season.
I'm basing this mostly on posts with knowledgeable information at the Chief Delphi & FTC forums: MattRain (Chief Delphi) levydev (Chif Delphi) Tom Eng, FTC Engineer (FTC) Jerry McManus (FTC) FTC Cause and Effect, FTC Staff (FTC) ChiefCT Thank you Matt, David, Tom, Jerry & JoAnn for your help in the forums! Much appreciated! Apologies to anyone I've missed. FTC 2015/2016 Calendar
to be completed later... |
Re: [FTC]: New Android Control System
Quote:
Quote:
These modules connect with a USB-A-Male to MiniUSB cable. At first I wondered why they went with the (almost obsolete) MiniUSB connectors, but it makes sense. It will prevent wrong signals being fed into phones, which stop working once they loose their smoke. Example code is on their web site. Quote:
http://modernroboticsinc.com/core-de...terface-module Andrew |
Re: [FTC]: New Android Control System
Quote:
|
Re: [FTC]: New Android Control System
Continued from post #34 (with edits)
Quote:
My rest of the school year plan as mentor:
I've gotten the phone to link with "Wi-Fi direct", gotten "Hello World" programs to work on a ZTE (both Android Studio & App Inventor). I'm now working on getting a game controller hooked up to the driver phone and send something to the robot phone; I'm thinking a button press on the Logitech would initiate the "Hello World" program on the robot phone. |
Re: [FTC]: New Android Control System
Quote:
When doing through the registration process, you HAVE to buy one of the "control" sets, lowest one is $10 and includes a cable, hub and binder. We bought our phones through Best buy for 40 a pop, at 4 phones (2 teams). So it looks like you will have to spend another 10 dollars. I'm currently making multiple different ZTE Phone mounts that will connect to Tetrix and Actobotics easily that I will release to everyone that has a 3d printer. |
Re: [FTC]: New Android Control System
There are a lot of posts posts being added to the FTC forum that help with the new controls. Below are links of searches on posts by people I've found helpful.
Tom Eng (FTC Engineer): http://ftcforum.usfirst.org/member.php?95868-Tom-Eng Jonathan Berling (Qualcomm Engineer): http://ftcforum.usfirst.org/member.p...nathan-Berling PlilBot (Coach 2818): http://ftcforum.usfirst.org/member.php?5560-Philbot Cheer4FTC (Mentor): http://ftcforum.usfirst.org/member.php?91071-Cheer4FTC |
Re: [FTC]: New Android Control System
Quick guide to setting up a ZTE Speed phone for FTC from GEARSInc.
Shows how to configure the phone, and install the Android Debug Bridge (ADB) driver on your PC. |
Re: [FTC]: New Android Control System
Robert Van Hoose (Mentor): http://ftcforum.usfirst.org/showthre...ll=1#post13288
|
Re: [FTC]: New Android Control System
From Tom Eng here: http://ftcforum.usfirst.org/showthre...ll=1#post13747
Quote:
|
Re: [FTC]: New Android Control System
Quote:
|
Re: [FTC]: New Android Control System
Tom Eng at the FTC forum has posted an excellent video demonstrating the new controls at Youtube: Demo Video
|
Re: [FTC]: New Android Control System
Anyone with a ZTE Speed device? I'm trying to use mine as a Wifi-Only device but it continues to try to activate on the cell service. At least I think that is what is happening.
Getting interrupts dialogs like: "Activate Device: Are you swapping this device for one you currently have on your account?" and "The network did not respond in time. The sim card has locked. Please powercylce the device" |
Re: [FTC]: New Android Control System
See Tom Eng's post at the FTC forum: Tip on using ZTE Speed
And video by PhilBot posted here: ZTE Speed setup for FIRST Tech Challenge (FTC) Youtube video here: https://www.youtube.com/watch?v=n597U6rcl2Y I set up my ZTE using the above information and have not gotten the activation messages. Key I think is to take out the SIM card and put in "Airplane Mode", and then enable WIFI. |
Re: [FTC]: New Android Control System
Doesn't "Airplane mode" lockout wifi as well?
Thanks for the links. I'll have a look. Also - Many thanks for summarizing and recapping this thread. It's extremely useful. Cheers |
Re: [FTC]: New Android Control System
WIFI can be enabled while in Airplane Mode...
|
Re: [FTC]: New Android Control System
Ok… it’s time to get going on doing what it takes to make a robot run with the new control system. Information about the details of the system are becoming public at the FTC forum. I follow the posts by Tom Eng Tom Eng and Jonathan Berling (Qualcomm Engineer) very closely. They posted at the forms and videos on YouTube that demonstrate the new system’s architecture.
Below, I’ll fill in what I’ve found related to my end-of-school-year plan. The links (underlined text) is where I got the information. NOTE: None of this will be official until the robot build rules are published “in early July” Quote:
A big thanks to Tom, Johnathan, Phil and all the other forum posters who've helped us! |
Re: [FTC]: New Android Control System
Where to start? I feel like a caveman looking at a Ferrari...
I'll start with the driver station; figure out how make a program to get the game controller (F310) talking to the ZTE Speed. I was hoping to begin with MIT App Inventor, but couldn't find anything on the internet to get me started. I'll use Android Studio to program. Hardware:
Phone Setup: I used PhilBot's Youtube video: ZTE Speed setup for FIRST Tech Challenge (FTC) Software: Software installation on PC:
If this procedure worked for you, you should see your Android screen change and display "Hello World!" (see below). You now have your "programming environment" set up, and made a program that is writing and loading an app on the phone. Next, I'll try running a program from Android Studio that will talk to the Logitech game controller... ![]() |
Re: [FTC]: New Android Control System
Now it's time to actually do some work on program files. Up to now, I've only followed other's procedures and relied on the automatic features of Android Studio. I need to understand what I’m looking at in this Android Studio window. There must be over 100 buttons and thingies…
![]() |
Re: [FTC]: New Android Control System
Best buy has the ZTE Speed on sale for 39$. Got one yesterday. Really can't do much until software and hardware are available.
|
Re: [FTC]: New Android Control System
Quote:
|
Re: [FTC]: New Android Control System
Phil Malone has an excellent Youtube video on setting up the "ADB" for programming the robot Android: Tutorial: Wireless ADB Setup for FIRST Tech Challenge (FTC)
![]() |
Re: [FTC]: New Android Control System
Prices are out for individual controllers. No Sensor Pricing. We can't buy yet, but at least we see the prices.
http://modernroboticsinc.com/ Power Dist. 89.95 Motor Control 79.95 Servo Controller 69.95 Core Device 67.95 Legacy Module. 64.95 No Prices for sensors yet. |
Re: [FTC]: New Android Control System
Pretty good pricing. Here's the email I got from Modern Robotics Inc.
Quote:
|
Re: [FTC]: New Android Control System
Tom Eng has posted links to Beta SDK and Apps on the FTC forum: Pre-release apps and software are available for download
Copy/past of his post: Quote:
|
Re: [FTC]: New Android Control System
I have been maintaining a somewhat organized webpage on my Mississippi Robotics website to accumulate all I can find to help all of us with the new FTC hardware platform and programming. Enjoy and I hope you come up to speed quickly and smoothly. Everyone is being so helpful. It is good to see.
http://mississippirobotics.org/ftc-f...ech-challenge/ Ray |
Re: [FTC]: New Android Control System
Quote:
|
Re: [FTC]: New Android Control System
Intelitek released new technology training modules for FTC: Sign up page
The specification page for the Android phone list more phones: 2015/16 FTC Control System Android Device specifications |
Re: [FTC]: New Android Control System
Quote:
|
Re: [FTC]: New Android Control System
I've been following the forum at FTC and the programming people's discussions of the recently released beta of the FTC SDK. I won't try to keep up with these good programmers' work until I get my hands on the hardware.
In the meantime, I'm going to get back to a project I started 2 years ago: building a modular drive platform. My son has agreed to work with me again. I'll start a new thread soon and use the new control system for control. Have fun, Craig |
Re: [FTC]: New Android Control System
Just posted at FTC forum:
Quote:
|
Re: [FTC]: New Android Control System
Quote:
|
Re: [FTC]: New Android Control System
FTC has posted the 2015-2016 Game Manual Part I
|
Re: [FTC]: New Android Control System
I received the Modern Robotics order today that I placed last Friday. 4 business days over a holiday weekend; not bad!
|
Re: [FTC]: New Android Control System
The new 12V Matrix motors are available at Modern Robotics Inc.
|
Re: [FTC]: New Android Control System
A new release of the FTC SDK has been released: LINK
|
Re: [FTC]: New Android Control System
App Inventor with FTC Design Components available for download (BETA release)! LINK
|
Re: [FTC]: New Android Control System
Quote:
|
Re: [FTC]: New Android Control System
Quote:
|
Re: [FTC]: New Android Control System
Quote:
It looks promising for basic programming. We don't have our electronics, yet, though, so we've not tried anything beyond "Hello World." |
Re: [FTC]: New Android Control System
I'm test driving the FTC App Inventor platform. I've run through the "FTC_AppInv_Training_v0_07" and "FTC_AppInventor_Local_win_v0_07" procedures and examples. I got a game controller running a motor (MRI controller/Matrix 12V), even went beyond the tutorial and got run-with-encoder working.
I think our team will like this platform. We're a second season team with little programming experience. |
Re: [FTC]: Help with FTC Legacy/Matrix config
Hello all,
Mentor of a rookie team (moving up from 4 years in FLL), and we're kind of stuck. Our new electronics arrived a couple of days ago, but we had been working on the Android Studio/ZTE phone part for about a month (thanks to all, especially Philbot). The kids built a test platform yesterday, in the legacy configuration with a Matrix motor/servo controller, and the 9.6v battery. Minor bugs along the way, but managed to edit/download/deploy some code that appears to function on the Driver/Robot station, except they get no response from the motors. - Everything is powered on, all modules that have lights are lit, and everything appears to be powered on. - Telemetry shows on both phones, and they see X/Y movement when they move the joysticks. - Powerpole connections have been tested with a multi-meter to ensure there is power. In short, everything appears to working, except there is no response from the motors. As bad code tends to throw some kind of error code, I'm leaning toward the Legacy Module not "talking" to the Matrix controller, but as this is our first real shot with the new tech, I could be, and likely am, totally off base. LOL Any help suggestions are really appreciated as the Captain (our son) is kind of stuck. For reference (and in hopes someone can take a look), the modified code they are using is below. While we'd rather figure out what we're doing wrong (for learning purposes), we'd also be interested in seeing anyone's code that actually runs in the Legacy/Matrix configuration. Thanks, and here's the code: package com.qualcomm.ftcrobotcontroller.opmodes; import com.qualcomm.robotcore.eventloop.opmode.OpMode; import com.qualcomm.robotcore.hardware.DcMotor; import com.qualcomm.robotcore.hardware.DcMotorController; // import com.qualcomm.robotcore.hardware.Servo; import com.qualcomm.robotcore.util.Range; /** * TeleOp Mode * <p> * Enables control of the robot via the gamepad */ public class RedfishTeleOp extends OpMode { // position of the claw servo // double clawPosition; // amount to change the claw servo position by // double clawDelta = 0.01; // position of the wrist servo // double wristPosition; // amount to change the wrist servo position by // double wristDelta = 0.01; DcMotorController.DeviceMode devMode; DcMotorController wheelController; DcMotor motorRight; DcMotor motorLeft; // Servo claw; // Servo wrist; int numOpLoops = 1; /* * Code to run when the op mode is first enabled goes here * @see com.qualcomm.robotcore.eventloop.opmode.OpMode#sta rt() */ @Override public void init() { motorRight = hardwareMap.dcMotor.get("motor_2"); motorLeft = hardwareMap.dcMotor.get("motor_1"); // claw = hardwareMap.servo.get("servo_6"); // channel 6 // wrist = hardwareMap.servo.get("servo_1"); // channel 1 wheelController = hardwareMap.dcMotorController.get("wheels"); devMode = DcMotorController.DeviceMode.WRITE_ONLY; motorRight.setDirection(DcMotor.Direction.REVERSE) ; //motorLeft.setDirection(DcMotor.Direction.REVERSE); // set the mode // Nxt devices start up in "write" mode by default, so no need to switch device modes here. motorLeft.setChannelMode(DcMotorController.RunMode .RUN_WITHOUT_ENCODERS); motorRight.setChannelMode(DcMotorController.RunMod e.RUN_WITHOUT_ENCODERS); // wristPosition = 0.6; // clawPosition = 0.5; } /* * This method will be called repeatedly in a loop * @see com.qualcomm.robotcore.eventloop.opmode.OpMode#loo p() */ @Override public void loop() { // The op mode should only use "write" methods (setPower, setChannelMode, etc) while in // WRITE_ONLY mode or SWITCHING_TO_WRITE_MODE if (allowedToWrite()) { /* * Gamepad 1 * * Gamepad 1 controls the motors via the left stick, and it controls the wrist/claw via the a,b, * x, y buttons */ if (gamepad1.dpad_left) { // Nxt devices start up in "write" mode by default, so no need to switch modes here. motorLeft.setChannelMode(DcMotorController.RunMode .RUN_WITHOUT_ENCODERS); motorRight.setChannelMode(DcMotorController.RunMod e.RUN_WITHOUT_ENCODERS); } if (gamepad1.dpad_right) { // Nxt devices start up in "write" mode by default, so no need to switch modes here. motorLeft.setChannelMode(DcMotorController.RunMode .RUN_USING_ENCODERS); motorRight.setChannelMode(DcMotorController.RunMod e.RUN_USING_ENCODERS); } // throttle: left_stick_y ranges from -1 to 1, where -1 is full up, and 1 is full down // direction: left_stick_x ranges from -1 to 1, where -1 is full left and 1 is full right float throttlel = -gamepad1.left_stick_y; float directionl = gamepad1.left_stick_x; float left = throttlel - directionl; // throttle: left_stick_y ranges from -1 to 1, where -1 is full up, and 1 is full down // direction: left_stick_x ranges from -1 to 1, where -1 is full left and 1 is full right float throttler = -gamepad1.right_stick_y; float directionr = gamepad1.right_stick_x; float right = throttler + directionr; // clip the right/left values so that the values never exceed +/- 1 right = Range.clip(right, -1, 1); left = Range.clip(left, -1, 1); // write the values to the motors motorRight.setPower(right); motorLeft.setPower(left); /* * Gamepad 2 * * Gamepad controls the motors via the right trigger as a throttle, left trigger as reverse, and * the left stick for direction. This type of control is sometimes referred to as race car mode. */ // we only want to process gamepad2 if someone is using one of it's analog inputs. If you always // want to process gamepad2, remove this check if (gamepad2.atRest() == false) { // throttle is taken directly from the right trigger, the right trigger ranges in values from // 0 to 1 throttler = gamepad2.right_trigger; // if the left trigger is pressed, go in reverse if (gamepad2.left_trigger != 0.0) { throttlel = -gamepad2.left_trigger; } // assign throttle to the left and right motors right = throttler; left = throttlel; // now we need to apply steering (direction). The left stick ranges from -1 to 1. If it is // negative we want to slow down the left motor. If it is positive we want to slow down the // right motor. if (gamepad2.left_stick_x < 0) { // negative value, stick is pulled to the left left = left * (1 + gamepad2.left_stick_x); } if (gamepad2.left_stick_x > 0) { // positive value, stick is pulled to the right right = right * (1 - gamepad2.left_stick_x); } // write the values to the motor. This will over write any values placed while processing gamepad1 motorRight.setPower(right); motorLeft.setPower(left); } } // To read any values from the NXT controllers, we need to switch into READ_ONLY mode. // It takes time for the hardware to switch, so you can't switch modes within one loop of the // op mode. Every 17th loop, this op mode switches to READ_ONLY mode, and gets the current power. if (numOpLoops % 17 == 0){ // Note: If you are using the NxtDcMotorController, you need to switch into "read" mode // before doing a read, and into "write" mode before doing a write. This is because // the NxtDcMotorController is on the I2C interface, and can only do one at a time. If you are // using the USBDcMotorController, there is no need to switch, because USB can handle reads // and writes without changing modes. The NxtDcMotorControllers start up in "write" mode. // This method does nothing on USB devices, but is needed on Nxt devices. wheelController.setMotorControllerDeviceMode(DcMot orController.DeviceMode.READ_ONLY); } // Every 17 loops, switch to read mode so we can read data from the NXT device. // Only necessary on NXT devices. if (wheelController.getMotorControllerDeviceMode() == DcMotorController.DeviceMode.READ_ONLY) { // Update the reads after some loops, when the command has successfully propagated through. telemetry.addData("Text", "free flow text"); telemetry.addData("left motor", motorLeft.getPower()); telemetry.addData("right motor", motorRight.getPower()); telemetry.addData("RunMode: ", motorLeft.getChannelMode().toString()); // Only needed on Nxt devices, but not on USB devices wheelController.setMotorControllerDeviceMode(DcMot orController.DeviceMode.WRITE_ONLY); // Reset the loop numOpLoops = 0; } // Update the current devMode devMode = wheelController.getMotorControllerDeviceMode(); numOpLoops++; } // If the device is in either of these two modes, the op mode is allowed to write to the HW. private boolean allowedToWrite(){ return (devMode == DcMotorController.DeviceMode.WRITE_ONLY); } } |
Re: [FTC]: New Android Control System
I don't believe the Matrix 9.6V system is functional in the current beta app release 20150803.
Keep an eye on http://ftcforum.usfirst.org/forumdis...FTC-Technology |
Re: [FTC]: New Android Control System
Quote:
I understand the "if you wait for it to be perfect you won't ever launch" theory, I just don't subscribe to it. Thanks again, and good luck to EVERYONE this season, looks like we're going to need it. |
Re: [FTC]: New Android Control System
Support for the Matrix controller does not yet exist.
When it does, you should see a Matrix selection in the configuration tool for the robot controller that contains selections for 4 motors and 4 servos. |
Re: [FTC]: New Android Control System
Thanks Skate, with the kids first scrimmage just over 3 weeks out, they're going to keep pushing on a design that will hopefully work.
We've made some test leads for them so they can at least test lifts and such, but as they're already back in school, build time is a LOT more limited that areas that go back after Labor Day. (One more thing to love about Louisiana, lol). Thanks again and good luck all! |
Re: [FTC]: New Android Control System
How do you scrimmage before the game has been announced?
|
Re: [FTC]: New Android Control System
Over the summer,our team has gone thru basic tool training and built a basic robot. Last week we bogged down trying to bring up the electronics and programming. A father and I work thru the problems and have basic control of motors and servos. Next meeting we should be able to mount everything on the robot and have the kids driving around. This should complete our summer goals.
REALITY CHECK FTC PEOPLE!!!!! OUR team is all 7th and 8th graders. Smart but not geniuses. The Java programming model that Qualcom has created is full blown object oriented, event driven and multi threaded. In stead of the students working on specifying the behavior of the robot, we mentors are going to be teaching and beating a whole lot of very complex CS knowledge into their brains. This is going to take allot of work on the mentors part. Many teams are not going to have the people available to do this. Right know I have 2 students that are good enough to take this on. Unfortunately, the rest are most likely going to be blown away and give up on programming. Qualcom people, Have you worked with 7th graders on this system? This is a step back. I know many people hate Labview, but I have always been amazed at how the young minds picked it up. Even our good students who programmed last year's robot have called this a mess. Their has to be a better programming system. It's to late now. This fall is going to be long and hard. I've got some real home work to do. Yuk, YUK, Yuk, YUK. |
Re: [FTC]: New Android Control System
Gdeaver,
I agree that the Java/Android Studio environment is a step up in complexity from RobotC and a HUGE step up in complexity from Labview. It will definitely be a challenge for teams without strong CS mentors. Have you considered using AppInventor instead? It's simpler to learn and use than Java is, and probably much easier to learn for folks coming from Labview. You might want to have your kids try both for a week or so and see what they're more comfortable with. Good luck! |
Re: [FTC]: New Android Control System
AppInventor is some lipstick on a pigs face.
|
Re: [FTC]: New Android Control System
OK, then don't complain that Java is too hard for middle schoolers.
|
Re: [FTC]: New Android Control System
App Inventor can assist in the basic's but is no better when complex auto actions are required. There has to be a better paradigm. The goal of FIRST is to bring more kids into technology. This current system could potentially push all but the best away at an early age. I don't have the answer but am sure this is not it. Now for teams that are high school level this may not be too bad. 7 and 8th graders, No.
|
Re: [FTC]: New Android Control System
Quote:
What I'm trying to suggest is that middle schoolers with no programming experience or only experience with GUI-type programming like Scratch, Labview, etc., may be better served doing FTC with AppInventor or FLL with EV3 programming. High schoolers taking AP-CS are better served with Java and Android Studio. My opinion only: if you go with Java, you have chosen the most advanced programming environment for your 7th and 8th graders, and you are expecting them to be able to perform complex auto actions that are competitive with advanced FTC high school teams. ("Smart but not geniuses." "Right know I have 2 students that are good enough to take this on. Unfortunately, the rest are most likely going to be blown away and give up on programming." "App Inventor can assist in the basic's but is no better when complex auto actions are required.") I would humbly suggest that some options are: 1. Stick with FTC and Java which only your top 2 students can do, be as competitive as possible, but leave many of your team members out of programming. :( 2. Try FTC and AppInventor, get all of the kids learning how to do it, and perhaps sacrifice a bit of competitiveness when it comes to autonomous routines, but have a kick-butt teleop with simple autonomous routines and a full team of kids who are engaged and contributing to the programming. 3. Have some of the kids who aren't the best programmers consider doing an FLL team (instead of or in addition to FTC). They may be jazzed by the simpler EV3 programming environment, may get more turned on by technology and programming, and may be more motivated to move towards FTC and advanced programming in future years. How you decide to balance all of this is your choice, of course. But I might humbly suggest that perhaps the expectation that your "non genius" 7th and 8th graders will be able to compete with complex autonomous routines against advanced high schoolers who have been coding in Java for multiple years might be contributing to some of your frustrations? I'm not trying to be "flame-y": hopefully it's not coming across that way. I'm just trying to point out that there are other options out there to you and to others in your situation who might be reading this thread. |
Re: [FTC]: New Android Control System
Quote:
Normally rookie teams don't participate, however, since we've been planning the move up to FTC since last season the team decided they'd like to try it. Good news (since my last post) in that the kids got their "legacy" motors running by splitting out the encoder leads and just using the power leads in a "dumb" motor (my term) config. No telemetry and obviously no autonomous, but at least they have a robot they can drive in the event. |
Re: [FTC]: New Android Control System
I was able to make the .apk file on App Inventor and then move that file to the phone that gets connected with the bot. I created a new configuration on that phone as well for the bot that we have built. The phones are direct connected already through Wifi and set up appropriately as far as I know.
I'm having troubles with the OP mode on the phone that has the controllers plugged into it though. The phone on the bot runs the congif just fine but then tells me that the Robot Stop OP mode is running. The question I have is how do I create a new OP mode on the phone that has the controllers plugged into it so that it communicates with the phone on the bot correctly with the new code that I have loaded? |
Re: [FTC]: New Android Control System
Quote:
Have you worked through these two docs:
|
Re: [FTC]: New Android Control System
Thank you for those. I was able to solve the problem by deleting the FTC Controller app on the device that was on the bot.
I do have another request: Does anyone know of a place other than the Google Play Store that I can download the FTC Driver Station and FTC Robot Controller apps? I don't have access to the internet for the phones that I just received and the Google Play Store will not let me download the apps, giving me a messages that says I "don't have any devices". |
Re: [FTC]: New Android Control System
Google "FTC Driver Station APK". Some shady-ish sites have it.
|
Re: [FTC]: New Android Control System
http://frc-events.usfirst.org/2015/ftcimages
Quote:
The app files are ???.apk and available at the official "Google Drive" posting here: FTC App Inventor files Also... FTC links to all App Inventor related material: http://frc-events.usfirst.org/2015/ftcimages |
Re: [FTC]: New Android Control System
Opps... posted this to wrong thread
Moved here: http://www.chiefdelphi.com/forums/sh...7&postcount=68 |
Re: [FTC]: New Android Control System
COG, COM important concept for kids to master.
|
Re: [FTC]: New Android Control System
New release of App Inventor at the FTC forum
|
Re: [FTC]: New Android Control System
Our team doesn't have programming experts; neither students or mentors. My son (FTC alum) and I have been trying to fill the gap. My approach is to identify step-by-step procedures that can be followed without total fluency in the software/hardware technologies.
We've gotten "tangled up" when we've updated the App Inventor (AI) programming versions and Driver Station apps. This is also complicated by the requirements for setting up the ZTE Speed for FTC use. Here are our "usual suspects" that have caused us problems:
I'm working on a procedure for updating AI and configuring the robot station (ZTE & Core Modules). I also hope to have a checklist for configuration troubleshooting if we have issues at the competition. If anyone has done work on this, any help appreciated! |
| All times are GMT -5. The time now is 07:58. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi