Will VEXcode IQ Blocks provide enough functionality for the IQ Challenge competition?

We have been using RobotMesh Blockly for the past 2 years (RobotC does not work on Macs; we are a Mac school) and it was interesting at Worlds last year that a Judge told the students that they would not be able to do well without using Robot C as they were working with limited coding capabilities.

I was unaware that using Robot C gave better control of a VEX IQ Robot.

My question is - will VEXcode give full control over all VEX IQ capabilities? Will it replace everything that could be done with Robot C? (Is this available in Blocks, or do we have to wait for a text-based coding solution for full control?)

[Digression - I understood that the Blockly version of RobotMesh had as much scope as using the written Python. I had been thinking about moving to text-based coding, purely as a ‘greater challenge’ to the students: if I had realised that they would have greater control through using text-based coding, I would have pursued this line initially!]

I don’t think there is a straight answer to your question unfortunately!
The short answer to will it provide enough functionality - yes.
Now the longer answer. If you look at the top skills runs in MS last season, there was some very complex code written in ROBOTC that did some very impressive PID etc. That would be extremely hard to replicate in VEXcode IQ Blocks but could be done in VEXcode IQ Text.
You can also get a lot more data of different types from the sensors in ROBOTC if you want to dig deeper. Some of it isn’t documented though so it’s a case of playing around and finding it out for yourself.

That said, for the vast majority of IQ teams who wouldn’t be looking to implement that level of code, IQ Blocks might be a better option in some respects as students may be able to visualise and implement better code within their ability and understanding in the Scratch environment.
Could you win skills at Worlds programming in IQ Blocks? I don’t see why not, it just gets to the point where it is easier to deliver complex code in a text language.

2 Likes

One of my teams took 11th place and skills at worlds using only graphical robotc. Blocks will have just as much or more functionality.

3 Likes

Thanks for the great answer. Have to admit: I needed to look up PID :stuck_out_tongue:

Has VEXcodeIQ Text been released, yet? Or is that further down the pipeline? (Will there be a handy ‘switch’ function between the Blocks and Text (as in Robot Mesh) to help with the transition should students want to move from one to the other?)

I agree that my students will feel happier using the Blocks to visualise, at least to start at any rate. One thing that I do find gets cumbersome with Blocks is the amount of room that you need for larger programs. I believe that ‘MyBlocks’ have already been mentioned in another thread: definitely something that helps with this (and with introducing students to better coding, too).

We will begin using VEXcode soon, so we will have to monitor these threads for good tips and practices as we get used to a new environment.

Thanks again, @calvc01

I don’t think there is going to be a convert blocks to text facility in VEXcode, the two interfaces will be standalone by the sounds of it. Not sure when the text version is due for IQ but the team seem to be getting stuff done at a decent rate so probably not long.

Very true. Middle School students talking about PID would even raise an eyebrow or two. IQ has always had PID built in, and with the nature of the system it would be better to do it yourself but I would think that the difference would be marginal. Bots that are plastic have minor reliability issues…

It has been hinted that the blocks will be able to go to code, but I haven’t seen it as a feature yet. It was in another thread from one of the developers.

This page has the new programming platforms. IQ Text says October. The dates on THIS page have been reliable.

1 Like

We’re planning a feature to migrate Blocks code to Text, for both IQ and V5. Behind the scenes, Blocks generates the same C++ that would be used in Text.

Now… how “clean” that migration will be is still TBD… :slight_smile:

5 Likes

That would definitely be a cool feature, I always found it a useful way of helping students transition from blocks to text in ROBOTC but then that transition was via the Natural Language part of ROBOTC so I guess a little cleaner.

1 Like

You were unaware because it was untrue for almost all programs :slight_smile: Blockly is Turing complete (can compute any computable problem) and can use all the parts of the VEXos IQ API needed to run a successful robot. (And even supports the Vision Sensor which isn’t competition legal, nor supported for IQ outside of Robot Mesh Studio yet.) You can write your own custom functions with arguments and return values, there’s custom variables, and you can even create data structures with the functionality of Python lists that we expose through Blockly. What I suspect happened is that the Judge your students heard from had never actually used Blockly, and thought it was like some older block languages that don’t have complex data structures or custom functions.

4 Likes

Hiya, John
This is what I explained to the students (albeit in slightly simpler terms!), although they did like it as an excuse for not doing as well as they hoped :stuck_out_tongue:
With the exception of the Gyro sensor (which has the weird ± 179.9999 degrees), RobotMesh was excellent. I did wish that it functioned with the Bluetooth receivers (as our USB cables and connections are a weak point), but other than these relatively minor issues it was great. It is with a little reluctance that I’ve decided to go with the new IQ Blocks (/Text when it is available?), but I’m hoping to get the students more involved in the Forum etc and think that this may be a better way to get them started (with thoughts of progression through to VRC, too).
Thanks :slight_smile: