Following on from the Robocup Junior Western Australian State Competition 2020 article I wanted to share with you some videos of the robots I have been working on.
As an adult I cannot compete in the Robocup Junior competition, but there is nothing stopping me enjoying working/playing with Lego Mindstorms robots and coding something that has a presence in the physical world. As a mentor, knowing how to build and program robots to complete the challenges helps me to provide better advice and suggestions to the students. Also, as a judge at the competition, knowing what elements of a course are easy and what elements are hard helps me to design appropriate courses for each division of the challenge.
Below is a video of my tracked Open Rescue robot which was my favourite robot from 2019:
TrackBot4: Robocup Junior Open Rescue Robot (Direct Link)
For 2020, when it was thought there could be no in-person competitions held we started working with Virtual Robotics Toolkit (VRT) to see if we could hold an event using simulation software. I built a new robot which could be used in the simulation. This robot could only use Lego components and could not use 3rd party sensors or multiplexers (like the tracked robot). I also built the robot so that it could be configured without a claw (for Primary), with a simple claw (for Secondary) and with a full lifting claw (for Open). This robot was modelled using Lego Digital Designer, so it could be imported into VRT.
Below is a video of my wheeled “Simulation Ready” Robot in its Open Rescue configuration (my new favourite for 2020):
SimulBot3: Robocup Junior Open Rescue Robot (Direct Link)
After this year’s delayed competition, the WA Robocup Committee was provided with a Lego Education Spike Prime set (along with an extra colour sensor) by Modern Teaching Aids to trial. I was lucky to be allowed to use this set to see how viable the Spike Prime system is for the Robocup Junior competition and in particular the Rescue Line challenge.
Here are some initial thoughts:
- The Spike Prime colour sensor is much better than the EV3 colour sensor as it can see a range of colours and not just “Lego” colours. It is also able to provide brightness, colour and raw RGB values without needing to change modes or use 3rd party blocks. [Edit] Enable the More Sensors Block extension to be able to read raw RGB values, the raw value can be used to detect silver (red > 250) as the normal reflected light reading is returning around 100% for white.
- The Spike Prime touch sensor can also act as a force sensor which is very cool, but I didn’t need that for Robocup.
- The Spike Prime ultrasonic sensor is accurate and handles the close range accuracy issues of the EV3 and NXT sensors much better by setting a minimum of 4cm.
- The Spike Prime motors are reasonably powerful and very accurate. They can also provide relative and absolute rotation data.
- The Spike Prime components have been designed to be compact and easy to build with, which means the robot I was able to build was very small and did not need many extra pieces to build it.
- The Spike Prime Hub/Controller is compact and easy to incorporate. It uses a rechargeable battery with a Micro USB port (surprised it was not USB-C). It has six ports which can be either sensors or motors so you don’t need to worry about which ports you use. However, it does have the smarts to know that a motor plugged into the left side should move in the opposite direction to a motor plugged into the right side. It would have been great to have a couple more ports as I often build robots with more than 6 sensors/motors connected. There is no LCD screen, but there is a 5 x 5 grid of LEDs (each with 10 levels of brightness). It is possible to use this grid array to display data and words, but it cannot show the same level of information that the EV3 screen can.
- The ability to play audio files is only supported when running on a PC rather than autonomously on the Hub.
- A final note, I am currently having some out of memory limitations with programs on the Spike Prime Hub and am discussing with Lego support. [Edit] The Memory issue looks like it is fixed after the version 1.3.4 update.
Thanks to Modern Teaching Aids for the kit.
Below is my Spike Prime robot in its Primary Rescue configuration:
SpikeBot1a: Robocup Junior Primary Rescue Robot (Direct Link)
To make the robot work for Secondary Rescue, a claw motor was added. As we only have six ports, it was necessary to disconnect the touch sensor and rely on the ultrasonic sensor for obstacle detection.
Below is my Spike Prime robot in its Secondary Rescue configuration, note the claw motor using absolute positioning to reset the claw at the start:
SpikeBot1b: Robocup Junior Secondary Rescue Robot (Direct Link)
Hopefully, you have enjoyed watching the fruits of my labour with these robots and it will inspire you to work on your own robots.
15-Mar-2021: Update about memory issues after updating to Spike Prime version 1.3.4. and a note on how to detect silver.
This article was originally posted on http://www.winthropdc.com/blog.