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

The term "singularity" characterizes those configurations in the joint space where the Jacobian matrix loses rank and thus it is not directly invertible. The Jacobian, in turn, is used to remap a trajectory from the Cartesian space to the joint space. Therefore, if you plan the trajectory straight in the joint space, then you are not going to use the ...


3

The best way to debug geometry related applications is by using plots. First of all, plot the initial configuration, with robot TCP, cube initial position, cube final position. As these are all input values all should be ok. After this, plot the generated trajectory. Is this what you are expecting it to be? does it link the start end end points exactly? You ...


3

Your problem statement is: using a bang-coast-bang acceleration profile with symmetric acceleration and deceleration phases, each of duration $T_s=\frac{T}{4}$. So, right off, you know the time spent in acceleration is $T/4$. The peak velocity is not $T/4$. I'll agree that your professor's notation is hard to read (for me at least), but it looks like ...


3

Here is my main source, take a look at this book : Craig, John. J. (2005). Introduction to Robotic : Mechanics and Control. Pearson Education Inc. Corke, Peter P. (2017). Robotics, Vision and Control. Springer. Siciliano, B. (2009). Robotic Modelling, Planning and Contol. Springer. Paul, P.R. (1981). Robot Manipulator : Mathematics, Programming, and Control....


3

Derivative of $\sin$ is $\cos$, and the derivative of $\cos$ is $-sin$. Given a quaternion definition of: $q = \cos{a} + \mathbf{r}\sin{a}$ $\mathbf{r}^2 = -1$ I would expect to see what is effectively a phase shift at every derivative level, and that's what I'm seeing in your curves. I noticed your magnitude seems to be growing, but that may be because ...


3

Trapezoidal trajectory is basically a piecewise quadratic function. Since the function is quadratic, its second derivative is a constant. The trajectory is then basically comprises segments of constant accelerations. Denoting a trajectory function as $x(t)$, for each segment we would have $$ x''(t) = a(t) = a, $$ where $a$ is the constant acceleration of ...


2

Your pseudocode seems to do what you expect but it is not up to the task at hand since the approach of doing path planning in velocity is fundamentally wrong. Instead, you should be doing path planning in position and motor control in velocity. When you command a robot in velocity without taking into account the corrections required to compensate for even ...


2

The term cost function in path planning is borrowed from optimization. Rightfully so, since path planning in most cases is, in fact, an optimization problem. The cost function in optimization expresses the function which should be minimized (as optimization is a synonym for minimization). Optimizing a cost function translates to finding its minimum. So if ...


2

You've been asking lots of questions along these lines, and I've been there before - I know what it is to be at your wits end trying to find a solution. I'm going to try to help, but part of my "help" is to point out that I don't understand how your equations are derived. To that end, I'm going to show why I understand how they're derived. I'll ...


2

These two concepts are complementary and you use them together, the motion profile providing the input to your control scheme. At each time-step the motion profile gives you the reference values for the control loop scheme (and also some feed forward values if needed). This goes both for the acceleration and the deceleration phases. in both cases, the motion ...


2

The code is computing the gradient of the cost, which is jerk squared, not the gradient of the jerk. The comment there is misleading! As written, it seems the code is implementing the chain rule of $$ c = j^\top j $$ $$ \frac{\partial c}{\partial q} = 2j\frac{\partial j}{\partial q} $$ $2j$ is set to temp_j and you can see how the partial of jerk w.r.t q is ...


1

It should be perfectly fine to control the boat with two thrusters (i.e. propellers with some distance in between them), via a PID control scheme. To compensate for ambiguities in the model and the real world (e.g. streams, wind, thruster inequalities, etc) integral terms are required, but I didn't include them in the following answer. :) Your definition of ...


1

On the theory side, this is related to the Nyquist Sampling Rate, which is how frequently you must measure a single to get an accurate reconstruction of it's peaks / valleys. Not suprisingly, Nyquist as a name appears all over some fundamental results in optimal control like the nyquist stability theorem. I suspect the insight you are looking for is right ...


1

As suggested by ben, i will put my comment as answer. 1st How to control robot I recommend you to look about resolved motion rate control. It's a complete algorithm to control a robot from path planning, control system, inverse jacobian and simulating plant. (And you can add several other algorithm to measure the state of system if you want too, very good ...


1

Extending the previous answer which describes how to compute a minimum-jerk trajectory given a consistent distance coordinate system. A simple way to do this is to treat the first coordinate as your origin then convert each other GPS point to meter distances from your first coordinate using one of the latitude and longitude equations here


1

As reported for example in https://robotics.stackexchange.com/a/21571/6941, a minimum-jerk trajectory in one dimension is coded with respect to time $t$ as: $$ x(t) = x_i + (x_f-x_i) \cdot \left( 10\left(\frac{t}{t_f}\right)^3 -15\left(\frac{t}{t_f}\right)^4 +6\left(\frac{t}{t_f}\right)^5\right), $$ where $t_f$ is the final time ($2\, \text{s}$ in your case),...


1

The short answer is yes, it is possible. The long answer is: The all xyz coordinates have to be inside workspace boundaries of the robot Solving IK for 7 DOF is a bit harder then any other non redundant structure, you need an additional equation. If you are using an industrial robot arm, with its own programming language, you have to find out how to get a &...


1

Short answer: At first, a motion capture recording of the robot is created. Secondly, the recording is converted into a task model. Long answer: A human operator is the natural source for providing high quality control signals. A well trained operator is able to let the robot solve difficult situations. The only problem is, that the actions of a human ...


1

In general, you want to build a 3D map of the environment, or more likely an approximation of a 3D map. Typically such maps are grid-based across the horizontal plane, and each cell contains some additional information like height (see '2D occupancy maps', 'digital elevation models' and '2.5D grid maps' for more information). They often focus on geometric ...


1

I was able to figure out after digging further through several other posts and google searches. This post pointed me in the right direction: https://physics.stackexchange.com/questions/293037/how-to-compute-the-angular-velocity-from-the-angles-of-a-rotation-matrix Then Wikipedia: https://en.wikipedia.org/wiki/Angular_displacement#...


1

I think you may have a mistake in python code. That is: slerp_d = slerp * np.log(qf * q0.inverse()) I think the correct one is: slerp_d = slerp * np.log(q0.inverse()*qf)


1

This sounds exactly like cam design. When designing a cam profile, you typically want the cam follower to be at certain displacements at certain times, and you can usually choose how it gets there. For example: As you point out, there are many curve options. Curves are chosen to eliminate discontinuities in position, velocity, and acceleration. And ...


1

If you have the path you want the robot to stay on, it sounds like you need Pure Pursuit. In this simple algorithm, you steer the robot to some look-ahead point on the path. The gist of it is illustrated by this image. The original paper is framed in terms of ackerman steering angle. But it is easy to adapt to differential drive robots. You should ...


1

To begin with, let's first define the term trajectory and path. Once these definitions are clear, the rest will follow. Path is the set of all points a robot places itself at, to move from point A to point B. Trajectory is path with time information. Simple! So let's say if a robot moves from A(0,0) to B(4,4) along y = x curve, we say that the line ...


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