Lego Mindstorms NXT is a great kit that allow you to build and program an almost unlimited variety of robots and automatisms.
The kit includes a "brick" that includes a programmable 32 bits microcontroller. Lego open sourced the software and the hardware of NXT, here you can find all the documents and source code.
You can program its microcontroller with the included visual programming tool, called NXT-G, that is very easy to use for small programs but probably you will find it too much limited, specially if you can program in other programming language. But don't worry, you can use standard and professional programming languages like Java, C or C++ among others. All them free as in beer and as in speech.
Just a few words about which, in my opinion, are the best options:
C like language: NXC
Apart from NXT-G the easiest way for programming NXT is NXC. It's a language similar to C, very easy to learn and you don't should change the NXT Lego firmware, so you can continue using NXT-G.
Java: Lejos
If you know or want to learn Java this is your tool. I think that is the best tool, more difficult that NXC but far more powerful.
C/C++: NXT OSEK
Do you want to learn C or C++? Real time programming? This is your tool!
jueves, 16 de febrero de 2012
martes, 7 de febrero de 2012
Choose hardware, firmware and language
There are a lot of possible combinations of hardware, firmware and languages for programming Bioloid. I think that the table below show the the main combinations.
You can choose from the easy but limited Robotis own tool (Roboplus Task) and only your CM-5 or CM-510 to a SBC or "embedded" PC like Roboard and any language which can manage a serial port connection, like C, C++, Java, Python,...
Linux C++ Dynamixel reading and writing example
C# Dynamixel reading and writing example
Practical C++ programming tutorial for Bioloid
[caption id="attachment_256" align="aligncenter" width="617"] Programming Bioloid: choose hardware, firmware and languages[/caption]
Robotis officially supports the programming solutions with the blue background:
With these programming solutions you can use the Zigbee SDK to send and receive data between the CM5-/CM-510 and any computer, using Zig-110A or the new bluetooth BT-110, the Zig2Serial and the USB2Dynamixel. You can download example in Visual Basic .Net, C# and Visual C++
But there are more options!
Using a PC, SBC (Single Board Computer), PDA, Mobile or other light and battery powered computer
Using a serial port connection with your more beloved programming language:
If you have any device with a USB host and a FTDI driver you can use USB2Dynamixel to command programatically your Dynamixel servos using the Dynamixel protocol. You only will need your CM-5 or CM-510 to connect your Dynamixel to the battery.
Same as the previous option but instead of using the USB2Dynamixel you only will need the serial cable and the "Toss Mode" launched with the 't' command from the "Manage Mode"
Instead of only sending and receiving data, with the previous wireless connections you can command remotely your robot using the standard firmware and the "Toss Mode" launched with the 't' command from the "Manage Mode". You will need to command it using the Dynamixel protocol.
With these options and the CM-510 you will find a little problem... there is no way to read your sensor values! Well, you can use this firmware that offers a "Toss Mode" that supports reading CM-510 ports.
Start learning!
If you want to start learning how to program your CM-5 or CM-510 controller you will find interesting this post "Start programming CM-5/CM-510 in C". But may be you prefer to control your robot from a PC, SBC or other computer in C++ or C#
You can choose from the easy but limited Robotis own tool (Roboplus Task) and only your CM-5 or CM-510 to a SBC or "embedded" PC like Roboard and any language which can manage a serial port connection, like C, C++, Java, Python,...
Linux C++ Dynamixel reading and writing example
C# Dynamixel reading and writing example
Practical C++ programming tutorial for Bioloid
[caption id="attachment_256" align="aligncenter" width="617"] Programming Bioloid: choose hardware, firmware and languages[/caption]
Robotis officially supports the programming solutions with the blue background:
- The dark blue, RoboPlus Tasks, is the only one in which you can create the motions with RoboPlus Motion and execute it in CM-5/CM-510 with the program create with RoboPlus Tasks, after downloading the generated executable into the CM-5/CM-510, of course.
- The clear blue, Embedded C SDK and Dynamixel SDK, are two distinct SDK offered and supported by Robotis, but currently there is no command to execute the motions created with RoboPlus Motion.
With these programming solutions you can use the Zigbee SDK to send and receive data between the CM5-/CM-510 and any computer, using Zig-110A or the new bluetooth BT-110, the Zig2Serial and the USB2Dynamixel. You can download example in Visual Basic .Net, C# and Visual C++
But there are more options!
Using a PC, SBC (Single Board Computer), PDA, Mobile or other light and battery powered computer
Using a serial port connection with your more beloved programming language:
- USB2Dynamixel
If you have any device with a USB host and a FTDI driver you can use USB2Dynamixel to command programatically your Dynamixel servos using the Dynamixel protocol. You only will need your CM-5 or CM-510 to connect your Dynamixel to the battery.
- Serial port cable
Same as the previous option but instead of using the USB2Dynamixel you only will need the serial cable and the "Toss Mode" launched with the 't' command from the "Manage Mode"
- Wireless control
Instead of only sending and receiving data, with the previous wireless connections you can command remotely your robot using the standard firmware and the "Toss Mode" launched with the 't' command from the "Manage Mode". You will need to command it using the Dynamixel protocol.
With these options and the CM-510 you will find a little problem... there is no way to read your sensor values! Well, you can use this firmware that offers a "Toss Mode" that supports reading CM-510 ports.
Start learning!
If you want to start learning how to program your CM-5 or CM-510 controller you will find interesting this post "Start programming CM-5/CM-510 in C". But may be you prefer to control your robot from a PC, SBC or other computer in C++ or C#
Etiquetas:
ax-12+,
Bioloid,
C,
C#,
C++,
Carousel,
CM-5,
CM-510,
Dynamixel,
PC,
Programming,
Programming Robotis Bioloid hardware,
Raspberry Pi,
Robotis,
Robotis Dynamixel programming,
Software and kits,
Tutorials
Suscribirse a:
Entradas (Atom)