Arm Robot C++ Coding


From where someone can download  “Myrobotlab”?

A few questions

What OS do your run ?
Do you have Java 1.6 ?
What hardware do you have for your project ?

Make it communicate with a

Make it communicate with a chess engine and i would be in :wink:

More details…

Let’s start of giving more details:

The robot is totally Simple, simple with the function of pick and place! I’m extermly new to the world of robotics sience. I know nothing about it, I just want a new knowledge to add. So, as a start I don’t want to use anything that’s complicated like voice command, and actually I forgot to tell you that a sensor is actaully implemented and then I thought of not using it so it won’t be more complicated to handle. I need to use C++ because it’s so close to C (the only language I dealt with along with Java).

Here are the items:

- Dynamixel AX-12+ Robot Actuator

-Robotis USB2Dynamixel Adapter.

-SMPS2Dynamixel Adapter.

-Dynamixel Sensor Module AX-S1.

-Bioloid Frames.

-Bioloid Servo/Sensor Cables.

and regarding the OS i’m using is Windows 7- 32 bit.

Any Help with the Coding please??

Pick one … any one…

This one http://jchecs.free.fr/en/webstart.php  ?

Should I begin to assimilate?

 

If you could get it to

If you could get it to communicate with an engine where i can feed it serial input of a move and get serial output of the computers move i would be jumping up and down. As far as i have googled, I do not have the power to do it. 

Mac 10.6.5     Java 1.6     :wink:

what’s the layout?

Computer —USB/Serial–> Arduino —> Motor Controller --> Motor    ?

**Hmm… **

The Dynamixel stuff is closed source (thats to bad, you should write to them about that).

But they have examples of Java API…

I’ll check it out…

 

Yeah. All the Arduino needs

Yeah. All the Arduino needs is the chess notation and it takes it from there. Also feeding it backwards would be 

 Move input:  Arduino–>USB/Serial–>Computer

Move output: Computer —USB/Serial–> Arduino —> Motor Controller --> Motor

Though if we talk about this more i feel like we should do this on a different thread. I feel like a hijacker.

Feel free to change the conversation to over here https://www.robotshop.com/letsmakerobots/node/23519

Vanadium Labs are doing a

Vanadium Labs are doing a lot of software that works with Dynamixel servos. They use an Arduino compatible board (ArbotiX) and an Arduino library for AX and RX series servos. You can use PyPose to store the servo positions for a pick and place move and then play them back directly from the microcontroller.

I suggest you use a

I suggest you use a microcontroller as an intermediary between your arm and PC.  Send a serial command from the PC to the micro and have the micro control the servos.  I would suggest AVR which is programmable with C (and GNU C Compiler).  Do you already have C++ windows forms programming experience (I’m assuming you want to design a graphical user interface)?

Looked

Looked at ScanDynamixel.java

Doesn’t look very promising, in fact it looks like as the filename would suggest, its for “scanning”… not controlling

There are no “writes” only reads…  

Looking at the docs, its very Windows only, proprietary stuff…

If it was me I would do the same as what Rogue suggested and dump it like a hot potatoe, and get an Arduino, Picaxe, or Propeller to serve its place… (my preference would be Arduino)

Good Luck :smiley:

No really, I don’t want to

No really, I don’t want to design a graphical interface, no. I just want a program to control those servos i’ve got. I asked a person and he told me that’s ok to connect the robot to the PC and excute the program from Visual Studio! and the arm should be able to move. I’ve excuted  a program on it and only the base servo worked (the round movement)! but nothing else!!! the CMD works and it lines the following statement: (comm_rxtimeout: there is no status packet). so what does this mean?!

You see guys, I don’t want to use a software for controlling it! I just want a C++ program to excute it and see my desired result of pick and place function. Isn’t it possible? Please say yes :’( …

Yes, it’s possible to

Yes, it’s possible to control the arm from VS C++. Why don’t you look at the AX12Arm Library, as I told you before?

 

 

 

Dude, each servo has a

Dude, each servo has a different ID, you need to send commands to the servo specific ID to be executed by that servo. So it should work!

Way to RTFM it !

Now why wasn’t that done first? :smiley:

Nice work RobotFreak & Ro-Bot-X

Clearing Things Out … Again

Hey Guys,

As I mentioned before I’m absolutey new in making robots! Like my experience is nothing. I’m only into programming but I haven’t ever tried to program a robot.

All I need is a Sample C++ program to control 4 servos so I can learn by it and make some changes based on my understanding later! I’ve entered the AX12Arm Library as Mr. RobotFreak suggested and I think there’s a problem with my VS installation… making things even more worse. I can’t understand the logic without making things work appropriately!

Rather than that, thank you all, I guess I should give it up. :frowning:

Thank you again.


Im working on a windows xp box.

Yes I have Java 1.6.

I dont have specific hardware yet I am waiting for a robotis bioloid premnium robot kit to come .

Break it down into small steps.

  • You said you got 1 Servo to work !  Excellent - that’s progress.  Tell us exactly what you do to get that 1 Servo to turn.  Did you compile a program, if so please post the code !
  • You say you downloaded the sample program.  It looks like its supposed to take joystick input, do you have a joystick?
  • You say you think your VS installation has a problem,  What is the problem?  We can’t help you unless you give us enough information.
  • You say you can’t understand the logic?  What logic?

Alright, I was able to move

Alright, I was able to move the 4 servos using the MS VS! But one by another. I mean, I have to change the values over and over for each motor from the program itself. I asked and been told that I should add this in the program:

private void MoveRobot()

{

// Motor 1 Go

SetAngularPositionAndSpeed(Motor_1_ID, Motor_1_Position, Motor_1_Speed);

// Motor 2 Go

SetAngularPositionAndSpeed(Motor_2_ID, Motor_2_Position, Motor_2_Speed);

// Motor 3 Go

SetAngularPositionAndSpeed(Motor_3_ID, Motor_3_Position, Motor_3_Speed);

// Motor 4 Go

SetAngularPositionAndSpeed(Motor_4_ID, Motor_4_Position, Motor_4_Speed);

}

 

So that, they move together. But the previous code is in C# not C++ which I require. Since that the both languages not differ much, can I use the same code? Or I should make some changes for there is a certain translation for ‘SetAngularPositionAndSpeed’ in C++?