5

Ball detection using vision is not extremely difficult, especially if the ball is easy to recognize. There are a lot of tutorials and blogs which give a detailed explanation on how to implement an algorithm to solve this problem: Raspberry Pi Ball tracking Using OpenCV on the Beagleboard to track an Aibo pink ball OpenCV Tutorial C++ - Color Detection & ...


3

OpenROV Cape If I understand things correctly, the OpenROV motors are connected to ESCs that are connected to Arduino Digital pins 9, 10, and 11. According to the "ATmega168/328-Arduino Pin Mapping", that corresponds to physical pins 15, 16, and 17 respectively on the 28-pin ATmega328 DIP. A nice diagram on the OpenROV wiki showing a photo of the OpenROV ...


3

Why do so many people keep "Underestimating the complexity of power supply design"? I'm sure that you already know that every digital electronic device pulls a very brief (transient) surge of power when it is first plugged in and turned on -- at much higher current and power levels than the steady-state current and steady-state power during normal operation....


3

Yes this is pretty easy to solve, you just need basic soldering skills. Just open the cables of your additional USB-devices, you will see 4 wires. 2 of them are for the data, just leave them. The other two are for powersupply, just connect them to your 5V power supply. But make sure you have to right ones, otherwise your device will start producing magic ...


3

Beaglebone USB When you plug a USB cable between the USB B plug of the Arduino Uno and the USB A plug of the Beaglebone Black, the Beaglebone should be able to talk and listen to it the same way any other Linux distribution talks and listens to any other CDC class USB peripheral. On the Beaglebone, a CDC class USB peripheral can be read an written to ...


2

I would recommend sticking to Raspberry Pi for few reasons: Popularity - Raspberry gives 30,900,000 results in Google and Beagle Bone Black only 1,900,000. Raspi have Raspian - Debian for ARM Raspberry could easily drive even 32' or more HD display. Beagle has some limitations on resolution. Raspberry will work with MDB protocol if you buy some hardware (...


2

Use a self-powered hub. Look at the power adapter from the mains (220v). In almost all instances, it is converting 220vac to 5vdc (sometimes 5vdc and rarely 12vdv). Cut the power adapter cable to the hub in half after determining which half of the cable pair is negative and which is positive (see picture below). Often it's as obvious as the red wire is ...


2

I believe I encountered the exact same problem that you are encountering. The short/easy fix is downgrade your kernel. The newer kernel version (later than 3.8.x) for UbuntuARM does not use device tree overlays and stores all of these ADC values in god knows where. You'll also notice that your tutorial is indeed using kernel 3.8.13. One that still ...


2

It's python but easy to install: https://learn.adafruit.com/setting-up-io-python-library-on-beaglebone-black/pwm. Otherwise you can fopen files in the device tree and write to them, or you can open /dev/mem and directly access the registers for the PWM drivers. I strongly recommend using the first method it is far easier than the third and basically the ...


2

18 servos is a lot of power no matter their size but you are going to need to be more specific with what kind of servos you are talking about. That said, this What is the best way to power a large number (27) servos at 5 V? is a good answer to your question.


2

In addition to the RPi, as TobiasK suggests, the Arduino boards have: PWM support; USB support is possible with the addition of an inexpensive USB shield, and; node.js is possible, see: Arduino Experimenter's Guide for NodeJS; A Practical Introduction to IoT using Arduino, Node.js and Plotly, and; Controlling a Motorbot Using Arduino and Node.js to ...


1

While calculating speeds, you are multiplying by 2*error. If PID (or PD) calculates an error, I believe it should be fed directly to the motors because in each loop it does not account for an additional 2* multiplier in speed in the next loop. That would act like an unforeseen impulse that is unaccounted for by the PID. So for starters, I would suggest try ...


1

The movement you are seeing is what I would expect to see if your ground was rising becouse of current draw. Basically as you turn on more servos you will see there current draw will make the apparent voltage drop and the pulses for PWM grow more indistinct, digital servos will generally still work ok but analog servos like you have will stutter as you show. ...


1

You could also consider the ESP8266. It can be programmed directly with the Arduino Developers Kit (see ESP8266 Arduino). In that sense the developer community overlaps heavily with that of the Arduino family. The way it integrates into the Arduino SDK basically makes it just another flavor of Arduino, although the pinouts aren't physically compatible. The ...


1

You will find only two boards with a larger developer community and one of them is supporting node.js, PWMs and USB-interfaces. It is the raspberry Pi.


1

In this answer, I will outline some techniques for diagnosing RS232-style serial communication problems. For a two-way serial communication link between two devices to work, at the most basic level we need a connection from TxD on device 1 to RxD on device 2 and a connection from TxD on device 2 to RxD on device 1. Voltage or current level conversions ...


1

You will need to output a servo PWM signal with a 20ms period and a pulse width generally between 1 and 2ms depending on your ESC, Here is some information about using the PWM output on a beaglebone, and here is an article describing controlling a servo with a beaglebone, it is the same as an ESC.


1

The actual problem turned out to be that my BeagleBone Black is flawed/damaged. I plugged the Bluetooth Adapter into a plain new BeagleBone Black before powering it, and the Bluetooth Adapter is recognized! Not only does lsusb prints out the adapter info, but also lsusb -v does not hang at all. The overall performance of the new board (boot time, compilation ...


1

You can configure it with a static ip address, and assign your laptop a (different) static ip address. Here is a link to a guide to setting a static ip address.


1

It depends on how big the pull-up resistor is and how fast you want to go with I2C. If Beaglebone designates those pins as usable for I2C, the internal pull-up resistor is most likely sufficient. Generally, the smaller the pull-up resistor, the faster is the rise of the signal to 1, but when driving a 0, there is also higher consumption. To understand this ...


1

I liked your choice for using BBB for your stepper motor driving project. BBB is the best open source hardware currently available to accelerate your stepper motor speed to upto 200Mhz precision which is like 15 Times faster than what we can get from Arduino or 12MHz Microcontroller. I used PyPruss python Library for my PRU based project where I coded my PRU ...


1

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


1

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


1

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.


1

Check out the new Raspberry Pi Compute module, it was created for things like this. And you can begin development on a regular raspberry pi in the meantime. I personally believe the Raspberry Pi is completely years ahead of everything else goes as far as maturity and suitability for use in production, as evidenced by this new compute card targeted at ...


1

You're right to see this as a problem of complexity. Whatever setup you decide to use, keep in mind that you will inevitably have to troubleshoot it. It's already going to be complex -- but make it work in your favor. In other words, let's say that you choose to make a subassembly for your sensors (like arduino + sensors, or GPIO board + sensors). Make ...


1

My reccomendation would be to do as much as possible arduino side, as you have much easier access to PWM and digital inputs. Connect all of your sensors and motor drivers to the arduino. Communicate over serial with your main robot controller (Beaglebone, Raspi, etc). Send motor signals over serial and receive sensor values the same way. Easy to program, ...


1

Could you perhaps elaborate on your performance requirements? I'm quite confident you will be able to get Tomcat running, here's a video of someone getting Tomcat 5.5 running on a beagleboard c4 (note the video is dated Feb 2011). Also remember that you can run a normal Ubuntu distro on the beaglebone, so installing Tomcat should be as easy as simply going '...


Only top voted, non community-wiki answers of a minimum length are eligible