These are our proposed rules for Petoi Challenge. You are welcome to suggest changes or improvements before it formally launches.
---------
Two months after we start shipping the Bittles, we will launch our "Petoi Challenge", a series of challenges that aims to build a more active, fun, and educational community.
The challenge will have several competition tasks to be announced on our forum. The prize will be a free Bittle or Nybble.
To participate and win, you need to:
1. Make any non-destructive modifications to our official Bittle robot that other users can easily reproduce, such as removing unnecessary body weight, adding counterweight, or rewriting the codes.
2. Take videos of your robot completing the task with proper measuring tools (such as a clock or ruler) in the scene.
3. Post your video with your instructions in this Challenge category of our forum to help others reproduce your result. The title should be the task plus your special identifier, such as your name. For example, "Bittle Climber - RzLi". The code should be posted on GitHub or other hosting websites.
4. Share your post on social media with tag #petoichallenge and @petoicamp to announce your entry.
5. Collect at least one comment from other members. The comment should include a video reproducing your motion sequence, but does not necessarily complete the task (we understand one cool video clip may take multiple trials and luck). If the video is not posted under your original post, you can cite them under your post.
The first challenge task will be:
# Bittle Climber
Bittle should start with all four feet on a flat surface and end up with all four feet on a step that is higher than the surface. You can program Bittle either walk or jump to the step. You can NOT touch Bittle during the transition. The minimal height of the step measures your performance. The time to complete the task will be a tiebreaker.
Judging and Rewarding:
1. Every two months, on the first day, we will summarize the entries on our forum and announce the new world's record-breaker, if any. All our forum members will witness your post and performance, so the judging process is transparent.
2. We prefer objective measurements to decide the winner. For tiers, the post with the most "likes" wins. If there's no record-breaker in the first two months, we will wait for another month, on and on.
3. The winner will receive a free Bittle or Nybble (or refund his/her previous purchase). The winner cannot win the same challenge in two successive rounds.
4. When we plan to end the competition, we will give at least one month of advanced notice.
5. You can participate with Nybble robot because it shares the same leg dimension of Bittle. You can even enter the contest with your own design of the robot. However, you can not win with customizations that give you an advantage over others. For example, you cannot win the climber task with a 2-meter-tall robot. Please email info@petoi.com first if you have any questions regarding your own robot's qualification.
6. We reserve the right to explain the rules if any conflicts happen.
Yes, you can send string commands through the serial port with a Python script.
Sounds interesting! Has this challenge started already, or is there any news on when it will start?
Very impressive progress! We will launch the challenge in a few months and you already secured your world record slot!
You can accelerate the speed of a "behavior" by reducing the second last number of each frame. You can even fine-tune the transition speed and pause between each frame to make it move more stable.
const char zero[] PROGMEM = { -20, 0, 0, 1, 0, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 49, -4, -29, -54, 64, 39, -16, -59, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 23, -3, -44, 90, 18, -33, -76, 8, 0, ..... 0, 0, 0, 0, 0, 0, 0, 0, 89, 38, -14, -90, 17, -27, 13, -12, 8, 0, };
You may already know it, just a note for everyone:
To make the tuning easier, you can define the zero skill as a Newbility so that you only need to upload OpenCat.ino without uploading WriteInstinct.ino. You may also use a master computer to send the frames to the robot through serial in real-time.
# Nybble Climber (# Bittle Climber Challenge)
Time from the floor on the book (height = 2.3 cm): 10s.
A few days ago I introduced an inverse kinematic (IK) model for Nybble (please see my post "Inverse Kinematic Model for Nybble" for further details). Based on the model and the alternative walking gait I added an obstacle as a rectangular function, so Nybble moves the limbs accordingly:
A little explanation how it works:
Below is the position of the paw over the time (frames). Blue is the longitudinal movement, orange the vertical movement of the arms and green of the legs.
The functions shown above are then shifted in phase according to the pattern shown below. The pattern is the same as for the walking gait, which results in an acceptable stability.
# Climbing pattern 1 == swing # [0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1], # Left Leg # [0,0,0,0,0, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0], # Right Leg # [0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1, 0,0,0,0,0], # Left Arm # [1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0], # Right Arm
The gait/behavior can be reproduced with the python code in the attachment, where the IK-Model is also implemented.
I implemented the movement as a behavior, which is also a reason why it is relatively slow in comparison to "gaits".
const char zero[] PROGMEM = { -20, 0, 0, 1, 0, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 49, -4, -29, -54, 64, 39, -16, -59, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 23, -3, -44, 90, 18, -33, -76, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 45, 10, -58, -29, 16, -42, -31, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, 54, 10, -49, 20, 33, -41, -18, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, 49, -28, -29, 20, 64, -17, -16, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 40, -54, -3, -8, 89, -59, -33, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 73, -44, 10, -27, -30, -76, -42, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, -12, -58, 10, -29, 12, -31, -38, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, -12, -49, -47, -13, 12, -18, 30, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 7, -29, -90, 10, -8, -16, -12, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 38, -3, -90, 17, -27, -33, -12, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 73, 10, -90, -29, -30, -42, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, 89, 10, -79, 20, -13, -38, 27, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, 89, -47, -47, 20, 10, 30, 30, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 89, -90, -14, -8, 17, -12, 13, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 73, -90, 8, -27, -30, -12, -8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, -12, -90, 10, -29, 12, 7, -10, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, -12, -79, -47, -13, 12, 27, 30, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 7, -47, -90, 10, -8, 30, -12, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 38, -14, -90, 17, -27, 13, -12, 8, 0, };
ok, so we all know about the first challenge (climbing). I think, the 2nd challenge is going to be a dance-battle 😉
does customizing parts and 3D-printing them count as "non-destructive modifications to our official Bittle robot that other users can easily reproduce" as long as the used stl files are published?
I mean, there are 3D-Printers cheaper than the Early Bird Bittle Kit 😉
#TeamOrangeAIDE
My interest, has been peaked. My ears as well! Rebirth of Leonard Nimoy, as an Artificial puppy?