I decided that I would build a hexapod in order to show colleges what I can do. Now, I have realized the real potential of my robot. When I first began, I just wanted to make it walk, via a preprogrammed walking gait. Now, I am hoping to have my hexapod teach itself to walk in the next year. This is a thread about my progress, and about the challenges I face along the way.
First, I had to do a lot of planning. This meant the costs, the hardware I wanted to use, and the software I needed to acquire. This part is really bring though, so I wont be putting much time towards talking about that.
The main things to know, are that the plan was to use an Intel NUC 5th generation i7 with 16 gb. RAM, and 250 gb. M.2 SSD. I also planned to use a Point Grey Chameleon research camera and an Arbotix Pro sub-controller. In the end, I want to have incorporated MX motors, but I will be starting out with AX-18A motors.
My first few designs were very rough...
Then, they slowly became developed, as I printed and tested the parts.
Lately, I have been focusing more of my time towards the actual programming, but I have been having trouble understanding how to incorporate the Intel Nuc into my robot, because I am not very familiar with Linux Ubuntu.
The hardest part about the programming, though, is grasping the subject of serial communication. I understand how it works, but I just don't quite understand how to program with it. Is there a specific library that is default with the Arbotix Pro, or do I need to create my own? And if I need to create my own, how close to Assembly language, do I have to get? I have a sufficient knowledge of C++, but no clue how to run programs in Ubuntu, that work with the Pro. Maybe I will be able to find a tutorial on how to make a motor run, without using the Arduino IDE. I really do not want to use the Arduino IDE. Too easy.
Today, I have been working on understanding the Dynamixel SDK. I was advised that I learn about this, before I try to create my own. Having been told this by a well-respected friend, I feel that this is the best option for me. I have begun to understand platform porting, and what it means to be platform dependent and platform independent.
As I work with Ubuntu, I continue to grow towards liking it much more than windows. I don't know why I would ever need to go back.
Tomorrow, my USB2AX and Arbotix Pro arrive in the mail. My Chameleon research camera should arrive by the end of the week, too.
Sorry I have not posted in awhile. I have been super busy, and I just forgot to. I finally was able to get the tibia design just how I like t, and now I am working on printing all of them. The only downside is this: Out of over 15 attempts, I have only had one successful print, due to the fact that my printer is not that great(it is actually my school's 3D printer,but I am the only one with access to it.)
If there is anyone out there who would be willing to print me 6 parts in black ABS, I would be extremely grateful. Each one is about 18cm(180mm) long. I need them in a reasonably high resolution.
As of programming, I have been working on grasping the idea of serial programming. (In Linux, of course). I am just getting into learning about the termios.h library, as I feel like that is a good place to start. If anyone else has any suggestions on what I should be learning at first, please post it below, and I will respond and either take your suggestion, or I will Let you know that I have already developed a sufficient understanding of what it is that you suggested. Once again, there is so much to learn, so I am trying to take it one step at a time. I feel like I just need to slow down. By going slower, I think I will learn more, and in the long run, actually work faster. HMM, funny how that works. I did not bother to reread what I typed, due to lack of time, but I apologize for any errors.
So here I am. I have decided to stray away from the Arbotix pro, due to the lightweight capabilities of the USB2AX. However, I am having trouble understanding something, so correct me if I am wrong...
Assuming I am working in an IDE, in which the code is easily compiled for me, I am able to connect to the motors through the USB2AX, bu using the member 'dxl_initialize(0, 1);' correct? And from that point, I can write any code to the motors?