Archive for the ‘Cool projects’ Category
CH Chen created a cool project and shared it with us! This LEGO EV3 Sorter machine is able to detect the color of Lego Technic beams and then add it to the appropriate slot of the three colors.
Do you have a cool project you’d like to share? If so, send us an email at firstname.lastname@example.org.
We LOVE getting Twitter posts sent to us about ROBOTC. In the last few months, you have shared even more great posts and pictures with us. We decided to make a THIRD compilation of some of our favorites so you can check out some of the cool projects going on …
— STREAM Zone EDU (@StreamzoneEDU) June 17, 2015
— HerefordRobotics_929 (@hzr929) June 17, 2015
— Paul McKnight (@Chewmacca1) June 11, 2015
— Dr. Jim Barger (@drjbarger) June 9, 2015
Grant Robotics is learning new RobotC Programming concepts during Robotics Summer Camp! pic.twitter.com/3d5O5Cr003
— GMS Robotics (@GMS_RAMTEC) June 8, 2015
— Shane Koranda (@skoranda) June 4, 2015
— Ringo Dingrando (@ringodin) June 1, 2015
— Xander Soldaat (@XanderSoldaat) May 30, 2015
— Bill Barnum (@Bill_Barnum) May 29, 2015
— Ringo Dingrando (@ringodin) May 29, 2015
— Anna Lynn Martino (@annalynnmartino) May 20, 2015
— R Hartley (@MrRHartley) May 14, 2015
— Steve Taylor (@MCA_DandT) May 2, 2015
— R Hartley (@MrRHartley) April 7, 2015
— HerefordRobotics_929 (@hzr929) March 27, 2015
When teaching functions in RobotC, student says: “Whoa, cool!” A little different than when I teach functions in math class! #ROBOTC
— Danielle Maletta (@pimathnerd) March 21, 2015
— Droids Robotics (@droidsrobotics) March 19, 2015
— William Turckson (@WTurckson) March 18, 2015
— R Hartley (@MrRHartley) March 16, 2015
— Robot Bilim (@RobotBilim) March 15, 2015
— Scott Nichols (@C_Scott_Nichols) March 14, 2015
— Scott Nichols (@C_Scott_Nichols) March 14, 2015
— Dr. Jim Barger (@drjbarger) March 11, 2015
— Chris Calver (@Chris_Calver) March 10, 2015
— Chris Calver (@Chris_Calver) March 5, 2015
— Ringo Dingrando (@ringodin) March 4, 2015
— William Turckson (@WTurckson) March 3, 2015
Hey @ROBOTC, our bots just switched to your software! Thanks for all the work you do to keep things running smoothly.
— Niles North Robotics (@NN_Robotics333) February 27, 2015
Do you have a ROBOTC picture/video/post you would like to share with us on Twitter? If so, include #ROBOTC or @ROBOTC in your message.
The end of the school year is here and to celebrate, we’d love to showcase some of the ROBOTC projects and code you’ve been working on all year long! If you have a cool project (like these!) send us an email at email@example.com with a description and your code, pictures, and/or videos. We’ll share it on our blog in an upcoming post!
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!
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.
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.
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:
Xander 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:
- Any live cell with fewer than two live neighbours dies, as if caused by under-population.
- Any live cell with two or three live neighbours lives on to the next generation.
- Any live cell with more than three live neighbours dies, as if by overcrowding.
- 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.
Xander over at BotBench shared a really cool video a couple weeks ago when he attached a GoPro to his VEX IQ that was programmed in ROBOTC. He didn’t get any pictures of the robot with the camera on it, but you can see where it was held by the rubber bands on the end of the boom in the pictures below. The angle of the boom was also remote controllable.
And check out the video here …
Read more about this cool project and other things going on over at BotBench, here!
ROBOTC user, Sigtrygg (forum name), recently shared a project on the ROBOTC forums that they have been working on called the NXT Room Explorer Bot with Mapping Functions. Check out the YouTube video of the robot in action …
Sigtrygg description and breakdown of the bot …
The robot is based upon a standard REM-Bot but in addition equipped with a HiTechnic gyro, HiTechnic compass sensor and an omni-wheel. First the robot moves about 360° to calibrate the compass using the gyro (thank you to Xander Soldaat for code!). Then the robot moves its sonar-head to the right, to the left and in front position to get the distances according to its position. After doing this it turns around to the wall with the minimum distance and drives in front of it until sonar sensor detected a minimum sensor distance, e.g. 20cm. Then the robot turns parallel to the wall, moves his sonar-head to the right detecting the distance to the wall and drives counter clockwise parallel to the wall balancing distance. A mapping-task records the compass and odometry data every second and calculate the polar coordinates to cartesian coordinates (x,y). The coordinates are written as “map.txt”-file. So you can use Excel or an other program to draw the path which the robot had moved. In addition to that you can follow the path at the NXT-LCD-screen. I had to choose a scale for it, so you have to suit the scale to your room size. If the robots touch sensor has detected an obstacle the robot moves back and turn left for 90 degrees and continuous his explorer-duty always running counter clockwise with wall to the right. How to expect the end of path doesn’t suit exactly to the beginning because of inaccuracies of compass and odometry measures.
To read more about this project, check out the ROBOTC Forum post here!
Each module was created independently with common inlet/outlet bays so that they could be reconfigured in any order. They even include some of the new multicolored VEX IQ parts, coming summer 2014!
Do you have a cool project? If so, email us at firstname.lastname@example.org.
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].