5

Since the configuration space is the set of all possible configurations the link can have, i.e. all possible angles from 0° to 360°, shouldn't the c-space be a line rather than a circle? You are correct that a rotating link has one variable $\theta$ that can attain any value in the range $[0, 2\pi]$ (let's talk in radian). However, the configuration space ...


5

Obstacle padding/ robot padding. Suppose you are working in a 2D environment and that you have an obstacle of the size 2x2. When doing planning (graph search, etc.), you increase the size of the obstacle to, for example, 3x3. Then when you find a path, the path is guaranteed to be at least of the distance 1 away from the actual obstacle. As for a smoother ...


5

There is a saying in software engineering which states that your company structure is reflected in your software architecture (I cannot recall the exact phrase). This is true for a robot control software stack also. Control is closed loop, planning (motion, trajectory or any other planning) is not (it is open loop). In a closed loop solution (i assume in ...


4

If you are able to sense obstacles with a sensor pattern that is circular (eg laser scanner, contact sensors on a circular body, etc), and you can rotate the robot pose without translation, then you can satisfy the assumptions of the Bug algorithm. If you use a point model for your robot in the map, then you grow the obstacles by the radius of your robot. ...


4

Many articles reference algorithms such as A*, PRM or RRT based planners to motion planning algorithms which seems unreasonable since it is still necessary to parametrize found path with time.I wonder, why? First of all, RRT, for example, can be used to plan trajectories directly. When the robot in question has $n$ DOFs, such a planning problem happens in a ...


3

Actually I wish to implement my own algorithm (like some variation of RRT) without MoveIt!/OMPL hence it is important for me to know all the details. I am really confused about this. Any explanations or links where I can find the details and understand them would be really helpful. OMPL and MoveIt have a ton of features that are already ...


3

Hi usually the time optimal solution of a motion not having specific constraints is know as 'bang-bang'. Where you let you system accelerate and decelerate at the maximum rate possible. In your case, you command a_max until v_max is reached then you stay at this speed until you need to break at -a_max to reach zero velocity. I also suggest to look at ...


3

Most planning algorithms reduce your robot to a point and plan a path for that point. The arising problem is exaclty what you are facing. As suggested before, obstacle padding is one of the methods, but generally, the configuration space has been proposed to solve this problem. Configuration space is a more advanced and more general way of padding ...


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

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

Quaternions and SLERP is what you want.


2

I have found out that my code works. It is just that most of the literature I have read uses Lidar or Sonar sensors for histogram updates. I had assumed that in the case of a stereo vision set-up, all sectors are updated simultaneously. However only the sectors in the field of view of the camera is update unlike in the lidar implementation that samples a ...


2

Not really MoveIt! is designed for robotic arms, and is being heavily adapted for the applications you see here, fixed wing aircraft typically use very diffrent types of motion planning becouse of the fact that they must maintain some forward velocity that is related to its bank angle. Aircraft motion planning typically also contains maxium g force ...


2

There is a dynamic version of A* (or of Dijkstra's algorithm) that was developed to address exactly this problem of trying to do planning on a map as you discover it. It is called D* or occasionally Stentz's algorithm after the originator, Tony Stentz. Have a look at this UIUC course page for a good description of the formulation, and the wikipedia entry has ...


2

You're welcome to steal the AStar class from my C++ highway driving project. https://github.com/ericlavigne/CarND-Path-Planning I used AStar to control a car driving on a simulated highway with traffic. In my case, state included position (along and across the highway), speed (along the highway), and time (which implicitly included the expected positions ...


2

Side note: If there are multiple objects at A and C, so the robots continue circulating to move the objects cyclically, then ABCD and CDAB are the same paths. In either case (single objects at A and C or multiple objects), just assign a weight to each segment that equals the distance travelled to go from source to destination. Add the segment lengths and ...


2

I have lots of experience with this that I won't bother you with. Most vehicle planners have multiple layers, with different requirements. In short, you're right in that they are very closely related and often overlap. There is some general consensus from what I've seen for a "layered" approach as follows. example three layers Goal planner Path planner ...


2

I think what you said in your question is correct so far. Single and multi query planning refers to the number of planning tasks you are about to execute. That means, the number of different paths you want to plan, given an unchanging environment. PRM constructs a graph-structure (roadmap) of the free configuration space. Instead of exploring the c space ...


2

In words, rather than code. Assume you have the path defined as a dense list of points. Find the point on the path closest to robot Draw a circle of radius R about that point, then find the point on the path where the circle cuts (usually the circle will cut between two points). The circle may cut the path multiple times, take the closest (along the path) ...


2

What they describe is normally called (markerless) SLAM. Mostly implemented with laser scanners (from Sick, Velodyne, Pepperl&Fuchs,...). Classic implementations are gmapping, cartographer or hector-slam.


2

I am assuming you need a force field mapping of a two-dimensional space. You will need an array to hold the goals, unless there is only one. You will need an array to hold the obstacles. Both of these arrays must be two-dimensional to contain the coordinates of the locations. You will need an algorithm that, for a given point in your space, sums the ...


1

What you have implemented in the sourcecode is called steering behavior and was introduced by Craig Reynolds in the year 1999 in the paper Steering behaviors for autonomous characters The idea is to use a locomotion model (which is given in your sourcecode too and then calculate the angle of the car like robot. Implementing steering behavior in software is a ...


1

Solving this miracle can be done with a combination of a story graph, interactive execution of high-level commands and a planner. At first, the robot needs a control interface which accepts high-level commands, e.g. “go to south of u-shape”, “go to inside u-shape”. Then a random sequence of such motion primitives is generated until a valid plan is found. In ...


1

I was just reading a paper on this yesterday : here I am still in the process of understanding it properly. will update the answer soon. PS: I don't have enough reputation to add comments yet that's why I answered directly.


1

In robotics, a holonomic chassis is one that can move in an arbitrary direction regardless of the robot's facing. Such a robot can move in interesting ways. For example, if you have a fixed camera on a wheeled holonomic robot, the robot could smoothly move, turn, park, etc. without turning the camera. So if the wheel has to change direction before moving in ...


1

I would strongly encourage you to read the documentation of MoveIt!, especially the basic concepts to understand MoveIt! pipeline. And the plugins page to understand which is the default planner and how it could be replaced by your own. From the documentation of MoveIt! MoveIt! is designed to work with many different types of planners, which is ideal ...


1

I am assuming that by real time path planning, you mean starting off in a partially known environment and updating your 'plan' as you gain more knowledge through your SLAM algorithm. For a real world scenario, two of the biggest concerns here would be a) taking into account new information from the sensors to update your obstacle map and plan, b) being ...


1

Maybe there is a bit of misunderstanding about iterative methods for solving IK problems. Actually, an iterative IK solver does not necessarily require timestamps (or anything related to time). The general principle is that you start with some robot configuration (i.e. joint values) then you iteratively modify the configuration such that it eventually ...


1

I have used A* for motion planning in a highway simulation with moving obstacles (other cars). The README includes a thorough description of my approach. I recommend reviewing this project to understand how A* can be used effectively for robotic motion planning. Let me know if you have any questions about how the project works, or if there are additional ...


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