0
$\begingroup$

I'm trying to build a hexapod with beaglebone in the linux environment (Im thinking of using Ubuntu). What is the best language to use for coding purpose to make robot controls, camera and wifi integration etc.

$\endgroup$
  • $\begingroup$ The best language is C. $\endgroup$ – Shahbaz Jan 10 '15 at 15:32
  • $\begingroup$ "Best" is relative. C/C++ are in my opinion the best, but phyton is a good alternative. I don't like phyton, but it provides some advantages over C/C++, espiacially for beginners. $\endgroup$ – TobiasK Jan 10 '15 at 17:53
  • $\begingroup$ So with C/C++ can I achieve all the controls and wifi integration ??? and I'm also going to transmit captured video with wifi or gsm to another beaglebone with receiver and LCD , is that also possible??? $\endgroup$ – Karthikeyan R Jan 10 '15 at 17:58
1
$\begingroup$

As one user has said, ROS is a very good framework for robotics platforms that supports python and c++. I highly recommend downloading the VirtualBox image of ROS and giving it a try, it takes about 5 minutes excluding download.

ROS will give you a communication framework between machines on a network, and also between subsystems on the robot (mobility, state estimation, vision, etc). Included in ROS is the Computer Vision library OpenCV which may interest you if you are using a camera to sense some state or parameter.

In addition to ROS, I can recommend Simulink for your algorithmic development. Simulink is a simulation environment with very useful pre-validated libraries. After simulating and validating your module, you can compile it into C/C++, then put that into ROS so that your I/O is handled by ROS. I use this for almost all kinematic or dynamic systems because it speeds up development significantly, although I avoid doing any I/O directly in Simulink.

| improve this answer | |
$\endgroup$
1
$\begingroup$

You're going to want to do this using ros. This will allow you to use both python and cpp. I would reccomend doing all control and estimation in cpp and and camera stuff in python. Ros also works on networks of computers so you will be able to communicate with other linux machines running ros on the same network.

| improve this answer | |
$\endgroup$
1
$\begingroup$

Ubuntu is fine if you are familiar with it, if you start having jitter issues you can add the real time mods to the kernel but that is almost certainly not a problem you will face. Adafruit has some decent python libraries for the beagle bone black at https://github.com/adafruit/adafruit-beaglebone-io-python. Genrally it is best to prototype in the easiest language you can get away with as it is less frustrating and faster, but that is somewhat personal option.

| improve this answer | |
$\endgroup$
0
$\begingroup$

Ubuntu is a pretty common distribution so it should be pretty easy to work with. However, Ubuntu is targeted for desktops, so I'd recommend using a light-weight flavor for the Beaglebone. For example Xubuntu or Lubuntu. But I also know that installation on a board like this can be a pain, so i'd try to find some standard image if possible.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Im going to use the beaglebone black and it comes pre installed with the angstrom distribution. So is it worth installing Ubuntu over Angstrom (Basically both are linux ) and will there be any more advantage to use the Ubuntu $\endgroup$ – Karthikeyan R Jan 12 '15 at 15:19
  • $\begingroup$ You should use the pre-installed Angstrom distribution because it is made for embedded boards. The only thing Ubuntu will get you is more support for non-standard libraries. With Angstrom, you may have to build a few libraries from source when you start to do advanced things, but I think you will have a much easier time overall. $\endgroup$ – Ben Jan 12 '15 at 15:48

Not the answer you're looking for? Browse other questions tagged or ask your own question.