People who code: we want your input. Take the Survey
10

For testing simple algorithms, you might be able to get by with a 2D simulator. There are a few out there that I am aware of: Stage: http://playerstage.sourceforge.net/index.php?src=stage STDR: http://stdr-simulator-ros-pkg.github.io/ Stage is an older, but useful, simulator which has integration with ROS (http: //wiki.ros.org/stage_ros) which will allow ...


8

The function $f$ comes from the equation of motion for the inverted pendulum problem (inverted pendulum alone, not including the motion of the wheeled platform). If you consider your figure but ignore the side-to-side motion of the cart, then the equilibrium of moments about the hinge is: $\sum M = m g l \sin \theta - b\frac{d \theta}{dt} $ Where $m$ is ...


6

"Optimal learning" is a very vague term, and it is completely dependent on the specific problem you're working on. The term you're looking for is "overfitting": (The green line is the error in predicting the result on the training data, the purple line the quality of the model, and the red line is the error of the learned model being used "in production") ...


6

Yes. If you only run it in feed-forward mode and do your training off-line somewhere else: I programmed a 3-layer (5-5-2) feedforward ANN on an Arduino UNO. It ran on a mobile robot. Whenever the robot would hit something, it would re-train the network. The feedforward portion of the net ran in real-time; while the back-propagation training took on the ...


5

Short answer: the strongest reinforcement effect comes from delivering a valuable reward on an intermittent (random) schedule. Longer version: One aspect of your question is about operant conditioning, at least as it applies to teaching maths to a complex organism. Applying this to machine learning is known as reinforcement learning. Economics (as per ...


5

First, here's what you CAN do with those sensors. Assuming you are not constantly accelerating you can use the accelerometer to know which direction is "down" (the gyro can be used as well for faster updates). If there aren't any magnetic field disturbances, you can also use the compass to know which direction is forward. Usually this is done using either an ...


4

The mechanics of your vehicle are not extremely relevant here; I will assume that the motion your vehicle induces on the sensors will be within their specifications. Entire volumes have been written on "sensor fusion", which is the act of combining measurements from multiple sensors (e.g. your gyro, accelerometer, and compass). Doing this 100% accurately ...


3

I think the problem you're going to find is that machine learning requires learning. If the goals or objective vary just a little, then manually adjusting the software shouldn't be too difficult (if you programmed it well), and it might only take a few trials for the AI to adjust to the new scenario. If the objectives change so much that you're looking at "...


3

It actually makes sense that the dot product in both cases is the same (zero) because the dot product of two vectors does not consider the vectors' origins. Or in other words the math for the dot product places the two vectors at the same origin. In this sense there is no way to distinguish converging or diverging vectors. I think what you need to do is to ...


3

Regarding methodologies and tools, I recommend Chris Eliasmith's How to Build a Brain. It presents the Semantic Pointer Architecture (SPA), a cognitive model that has been realized in the open source Nengo toolkit. I have read the book's introduction and some of Eliasmith's papers, and so far the approach looks very promising.


3

You've asked more than one question, so I'll try to answer them in order. The Robotics community has not yet hit the limits of current hardware, so very little work is being done on the exotic cutting edge like neuromorphic hardware. The exception to this is software neural nets, which have come in and out of fashion for decades, and the Nv artificial ...


3

Unfortunately, I have no experience with ez-b, but I have looked over the site a little bit. I do, however, have lots of Arduino experience. The program is, indeed, stored on the board's local memory. However, it is very possible to write a program that can interact with your computer. With my Arduino, I often write programs that communicate with my computer ...


3

Yes indeed, it's possible to embed neural network in microcontrollers. There are many such examples of this in the scientific literature but I can cite a striking example of what can be done with a very simple MCU if you're smart enough. In Evolutionary Bits'n'Spikes, the authors describe the implementation of a real time spiking neural network AND a genetic ...


3

These issues are addressed, to some extent, by the study of utility functions in economics. A utility function expresses effective or perceived values of one thing in terms of another. (While the curves shown in the question are reward functions and express how much reward will be tendered for various performance levels, similar-looking utility functions ...


3

Sure, a drone can land on a powerline. That's a standard task like the "peg in hole problem" for robotarms. The aim is to maneuver a UAV near to a highvoltage line and eating all the energy. The earliest paper was written in 2009 and has a nice plotchart of the Electro-Magnetic Field on page 8 Powerline perching with a fixed-wing UAV for directing the UAV in ...


3

I think yes it can but how? My options are here: Static system for conventional systems It should stand or hang to line/pole/special place like birds. Please watch video for an example: https://www.youtube.com/watch?v=MvRTALJp8DM Dynamic system Harmless/secure distance present day wireless charging methods: use low energy harvesting drone or an ...


3

I read a bit more and realized that in RL states and rewards accept a wide variety of interpretations and this is the real complexity nowadays of this learning problem. In case of PID values, problem can be formulated as the following: imagine a Kp value, it represents a state. Next state could be increase or decrease 0.1. Same with the next state, and so ...


3

Many reainforcement learning methods require descrete actions. As you indentified, increasing and decreasing the values is one option. If it is an adaptive PID, then it might take some time to incerase the parameters if you only have an increase by the factor of 0.1. I would recommend more then one increasing factor as possible action. Increase by 0.1, 1, 10,...


3

I cannot comment on 'most common', but I can definitely share several tools and research efforts towards using FPGA for deep-learning. See my survey paper on FPGA-based accelerators for CNN which reviews 75+ recent papers. Some of these research projects have released their code, such as DNNWeaver. Also, see tools from companies such as Xilinx. Finally, see ...


3

You need enough domain knowledge to be able to tell if someone is bullshitting you or not, to be able to determine when someone has an achievable or unachievable project idea, to be able to determine who has talent and who doesn't, etc. And money. A lot of money. Quality engineers don't work for free.


2

The recently open-sourced V-REP simulator may suite your needs. I found it more approachable than Gazebo, and it can run on Windows, OSX, and Linux. Their tutorials are fairly straight forward. There are a ton of different ways to interface with it programmatically (including with ROS). It looks like there is even a tutorial for making a hexapod, which you ...


2

Certainly you can. You need a firmware for the Arduino that accepts remote control commands over the COM channel. Take a look at Reflecta or Firmata. I made something like this called RocketBot for Bay Area Maker Faire 2012. This was a PC remote controlling two Arduinos which ran the motors, a pneumatic rocket launcher, plus a siren and a warning light. ...


2

It's great that you are taking an initiative in building/replicating one like EZ-Robot. I would like to add a few things which helps in building a robot: 1) Simplicity. 2) Cost Factor. By simplicity I mean choosing the right hardware that actually helps your prototype to be built faster and the testing/debugging is easier. For instance, if you choose ...


2

We've written robotic software in C# for a school project, called NetBotProject. It works in the way you described. Instead of using an Arduino we used a self-soldered ATmega8 board with our own firmware. The communication is based on RS-232 and on top of that our own protocol. The protocol (and the firmware) has commands for setting/getting I/O ports, ...


2

Unless you are talking about something higher-order (like learning the behavior of an autonomous agent and predicting how it will move in the future), what you are looking for is to create a simple physics simulator. It will be closed-form, unless you are asking how to build a system that can "learn" the laws of physics.


2

If you have no prior experience in robotics, I would recommend one well known book, Craig - Introduction of Robotics: Mechanics and Control. This should explain well the basics of robotic manipulators. For artificial intelligence (AI), I would recommend Russel, Norvig - Artificial Intelligence, a Modern Approach, although ANNs are not the central topic of ...


2

If you're only trying to walk forward the fitness function could be the distance covered by the biped. If you're also trying to control the heading, you could define a slightly more complex function which correlates the covered distance and the heading input.


2

One page linked says the algorithm is fine for the ATmega328's 2KB of SRAM, another is for the ATmega2560's 8KB of SRAM. Your MSP430G2553 has 0.5KB of RAM, so I think that's the primary reason you can't get it to run on that controller. There are other microcontrollers in the MSP430 line that have more memory - if you look at the other LaunchPads you can ...


2

Nathan Ratliff has documented some very nice papers in Control Theory and Motion Optimization. You can access them here and here, resp. Particularly related to decision making problems, you might want to check Geoff Hollinger and Gaurav Sukhatme's course. The have a good list of readings in a logical flow. In general robotics, you may want to look at ...


2

I think there are some confusing statements or inaccuracies in this question regarding fundamental concepts in robotics, control engineerging and AI/ML. I am not sure if it helps to list these or not, so I will not I just wanted to draw attention to this fact if somebody tries to used the question as a reference. However, to answer the final question: ...


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