top of page
Forum Posts
Rongzhong Li
Sep 18, 2024
In Software
We are planning an update on the mobile app's gait panel to improve the operation efficiency.
The existing design:
It requires two operations to change to a specific gait and switch eyesight between the mobile app and the robot. The app combines the gait and direction and sends the command, which delays the robot's control of the target destination.
The update we are proposing:
This design will make it easier for the robot to use different gaits and control the direction without requiring one to look at the phone app.
Please let me know if you have any suggestions or comments before we make it final.
Here's a poll on YouTube:
https://www.youtube.com/post/Ugkx5yx8FoslO2u-JV8_3WSIfjnN96Oa5ZCR
1
5
74
Rongzhong Li
May 21, 2024
In Showcase
We received some incredible entries showcasing the creativity and talent of our Petoi community. Thank you to everyone who participated!
We're thrilled to announce the winners:
Please see this post for all winner video showcases and their stories.
Get these robotics coding resources to practice coding your Petoi robots and get ready our next contest!
3
1
78
Rongzhong Li
Apr 30, 2024
In Showcase
Witness the future of robotics on ice! Watch our adorable Petoi Bittle robot dogs steal the show at the Robots on Ice 2024 event in San Francisco, California, US.
The fourth Robots on Ice event, hosted by The Silicon Valley Ice Skating Association (SVISA), brought together robotics enthusiasts, robotics club students, ice skating performances, and a mesmerizing tech-fashion show! At the event, we showcased our beloved Petoi Bittle & Bittle X robot dogs, and they stole the show!
Robots on Ice Steal the Show 2024 | Featuring Petoi Robot Dog Bittle & Bittle X | PetoiCamp
Users of all ages got to control and play with these adorable Petoi robotics companions themselves on ice with Petoi Mobile App alongside other robots like Boston Dynamics Spot Mini, cars, balls, and trackers.
Unlike other bigger robots such as Boston Dynamics Spot Mini, which are typically controlled by dedicated operators and not available to the audience for hands-on experiences, our small but mighty robot dog Bittle & Bittle X offers a unique interactive experience. It's an immersive and engaging experience that sets us apart in the robotics world.
The event also facilitated discussions on engaging kids with robotics coding & STEM from an early age, through school robotics projects, robotics summer camps and more. Robotics enthusiasts exchanged ideas on fostering interest in this cutting-edge field among the next generation. Petoi's display highlighted the entertainment potential of accessible, user-friendly robotics that inspire wonder and creativity.
Lastly, let's rewind to 2023:
Petoi Bittle Robot Dogs: Surviving Ice - Robots on ICE 2023 Recap | PetoiCamp
We hope to see you and your Petoi robots on ice at the event next year!
3
1
40
Rongzhong Li
Apr 26, 2024
In Education & Curriculum
Due to the needs of many users, we are extending the software support to Chromebooks. As you may know, Chromebooks use a different system configuration from Windows or Mac, and its Linux environment is incomplete.
This brings many difficulties in setting up the Arduino IDE and keeping the libraries current.
If you have a Chromebook, you may test this chapter to set up the Arduino IDE. We have limited Chromebook models, and the network condition is fixed. So, we'd like to know if the current tutorial can work on various models and conditions.
Please let us know if you have any problems. Some pictures or videos would be most helpful!
2
0
45
Rongzhong Li
Apr 17, 2024
In Challenge
Unleash the potential of your Bittle/Nybble! Whether it's frolicking with a furry friend, strolling through the park, serenading with a tune, or mastering a new trick through coding, it's time to show off your robot's skills. Capture the magic in a video and join the contest for exciting prizes!
The submission deadline is May 5. Find out more on the detail page.
2
1
95
Rongzhong Li
Dec 10, 2022
In Challenge
Though we have too few participants in the previous challenges, I still want to keep exploring what Bittle can achieve by our users. Below is a new behavior to make Bittle walk over a wide gap. The distance between Bittle's shoulder joints is 105mm. The gap is 58mm. The skill is created with the Skill Composer you can design complex motion planning with sliders and buttons. A newer skill is developed to make the movement much smoother. The gap is now 85mm. The skill can be downloaded from the SkillLibrary. The text file can be imported directly into the Skill composer and then exported to the robot for validation. You can use the serial token 'T' to call the latest uploaded skill. No Arduino programming will be involved. You may try to increase the distance or reduce the time spent. * Due to the limited memory size on NyBoard, the skill is only valid on ESP32 quadruped robot controller BiBoard with a larger memory size. You may skip some of the frames (make the frame <= 23) to reduce the skill size. Reason: In the NyBoard version of OpenCat.h, the memory reserved to store a skill is defined as: int8_t *dataBuffer = new int8_t[467]; A behavior has a 7-byte header followed by many frames of 20 bytes. So 23 frames correspond to 23*20+7 = 467 bytes.
0
1
1k
Rongzhong Li
Sep 01, 2021
In Software
Hi, As our registered forum members, you are invited to beta test our Petoi App which will be released soon. You can download the beta version in the following ways: IOS: https://testflight.apple.com/join/1LPBG7Au Android: https://tn2lsjcal7.larksuite.com/drive/folder/fldusTM4vlgoeghH9Op4p1M97He If you are not sure which one to install, try the arm64 version first. We also highly recommend you upload the latest OpenCat firmware from https://github.com/petoicamp/opencat to the robot for the best compatibility. The main workflow is: 1. Connect Petoi robots (Bittle/Nybble) within the App when the Bluetooth dongle is connected. Pay attention to the Bluetooth dongle connection order. 2. If the Bluetooth is connected (its LED will light steady), but the robot doesn't respond, click the reset button on the NyBoard. 3. The default actions are preset skills saved on the robot. You can also define customized commands by pressing the + button. Long-press a custom command button to edit it. 4. Custom commands to try: * move head (format: move joint angle) m0 45 * move head left and right (format: move joint1 angle1 joint2 angle2 .... The angle is -127~128) m0 -70 0 70 * sit ksit * move joints one by one m 0 -70 0 70 8 -30 8 45 * MOVE joints simultaneously M 0 -45 8 -30 12 -60 * show current joint angles j * long meow once u0 1 * short meow three times u2 20 * play a short tone (format: beep tone duration, duration is 0~256) b12 100 * play a melody (format: beep tone1 duration1, tone2 duration2, tone3 duration3, .... only 64 characters are allowed) b14 90 14 90 21 90 21 90 23 90 23 90 21 180 A more detailed table can be found in the user manual: https://bittle.petoi.com/7-play-with-bittle We have gone through a few rounds of tests, and now we are primarily interested in phone compatibility and unexpected exceptions. Would you please test the App by your preference and report any reproducible issue/bug with your device's information? Suggestions on the UI and UX will also be considered in the next version. Your feedback will help us to improve the robustness of the App. Thanks for your participation!
3
14
387
Rongzhong Li
Jul 09, 2021
In Hardware
When I ordered the first batch of materials for the kit, I was unsure how many units would be sold. So we put small orders and were never successful in getting a manufacturer to make customized panels for our infrared remotes. Now we are preparing a new batch of inventory, and I think it's a chance to make the panel more stylish and intuitive. I was also inspired by Igor Dobec's post on the Template for Remote. So before I approach some designers, I made the precise measurements of the panel and want to share the design materials here. Maybe you can get some better ideas. It could become a fully customized plastic panel for future users or a sticker that can be printed to cover your old remote. Of course, there are many factors/constraints to consider: The symbols should be simple to print clearly in a small area It's better to be symbolic and irrelevant to a specific language The remote will be used for both Nybble and Bittle, so they should be generic for different skills. (see the code section below) The style of the symbols should be consistent Let's see what will come out of the community!💡 //abbreviation //gait/posture/function names
#define K00 "d" //rest and shutdown all servos
#define K01 "F" //forward
#define K02 "g" //turn off gyro feedback to boost speed
#define K10 "L" //left
#define K11 "balance" //neutral stand up posture for balancing
#define K12 "R" //right
#define K20 "p" //pause motion and shut off all servos
#define K21 "B" //backward
#define K22 "c" //calibration mode with IMU turned off
#define K30 "vt" //stepping
#define K31 "cr" //crawl
#define K32 "wk" //walk
#define K40 "tr" //trot
#ifdef NYBBLE
#define K41 "lu" //look up
#define K42 "buttUp" //butt up
#else //BITTLE
#define K41 "ck" //check around
#define K42 "pd" //play dead
#endif
#define K50 "hi" //greeting
#define K51 "pu" //push up
#define K52 "pee" //standng with three legs
#define K60 "str" //stretch
#define K61 "sit" //sit
#define K62 "zero" //zero position
3
1
167
Rongzhong Li
Sep 03, 2020
In Challenge
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.
9
18
4k
Rongzhong Li
May 30, 2019
In Basic Assembly and Setup
The full process of calibration in WriteInstinct.ino is: 1. You don't know where the servos are pointing at before calibration. So you don't attach the legs. 2. Upload skills, which include one "calib" posture, it's a posture with all joints at zero position. There's also a "rest" posture. Of course, you won't see the postures because you haven't attached the legs. But you can imagine that the servos will rotate when switching between the two postures. These postures are also shown in 6.4.3 of the instruction document. You have to enter 'Y' to save skills to EEPROM. Right after that, the program will read the rest posture and rotate all servos to rest position, then shut them down to avoid vibration. Still don't attach the legs. 3. The program will ask you whether to calibrate MPU. You can enter 'n' to skip if you have already done so. You can now understand why I put Nybble to rest state before calibrating MPU. It's much easier to lay Nybble level on the table. 4. Now if you enter 'c', the program will read the calib posture and execute. All the servos are supposed to rotate like crazy (but they are actually transforming from rest position) until they stop at calibrate position. Then you can attach the legs one joint by one joint, perpendicular to nearby references on frames. It's easier to attach knee joints before shoulder joints. Even if you attach legs in the direction of calibrate posture before entering 'c', the servos are actually in rest posture. Once you enter 'c', the legs are going to move, but would probably hit something in the middle. In that case, the motor will be forced to stop and becomes a pure resistor. It will pull a large current, generate heat and cause a voltage drop on the chip. That will further disturb the signals, causing more abnormal behaviors. 5. After attaching all the joints, Nybble will stand on its knees as in the calibrate state. The directions of legs won't be perfect. Don't force the legs to move, but enter the "c Joint Angle" commands to adjust the angles. Use the included L-shape tuner as a reference for fine-tuning each joint. You can enter 's' after calibrating each servo in case of any interruption in the process. 6. The calibration values are saved to ATmega328P's onboard EEPROM. They won't change unless some voltage shock happens to cause a "bit flip" when the processor is accessing the memory location. But it's very rare. Next time you want to calibrate, you don't need to take off the legs. You can also calibrate within OpenCat.ino.
4
27
4k
Rongzhong Li
May 29, 2019
In General Discussions
I have a couple of international customers reporting difficulties when getting their package from local post office. But even in the same country the process turned out to be different. I'd like to know your experiences when getting your packages: item custom fee/tax city country other notes Nybble & Board 46,23 € Cologne Germany 9503 0079 00 0 (custom code) Nybble 37.65 € + 6 € Germany paid to the postman Nybble 60 $ Italy Nybble 68,33 € Italy custom+VAT+post office You can email to info@petoi.com for the CE certificate document if your custom asks for it.
2
27
1k
Rongzhong Li
May 27, 2019
In General Discussions
This evening I received about one hundred notifications of posts on the forum, all about a football game happening tonight. After endless efforts to remove the bots and posts, I'm setting a higher restrictions on the forum, at least for tonight. None site members will only be able to view the public categories (General Discussion and Basic Assembly and Setup). Only site members will be able to view and post in the other categories (Software, Hardware, Clinic). New site member registrations will need my manual approval. If you are accidentally removed from the site, please email to info@petoi.com to recover your site membership. Sorry for the annoying notification emails if you subscribed to the forums!
1
1
99
Rongzhong Li
May 22, 2019
In Hardware
Li-po batteries are very good to supply large current. I just tested "Tenergy 7.4V 900mAh, 25C High Power Lipo Pack" on Nybble. It seems that with its super power, the protection in NyBoard's step down chip will always be the bottleneck. So it's a must to bypass it as discussed in previous post. It's also recommended to design a customized battery mount to replace the original one on the belly, to keep the center of mass low and symmetric.
1
13
1k
Rongzhong Li
May 20, 2019
In Hardware
One backer asked the following question: "I noticed there’s an RGB LED that’s an optional indicator for the HC-SR04 board. I like the physical design of the addition but I’m curious about the single resistor approach. Are you intentionally relying on the different forward voltages and choosing specific colours for each pin? The general solution involves 3 resistors, sometimes with a value per diode. https://electronics.stackexchange.com/questions/154007/why-must-resistors-be-on-the-respective-anode-terminals-instead-of-the-common-ca " It's a very good question. The 3 LEDs work best at different voltages. In a regular circuit, if they share the same resistor on the common cathode, the voltage over the LEDs will be the same. The lowest one will steal current from the others. It will result in a too bright color shadowing the other two colors. When designing the decorative LED, my major concern was to fit the circuit into a limited space and make it easy to solder. The trick was, I picked a 1000 Ohm resistor (rather than 220 Ohm) to limit the overall brightness. What's more, the (R, G, B) values can be set between 0~255 by 3 independent PWM signals. So They are not sharing the same anode! The brighter color can be dimmed by setting a smaller PWM duty. Now every color has a chance to show up and mix. Check the following rainbow spectrum generated by the LED test code.
0
4
140
Rongzhong Li
May 18, 2019
In Clinic
Based on a previous post, if you observe similar malfunction, that may be caused by the wrong type of battery. Another cause is the limited output ability of step down chip. You may need to do tests to determine which cause is your bottleneck. 14500 means 14mm in diameter and 50mm in length. The kit is using the same battery holder for normal AA cells (It's hard to find dedicated battery holder for 14500 Li-ion). They are 49mm high. Most 14500 rechargeables with protection circuitry are 52-54 mm high and do not fit the supplied battery holder. This post intends to take a survey on the batteries available in different regions of the world. Please report your batteries by commenting below to help others find the right solution for Nybble. "14500 3.7V Li-ion" are common words so I'll omit them. I'll integrate your responses into the following list: Brand Location Note Link Works: EBL 800mAh USA Walmart SANYO 800mAh Enerpower 14500 850mAh 2.4A Netherlands NKON Sony US14500VR2B Austria Conrad 18650 unprotected don't fit battery holder Floureon Lipo 7.4V 35C 1500mAh don't fit battery holder Tenergy 900mAh, 25C Lipo USA change battery holder & board Rexant unprotected 750mAh ART 30-2050 Russia -- Doesn't work: XCELL 139988, 750mAh Germany reichelt.de TrustFire Nitecore 850mAh NL1485 Keeppower 14500 840mAh Austria akkushop 3.2 V 14500 LiFePO4 600mAh too weak ROBITON 900mAh protected Li-ion ICR Russia To be fair, it's not necessarily the fault of batteries. They just don't fit with Nybble.
4
67
1k
Rongzhong Li
May 15, 2019
In Clinic
Questions will be added as time goes by. If you want to make your questions more informative, please include screenshots or videos: My wood pieces are different from the tutorial videos. - A couple of parts are revised to be symmetric to reduce confusion during assembling. As long as they fit in the baseboards (3 large and 1 small), they are the right parts for that kit. - If you are missing some parts, please take a picture with all the kit contents. Also take a picture of the handwritten mark on the package. Send them to info@petoi.com. Cannot upload sketch. - If you see "serial port does not exist" or "can't open device "/dev/cu.usbserial", it's could be a connection problem. Read the 4.2.5 FTDI section in the instruction. Do the checklist and report your observations. Servos cannot move. - It's most likely to be the problem of power supply. You can run the diagnose program to check whether the servos rotate with your power supply. - Regular AA batteries(1.2~1.5V) won't work. - DC power supply won't work well because they are too sensitive to peak current and will trigger short-circuit protection. It will work with lower voltage setting because the overall current will be smaller. - 14500 batteries Li-ion batteries are the tested models. Performance still varies over brands. Tune the potential meter to find the best performance. Servo has strange rotation Check the video under this discussion. If your Nybble behaves in a similar way, it may be the problem with your battery. What if I accidentally connected the power supply reversely on the green terminal? - You should hear a light "pooo" sound with some smoke near the terminal. The step down circuit for logic chip will be burnt. The blue LED won't lit up by battery. The logic chip can still work by powering through FTDI uploader. NyBoard makes strange beeping and stops working - The program may be interrupted when the voltage fluctuation (caused by servo motion) is too large. Try the following operatings sorted by probabilities: Press the reset button -> unplug all power supply and wait for 5 seconds -> re-upload the sketch. What does the abbreviations of skills mean? - See this post. Why the legs could go reversely? - See this answer. Why there's "FIFO overflow"? Does it matter? - See this answer.
0
3
294
Rongzhong Li
May 11, 2019
In Hardware
Brushed DC motors are widely used in many applications, including the servo motors on Nybble. They are simple in structure but also have weak points that would fail most frequently. The brushes are designed to push against the rotor to form a closed circuit. So friction is inevitable. The material will wear out after certain period of use. Once the brushes are worn out, it would either lose contact with the rotor or stuck in the rotor's contact plates. The broken pieces may even fall in between the rotor and the wall to stuck the rotation. There's a quick fix to bring a dead brushed DC motor back to work. Basically you open the motor and inspect the situation of the brush. Usually the brush has a longer base than needed. So it's possible to push that part out and reform good contact between the brush and the rotor. Considering the probability of failure for the two brushes A and B. After we fix brush A, B is more likely to fail before A fails again. So the lifespan of the motor can be doubled, without buying extra replacement parts.
2
0
599
Rongzhong Li
May 06, 2019
In Hardware
Warning: If you are going to stick with the metal servos included in Nybble kit, this reconfiguration will usually improve the servos' stability. If you are going to use plastic servos, DO NOT try it because the direct voltage from battery will burn your servos. I've got some users who wish to make Nybble run faster and longer. In short, there’s an easy fix to unleash the full potential of Nybble. However, I'll discuss the pros/cons in design thinking before you make the decision. Nybble is using “digital + metal gear + aluminum alloy case” servos. The manufacturer rates the lifespan as 500K cycles. It’s the best servo I could find at its price range to make Nybble affordable. You can check my previous study on servo comparison. With the aluminum alloy case for heat dissipation, it can stand the batteries' voltage (could be 8.4V with fresh charged batteries) directly and provide maximal output. However, there will always be tradeoff for performance: The servo’s motor brush, gear system and potentiometer will wear out much faster; It’s more likely to break the mechanics if a leg hits obstacles by accident. Long time running with large current (3~4A) will overheat the step-down chip and powering cable. Battery will run out faster if Nybble keeps running; Larger batteries will add burdan to the servos and won’t necessarily improve the overall user experience. Also consider safety. The best USB power bank outputs 5V x 2A = 10W. But Nybble could consume 8V x 4A = 32W when running. So I don’t recommend running Nybble as a racing car, but a platform for studying programming and motion planing. NyBoard was designed as a general purpose driver board not only for Nybble, but also for other projects. Some people want to drive their cheaper plastic servos that cannot stand 8V. So the step-down circuit for servos is introduced. The chip is rated at 5A, but the momentary current fluctuation by many metal servos could accumulate and trigger the over-current protection in the chip or the batteries. In other cases poor quality batteries simply cannot sustain a high discharging rate. Now talk about reconfiguring NyBoard to make Nybble run faster and longer. In condition that: Your battery can supply large current and its over-current protection is not set too low. You are using the servos included in Nybble kit, not cheaper plastic servos. You understand the tradeoff between performance and hardware's lifespan, and have spare servos for possible replacement. You need to upgrade the battery holder's wires with thicker ones to avoid too much heating up. you can bypass the step down circuit as described below: Desolder inductor L2 from pad A, B. Then there are two paths you could take: Path 1 directly wires BATT+ and pad A. L2 is removed from the board. Path 2 wires BATT+ to one leg of L2, and the other leg of L2 is still soldered to pad A. Add insulation (could be a piece of paper) between pad B and L2. Theoretically Path 2 should supply more stable current. But I don't see a big difference on the servos’s end with oscilloscope. And L2 will generate moderate heat. I think it's better to keep L2 on the board in case you need it for other projects. So below is my modified board for making a “racing Nybble”. You can further improve the circuit by adding an additional capacitor in parallel to the servos' power line, which is quite common for servo driver boards. NyBoard already has a 1000uF capacitor in place. On NyBoard V0_2, the similar reconfiguration will be more convenient with a jumper selector SW3, but less convenient than a slide switch. The limit to moderate Nybble‘s running time will be done by a cool-down counter in the program.
4
15
1k
Rongzhong Li
Apr 07, 2019
In General Discussions
In the demo video, Nybble was intended to knock the traffic cone away but ended up with a fatal accident. The original clip was out of focus so I decided to use the more dramatic one.
0
0
196
Rongzhong Li
管理員
更多動作
bottom of page