11

In controls this is known as disturbance rejection. In order to sustain your motion in the presence of high winds you need the controller to be as responsive as possible, and an accelerometer would help. A fast loop rate will also help. You also have to deal with the nonlinearities of thrust, drag, weight, and lift. Depending on the design of your ...


10

You can look at degrees of freedom as if they were the number of variables that you need to use to describe your system. So, for a robot moving in a 2D plane, its state would be represented by: $$ s=\begin{bmatrix} x \\ y \\ \theta \\ \end{bmatrix} $$ For a robot moving in a 2D plane to be holonomic, it must have the ability to change any state ...


7

I implemented something like this in College: https://github.com/Auburn-Automow/au_automow_common/tree/master/automow_planning Basically we just passed the vertices of the boustrophedon path as goals to move_base. Here's a video of a bag file being played back: https://www.youtube.com/watch?v=R7nLgYquECg Here's the class paper we did for the planner: ...


6

Hi and welcome to the wide, ambiguous, sometimes confusing world of research. But seriously, looking at 20 years of papers will sometimes produce these confusions. Let's look at what's going on. In the first reference, what they are saying is: An INS/Gyro is nice, but has an error in it. That error changes (drifts) over time. Therefore, the error in the ...


5

Generally, for indoor flight, commercial quadcopters do not measure position. Instead, they measure the change in position so as to prevent the quadrotor from moving when it should not. So while accelerometers are not great for maintaining an estimate of the quadrotors position they can be used to stabilize the system, i.e. to determine what commands needed ...


5

I did a little step-by-step tutorial with images, but if my other answer regarding aligning frames didn't work well for you, or the definition of "Front Plane" or "Top Plane" is confusing in Solidworks (spoiler: it is), then consider making your own axes. From the assembly tab, go to reference geometry -> axis, then select the assembly planes to make an ...


5

The most important point is the scale. If you do monocular SLAM, your map will only be accurate up to scale so that you e.g. cannot compute the length of the travelled path in meters. The scale between your map and the world is not even constant over time so that if you come back to your starting point, it's going to be difficult to match the beginning and ...


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

Cartesians Robot use sensors. All robot need sensors. Sometime they are external (camera looking at the robot), sometime they are on the robot (IMU). Basically what you're asking is : How can an animal without any way to sense the world move from an exact point to another ? Well, it can't. Why do you wish not to use sensors ? There are very cheap ones ...


4

You have to know your initial heading, let's call it $\theta_0$. So you start at some position, $p_{start}$, and you're trying to get to some end position, $p_{end}$. Assume starting position and ending positions are given by: $$ p_{start} = <x_0 , y_0> \\ p_{end} = <x_1 , y_1> \\ $$ Those positions are absolute, but you are trying to get from ...


4

Apparently a magnetometer is useless in indoor environments like man made buildings. I cite from this paper Multi-Magnetometer Based Perturbation Mitigation for Indoor Orientation Estimation Nevertheless, the success of these sensors for orientation estimation is conditioned by their capacity to sense Earth’s magnetic field in environments full of ...


4

Precise vehicle location is not a very useful piece of data in autonomous driving so I would not expect to see many products focusing on it. Path planning and following for cars is a solved problem. If you have a static environment where nothing changes, any good position sensing will let you control a vehicle to follow a path. However, there are very few ...


4

Your intuition is mostly correct. Returning to where you started and re-observing landmarks you mapped earlier is called closing the loop in the SLAM literature. As you mentioned, your uncertainty will grow as the errors accumulate before you return to the start, if you don't have an absolute sensor. An absolute sensor is one that directly measures your ...


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

Have you considered forward-looking active sonar ? Perhaps using off-the-shelf fishfinder hardware? My understanding is that active sonar sensitive enough to detect (relatively soft) fish a hundred feet away can detect icebergs, large boats, rocks, shoreline, etc. over a mile away, because they are harder and so more reflective to the sonar. (My ...


3

First you need to understand the math, then you need to know how to program it. So let's begin with the math. This is high school material, so I go through it quickly. The math Any two points you take on a circle make a line (of course). The line bisector of that line passes through the center of the circle. If you have two of such line bisectors that are ...


3

This representative sample of what's out there may give you some idea of what's out there at various price points: Unfortunately, you're talking several thousand dollars for an outdoor unit with 10's to 100's of meter range (as of March 2015). The chart is from a blog article I wrote on the topic. Google used a $70-80K unit on their original vehicles. The ...


3

Is ... GPS data ... fused with the accelerometer data? Yes, many aircraft use sensor-fusion techniques so both GPS data and accelerometer data effect the estimated X, Y, Z position. Often they use a Kalman filter to do the data fusion. ( kalman-filter; Why do I need a Kalman filter? ) Measuring X,Y,Z accurately for each photo is important for assembling ...


3

amcl receives the integrated odometry information over the tf topic between base_link and odom and then computes the correction between the odom frame and the map frame as the odometry accumulates drift. Frames are defined in REP 105


3

Here are a few ideas: Buy 0.050" spacing prototyping board. For example, here are some possible boards that could work on Digi-Key. Use a PCB prototyping service and fabricate the board you're looking for; this would have the advantage that you could add other circuits to the panel that you may need for your project. Remove the boards from the wheel modules ...


3

It looks like most of your parts have no rotation, but some of them do, so I'm going to guess that you didn't mate your assembly to the origin planes in Solidworks. First, on your base plate, open the Solidworks part file and check that the origin planes run through what you want the origin of the part to be. If they don't and it's a pain to re-draw the ...


3

You could use player/stage or gazebo


3

Let's try breaking it down. Projection of uncertainty $H\Sigma H^T$ is projecting the state uncertainty into measurement space. How do we know that? $\Sigma$ denotes the the covariance of our belief in the filter's state $h(x)$ maps some belief about state to a measurement that we would expect if that were the true state $H(x)$ is a linear approximation ...


3

I think you're confused on a few points. Mapping is when you try to build a map, given a known location. Localizing is when you try to locate yourself, given a known map. SLAM is simultaneous localization and mapping, where you try to build a map and localize yourself in that map on-the-fly. You mention "localization and mapping" in your question, but in ...


3

I think LiDAR is common for indoor navigation. Definitely, LiDAR is the easiest and accurate solution for indoor navigation or SLAM. Many commercial robot vacuums are already in use of LiDAR for indoor navigation and mapping. Those are even cheaper and simpler than RGBD modules which is why low-cost LiDARs are hired over RGBD in mass production models. It ...


3

How do self-driving bots usually deal with transient objects, e.g., parked cars on the side of roads when they can come and go? No. In most of the open-source slams, dynamic objects are ignored which means they are just mapped as a stationary object. But there are few papers that deal with this in the way you think. These aren't moving objects at the time ...


2

It looks like your research here is a little too specific -- you're working on the practical level before being up to speed on the theory. Take a look at more of the higher-level concepts of motion planning and obstacle avoidance. The extremely simplified process is: Expressing a high-level objective for the robot Based on data describing the current ...


2

What comes to my mind first is some sort of bug algorithm. That is a path finding algorithm that has only small constant amount of memory and only sees (small) local parts of the world. You can imagine this as Go directly to the goal If there is an obstacle in a way, pick a direction and start going around it Once there is a free path again, goto 1 Of ...


2

The short answer is no -- genetic algorithms are not good for path planning. The longer answer is that while a genetic algorithm is very likely capable of solving a path planning problem, it's a very inefficient way to do so. Genetic Algorithms are preferred in problems where there are many input variables and the interaction between those variables is ...


2

Have you tried the line() function, which plots a straight line on a figure? You do something like imshow(myImage); hold on line(X, Y); Check help line for details.


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