7

The answer is 'yes'. A more detailed answer likely depends on how you define "robotics". But generally, robotics applications are considered to require a very broad spectrum of knowledge. So while most robotics includes some form of mechanical function, you could easily specialize in artificial intelligence, microcontroller design, or any number of ...


6

In general you don't need to learn assembly to be able to program a microcontroller. As long as you know C, it's enough for you. Knowledge of assembly of course would help. Specifically, it would help in writing optimized code (or rather, not writing stupid code) as well as having a good estimate of how fast or slow a piece of code could be. Sometimes in ...


5

This is one of those "open-ended" questions that the moderator doesn't like. So I'm going to leave you with some short, general answers. These are based on over 20 years in industry designing various bits of hardware and software for embedded systems: Learning enough about microprocessors so that assembly language programming comes naturally will be a big ...


5

It is usually a combination of 2 different pieces software. Generally a higher level software which implements most of your autonomy, advanced navigation algorithms, and a lower level software which deals with interfacing the motors, a simple state estimator, and accepts waypoint commands. Most common is ROS for the higher level software, and a PX4 for lower ...


4

Working in robotics doesn't mean that you must understand (or enjoy) all the relevant disciplines. It simply means that you must understand that you are one part of a team that produces a robotic system. On the other hand, what skills you have will determine which teams will find you valuable as a member -- smaller teams require everyone to bring multiple ...


4

For most applications, I think the calculation you describe is good enough when selecting hardware. You want your arm to be able to have some lift capacity at the worst case, which is when the arm is fully extended. Note that you should also take into account the weight of the arm itself which is typically non-negligible. That being said, yes, there are ...


4

I think this is a great question. The two basic options are make it yourself or have someone else make it. EDIT: check the bottom for a third option... Make it yourself To make it yourself you need to choose a material and manufacturing process for the part, then acquire the material and skills needed. (Usually people select a process they know how to do ...


4

If you make a career of robotics, you will come in contact with a lot of languages, a lot of libraries, and a lot of systems. The more you know about the fundamentals, the easier it will be to adjust to something new. Likewise, if you focus your learning on whatever project or context is relevant to you at any given moment, it's more likely to stick with ...


3

Have you considered modeling the robot in a simulator? V-REP is new and quite good, having lots of examples robots from other famous projects. Gazebo is another popular one that is usually used with ROS (although V-REP also has ROS support). Both run on linux and are open-source.


3

The major disadvantage of assembly language is that it is different for each processor that you use. Therefore there is a big learning curve whenever you change processor. Clearly, if you only ever plan on using a single processor (or family of processors) then this is less of an issue; however, life is rarely that simple. Equally, assembler allows you to ...


3

I think you are mixing the idea of BEAM robotics (why that, I prefer to not use this term), with analog electronics. Analog circuits are in major applications more fast than a micro processed one, that have a clock to process instructions. The "problem" with analogs is in part with noise, but early computers are made analog, operational amplifiers are made ...


3

If we are defining BEAM robots as ones that do not use microprocessors, and only use analog circuits, then yes I think it is possible, but not practical. A microprocessor is essentially a programmable circuit, and if we define what we want our robot to do, then we should be able to program the hardware (by building the proper circuit) without needing a ...


3

I don't think there is any "must" for you task. In turn, it depends on what your robot platform is. In the context of embedded systems, MATLAB could be cumbersome. I don't know what your robot system is like, but maybe this article based on ROS and Sphinx is a good starting point? Also, for the purpose of understanding speech recognition technologies, the ...


3

I believe the EN 61508 is the most important one from the software point of view. But it is not only valid for robots. This is one of the most important standard for industrial development. It defines the safety of a system, that it has to be free of "unjustifyable risks" There are all the requirements for: - rts - redundancy (including redundant software)...


3

Having only the proportional term of the PID regulator will most definitely leave you with oscillations. If you think about it, it's quite similar to a linear harmonic oscillator F=k*x (formula for spring motion). Adding a derivative term should damp out those oscillations. If after waiting for the system to stabilize you see it stabilized with some offset ...


3

For your first example, Max-Weight = Torque/arm-length. Going beyond that, there are several software applications and API's out there that can be a big help for these kinds of calculations (matlab or pyODE to name a couple), but they will be pretty useless without a decent understanding of what you are computing. A good resource to learn about the mechanics ...


3

web based robotic simulator will be a good project. You can do simulators like gazebo and morse


3

I feel like I'm having to do a lot of work to understand this question. You are trying to simulate two vehicles, and... what's the issue? You are trying to simulate them in Gazebo, right? Have you seen this answer on the ROS website that shows launching two robots in one simulation? As I mention, it's very difficult to read your post, which may explain why ...


3

most people told me about using registers and memory addresses to talk to devices Shortly, that is the correct answer - if you are interested how software will (ultimately) talk to hardware. How hardware can have an impact on software, things get a lot more complicated. If you want to understand deeply how things happen, you should study how micro-...


3

There are quite a lot options for this, each with different features, strengths and weaknesses. A few examples: Gazebo (as mentioned by edwinem): very well known in the robotics community, some would say it's a little bit dated Microsoft Airsim (also mentioned by edwinem): originally developed for autonomous drones and autonomous driving, uses the unreal ...


2

You must go through softwares like matlab(licensed). Open source versions are also available like QtOctave and FreeMat. You must have a sound knowledge about Digital Signal Procesing , different type of Filters etc..


2

Robotics is by definition a subject rooted in mechanics and if you "hate" this subject then surely there will always be an large part of this industry that you "hate". So I would suggest you review either: a. What you mean by "I hate mechanics" or "the mechanical side" b. Understand what you like about Robotics because in the end all of the work is ...


2

It turns out that the statement in the Roomba SCI spec sheet about ports is either outdated or incorrect. The Roomba 5XX series (and 7XX series) uses port 115200 to communicate, and that's what was wrong. Wiring: I wired the TXD of the cable to the RXD of the roomba (so the orange cable would go into port 3 on the roomba), and vice versa. I also wired the ...


2

The short answer is that learning robotics is easier with the math than without. Here are a few areas of robotics and the field of mathematics that make them manageable: Measuring data from sensors, with some level of uncertainty: statistics Solving problems through reasoning: formal logic Kinematics: linear algebra Control theory: calculus Algorithms: ...


2

Math is the way that roboticists translate our understanding of the world into something that a computer can understand. Since this is not how humans do it, this requires a lot of rather difficult math. How would you tell a computer what a pencil is? How does that description change if the pencil is rotated? Robot control also needs a lot of math. If I move ...


2

YACC and Lex to the rescue. They are exactly what you ask for: "a general purpose datagram parsing library". Bytes go in one end, and structured data comes out the other end. You are responsible for doing 2 things: Tokenizing Lex is used for tokenizing – deciding how the input stream of bytes should be grouped. For example, to tokenize the text ...


2

It really really depends on the kind of map. If you want a map that is a 2-D grid of boolean values, then it depends on how sparse the map is expected to be. If you want to keep all boolean values, you would need at least N * M * S bits (assuming the map is N by M and each location has S sensor readings), which for your numbers translate to ~2MB of data. If ...


2

The world is always bigger than the robot's memory can hold (it's bigger than your memory can hold, too). There are 2 ways to reduce the space that you need. The first is to consider whether you need to pre-allocate the storage space, and the second is to consider what kind of compression you can use. Pre-allocating space makes sense if you already have ...


2

BEAM robots are generally simple circuits that exhibit some emergent behavior that (superficially) mimics biological behavior. Generally speaking, there is no hard criteria for what a BEAM robot must accomplish -- they are not built to handle tasks that require reliability or repeatability. While BEAM robotics should in theory be able to handle any tasks ...


2

The main difficulty of using openCV to classify fish underwater involves lighting. Even in clear water, the amount of available light varies wildly with depth, cloud cover, sun position, etc. Fish prefer not to advertise their presence to any possible predators, so they've evolved to blend into the water column as much as possible. That's not to say it'...


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