My Bittle X is misbehaving. I purchased the STEM version and followed and completed the assembly process but I'm not certain it's correct. Running the UI program to calibrate the joints I get unexpected results when selecting the different postures. All the joints are zeroed. Using the IR remote I get similar misbehavior. The Arduino IDE can successfully connect the console to the BiBoard and get output. I have not uploaded any sketch to the ESP32 nor updated the firmware so the software is as shipped. I'm reluctant to upload a sketch or firmware until I know the cause of the misbehavior. I'm not familiar with the ESP32 archetecture (yet) so I don't know if uploading a sketch will erease the misbehaving code. I have not compiled the OpenCat software yet.
Misbehavior Description
Uncertain Calibration posture
Incorrect Stand posture
Intermittent Voice Command
Head-Arm clearance
Remote Control layout
At this point I need assitance to get past these issues; I've run out of ideas for non-destructive tests and afraid of making unrecoverable changes. I suspect the problem is due to a simple assembly or software error. I won't describe each problem in this post but will in subsequent posts as I become more familiar with using this forum. But to start I will post the output from the UI and Aduino consoles and (hopefully) a picture of the incorrect stand posture to provide a starting point for discussion.
Some questionss:
"Is Bittle X properly assembled?"
Rest posture
Note: The sholder servos have the logo facing inward. The leg servos have the logo facing outward. As far as I canĀ tell the leg and arm connectors are identical; I followed the videos and put the red sholder on the top-outside of all 4 legs.
"Is this the correct calibration posture?"
Calibration Posture
I'm not sure what the purpose of the Calibration pose is. The UI uses it when adjusting the servo offsets but the Rest pose is the one used for the initial calibration. Adjusting from the calibration pose has no reference. The back legs tend to collide with the body frame with disturbing sounds.
This is the incorrect stand posture
Stand Posture
UI Console output
ardSerial date: Jan 23, 2024
['3', '7', '9']
C:\Users\...\.config\Petoi already exists
C:\Users\...\.config\Petoi\defaultConfig.txt
2024-02-12 23:50:16,911 ardSerial - INFO - ['English', 'Bittle X', '.\\release', '2.0', 'NyBoard_V1_2', 'Standard', 'Nature', 'Earth']
*** Available serial ports: ***
COM5
Bittle
B_231106
2024-02-12 23:50:30,859 ardSerial - INFO - Connect to serial port list:
2024-02-12 23:50:30,859 ardSerial - INFO - COM5
re ['c\r\n', 'calib\r\n0\t1\t2\t3\t4\t5\t6\t7\t8\t9\t10\t11\t12\t13\t14\t15\t\r\n0,\t0,\t0,\t0,\t0,\t0,\t0,\t0,\t0,\t0,\t0,\t0,\t0,\t0,\t0,\t0,\t\r\nc0,\t0,\t\r\n']
of calib
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
c0, 0,
Arduino IDE Console output (Battery OFF)
Scanning I2C network...
- I2C device found at address 0x54 !
- I2C device found at address 0x5C !
- I2C device found at address 0x68 !
- I2C device found at address 0x69 !
- I2C device found at address 0x7E !
- done
Initializing MPU...
OK
- Testing MPU connections...attempt 0
- MPU6050 connection successful
- Initializing DMP...
- Enabling DMP...
- Enabling interrupt detection (Arduino external interrupt 26)...
- DMP ready! Waiting for the first interrupt...
Bluetooth name: Bittle0E
Waiting for a client connection to notify...
Bluetooth name: Bittle0E
The device is started, now you can pair it with bluetooth!
Setup ESP32 PWM servo driver...
Calibrated Zero Position
135 120 135 135 190 80 190 80 190 80 80 190
Build skill list...60
Init voice
Number of customized voice commands on the main board:
10
TaskQ
Ready!
rest
g
d
Thanks
2307 and 2308 are the production month for quality control. Ther servos are identical except the wire length. You need to use the longer cables for the knee servos.
The wiring order is illustrated in this chapter. The indexing considered many factors so it may not be very intuitative. https://docs.petoi.com/petoi-robot-joint-index