ROBOTC.net Blog  

ROBOTC News

Archive for the ‘Computer Science’ tag

A Teacher’s POV: Palisades Middle School Robotics Initiative

without comments

Palisades1

Training at Carnegie Robotics Academy

After last summer’s on-site training at Carnegie Mellon Robotics Academy, Palisades Middle School’s technology and computer teachers initiated semester STEM units featuring the VEX Cortex Clawbot, Robot Virtual Worlds software, and ROBOTC programming. 8th grade students now experience how to build and program a robot through collaborative teamwork.

In technology class groups of students learn about robotic systems and mechanics by building and remotely controlling a VEX Clawbot. In computer class students program the VEX Cortex Clawbot in a virtual, immersive environment using Robot Virtual Worlds software and through coursework provided by Carnegie Mellon Robotics Academy’s CS2N Moodle-based learning management system. By combining their knowledge and skills in groups, students will ultimately compete using autonomous and remote-control programming in a class competition called, “Tic Tech Toe”.

Palisades2

Julia, 8th grade middle school student

I attend Palisades Middle School and am in the 8th grade. I love how both our computer and technology class are combined. Being brand new to the whole experience of robotics, finding new ways to use technology educationally is something that really intrigues me. Currently I am in computer class and cannot compare it to anything else. Overall, the atmosphere and supportive people make this experience fun and worthwhile. It has introduced me to concepts that I didn’t even know were possible and are very educational. For example, I have recently learned to use a very cool program called ROBOTC. Basically, ROBOTC is a program which allows you to give your robot “tasks”. In my computer class we have been doing this quite a bit and I just love everything about it. Its a new and educational way for students to learn programming. My learning this at a young age really builds success for the future.

Lydia, 8th grade middle school student

Student-Created Simulated Field  Created in RVW Level Builder

Student-Created Simulated Field
Created in RVW Level Builder

Our technology and computer classes joined together while working on robotics. I really enjoyed being able to create and program robots. In our tech class each student was assigned a partner to build a robot and race it in a competition against fellow classmates. Our computer class involved robotic programming.We learned how to compile and download programs to a virtual robot and complete different challenges. This program was so much fun and I really enjoyed how we got to experience both “hands-on” and “hands-off” learning.

Making Robotics Real for Students

There is a real advantage in learning how to program in a virtual environment. Most programming courses offer 2-dimensional “Hello World” feedback. Robot Virtual Worlds gives students immediate 3-D feedback and opens their eyes to real-world programming applications. We have been pleasantly surprised with how students respond with interest to learning how to program when it’s presented in this context.

Robot Virtual Worlds also offers an engaging method of project-oriented learning involving challenges. Students don’t just program the robot to move, they learn what it would be like to manipulate a robot through various simulated environments. These environments called “worlds” could be a space mission, tropical island, or could even be student-designed obstacle field. These worlds have been effective in stimulating interest and maintaining learner engagement.

Palisades4In addition to the classroom experience, our first semester students also visited a local robotics company and learned first-hand how their robotics experiences have real-world relevance. Students were given the opportunity to see actual robots in development and other related technologies. This visit got the student’s attention, providing them with a better understanding of potential opportunities in engineering and programming.

We are anxious to continue this collaborative program. There was an initial investment in training, software, and hardware, but we feel that the return for the students is well worth it. In sharing our classes and resources, students are learning about information and machine technology in a unique way. We hope that this transfers over into their continuing studies and even future careers.

A Teacher’s POV: RVW VEX IQ Beltway

without comments

Beltway2Jason McKenna, from the Hopewell Area School District outside of Pittsburgh, PA, writes about his experience in the classroom with the new Robot Virtual World game, VEX IQ Beltway. Check it out below …

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

The new VEX IQ virtual game Beltway is a great way to challenge your students to apply the basics of ROBOTC programming while also asking them to come up with unique strategies to try to score as many points in the 2 minute game as possible. My students just spent about 3 weeks working on the challenge and trying to score the highest score as possible. The students had an absolute blast and as a teacher, it was great seeing all the different ways the students tried to tackle this completely open-ended challenge.

Beltway4The objective in Beltway is the same as VEX IQ Highrise: program your VEX IQ robot to autonomously score as many cubes as possible during a 2 minute period. With Beltway, a conveyor belt has been added around the perimeter of the game field in order to assist with game play. Additionally, the virtual environment utilizes “magic stacking” meaning that the cubes automatically jump onto the stack when they are placed onto of the stacking cube regardless of the apparent size of the robot. The conveyor belt reduces the accumulation of error, where, for example, a robot’s slight error in one turn becomes a larger error when the robot repeats that same turn 4 or 5 times. Any time students attempt a long program with many different elements they will at some point become frustrated with the accumulation of error that occurs. Magic stacking and the large margin of error that enables easy pickup of cubes eliminates any frustration that the students may encounter as try to pick up cubes and then stack them. These elements of gameplay in Beltway allow students to focus on their strategy, and it also allows them to try to experiment with many different scoring methods because they are not spending a lot of time programming perfect 90 degree turns and aligning their robots perfectly to pick up a cube. You can click here for a more extensive list of rules and information about gameplay!

Beltway1Beltway comes with a variety of sample programs that students can use to help them get started or as a reference as they adjust their strategies. For example, if students decided that they wanted to control the conveyer belt manually, they could refer to a sample program to see how that is done. I did that many times while monitoring the students. After a few days, the students aren’t repeatedly raising their hands; instead, they just refer to the sample programs for guidance.

The game also served as a great tool to teach beginning programmers the utility of comments. Oftentimes, beginners don’t make programs quite as long as the ones they will make for Beltway. Students quickly saw the need to point out what was going on in their code with comments so they could go back to those sections and make whatever adjustments they wanted as they progressed with their gameplay.

As I stated earlier, my students had a lot of fun while playing Beltway. It is not easy to keep students’ interest level high in an activity that takes 3 weeks. The students maintained their level of interest and they consistently asked to stay after school to work on their programs some more. We had an in-class competition where the students ran their final programs. The winning team scored the winning points as the timer, literally, went to zero. It was pandemonium in my room. Kids were high-fiving each other, cheering, and remarking at how awesome the competition turned out. Students were also talking about the different strategies that the other teams used and how they could change their programs based upon what they had just seen.

Beltway3

So now, of course, the students want to play some more. This is great because now I can use that as an opportunity to show students how they can take some of the code that they used over and over again (for example, picking up cubes) and show them how they can use full ROBOTC to turn those behaviors into functions. Beltway has proven to be both a great teaching and learning tool in my classroom.

Click here to download the game!

- Jason McKenna

Cool Project: ColumnBot

without comments

We recently asked a group of engineering students from the University of Aalborg in Denmark to write about their experience using ROBOTC on a recent project. Check it out below!

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

A model of the robot we built.

A model of the robot we built.

Hi all! We are 6 software engineering students from the University of Aalborg in Denmark. As part of our Bachelor’s degree, we had to design and implement an embedded system, and we chose to design and implement a robot that would solve the Simultaneous Localization And Mapping (SLAM) problem. We called the robot ColumBot.

The hardware we were issued were LEGO NXT bricks and sensors as well as a few from MindSensors. MindSensors provided libraries for use with ROBOTC, which was one of the reasons why we ended up choosing ROBOTC as our IDE.

This shows the generated map for TestCourse.

This shows a map of the test course we ran.

Work in Aalborg is group-based and many of the other groups spent the first weeks trying to get their NXT bricks set up for the firmwares they were using, but ROBOTC allowed us to have the part of the project kept to a minimum. ROBOTC provided us with a strong and versatile tool in solving our project, and was of great help.

Using ROBOTC, we were able to implement a mapping robot with a drive queue, with enough memory for 100m2, as well as a particle filter to correct the inaccuracies that arose from sensing when mapping. All this functionality was scheduled using a real time scheduling scheme. We do not believe this would have been possible with some of the IDEs used by the other groups.

This shows a map of the test course we ran.

TestCourse map.

ROBOTC has its quirks, namely much of the documentation is faulty. [Editor’s Note: ROBOTC recently went through a complete documentation overhaul to address issues like these – take a look at our help docs here.] As the focus of our project was to fit as much functionality as possible into the limited space, this problem mainly arose with the sizes of different types, where the documentation deviated from the reality. But the community is fantastic and many answers to difficult questions were found in the forums during the project period. The most useful features in our project were the Bluetooth Communication and the Debug Stream, which allowed us to monitor the robot remotely and communicate with it.

We would recommend ROBOTC to anyone attempting a build of the same size as ours, but advice you to be wary and test things for yourself, because this was sometimes a problem for us.

Check out one of our test runs here:

Written by Cara Friez

February 23rd, 2015 at 11:01 am

ROBOTC for LEGO MINDSTORMS Updates 4.30 and 3.65 Available Today!

with 2 comments

ROBOTC 4-30
The ROBOTC Development Team is excited to announce not one, not two, but three updates this week! Yes, earlier in the week we announced our 4.29 update, but we’ve taken care of a few more bugs along with a 3.65 update. These updates are for the LEGO MINDSTORMS (NXT and EV3) robotics systems and includes new features, functionality and a load of bug fixes. You can download them here! Read more below …

4.29 -> 4.30 Change Log

  • (EV3) LEGO NXT Sensors that are normally auto-ID’d no longer have their autoID flag disabled for that port.
  • (EV3) Fixed an issue with the EV3 remote screen may have caused a ROBOTC crash.
  • (ALL) Rebuilt firmware to version 10.30. All platforms will require a firmware update.
  • (ALL) Prevent Graphical files from asking to save if the “Save On Compile” flag is set to false.
  • (ALL) Update all standard models to have correct drive train setting.
  • (ALL) Fixed an issue where a “sprintf’ varArg list contains a string constant the compiler was generating incorrect code causing a firmware crash.
  • (ALL) Compiler Fix: ‘long’ pointer temporary variables were sometimes being allocated as type ‘signed’ instead of ‘unsigned’.
  • (ALL) Checking for “divide by zero” exception forgot to check in the “module” opcodes; it was only checking the “divide” opcodes. Fixed.
  • (ALL) Fixed issues where the first time the Debugger “Local Variables” window is painted with values (rather than blank) the address field displays “0xCDCDCDCD” rather than the offset.
  • (ALL) Graphical Interface now support “multiple selection” using Shift/Control keyboard modifiers (drag select coming soon!)
  • (ALL) Fix for DebugStream which was adding \r to the String as it was written to file.

3.64 -> 3.65 Change Log

  • (All) Fixed issue with licensing system when an unexpected error code (i.e. server is available but service is down) would cause ROBOTC to crash.
  • (All) Fixed issue with ‘Check for Update’ functionality where a hotel/school wifi login screen might cause a ROBOTC crash with unexpected XML parameters.
  • (All) Fixed issue with licensing system where a license could not be used on the same computer twice.

To read more about the updates from 4.29, visit our post from earlier this week. Happy Programming!

Written by Cara Friez

February 18th, 2015 at 9:30 am

Download ROBOTC for VEX Robotics Updates 4.30 or 3.65 Today!

with 2 comments

ROBOTC 4-30VEX

The ROBOTC Development Team is excited to announce not one, not two, but three updates this week! Yes, earlier in the week we announced our 4.29 update, but we’ve taken care of a few more bugs along with a 3.65 update. These updates are for the VEX Robotics (CORTEX and VEX IQ) robotics systems and includes new features, functionality and a load of bug fixes. You can download them here! Read more below …

4.29 -> 4.30 Change Log

  • (Cortex) Added new sample programs for RVW VEX Cortex using the Natural Language 2.0 commands.
  • (Cortex) Fix to enable tankControl to be displayed for Virtual Robots.
  • (Cortex) New VEX Cortex Master Firmware (4.25) for VEX Cortex Brain & VEXNet Remote Control
  • (Cortex) Update for VEX Competition Template in Natural Language 2.0 to ensure maximum compatibility
  • (Cortex) Increased Timeout for VEX wireless communications when using the new VEXNet 2.0 Radios – prevents communications issues
  • (IQ) Fixed incorrect samples for VEX IQ in Virtual Worlds (both Text and Graphical)
  • (All) Rebuilt firmware to version 10.30. All platforms will require a firmware update.
  • (ALL) Prevent Graphical files from asking to save if the “Save On Compile” flag is set to false.
  • (ALL) Update all standard models to have correct drive train setting.
  • (ALL) Fixed an issue where a “sprintf’ varArg list contains a string constant the compiler was generating incorrect code causing a firmware crash.
  • (ALL) Compiler Fix: ‘long’ pointer temporary variables were sometimes being allocated as type ‘signed’ instead of ‘unsigned’.
  • (ALL) Checking for “divide by zero” exception forgot to check in the “module” opcodes; it was only checking the “divide” opcodes. Fixed.
  • (ALL) Fixed issues where the first time the Debugger “Local Variables” window is painted with values (rather than blank) the address field displays “0xCDCDCDCD” rather than the offset.
  • (ALL) Graphical Interface now support “multiple selection” using Shift/Control keyboard modifiers (drag select coming soon!)
  • (ALL) Fix for DebugStream which was adding \r to the String as it was written to file.

3.64 -> 3.65 Change Log

  • (Cortex) New VEX Cortex Master Firmware (4.25) for VEX Cortex Brain & VEXNet Remote Control
  • (Cortex) Increased Timeout for VEX wireless communications when using the new VEXNet 2.0 Radios – Full download/debug support available.
  • (All) Fixed issue with licensing system when an unexpected error code (i.e. server is available but service is down) would cause ROBOTC to crash.
  • (All) Fixed issue with ‘Check for Update’ functionality where a hotel/school wifi login screen might cause a ROBOTC crash with unexpected XML parameters.
  • (All) Fixed issue with licensing system where a license could not be used on the same computer twice.

And to read more about the changes in 4.29, visit our post from earlier this week. Happy Programming!

Written by Cara Friez

February 18th, 2015 at 9:30 am

A Teacher’s POV: First Year Teaching Automation and Robotics

without comments

In our latest Teacher’s POV post, Ross Hartley wrote a wonderful post about his first semester teaching Automation and Robotics in the Pickerington Local School District. Check it out below …

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

This is my third year teaching, but my first time working with Project Lead The Way (PLTW) and a robotics course. After accepting this assignment, I was extremely nervous. I did not study robotics in college, and I had never, ever pictured myself in this role. But I am so very happy to have taken on this challenge.

This is a picture of students preparing for the Racecar Challenge. Students had to build and program a racecar that would go the fastest in 20 feet but had 6 feet past the finish line to stop.

This is a picture of students preparing for the Racecar Challenge. Students had to build and program a racecar that would go the fastest in 20 feet but had 6 feet past the finish line to stop.

Students working on building and programming a car that would follow a set of simulated directions to go from the house of one student to the movies and back. Students had to program the lights to turn on and off, backing in and out of parking spaces, and completing turns.

Students building and programming a car that would follow a set of simulated directions to go from the house of one student to the movies and back. Students had to program the lights to turn on and off, backing in and out of parking spaces, and completing turns.

My favorite part about teaching this class is the atmosphere and expectations that I set up with this class and my students. From the first day of school, I was completely honest with the kids. I broke down the walls of the normal teacher-student relationship where the teacher is looked at as the bearer of all knowledge and all knowledge is passed down from the teacher to the students. I created a culture where students and their knowledge are equally valued and as important as the teacher’s. This led to a culture of mutual respect and collaboration. I, as the teacher, was not viewed as the bearer of all knowledge, but as a helpful resource to rely on when problems arose. The most important part of creating this culture is setting up those expectations from the beginning of school.

This was the last challenge for the class. Students had to build and program a “ClawBot” to complete various tasks including picking up and moving a cup as pictured.

Students had to build and program a “ClawBot” to complete various tasks including picking up and moving a cup as pictured.

The major theme from this class was “Problem-Solving”. I would present students with a variety of real-world scenarios and they would have to think of a design to solve that problem. They would work in groups of 2 to 4 students to create, construct, and program these robots to solve the problems I presented to them. This allowed for A LOT of different interpretations and ways to solve these problems, which was awesome!

Several key strategies that I incorporated into the class that proved to be successful were: purposeful grouping, incorporating student choice, and using students in a teacher’s role to help other students who needed more assistance. I incorporated a “Menus” style of teaching and learning. Students would be purposefully grouped into groups of 2-4 and then they would be presented with 3 different levels of activities: Appetizer, Main Meal, and Dessert. Within each level, students would have to choose 1 task out of 3 or 4 different options. As a group, students would choose which task to complete. Once decided, students would work as a group to design, build, and program the robot to complete the task. I would watch the robot perform the task, sign off on their paper, and they would move on to the next part of the menu. The activities got progressively more difficult as students moved from the Appetizer to the Main Meal to the Dessert level, with the Dessert level activities being the most difficult.

As we get ready to begin with the second semester, I cannot help but think about how much I have learned and how better of a teacher that I have become because of teaching this class. Some future ideas I have are the creation of a “Girls in STEM Club”. The purpose of this being opening girls’ eyes to future careers and possibilities associated with this class and the STEM ideals. Also, possibly creating a VEX Competition Robotics club where students would meet after school to construct robots to participate in VEX Robotics competitions. One thing that I realized early on in my teaching career is how much teachers learn from their students. Teaching this class has been one of the best learning experiences of my life.

For this challenge students had to build a freight elevator that had three different switches on the actual elevator. When pressed, the elevator takes passengers from the ground floor to the first or second floor and back down.

For this challenge students had to build a freight elevator that had three different switches on the actual elevator. When pressed, the elevator takes passengers from the ground floor to the first or second floor and back down.

 

– Ross Hartley

————————————-
If you’re a teacher or robotics coach and would like to write a blog about your experiences teaching, send us an email at socialmedia@robotc.net!

Written by Cara Friez

February 4th, 2015 at 11:10 am

Cool Project: Conway’s Game of Life

with one comment

ROBOTC Game LifeXander over at BotBench (and future colleague!) created an awesome ROBOTC version of Conway’s famous Game of Life. As he states on his blog, “It was first thought of back in 1940, so it’s a real piece of computer science history.” The Game of Life has very simple rules: (taken from WikiPedia)

The universe of the Game of Life is an infinite two-dimensional orthogonal grid of square cells, each of which is in one of two possible states, alive or dead. Every cell interacts with its eight neighbours, which are the cells that are horizontally, vertically, or diagonally adjacent. At each step in time, the following transitions occur:

  1. Any live cell with fewer than two live neighbours dies, as if caused by under-population.
  2. Any live cell with two or three live neighbours lives on to the next generation.
  3. Any live cell with more than three live neighbours dies, as if by overcrowding.
  4. Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.

The initial pattern constitutes the seed of the system. The first generation is created by applying the above rules simultaneously to every cell in the seed—births and deaths occur simultaneously, and the discrete moment at which this happens is sometimes called a tick (in other words, each generation is a pure function of the preceding one). The rules continue to be applied repeatedly to create further generations.

 

You can download the source code here: [LINK]. He tested it on a physical and emulated EV3 as well as an emulated NXT. It will work with ROBOTC 4.26 and up, which you can download here: [LINK].
 

Written by Cara Friez

October 10th, 2014 at 6:45 am

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!

2014 REC Foundation and Robomatter Scholarship

without comments

REC Foundation Scholarship REC Foundation and Robomatter are pleased to partner to offer one (1) $5,000 non-renewable scholarship to one (1) high school junior or senior intent on pursuing a degree related to science, technology, engineering and mathematics in college. The award will be presented at the VEX Robotics Competition World Championship in April 2014, but the student does not need to be present to win.

Eligible students must have participated in the VEX Robotics Competition and submit a 500-word essay explaining how their participation in both the VEX Robotics Competition and the Carnegie Mellon Robotics Academy Sponsored Robot Virtual World Competition enabled them to develop a high competency and appreciation for programming. In addition, students must indicate how programing skills and use of ROBOTC enhanced their understanding of robotics or aided their participation in the VEX Robotics Competition.

Click this link to see the scholarship requirements: Robomatter Scholarship

Fill out this form and follow the instructions on it to apply: Robomatter Scholarship Application form

Entries must include:

  • Student’s name
  • School name
  • Specify grade level (i.e. Junior or Senior at time of application)
  • Team number
  • Document/statement from team mentor verifying student’s participation/role in the challenge
  • Student’s email, mailing address with city, and state

All entries must be submitted to scholarships@roboticseducation.org.

Deadline: February 15, 2014!!