ROBOTC.net Blog  

ROBOTC News

Archive for the ‘programming’ tag

Sign up for the Robotics Summer of Learning All Summer!

without comments

Fun RSOL

Did you know that you can sign up for the Robotics Summer of Learning anytime during the summer? All our live webinars are recorded, so you can easily sign up today and work at your own pace!

FAQ

 


How do I join and get into the class?
Sign in or sign up for a new account at CS2N.org. Then visit http://cs2n.org/summer-of-learning and click on the VEX IQ robot. You’ll be taken to a new page where you will click “View” under “Summer of Learning 2014 – VEX IQ – Intro.” From there you will be in the official Summer of Learning course!

How much does this course and/or software cost?
Nothing at all! It is free until September 1, 2014.

What do I need to download?
ROBOTC and the VEX IQ Challenge Pack. You need to download both items. The License ID and Password is located in the CS2N Moodle Course. Use these to activate the license for the entire summer (through September 1st). Computer Minimum Requirements.

Where can I find the link for the live classes?
The link is at the top of the section for the topic of that class. For example, if the topic for the live class is turning, the link will be at the top of the basic movement section. This is also where you will find the recording after the live class has ended.

What is the class schedule?
The live class schedule is listed below, but remember that you can work throughout the summer at your own pace. All classes are recorded. Just keep in mind that if you work ahead, some items of the curriculum will not be released until later this summer.

Will I be able to use the ROBOTC Graphical with EV3 and/or NXT? And, will there be a RSOL class for that?
ROBOTC for LEGO MINDSTORMS is still in development, but it will be available later this summer. Once it is ready, there will be a Robotics Summer of Learning course specifically for it.

Live Webinar Course Schedule

  • June 16: Introduction to Software, Setup, Forums and Procedures used in this course
  • June 17: Intro to Expedition Atlantis and Moving Forward
  • June 23: Turning and Intro to Ruins of Atlantis
  • June 30: Forward until Touch and Forward until Near
  • July 7th: Turn for Angle, Forward until Color, Intro to Palm Island
  • July 14th: Loops and if/else
  • July 21st: Repeated Decisions, Continuous Decisions, Intro to Operation Reset
  • July 28th: Joystick and Button control, intro to VEX IQ Highrise

Sign Up2

Robotics Summer of Learning Starts Next Week!!

without comments

Our Robotics Summer of Learning (RSOL) course opens this Sunday, June 15 with our first live webinar course starting on Monday, June 16! The RSOL gives students the opportunity to learn how to program robots using a free copy ROBOTC 4.0 (including the new Graphical Natural Language) for Robot Virtual Worlds programming software. If you’ve always thought that ROBOTC was too difficult, you should try out the new Graphical Natural Language, which is part of ROBOTC 4.0!

Sign up here!

Live Webinar Course Schedule:

  • June 16: Introduction to Software, Setup, Forums and Procedures used in this course.
  • June 17: Intro to Expedition Atlantis and Moving Forward
  • June 23: Turning and Intro to Ruins of Atlantis
  • June 30: Forward until Touch and Forward until Near
  • July 7th: Turn for Angle, Forward until Color, Intro to Palm Island
  • July 14th: Loops and if/else
  • July 21st: Repeated Decisions, Continuous Decisions, Intro to Operation Reset
  • July 28th: Joystick and Button control, intro to VEX IQ Highrise

All courses will be held at 1:00 PM Eastern Standard Time with a live instructor. A link will be available in the CS2N Moodle course for each session. All sessions are recorded so that you can take the course at your own pace. These dates are subject to change.

And don’t forget to sign up for our Robotics Summer of Learning Newsletter to get important reminders and information throughout the summer!

Cool Project: VEX IQ Quadruped

without comments

Repost from BotBench

In my last post about the VEX IQ building system I had a small video featuring my VEX Quadruped.  I’ve done a bit of work on it since then and the gait has been greatly improved.  I also added some small rubber feet on the legs.  These are the traction links from the Tank Tread & Intake Kit.

Due to the heavy load that these motors are under, you may find that the batteries will run down a bit faster than you’re used to.  Good thing the kits come with a charger!

Up next on the agenda is to add some sensors and have it interact a bit more.  The little wheels on the bottom are not used when it is walking; the robot is fully lifted off the ground.

I’ve taken some picture, so you can see how it’s put together.  These should be enough to copy the design, should you wish to.  You can download the program to run this here: [LINK].  Note that part of the code is based on the excellent guide on creating an Arduino based quadruped: [LINK].

CIMG3355 CIMG3367

CIMG3353 CIMG3354

CIMG3357 CIMG3358

CIMG3359 CIMG3366

CIMG3360 CIMG3361

CIMG3362 CIMG3363

CIMG3364 CIMG3365

Repost from BotBench

 

Robomatter Blog Ad VEX IQ

Written by Xander Soldaat

June 3rd, 2014 at 11:17 am

CMU Robotics Academy Professional Development Classes are Filling Up Quickly!

without comments

PD Blog

The ROBOTC Professional Development courses offered by Carnegie Mellon Robotics Academy are filling up quickly. Register today to make sure you get into your preferred course!

On-Site Training

Take one of our week long on-site courses in Pittsburgh, PA at the National Robotics Engineering Center (NREC). NREC is part of the Carnegie Mellon University Robotics Institute, a world-renowned robotics organization, where you’ll be surrounded by real-world robot research and commercialization.

ROBOTC for LEGO / TETRIX
July 7 – 11, 2014
July 28 – August 1, 2014

ROBOTC for VEX CORTEX
August 4 – 8, 2014

Online Training

Enjoy the convenience of taking Robotics Academy courses without leaving your own computer workstation with our online classes.

ROBOTC Online Training for TETRIX
July 21st – 25th, 2014
Monday – Friday for 1 Week
3-5:00pm EST (12-3:00pm PST)

ROBOTC Online Training for VEX CORTEX
July 28th – August 1st, 2014
Monday – Friday for 1 Week
3-5:00pm EST (12-3:00pm PST)

ROBOTC Online Training for VEX IQ
August 11th – 15th, 2014
Monday – Friday for 1 Week
3-5:00pm EST (12-3:00pm PST)

The Carnegie Mellon Robotics Academy’s Professional Development courses provide teachers and coaches with a solid foundation for robot programming in the respective languages, and experience in troubleshooting common student mistakes. It also focuses on identifying and extracting academic value from the naturally occurring STEM situations encountered in robotics explorations. All participants who complete the course will receive a Robotics Academy Certification. Find out more here – Robotics Academy Professional Development

Written by Cara Friez

June 2nd, 2014 at 11:15 am

ROBOTC Omniwheel Article in Design & Technology Practice Magazine

without comments

twitterDT_logo Xander Soldaat, ROBOTC Project Contributor, was recently asked to write a robotics article for the British Design & Technology Practice magazine.  He wrote about the basics of programming a LEGO MINDSTORMS NXT omniwheel based platform, and the mathematics behind it using ROBOTC as the programming language.  

You can read a copy of the article here: [LINK].

The D&T Association is the organization that represents the interests of  Design and Technology (STEM) teachers throughout the UK.

 
 

Robomatter Blog Ad LEGO

 

Written by Cara Friez

May 13th, 2014 at 10:26 am

Student POV: Robovacuum

without comments

Alexis and Noah are back again with another Student POV! This time, sharing how they programmed a robovacuum in ROBOTC Graphical Language for the VEX IQ platform.

————————————————————————————
In this challenge, we programmed the Vex IQ robot to perform a task that was based off of the robotic vacuums that vacuum autonomously while avoiding obstacles. Our challenge was to program a robot that would perform like a robotic vacuum. Therefore it would be able to move autonomously while avoiding obstacles.

We started our program by putting in a repeat forever loop. This means that our program will continuously run until we stop it with the exit button on the Vex IQ brain.

RoboVacuum1

We then made a plan on what we needed our robot to do. Within the repeat loop, we had to put an “if else” statement. An if else statement is a command that makes a decision based on a condition. With our program, our condition is the bumper sensor. The robot checks the condition of whether or not the bumper sensor is depressed. If the bumper sensor is not depressed, it will run the command inside the curly braces of the if statement. If the bumper sensor is depressed, it will run the commands inside the brackets of the else statement. We had to put this statement inside a repeat forever loop because without it, it would only make this decision once.

RoboVacuum2

We then had to decide what task the robot was to perform when the sensor was depressed. So we set up commands within the curly braces of the else statement shown here.

RoboVacuum3

Below is an image of the final program.

RoboVacuum4

Now our robot is able to move around autonomously while avoiding different obstacles!

- Alexis and Noah

 
 

Robomatter Blog Ad VEX IQ

 

Written by Cara Friez

April 17th, 2014 at 8:30 am

Student POV: Slalom Challenge

without comments

It’s Danica and Jake, back again! This time, teaching people about the slalom challenge, in ROBOTC Graphical Language for the VEX IQ platform. The challenge is to line follow using the VEX IQ color sensor without hitting the “mines”, also known as the cups.

#5

In the graphical organizer, to line follow on the left side of the line, all you have to do is use the block, lineTrackLeft, to follow the right side you have to use lineTrackRight.

#1

In this block, there are 3 boxes, one for the threshold, the second for the speed of the left motor, and the last box is for the speed of the right motor. In this line of code, the threshold of 105, the robot’s left motor is set to go at 50% power, and the right motor is set to go at 15% power.

This block has to be included into a repeat loop to make sure the robot continues to do this command for an allotted amount of time.

#2

The repeatUntil loop has many options for how long the loop should run. For this challenge, we decided to use the timer.

#3

The timer is set at 7000 milliseconds or 7 seconds, so it has enough time to make it through the slalom. Our finished program looks like this:

#4

Now you can line follow in any challenge you would like, the possibilities are endless!

 
 

Robomatter Blog Ad VEX IQ

 

Written by Cara Friez

April 2nd, 2014 at 7:47 am

Update – ROBOTC for VEX Robotics 4.08

with 4 comments

ROBOTC logo 4 UpdateThe ROBOTC Development Team is excited to announce the availability of ROBOTC for VEX Robotics 4.08 – an update for the VEX Cortex and VEX IQ platforms. This new version supports the latest firmware versions provided by VEX Robotics (4.20 for VEX Cortex / 1.09 for VEX IQ) and all of the new features supported by the new firmware updates. Some of these new improvements include:

- Support for the VEXnet 2.0 (white) Radios for the VEX Cortex
- Bug Fixes for the VEX IQ system to prevent “I2C Errors”
- Speed enhancements for VEX IQ for better performance of motors and sensor
- New VEX IQ commands for Gyro sensors

This new version of ROBOTC also supports the VEX IQ “Graphical Natural Language” feature. This new interface allows users to program robots from inside ROBOTC with easy-to-use graphical blocks that can be drag-and-dropped to form a program. Each block represents an individual command from the “text-based” ROBOTC and Natural Language. The new click and drag interface along with the simplified commands of Natural Language allows any robotics user to get up and running with programming their robots as soon as possible. As of today, the Graphical Natural Language commands work with the VEX IQ system, but we’re actively developing support for ALL ROBOTC supported platforms!

Before you can use ROBOTC for VEX Robotics 4.08, you will need to ensure that your VEX devices are up to date. The instructions to update your hardware will be different depending on what hardware setup you may have…

  • VEX IQ Users
    • Run the “VEX IQ Firmware Update Utility” and update your VEX IQ brain to firmware version 1.09. You will also have to install the latest ROBOTC firmware from inside of ROBOTC.
  • VEX Cortex Users (with Black VEXnet 1.0 Keys)
    • You will need to update your VEX Cortex and VEX Game Controllers with version 4.20 from inside of ROBOTC. After updating your master firmware, you will also have to install the latest ROBOTC firmware as well.
  • VEX Cortex Users (with White VEXnet 2.0 Keys)
    • The new VEXnet 2.0 keys have a specific “radio firmware” that you will need to upgrade to enable “Download and Debugging” support. You can find this utility here.
    • Download the “VEXnet Key 2.0 Firmware Upgrade Utility” and insert your VEXnet 2.0 key to any free USB port on your computer. Follow the instructions on the utility to update each key individually. All VEXnet 2.0 keys must be running the same version in order to function properly.
    • After updating your VEXnet 2.0 keys, you will need to update your VEX Cortex and VEX Game Controllers with version 4.20 from inside of ROBOTC. After updating your master firmware, you will also have to install the latest ROBOTC firmware as well.
    • Note that this new firmware version will support download and debugging with both VEXnet 1.0 (black) and VEXnet 2.0 (white) keys.

Here’s the list of changes and enhancements between version 4.06 and 4.08.

VEX Cortex:

  • Support for VEX Cortex Master Firmware 4.20 and VEX Game Controller Master Firmware 4.20
  • Support for wirelessly download and debugging using the new VEXnet 2.0 2.4Ghz radios.
  • Fixed an issue with launching ROBOTC in “Virtual Worlds” mode, which may incorrectly choose the wrong compiler target.
  • Fixed issue with Windows XP/Vista/8 where ROBOTC may crash when unplugging/plugging in a device

VEX IQ:

  • Improved motor responsiveness (16ms update cycles as opposed to 50ms today – this was a mitigation for the I2C issues in the current Master FW)
  • Improved sensor responsiveness (varies by sensor – this was a mitigation for the I2C issues in the current Master FW)
  • Gyro sensors can now return either integer values (getGyroDegrees/getGyroRate) or floating point values (getGyroDegreesFloat/getGyroRateFloat)
  • Fixed a bug where the Gyro sensor was not using the “rate” setting to properly return a deg/sec calculation for the getGyroRate command.
  • Exposed the ability to calibrate the gyro sensor from the user program and specify the number of “samples” to take during calibration (more samples = less drift = longer calibration time)
  • Also added a boolean “get” command to read the gyro calibration status bit to know when calibration is done.
  • New PWM adjustment function – allows users to trigger a specific VEX IQ motor to read the current battery voltage from the VEX IQ brain to adjust the PWM scale factor in the motor to ensure consistent performance. This is automatically done each time a program is executed with ROBOTC, but for longer programs end-users might want to readjust the PWM scale factor.
  • New “read immediate current” from motor – returns a value in mA
  • Modified functions for “motor strength” – renamed these to be “motor current limit” and uses values in mA instead of 0-255 byte value. These commands used to be called “getMotorStrength” and “setMotorStrength” – they’re now renamed to “getMotorCurrentLimit” and “setMotorCurrentLimit”
  • Fixed an issue with “Graphical” mode where users may start up in “Cortex” mode and the function library will appear blank
  • Fixed an issue when “Natural Language” mode was enabled that normal sample programs may not run properly (using the leftMotor/rightMotor keywords)
  • Fixed issue with Windows XP/Vista/8 where ROBOTC may crash when unplugging/plugging in a device

If you have any questions or issues, contact us at support@robotc.net. Happy Programming!!

 
 

Robomatter Blog Ad VEX IQ

 

Written by Tim Friez

March 26th, 2014 at 8:40 pm

Student POV: Robo 500 Challenge

without comments

Hi, we’re Alexis and Noah, two eighth grade students at Hopewell Memorial Junior High School. Earlier this week, we did the Robo 500 challenge. To write the programs, we used the recently released ROBOTC Graphical software for the VEX IQ. The goal of the challenge was to complete two laps around a Vex IQ storage bin.

ROBO 500 picture

We completed the challenge by using timing and degree measurements. The first step was to get the robot to move forward. For this, we would use a basic motor command.

Photo 1

In ROBOTC Graphical, it gives you the option to choose the values in which you want your motor to run by, such as time and rotations. In this challenge, we chose time.

Photo 2

From there, we experimented with different time values until we found the timing that was needed to finish the side of the challenge before the turn. Through testing, I found that 3.7 seconds covered the distance needed.

Photo 3

Now, what was left was the largest challenge of the program, the turn. Timing a turn can be challenging on seconds alone. So, I used degree turns. I started with a 180 degree, which brought me around about 45°. Due to the drift of the robot when it moves forward, I had to make the turn slightly less than double the 180° turn. I settled on a value of 300°.

Photo 4

Once the values were established, the rest was just repeating the commands so the robot would go around the whole box. Here is an example of my final program.

Photo 5

We were then thinking about how the turns were a hassle with trial and error, and contemplated a better way to turn. So, we decided to use a gyro sensor to have the most accurate turns possible.

To start out the program we had to reset the gyro sensor so the sensor could record the degrees from zero.

Photo 6

From here we moved forward to the end of the course for time, and we moved forward for about four seconds. Then we used a while loop. A while loop is set to check a condition and while the condition is true, it performs what is inside of the curly braces of the while loop. In this case the condition is while the gyro sensor value is less than 90 degrees.

Photo 7

We would then repeat these actions until the robot has made two full laps around the course. Here is the program for one lap. To do two laps I would just repeat this program again.

Photo 8

We were able to finish our programs efficiently in a short amount of time due to the design of the new graphical programming. This new design enables you to drag over commands from the function library; such as, moving forwards and backwards, turning, and sensor commands while avoiding the hassle of painstakingly typing each command. This reduces the time spent on each program and allows us to speed up the pace at which we program, and we are able to complete challenges in a shorter amount of time.

Photo 9To the left, we have an image of the function library and a depiction of what would happen if you dragged a command into your program. The command would line up with the next available open line and would give you options as to what values you wanted to program your robot with.

————————————————————

If you’re a student who would like to contribute to the blog, let us know at socialmedia@robotc.net.

 
 

Robomatter Blog Ad VEX IQ

 

Written by Cara Friez

March 26th, 2014 at 7:30 am

Student POV: Labyrinth Challenge

without comments

We are really excited to introduce a new blog series called Student POV! This series will feature students giving their perspective and advice for programming in ROBOTC. If you’re a student who would like to contribute to the blog, let us know at socialmedia@robotc.net. Welcome our first student bloggers, Danica and Jake!

————————————————————
Hi it’s Danica and Jake, and we just completed the Labyrinth Challenge. We are both 8th grade students attending Hopewell Memorial Junior High. We both used VEX IQ Graphical Programming Language to complete this challenge since it is a new software recently released by ROBOTC. The first challenge we had to accomplish was the labyrinth challenge. The labyrinth is a square, where the robot has to travel from the starting point, to the ending point by doing a series of basic commands.

#1

Our first task was to make our robot move forward.

#2

This block is telling the robot to go forward at 50% power for 5 rotations, but you can also set the robot to move for degrees, milliseconds, seconds, and minutes.

Our second task was to make the robot turn left.

#3

When turning left, you can use multiple commands such as degrees, rotations, milliseconds, seconds, and minutes. You can also use this for turning right.

One problem while programming for this challenge was making 90 degree turns. To get a perfect 90 degree turn, with timing, you had to go through a lot of trial and error. After figuring out the perfect turns, based on timing, the time for moving forward, and the stops to prevent drifts, we had to string all the commands together to form the program for the challenge. This what the finished program looks like:

#4

An easier way to perform more accurate turns, is with the use of the gyro sensor. The gyro sensor allows you to count how many degrees you turn. This simply means that you can actually tell the robot to make an accurate turn. You also have to remember to reset the gyro after every use, and it will make this program a lot easier.

To reset the gyro you have to use this block:

#5

The finished program with the gyro sensor looks like this:

#6

In this program we used the setMotor command instead of turnLeft or turnRight. This command is better to use in the while loop since you only have to set the speed of the motor. The condition in the while loop determines how long the robot turns. As a result, we just need to set the motor speed with the setMotor command.

A cool feature you can use in RobotC is commenting out your code. You can also do this in the VEX IQ Graphical Organizer. It is much easier though since you only have to click the number on the block of code you want to comment out.

Commenting looks like this:

#7

These comments allow you to test only one turn out of the whole code, which is very useful during the trial and error stage.
Now it is time to go try the Labyrinth challenge on your own, either with or without the gyro sensor. Have fun!

 
 

Robomatter Blog Ad VEX IQ

 

Written by Cara Friez

March 19th, 2014 at 4:29 pm