Hello everyone,
I am working on a robotics project, and I thought I should share it with you now that I have gotten some of the hardware and software working. I have named it the "Deep Think Project". It is a research project focused on artificial intelligence and humanoid robotics. Right now I am using the Meccanoid G15, the 86Duino One, and a 9-Volt battery with snap connector. So far I have gotten the servos working. Below is the code.
//
// Deep Think 0.0.0.1
//
// programmed by George Andrews
//
// NOTE: This program is designed for the Meccanoid G15 (combined
// with the 86Duino One). It is a part of the Deep Think Project
// (first version of the software for the project). The Deep Think
// Project is designed to advance the intelligence (as well as
// motion and structural capabilities) of humanoid robots. This
// version of the program is designed to do the following.
//
// 1. Control the output of the LED eyes with the 86Duino.
// 2. Control the 4 Smart Servos with the 86Duino.
//
// Please note that this version is only intended as a demo to
// establish a basic framework for interfacing the Meccanoid
// electronic parts with the 86Duino One for future development.
//
#include "MeccaBrain.h"
// pin declarations
int LeftArmDaisyChainPin = 21;
int LEDEyePin = 29;
int RightArmDaisyChainPin = 38;
// class objects
MeccaBrain LeftArmDaisyChain(LeftArmDaisyChainPin);
MeccaBrain LEDEye(LEDEyePin);
MeccaBrain RightArmDaisyChain(RightArmDaisyChainPin);
void setup()
{
}
void loop()
{
// sets LED and servo color to red
LEDEye.setLEDColor(7, 0, 0, 4);
LEDEye.communicate();
LeftArmDaisyChain.setServoColor(0, 0xF1);
LeftArmDaisyChain.communicate();
RightArmDaisyChain.setServoColor(0, 0xF1);
RightArmDaisyChain.communicate();
// moves arms up
LeftArmDaisyChain.setServoPosition(0, 255);
LeftArmDaisyChain.communicate();
RightArmDaisyChain.setServoPosition(0, 0);
RightArmDaisyChain.communicate();
// wait 1 second
delay(1000);
// moves arms down
LeftArmDaisyChain.setServoPosition(0, 0);
LeftArmDaisyChain.communicate();
RightArmDaisyChain.setServoPosition(0, 255);
RightArmDaisyChain.communicate();
// wait 3 more seconds until next iteration
delay(3000);
}
This is a very simple demo starting program, and so does little except insure that the servos, the official Arduino library for the Meccanoid G15, the LED eyes, and my method for writing to the Smart Modules are all functioning properly. I have tweaked the code a few times recently when the code didn't work as I intended, but now I have tested it and the code works. Next I plan on creating some functions for doing different movements with the servos and D/C motors. Any recommendations on new functionality and improvement will be greatly appreciated. I expect this project will take a very long time to complete, if I ever finish it, and I am willing to press on with this project for years. I have researched some possible deep learning algorithms for implementing in this robot, and the one I think will be best for this project is the LAMSTAR algorithm. Size of the program plus bootloader so far is 156KB. I expect that in the near future I will need to upgrade the brain for the robot in order to run the learning algorithm and machine vision.
Thank you all for your support,
goodinventor