Hot answers tagged

15

A 3D laser range finder or LIDAR such as the one on the Google Car is far more expensive than a camera. The other reason is that while in case of a LIDAR the distance of every pixel is available, the generated data to be processed is enormous. You have to transfer and process data faster which comes out again as rising cost. Finally cameras usually have a ...


4

My question: are there cases where you'd still need a LIDAR or can this expensive sensor be replaced with a standard camera? ... A each one of them has its advantages/disadvantages. Thus in some cases it would be more suitable to choose a lidar instead of a camera and vice-versa. A LIDAR doesn't require light to perceive the environment whereas a camera ...


4

In addition to those points in Bence's answer, cameras can: Calculate many complex features that result in very robust matching between frames, and object recognition High angular resolution (typical low->high range goes from $0.5^\circ$ -> $0.025^\circ$) Lower power usage Passive sensor (doesn't require 'clean' signal of a laser)


3

navigation in urban environments Depending on the laser, there might be legal constraints on where you can use it. Running around town throwing laser rays around might require special permission/licence.


3

The best answer is probably going to be an ultrasonic sensor on a servo, you can get them in a huge range of values, from very close to very far range depending on your application, and varying beam widths depending on your accuracy needs. If you need more than 255 steps you could go with a motor and a encoder but that will be slightly more complex.


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

You can use 3D feature descriptors here to register two point clouds. I've personally used two most recent ones that performed well enough for a similar application. Following are the references to the papers: A novel binary shape context for 3D local surface description link TOLDI: An effective and robust approach for 3D local shape description link The ...


3

The answer by @nathangeorge1 is valid for the case of not hitting the legs of the chair. However, you are faced with limited sensor input. This is the case for most robots, even people need to turn their heads to see what is behind them. Either you need to mount more sensors or you may actuate the lidar. You can see an example of an actuated lidar on the ...


3

I get why you are confused. Looking at the definition of PointCloud2, you see that the field that holds the "actual" point cloud data is a 1-dimensional array. Now, you might think, wait: why aren't there 3 dimensions, one for X, Y, and Z? Well, this is why we have PointCloud2: so we can have a single array in memory contain all the info we need, regardless ...


3

I totally agree that the documentation is poor and it took me quite some time to understand what is going on. I recorded a rosbag for "velodyne_points" topic using a Velodyne VLP-16. The recorded message is PointCloud2 type. Since the recorded file was really large it gave me a lot of trouble even when only trying to take a look at it(initially I had it ...


2

If cost is a factor, you can also do 3D reconstruction using stereo vision with a pair of commercial digital cameras. Many algorithms are available online to reconstruct 3D scenes from a pair of stereo images since this is a popular research topic. The quality and range of the reconstructed scene will be a function of the image resolution, the image ...


2

Your cheapest option will probably be to use a ultrasonic sensor on a stepper, by advancing the server one step and reading the distance. The only downside to this will be the resolution you can get, which will be depend on your ultrasonic sensor. Another thing to consider is that ultrasonic waves don't work well on curved surfaces so the accuracy could ...


2

I don't have enough reputation to comment, but I'll add my 2cents in an answer. Basically you're limited to lidar mapping if you want any decent fidelity. Stereoscopic imaging via OpenCV in one distribution or another will be processing intensive and will take too long for any type of real-time navigation unless you're just shredding things computationally ...


2

I wouldn't recommend using sensors with different laser frequencies either, because that likely means using an entirely different product, with different accuracy and other properties. don't tilt, shift I think the idea of tilting a laser scanner is very problematic, especially with a height constraint like you have. But what about shifting the scanner up or ...


2

I just wanted add on to both user12895 and AL-ROBOT's answers. Based on experience: What you need is an (Iterative Point Cloud) ICP algorithm. Do not worry, if the robot cannot detect the entire map when it scans with the lidar, you can just match what ever data you capture to a part of the map depending on your current position. Great work on getting ...


2

1- Of course you don't have perfect matches 2- ICP is not used for localization, it is used to calculate the transformation the robot's pose has undergone (T+R) 3- To localize your robot, you would have to use a particle filter as lucab has said


2

I noticed a weird thing in your code -- It looks like you are calculating a first derivative of something labeled altitude in LidarLitePwm::getAcceleration() (which would be velocity, and not acceleration) and later integrating it to get something labeled velocity and (which would in fact be altitude). So either your variable and method names are wrong, or ...


2

One could use lasers with slightly different wave length - just as different channels for Wi-Fi signal. Also there could be used some kind of wave modulation... but I don't think LIDARs use such solutions, since laser point is so small, that case of interference with other sensor is... kinda, rare event. I experienced interference of distance sensors, but ...


2

Like other already answered. Cameras typically are much cheaper than Laser Range Finders. When you talk about camera you mean the 2D cameras isn't it? There are some 3D cameras like the ifm O3D3xx family of cameras available. Those camera may not have the accuracy of a laser scanner but they provide 3D depth data in reasonable frame rates at a price point ...


2

I know this is not a specific answer, but I have found that the more range and field-of-view the better. I have a gut feeling that if you can trade these off for accuracy and resolution, then you should go with more range. For example, if you could have 100 degrees FOV at some angular resolution, or 200 degrees FOV at half the angular resolution, then go ...


2

I think you can divide your problem into two subproblems: 1) Partition your 2D scan into segments/clusters which represent single objects. A basic algorithm could be: Start at first laser reading and create a new cluster Add next reading (neighbor) to cluster, if the range difference is below a threshold Else create a new cluster This approach can be ...


2

You can start by using split-and-merge segmentation algorithm. There are many algorithms available A Comparison of Line Extraction Algorithms using 2D Laser Rangefinder for Indoor Mobile Robotics. If you want to refer the code, A ROS package is available here and below picture is the result from it.


2

Your lidar has a minimum range for 12 cm, which means your maze corridors should probably be double that range (for either side of the sensor), plus the width of the sensor itself, which is 9.5 cm. That is, if your maze corridors are narrower than (12 + 12 + 9.5) = 33.5 cm, you're likely operating inside the minimum range of the scanner and may not be ...


2

You are correct. Most Velodyne LIDARs (very commonly used on autonomous vehicles), use 905 nm diode lasers, and so do many Hokuyo laser scanners and SICK LIDARs. A new company, Ouster, uses 850 nm lasers, claiming that their choice of lower wavelength is because the "atmospheric water absorption is orders of magnitude lower than at 905nm". Some more info: ...


2

Both 1550nm and 900nm ranges are used in different lidars. Velodyne and majority others use 905nm lasers because these diodes are really cheap. 1550nm are used when there is a need for very long distance measurement range, such as Luminar, as the eye safety threshould is several orders of magnitude higher for this wavelength than 905nm. In principle, ...


2

Lidar, sonar, and radar all work generally the same: Emit a pulse. For radar, this means briefly energizing an antenna. For sonar, it means briefly energizing a sound transducer/speaker. For lider, this is means briefly flashing a light (typically a laser). As you emit the pulse, start a timer. Wait for a reflection to return. For radar, this means an ...


2

As Ben noticed, you may want to elaborate on your question, but in general data collection in ROS is performed using tools from the rosbag package. As you'll find when you read the documentation, data (either from a simulation or the real world) can be recorded during a session, but not after it has already finished. Recorded data can be replayed or ...


1

If you are willing to work at it, adding LIDAR to the Create 2 should be possible. If you read the iRobot Create 2 OI Specs, you will see that you can communicate with the Create via serial communication. If you look at the datasheet for the RPLidar, you will see that you can communicate with the sensor using serial communication. Because you cannot program ...


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