3

You need to resort to the Special Euclidean groups. In particular, in your planar case, the group is $SE\left(2\right)$ and thus the representation is the following: $ T=\left(\begin{matrix} R & v \\ \mathbf{0} & 1\end{matrix}\right), $ where $R \in \mathbf{R}^{2\times2}$ is the matrix accounting for the rotation, whereas $v \in \mathbf{R}^2$ is ...


3

A homogeneous transform $T$ is 4x4 matrix that looks like: $$T=\begin{bmatrix} R & t \\ 0_3 & 1 \end{bmatrix}$$ where $R$ is a 3x3 rotation matrix and $t$ is the translation. The rotation matrix can be calculated by converting either the quaternion or the euler angles. This matrix is used to transform a point from one coordinate system to another....


3

@jpro, I think you are not understanding something about kinematics. Whether you use Euler angles, or homogeneous transforms, or rotation matrices, or quaternians, or any other kinematic representation, ALL of them relate the object's pose with respect to some coordinate frame. If you refer back to a reference coordinate frame located at the end of the ...


3

So I'll point out what might be some problems, at-a-glance, but wow this is one of the longest questions I've seen here. I'm pretty swamped with real-life stuff at the moment, so I'll just point these few issues out, you try them, update the question with the results (please don't respond with new information in comments on this answer), and then if it's ...


2

It sounds to me like you want something where you can (exaggerating) express 30 degrees as thirty 1 degree transforms, such that you can then do something where $\sin{(1)} \approx 1$ and "cheat" that transform to use $\sin{(30)}\approx 30$. You can't do this, because as BendingUnit22 put it, "Truth is invariant under change of notation." It's similar to ...


2

I think that your problem is rather uncommon, so there may be no solutions ready to use without any modifications. However, you may have a look at "The Dynamic Window Approach to Collision Avoidance" by Dieter Fox, Wolfram Burgard and Sebastian Thrun. This reverses your problem: given current velocity and achievable accelerations, find a path for a robot ...


2

People use complex inverse kinematics because they do not have the joint positions. In the case of an industrial robto, you know the you want the end effector at a certain position, and you calculate (or the robot's software) calculates what joint angles correspond for that position. (actually one of the ways of doing this is to calculate the xyz position of ...


2

I'd suggest thinking about the problem this way: When you construct a Jacobian for an arm, it will typically map your joint velocities to to one of three representations of the end effector velocity: The "world velocity", which is the derivative of the position coordinates of the end effector. The "body velocity", which is the world velocity you would get ...


1

I did not read the book. But one of possible thinks that came to my mind is this: There is big field in mathematica dedicated to preciselly define some terms (set, metric, metric space, ...) and prove a lot of thinks about them. Once you can prove, that something is "metric space" then you can use any result from this part about "metric space&...


1

Your $A_{0.3}$ matrix is a 4x4 transformation matrix. In a general form these 4x4 matrices can be subdivided into a 3x3 rotation and a 3x1 translation part. (The remaining parts can be used for scaling, but are not used in robotics) $ A_{0,3}= T_{4 \times 4}= \begin{pmatrix} R_{3 \times 3} & T_{3 \times 1}\\ 0_{1 \times 3} & 1 \end{pmatrix} $ The ...


1

I suppose this is a question of what is "most efficient" and what are you actually doing? And how are you going about simulating it? Are you looking for a mathematical proof of how to find all infinite points on the surface of a sphere? Do you have a specific amount of points to look for, like only 200 scattered around the surface and need to find the ...


1

The standard way to perform projection transforms between camera images and the world outside is through a projection matrix. Look at this presentation starting at page 25 for an introduction to the subject. But I recommend that instead of implementing your own, you rely on external libraries to perform this sort of task whenever possible, e.g. in ROS the ...


1

Checking for three is a subset of checking for many; so, I am going to consider the more general solution. I will discuss the three point solution at the end. First, convert the polar coordinates to Cartesian Coordinates. First, to make things simple, use your robot as the reference frame (make it the center of the universe). That means, for each target ...


1

The sketch seems to represent a Kuka KR60-HA, doesn't it? First of all, one might ask oneself, why, for instance, the rotation axis of joints 4 and 6 is the same. My ad-hoc answer would be that Kuka KR60-HA is praised for its high accuracy and "highest performance in terms of cycle time". These characteristics almost answer the second part of your question,...


1

The project repositories at Florida State should get you what you are looking for: https://people.sc.fsu.edu/~jburkardt/m_src/m_src.html Look at not only the projects which start with "voronoi_," but also "sphere_voronoi."


1

First, determine the angle $\phi$ between the robot $<\!a_{x},a_{y},\theta\!>$ and the target $<\!p_{x},p_{y}\!>$ as follows $$ \phi = \tan^{-1} \left( \frac{ p_{y} - a_{y} }{ p_{x} - a_{x} } \right) - \theta $$ See the below picture, Based on $\phi$, you can determine the rest.


1

It probably depends on the size of the area where you want to operate your robot. For me it was always good enough to use equirectangular projection, because for my assumptions "at most 1km large area at most 1000km from where I live" the error always comes up as negligible (I don't remember the value now and I don't have time to calculate it, but my guess ...


1

Solution : Is there another solution without prerotating vectors ? I finally got a solution, and here it is. Python, ROS geometry library, numpy My actual code/maths in short : 1) Rotate the position & orientation of lasers by roll & pitch. The axes='sxyz' means : Static axis, apply roll, pitch, yaw. quaternion_matrix creates a 4x4 ...


1

Applying the rotation sequence (x-y-z) that you specify, your first robot tool will have the following rotation matrix: $R_1 = \begin{bmatrix} 0 & 0 & -1 \\ 0 & -1 & 0 \\ -1 & 0 & 0 \end{bmatrix}$ While your second robot tool will have the following rotation matrix: $R_2 = \begin{bmatrix} 0 & 0 & -1 \\ 0 & 1 & 0 \\ ...


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