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$

closed as primarily opinion-based by Shahbaz, Josh Vander Hook, TobiasK, Ian, Mark Booth Jan 21 '15 at 12:17

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\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.

$\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.

$\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.

$\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.

$\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.