I have built Bittle and am trying test it and get the software running. Bittle does not sit nor stand. Stays very close to calibration position.
Installed Arduino IDE 1.8.13 on Ubuntu. Initial install on this host.
Installed Libraries:
Adafruit PWM Servo Driver V 2.4.0
IRremote V 2.6.1
QList V 0.6.7
AdaFruit NeoPixel V 1.7.0
Commented out the unused decoders in IRremote.h by setting values to 0.
Went to https://github.com/jrowberg/i2cdevlib
Downloaded ZIP file and unzipped it in ~/Downloads.
Used 'Add .ZIP Library' to find Arduino/MPU6050/ and Arduino/I2Cdev/ and added them.
Download a fresh OpenCat repository from GitHub (Sunday, Feb 21, 2021 11 PM PST) https://github.com/PetoiCamp/OpenCat.
Verified the following in OpenCat.h
· #define NyBoard_V1_0
No socks on Bittle
Turn Bittle battery on (Battery is fully charged)
Connect Bittle to Ubuntu via USB.
Run Arduino.
In Arduino, Tools Menu:
Board: "Arduino Uno"
Port: “/dev/ttyUSB0"
Programmer: "Arduino as ISP"
Sketches Tested
testInfraredRemote - Works
testBuzzer - Works
testSevenRgbLED - Works
Executed WriteInstinct.ino
Calibrated all servos and saved the values to EEPROM.
“c” makes the robot stand on elbows and knees.
“kbalance” does NOT make it stand on feet. Instead, the 4 yellow arms and legs rotate forward about 15 degrees.
Executed OpenCat.ino
* Start *
Initialize I2C
Connect MPU6050
Test connection
MPU successful
Initialize DMP
1098 121 3 -8
Enable DMP
Enable interrupt
DMP ready!
"ksit" does NOT make it sit. The new position is very similar to calibrate position.
Using the remote results in only twitching and little in the way of position changes. The behavior is very similar to that shown by Austin in this video.
Please advise as I can't figure out what I missed. Thanks in advance.
That's probably because you didn't set the serial monitor as "no line ending".
Rongzhong, thanks for your quick response. I have NOT entered "y" after uploading WriteInstinct.ino because I am NOT prompted to overwrite the skills.
Here's what I see in the Serial Monitor:
* Change "#define NyBoard_V*_*" in OpenCat.h according to NyBoard version! * OpenCat Writing Constants to EEPROM... Reset joint calibration? (Y.n) { I entered 'n<Return>' } * Update Instincts? (Y/n) { The output did NOT pause here. } Won't overwrite Instincts on external I2C EEPROM! Saving skill info.... I nstinct: bdFI I nstinct: bkI I nstinct: bkLI [ deletions ] I nstinct: stpI *** On-chip EEPROM has 1024 bytes. Instinctive dictionary used 426 bytes (42.58 %)! *** Finished! { Output paused here. }
So, I am confused.
(1) I get no prompt for Instincts.
(2) The "Saving skill info...." message implies that the Instincts were saved to EEPROM.
(3) Are Instincts the same as Skills?
Thank you in advance.
The skills are not written correctly to the memory. Have you entered "y" after uploading WriteInstinct.ino when prompted whether to overwrite the skills?