Engineering Program Director at Catlin Gabel School.David Gilday's Mindcuber Rubiks solver - posted in LEGO Technic, Mindstorms & Model Team. LEGO Mindstorms Projects. I am a big Python fan and would much rather program crazy lego robots in it than I would the graphical. MindCuber EV3 in Python. Mind. Cuber: A Mindstorms- Only Rubik's Cube Solver. As Lego- based cube solvers proliferate, they tend to use PCs or cell phones to do the actual solving of the puzzle, with Lego motors and sensors for the rest. David Gilday’s Mind. Cuber uses only those elements found in a Mindstorms set, and with a sub- 2- minute average solve time, still packs impressive results. Rebrickable - Review - Mindstorms EV3. Rather than pick another of the community supplied robots that come with the EV3 software, I wanted to build a Rubik's Cube solving robot. It just so happens there is a fantastic project already available that creates one from just the 3. EV3 parts - the Mind. Cub. 3r created by David Gilday. Awesome : ). Mind. MindCuber for LEGO MINDSTORMS NXT Introduction. The MindCuber family is a group of robots. Click here for MindCuber for NXT program source code. Lego Mindstorms EV3, NXT. 82 Responses to Solve a Rubik’s Cube with just one EV3 set. The LEGO MINDSTORMS NXT 2. I have found that after you download the mindcuber program you have. Mindcuber.com MindCuber Program Source Code - MindCuber for EV3 and. Share experiences building MindCuber, your own LEGO MINDSTORMS EV3 or NXT robot to solve a Rubiks. I'm thrilled that LEGO MINDSTORMS is mentioned on at least. Projects for the LEGO MINDSTORMS NXT 2.0 at nxtprograms.com. Learn to build and program NXT 2.0: LEGO MINDSTORMS NXT 2.0 by. Video MindCuber NXT 2.0 VS EV3 ***** There is a new version with the same scramble on both cubes ***** http:// Old and new Lego Mindstorms. Cub. 3r. Over at mindcuber. Rubik's Cube solving robot for either the NXT 2. EV3 LEGO sets. The Mind. Cub. 3r for EV3 can solve it in about 1. It achieves this with multiple EV3 sets, who knows how many sensors, and runs software on an Android phone. The software consists of four components. EV3 Enhanced Firmware V1. MThis is a modification of the standard LEGO firmware that works better with the Color Sensor in the way it's being used for this robot, and allows it run the background solver process. Update - The software now works with the standard 1. H firmware version, but needs an additional . This custom block can be imported and is used by the main Mindstorms Program. MC3. Solver Executable. This is a compiled C++ program that performs the Rubik's Cube solving algorithm. It communicates with the Mindstorms Program to tell it what physical moves are required - via command and data files. Mindstorms Program. This is a standard Mindstorms project you can open and edit just like any of the standard robots that came with the set. It controls the operation of the motors and sensors, using input from the MC3. Solver executable to tell it what to do. The first three components might be new to some Mindstorms users. However, the Mind. Cub. 3r website has very clear instructions on how to install and run everything. There is also a new Brick App program to load as detailed on the Mind. Cub. 3r website. Before starting, I was on the 1. H firmware version. Unfortunately, this version has a problem with the way the Color Sensor runs in RGB mode which is why a special version was built - 1. M. This was possible as LEGO released the source code of the brick. While they look great, there were a few quirks that made it hard to follow sometimes. The bottom framework structure was quite weak and put together in a strange order at first. Eventually it was built up enough to be quite strong and stable. Basically, it ended up with several mistakes in the build that caused the robot to malfunction. More details on this later. The four sideways mounted tyres are necessary for keeping the model in one place. While it's operating it can be flung back and forth quite a bit, so the rubber really helps. The motor rotates one way to start the flip, then rotates back to it's starting position to complete the flip. No extra movements are required to reset the arm ready for the next flip - all part of making it solve the cube in a pretty fast time. So when it's rotated, needs to go a bit more than 9. This is a bit of a wasteful movement, but is necessary since the cube needs the gap to flip properly. I wonder if there is a way to avoid this and have it positioned to get both types clearly. That would make scanning much faster, although I presume the designer tried to figure that out. I certainly didn't get it working first time, so here are the steps I went through. Turns out there were a couple of wires inserted into the wrong ports. Oops. Second attempt - it recognised the cube properly, but the scanning arm fell way short of the cube. Eventually found that on page 9. Third attempt - it was properly scanning and rotating, but wasn't performing any flips. On page 8. 0 when connecting the flipper arm, there was a backwards connector. Fourth attempt - sort of working, but wasn't always flipping correctly which made it keep scanning over and over. Eventually I took a bunch of parts off and put them together again, not sure if anything was wrong or I just strengthened it. Worked! If you set it manually make sure it is rotated fully towards the cube, not away from it - so that it is aiming up at a high angle instead of flat. Check out the end of the video clip below for one example. Of that, approximately 3. I asked for the source code to it, but there are no current plans to release it. It uses a home- grown method that turns out to be very fast and efficient, especially considering the fairly low amount of memory available (~3. MB of RAM). It solved most of my cubes in ~2. In timed tests, I never managed to beat Mind. Cub. 3r though : ). Software. Opening up the Mindstorms Project reveals a fairly simple looking program - at first. The entire program consists of many custom blocks, in fact it is written in a highly modular fashion. This makes it quite easy to understand and the code neat and intuitive. I'm not sure what the differences are as there doesn't seem to be a public change log. What is annoying is that you always need to download the entire 6. MB installer, instead of a simple patch. The top row is simply initialising the program, and the second row is a loop that solves the cube over and over again. In fact, the entire scanning and solving code lies behind the single block with the image of a brain and cogs called Scan. And. Solve. The first custom block is the Scan. Cube program. Scan. Cube. You can see that the Scan. Cube program simply calls other programs six times to scan each cube face. Inside those programs there are yet more calls to custom programs to scan the different types of edge/corner cubes. This triggers the MC3. Solver program which has been running constantly in the background to calculate the moves to solve the cube. When it's figured that out a few seconds later, it writes the moves back to the mc. The Solve program then reads from the file and stores the move commands in the arrays (mv. How it does this is probably the most confusing part of the program - with lots of nested Switch Blocks. One thing I don't like about the Mindstorms Software is that it will only show you one branch at a time - either the true or false branch must be selected for display/editing. This makes it particularly torturous to understand the nested Switch logic. Eventually each move comprises of a Spin and/or Tilt then a Turn. I've always been fascinated with the Rubik's Cube puzzle since I was a kid. Being able to create a robot to solve the puzzle was a lot of fun. It is obvious that a lot of time and skill has gone into creating this Mind. Cub. 3r project. By reading its code and truly understanding what it's doing, you can learn a lot of great techniques for programming your own robots.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
January 2017
Categories |