By Jimmy Alexander Eco Disaster is probably one of the most mind-boggling challenges of PiWars yet (not counting the maze but that’s just my personal hatred of mazes). I have started working on the code for that challenge and was able to quickly get the robot to travel to the correct zones. That was no issue at all after the headache of last years nebula challenge. The next step was to find barrels. That shouldn’t be an issue I thought. WRONG. Even though it could find the barrel just fine using the pixy2 (and even when there were no zones behind the barrels), when the robot was in the course with the zones it acted like the barrel wasn’t there. Turns out it was just a minor issue in the code shown below. Not valid Bonus points for anyone who can comment what the issue was. After a quick fix we were back at a point where we could start continuing with our programming when we ran out of time for the day. Hopefully we can give an update tomorrow with a robot bringing barrels to zones. if count > 0 and blocks[0].m_signature ==cur_sig: print 'frame %3d:' % (frame) frame = frame + 1 for index in range (0, 1): print '[BLOCK: SIG=%d X=%3d Y=%3d WIDTH=%3d HEIGHT=%3d]' % (blocks[0].m_signature,blocks[index].m_x,blocks[index].m_y, blocks[index].m_width, blocks[index].m_height) #PerformSpin(12) Figure 1 Practicing for the driving portion of the competition just in case automation doesnt work
By Jimmy Alexander Introduction and Background: PiWars is an annual international robotics competition located in Cambridge, England taking place on March 29th, 2020. CNM Hackerspace is a college organization at Central New Mexico Community College (CNM) ran by students with limited funding. This is CNM Hackerspace’s fourth year competing in PiWars. Each year the biggest problem CNM’s robotics team faces is the maze in any form. In the 2020 competition the maze has been the biggest struggle pushing the team back points wise. CNM Hackerspace must come up with a solution that maximizes the points earned while working within the limitations of the team. Criteria: As CNM Hackerspace is ran by students, its funding is limited to what can be raised by fundraising efforts. In addition, the team is filled with students that have limited time and energy to solve the problems and challenges that may come in a robotics competition. The solution to the escape route maze must be able to gain points while staying within both monetary and time limitations.
Fully Autonomous:
Going the fully autonomous route would allow the robot to gain the most amount of points. Just competing in this method would reward the robot with 350 points. The biggest problem with autonomous robots is the fact that autonomy is very unreliable. As it is unreliable, there is a large chance that not all runs will be successfully completed. There are also larger costs involved as purchases of sensors and control boards would be required. Sensors would also require the robot to run at a slower speed in order to process the input in time to solve the maze. Blind Remote-Control: Going with the blind remote-control method of solving the maze would require a camera, a remote control, and lots of practice. The team has already used a camera and remote-control in previous challenges so that expense has already been accounted for. Going this route would result in 250 base points and be more reliable then the autonomous method of control. Call and Response: The third and final possible method would be the call and response method. This is the least reliable as moving the robot without looking at the robot would cause it to be hard to tell how far the robot has moved. This method also gives the least amount of points at 150. Recommendation and Conclusion: Based on the accuracy of sensors and unreliability of code, I believe the best method to use would be the blind remote-control method. It is much more likely for the maze to mess up with autonomous then with a camera and a person guiding the robot. Since it is unlikely a remote controlled version of the robot will mess up, it would receive more points then even one failure of autonomous code. ReferencesHorne, M., & Richardson, T. (2020). Escape Route. Retrieved from piwars: https://piwars.org/2020-competition/challenges/escape-route/ By Daniel Brown This year one of our biggest concerns was maintaining constant power for our robot. In the past we have used rechargeable AA batteries that on several occasions lost too much juice to maintain the robot for the duration of a challenge or would bounce around in the chassis and randomly disconnect during a Pi-Noon battle... So a big part of our early testing this year was in changing out the power plant for Hal 4k. After testing our prototype 18650 battery setup, we ordered more battery trays and new batteries. We now have 4 ready to go battery trays, and 2 spares! We also have a total of 12 18650 batteries now. If Pi-Wars 2020 goes as planned (I’ve been told Pi-Wars NEVER goes as planned), we should not even need to swap out a battery pack, let alone either of the spares we plan to have with us… Compared to last year, this is a major improvement considering the team almost lost power mid challenge in 2019 and had to recharge mid challenge multiple times. In the process of finalizing our battery setup, I learned how to solder (big thanks to Rob Garner, one of the programming instructors on campus here at CNM and a mentor here in HackerSpace for soldering lessons!). Below are some photos of our battery setup mid-completion. They still need shrink wrap and the wiring will need to be measured, trimmed, and cleaned up. This time next week, we should have enough powaah to jump start other teams robots if need be. ;)
By Kerry Bruce Funding an adventure like this is expensive! For PiWars this year we are bringing 7 CNM Students and me (CNM Faculty) from Albuquerque, New Mexico USA to Cambridge, UK.
We would like to thank our many sponsors this past year, PiBorg, CDC Enterprises, LightHouse and the CNM Executive Council of Students (ECOS). Additionally we conducted fundraising activities throughout the year with Groupraise https://www.groupraise.com/, Goodwill of NM https://www.goodwillnm.org/, Kelly's Jo Design by Wine https://www.kellyjodesignsbywine.co/, Mister Car Wash https://mistercarwash.com/, Custom Ink https://www.customink.com/, Chello Grill https://chellogrill.com/, California Pastrami http://www.capastrami.com/, and California Pizza Kitchen https://www.cpk.com/. Additionally students going on this trip contributed approximately $700 each to help offset the costs. And... Because of the generous donation (equal to all other sources combined) by the CNM Executive Council of Students we have successfully raised all the necessary funds to send the team to Cambridge, UK to compete in #Piwars 2020 on March 28-29, 2020. All combined we raised approximately $12,000 for this trip. OUR SINCERE THANKS TO ECOS AND ALL WHO DONATED TO THIS EFFORT!!! By Eve Robles
Code After adding a while loop LEDs light up forward and backward By Jimmy Alexander About Hal4k
Hey Everyone. I hope you all are having good luck on al of your robots. This is just a short little thing this time with a list of all the hardware and software and brain power we are using. Nothing F=fancy this time. Hardware
Software
Team -We all help with everything but everyone is in charge of something
BATTERY TESTING & UPGRADES!By Daniel Brown After joining CNM Hackerspace to work on the Hal 4K for Pi-Wars I was disappointed in two things about the Hal 3000: it didn’t handle very well (like an RC car would) and the battery life was miserable. After testing the motors at 100% capacity, the battery life was about 11 minutes. The handling was poor due to a high center of gravity, and a majority of the weight being biased towards the front of the body (and above the front wheels). Based on my experience in building RC cars and powering high powered flashlights, I immediately knew that I could be of help in the development of Hal 4K for Pi-Wars 2020.
Hal 3000 wasn’t an easy bot to control, mainly because the Raspberry Pi 3B was mounted high in the body, and the battery pack was above the front wheels. This biased the weight towards the front, making the rear of the robot very light and therefore hard to control, especially at speed. Just as with a real car, the lower the center of gravity and the closer to a 50/50 front/rear weight bias, the better handling the vehicle will be. With Hal 4K we have mounted the batteries centrally and much lower inside the body. The Raspberry Pi 4 1GB (also a new upgrade for 2020!) is also mounted above the batteries, in a somewhat central location - in an attempt to achieve a nearly perfect 50/50 front/rear weight bias and much lower center of gravity than I discovered that the 2019 CNM Hackerspace Pi-Wars team utilized rechargeable Ni-Mh (Nickel-Metal Hydride) AA batteries for power. These were used in a configuration of 8 AA batteries, providing 1.2V and 2000mAh per battery. These batteries were also worn down, after being recharged well over 250 times! After a few minutes of research on alternative power sources, as a team we decided to go with 18650 lithium-ion rechargeable batteries because they pack such a heavy punch in a rather little package. Each 18650 battery provides us with 3.7V (up from 1.2V), 3000mAh (up from 2000mAh), and 35 amps of power. In terms of available power and battery life, this a HUGE upgrade. While this was not a cheap upgrade, we believe this was money well spent. After testing with our new battery setup, we can run the Raspberry Pi 4 and the motors on Hal 4K at 100% for well over an hour with no noticeable drop in voltage and/or robot performance. This also allows us to expand and experiment in the future using new sensors that previously would have affected performance or battery life further. After we decided on batteries, we had to develop some sort of quick disconnect system to allow us to swap out battery packs on the fly. Instead of incorporating an on/off switch to a hardwired battery pack (swap individual batteries instead of a pack), we wired an inline quick dis-connector, similar to an RC car battery pack. Not only does this allow us to swap battery packs out on the fly in under a minute, this also acts as the on/off switch for the robot. Being my first year participating in Hackerspace and Pi-Wars, I’ve realized that there is a place for everyone on a robotics team (and in robotics in general!) and wish I would’ve done this years ago. I don’t know much about computers, coding, and robots, but I still found a spot on the team and was able to help out. With a few people that can code, one or two that know 3D design, my knowledge in power and RC cars…. Together we can come together and create something bigger than any one of us is capable of alone. By Jimmy Alexander One of my favorite things about PiWars is the autonomous challenges. For this reason, my focus for this competition has been programming those challenges. My first major programming task I have been working on has been to try and solve mindsweeper… I mean minesweeper I don’t know why I keep doing this.
Our solution for minesweeper (got it right this time) started off by taking code we used last year for the Nebula challenge and modifying it for a new challenge. We even used the red plate from the nebula challenge to get started while we wait for a replica of the course to be made (cough, cough). The first thing that we did was put the red plate on the ground and run last years code as written. It worked the first try. Did you believe me? If you did then you probably have never coded before. On that first test the Hal decided that even though he had top performing code from last year that suddenly he was afraid of red. He ran away from the plate instead of going towards it. The redness must have reminded him of redrum or something. After some “quick” debugging, we realized that Hal’s brain had a little bit of a wiring issue. Or maybe us programmers wired him wrong. NOPE. Its definitely the robots fault and not user error. A few fixes later and last years code worked properly. After that fun little challenge we were back to where we were last year. So how do take Nebula code and modify it for mindsweeper (😊)? As it turns out it’s not as difficult as you would think. Once you finally get to a point where you can code. Which when your new battery system fry’s both your raspberry pi and your motor controller is not as fast as you would like. So after a quick upgrade to a raspberry pi 4 and re-installation of all the software, we actually were able to get a robot that drives to a red plate and stops extremely quick. While we wait for a closer replica of the course to be built, we currently have implemented a debugging section of the code that when Hal lands on the red plate he stops and waits for us to tell him that we moved the plate before he continues. If we don’t have that enabled he will wait a few seconds and then head to the next mine. He is super excited to show off his skills in Cambridge so he told me to tell you to say hi if you see him at the competition. By Joey Ferreri Say hello to the Neurobot (or at least what will be the neurobot). This is the second robot for CNM Hackerspace in our PiWars endeavors. The entire chassis and arm are comprised of exclusively 3D printed pieces, and of course, servos, batteries, sensors, and Raspberry Pis sold separately. The original design was created by Nick Grigoriev on Thingiverse, where we printed the parts from, and included no form of assembly instructions, so I have been going purely off the listing photos and eventually got it to a point to where it looked the same. However, it exceeded the robot size limits in the PiWars rules. Since discovering this, we have modified it by rearranging the main base plates and we now have a slimmer, regulation compliant model of the Neurobot. The original design, which is actually the 3rd iteration of the robot, does not include the arm, as seen in the picture above, but rather, it was taken Nick’s 1st version robot, which is many times larger. Fortunately, however, the arm was not too big to be mounted on to this custom design, albeit with a few more modifications than would be without the arm. Speaking of modifications, the entire front of the robot in the original spec was prone to wiggle back and forth. The cross beams were added to prevent that wiggle. That is just one example of the many modifications needed to fit this robot into a competitively sized package. The robot uses a Sparkfun Redboard controller in conjunction with the Pi, to which all the servos are connected to.
Personally, this is my first dive into robotics and building a robot, so I’m not going into this with a lot of knowledge or skills related to this. It has certainly been interesting, to say the least. I have had no experience with Raspberry Pis or anything surrounding them, and especially not with using them as robot controllers. Since I began my journey, I have learned many new skills, including, but not limited to soldering and use of multiple power tools in addition learning how competitive robots are built and programmed (theoretically and physically) b. Being able to go to England has certainly been a motivation to make this robot functional and competitive. I’m quite glad to have joined in with the PiWars team this year and get such a hands-on experience, especially with this being my first year. Each year we share our story of traveling to England to compete in a robotics competition called PiWars... we share our triumphs, and defeats...and CNM CIS students show up wanting to know more, wanting to travel, wanting to learn about robotics and programming. This year the initial group was greater than 20. That number has dwindled because of school/work schedules, time commitments, cost, etc. to the current 10 students. Everybody involved is enthusiastic and ready to learn as much as they can to help the team. This year we only have 3 returning students from last years team with only 2 of those planning to make the trip to Cambridge next March. There are 7 new students with varying degrees of understanding of robotics and python programming...mostly newbies... So, we decided to bring out the Dexter GoPiGos to get them initiated into the world of robotics. this slide show was our installation and testing night. We downloaded the DexterOS image from the website listed below the slideshow and burned the image to the MicroSD cards using Belena Etcher (website listed in the notes below). Once we had the images burned we tested each robot for a successful boot of the OS before repacking the robots into their containers and heading home to work on our coursework... We shall test connectivity and operations next time. In the background you can catch a glimpse of HAL3000, our PiWars 2019 robot that came in 2nd in the Intermediates category after brilliant runs on the Straightish Line Speed Test and the Hubble Telescope Challenge. For this project we are using 10 Dexter GoPiGo 2's and the GoBoxEd Club Kit with a ton of cool sensors to learn. Webpage for DexterOS Download www.dexterindustries.com/dexteros/get-dexteros-operating-system-for-raspberry-pi-robotics/ Webpage for Balena Etcher Download www.balena.io/etcher/ |
Photo by Rock'n Roll Monkey on Unsplash
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
March 2020
Categories |