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