When I purchased the Bittle “unassembled”, I also purchased from Amazon the Bittle Robotic Dog Intelligent Camera Module by Petoi. I read in one of your comments, “You still need to upload a different program for the camera to work. It’s not plug and play”.
I have downloaded the MuVizsionSensor3 zip file from https://github.com/mu-opensource/MuVisionSensor3 and unzipped. I assume this is the correct file.
I find two (2) groups:
1."examples": ball.ino, body.ino, colorDetect.ino, colorRecognition.ino etc
and
1a. "use_arduino_base_interface_only": ball.ino, body.ino, card.ino, color_detect.ino color_recognition.ino
Questions:
1. Which of the above groups do I upload: "examples" or "use_arduino_base_interface_only" ?
2. Can only one(1) action, such as ball or body or color detect etc., be upload to the Nyboard or can they ALL be uploaded as a group?
3. How do I command the action, such as following a ball, color detection, etc? From the Petoi app?
4. Where do I find a description of each camera action?
Any information you may have will be helpful. I have read the tutorial and manufacture’s notes, but looking for more information.
Thanks again.
Stuart
thanks for that crucial info, let me try it out. I got the camera issue ("fail to initialize") fixed, by changing the port address, but still haven't got it to work (as it any visible response from camera), but first let me fix this, and then get to the camera. Once, I am through all, will probably share a detailed note which others can make use of.
I see. The camera module uses a lot of board resources so in Camera mode the IMU is disabled. The logic is defined in OpenCat.h.
You need to keep those special modes commented for the first round of WriteInstinct to enter IMU calibration.
If you mean the reset button on the board, I tried it multiple times. No change This is the serial monitor log
* Change model and board definitions in OpenCat.ino! Configure EEPROM 1002 977 966 933 Reset joint offsets?(Y/n) Y Save skills I nstinct bdFI I nstinct bkI I nstinct bkLI I nstinct crFI I nstinct crLI I nstinct mhFI I nstinct mhLI I nstinct pcFI I nstinct trFI I nstinct trLI I nstinct vtI I nstinct wkFI I nstinct wkLI I nstinct balanceI I nstinct buttUpI I nstinct calibI I nstinct droppedI I nstinct liftedI I nstinct restI I nstinct sitI I nstinct strI N ewbility zeroN I nstinct bfI I nstinct ckI I nstinct climbCeilI I nstinct fdI I nstinct hiI I nstinct jyI I nstinct pdI I nstinct peeI I nstinct puI I nstinct rcI I nstinct rtI I nstinct stpI Instincts used 32~5161/8192 on I2C EEPROM Init servos k Ready!
The first round of the program should ask about IMU. If not, try pressing the reset button to get to that stage. It has to be calibrated for the later angle detection. The coarse calibration should be off a lot because the reference of servos is changed. You need to close the Arduino’s serial monitor so that the serial port is not occupied. The python UI only detects free serial ports and then connects to them. Press the reset button on the camera and the NyBoard in order. Make sure you connect to the i2c grove port, and the camera’s dial switches are set to the proper modes.
Please follow: https://docs.petoi.com/nyboard/nyboard-configuration-for-opencat-2.0
The WriteInstinct.ino is replaced by OpenCat.ino itself. If you uncomment
#define MAIN_SKECTH, OpenCat.ino is equivalent to WriteInstinct.ino.
@Rongzhong Li First time modder here. Last 20 hours has been enlightening, understanding the basics of the Opencat system (still can't say I have reached there). Quick question, calibration seems like an expensive affair, so when I install a different Opencat branch onto my bittlle, will I have to go through calibrations again? Or can I say NNN?
Hi, and thank you for your quick reply. Much appreciated.
How do I replace OpenCat (1.0) which you installed on my Bittle several days ago with the new OpenCat 2.0 created just yesterday so Bittle “can automatically switch between body and ball detection with a whole-body motion of the robot.”?
IMPORTANT: Please provide steps I must take to accomplish this update Since I am a novice and don’t yet “speak” coding language, please provide steps that are clear in layman’s language. I’m trying to learn, but it’s a slow process.
Hi, You may use the MuVizsionSensor3 library for standalone module demos.
You can open the example codes directly in Arduino IDE.
We have upgraded the OpenCat2.0 branch to have a special mode for the camera. It can automatically switch between body and ball detection with a whole-body motion of the robot. You can use the code as an example and integrate the other image demos into the code.
In OpenCat.ino, uncomment the camera line. The effective code is in src/camera.h where it defines how to initialize the detection object and the reaction behaviors.