Hello, I have a little background in mathematics and computer science and recently started getting into robotics through [ROS](http://www.ros.org/). However, I have very little understanding of the physical world and hardware in general. If possible, I would like to at least get a rough idea of how different components work and fit together to form a physical robot.
For instance, suppose I am looking to create a simple robotic arm and gripper with the goal of being able to execute tasks like:
- Command gripper to position x at time t
- Command a gripper to grab with a certain strength
- Command one finger of the gripper to push a button
[Question 1] Control
I have been trying to understand the [ros_control](http://wiki.ros.org/ros_control) package but I am still quite lost among all the abstractions in its architecture. As a simple example, let us consider a robot that is just a single servo motor and I am looking to control its angle and timing (call this my “goal”). Then am I correct in thinking that, in general, I can use a control loop with PID scheme to send (small, approximate) commands to the robot (just a motor in this example) in order to have it approach the goal? But then I also read that some motors have an internal PID built-in and are able to accept commands on a higher level. In such a case, we can, for instance, send the angle command directly without having to implement our own PID?
In both cases, how is the element of time get factored in?
[Question 2] Physical Body
I usually see sensor and actuator parts, single-board computers, etc. but how are they normally put together to form a robot apart from 3d-printing? I am thinking along the lines of [Lego’s Mindstorm EV3](https://www.lego.com/en-us/mindstorms/products/mindstorms-ev3-31313) and [Vex IQ](https://www.vexrobotics.com/vexiq/products/view-all/228-3377.html), but these kits are rather expensive and standalone. However, I still do like the idea as I would most likely be experimenting a lot with different kind of robots so some sort of kit seems to be what I want but the search wasn’t easy and I still have no clue about how they will play out with typical sensors and actuators. I notice they normally have at least 2 holes for some bolts, but what do they to?
Other kits I’ve found are [MakeBlock](https://www.robotshop.com/jp/ja/makeblock-xy-plotter-robot-kit-v20-no-electronics.html?gclid=CjwKCAiA_ZTfBRBjEiwAN6YG4ehMo2TehmXoRNjbDYKSi7dsVRlKxCUX8RMi06lx6WHMZcKBAgrhIxoCt7cQAvD_BwE), [MakerBeam](https://www.makerbeam.com/makerbeam-makerbeam-regular-starter-kit-clear.html), [Meccano](https://www.amazon.com/Meccano-Construction-Motorized-Building-Education/dp/B000GOF5S2). But frankly, I am thinking of just starting with [Tamiya](http://www.tamiya.com/english/products/list/structure/kit700F01.htm) to play around and familiarise myself without investing too much into something I know so little about at the moment.
[Question 3] Linkages and Mechanics
Suppose I can control each individual actuators and build a physical body for the whole robot. Then is looking at linkages a step in the right direction if I want to design an arm in such a way that the end-effector space is at least as big as my desired control space? In addition to some basic kits to physically play around with, I am looking at tools like [“Linkage”](http://blog.rectorsquid.com/linkage-mechanism-designer-and-simulator/) and [GrabCAD](https://grabcad.com/library/linkage-assembly).
What I have in mind is the following:
- Suppose I have a stick robot of length L that can rotate on one of its end about an axis. Let the end-effector be on the other end of the stick, then its control space is the perimeter of the corresponding circle.
- Suppose I want the control space to be the entirety of that circle, not just its perimeter. Then I can break the stick in exactly half and introduce another rotating joint about the same axis. Then for a given end-effector angle, I can bend the middle joint from pi/2 to 0 and correspondingly “slide” the end-effector distance from L down to 0 (touching the other end). So by adding a joint at the mid-point of the stick, the control space is now the whole circle.
This can go on and on in various ways, introducing more joints, adding more sticks, adding joint with a different axis of rotation, deciding if an arbitrary trajectory from one point in the control space to another is possible, and so on. But in the end, what is this area/discipline called? Is there an existing practice/set of standard joints/mechanics that, when composed appropriately, give the desired control space?
For instance, going back to the original example of arm and gripper, how can I design the robot in such a way that the gripper position and orientation is covered by the control space? Or is this just a matter of trial and error, and adding a couple of joints and making sure parts are long enough will do? I am sure this will work for a simple example like this, but I am also looking for a more rigorous treatment as well.
Sorry, it ended up being longer than I thought. And although there’s quite a number of questions packed in here, I decided to still keep them together because I also want to understand how these different parts connect to each other from end to end, even if it’s just a rough sketch.
Any pointers or correction to my understanding of even just one topic in here will be greatly appreciated. I am still really new to this and I feel like my naive conception of robotics is really not effective for completely unguided study. I can’t help but feel like a lot of these ideas I’ve laid out are utterly wrong and/or very misguided.