First impressions of Benewake CE30 solid-state LIDAR
The era of small, cheap (sub-$1,000) Lidar is upon us, but it’s still a bit in its teething stage. In this post, I’ll give some initial hands-on impressions of one of the first solid-state 3D (actually closer to 2.5D) Lidars to hit the market, the Benewake CE30 series, which has just been released.
Unlike the other Lidars I’ve been using, such as the RP-Lidar A2/A3 series and (now discontinued) Scanse Sweep, which are rotating 2D Lidars (just viewing a thin horizontal disc around themselves), the CE30 has no moving parts and has both horizontal and (limited) vertical scanning (132° horizontal and 9° vertical), as well as an impressive 4m-30m range (depending on which version you get) as well as an excellent 20Hz refresh rate. That’s perfect for small autonomous cars like ours — solid state means nothing to break in a crash, and having a vertical as well a horizontal sweep means that we can see obstacles from ground level to above the car.
Initial testing confirms the 4m range, dropping to about 3.5m in bright sunlight outdoors, which is quite good.
Official pricing ranges from less than $1,000 to $1,500, depending on the version, but at volume they’ll be available for $400-$500. If you want to buy one now in single units, you can find them on Roboshop: the CE30-A (USB version) is currently $999, the CE30-C (ethernet version) is $1,195 and the CE30-D (long range) is $1,499.
Here’s a table that shows how they compare:
CE30-A | CE30-C | CE30-D | |
---|---|---|---|
Max range | 4m | 4m | 30m |
Interface | USB/CAN | Ethernet | Ethernet |
Notes | Only obstacle detection | Point cloud, no built-in obstacle detection | Point cloud. 4mm larger in width and height |
Typical single-unit price | $800 | $1,000 | $1,500 |
Size-wise, it’s about the same size as the 2D Lidars, which is to say just right for our cars. (It’s shown above mounted on a Donkeycar, next to a Scanse Sweep for comparison).
I’ve posted a mount for it here, which you can 3D print for your car:
Here’s a screen-capture of the sort of data it provides (me in my workshop waving my arms like a dork). The top window is the uncorrected depth map and the bottom window is a top-down view.
The software support is still pretty minimalistic: a Windows demo program (shown above) and C++ libraries for Windows and Linux (including ROS). The Linux library is designed for x86 computers and won’t compile on a RaspberryPi (which is ARM-based) yet, but Benewake says that compatibility is coming soon. Stay tuned while I wait for that — I’m particularly interested in the built-in obstacle detection mode of the CE30-A, but want to run it on the RPi.
[Update: CE30-C Python code that runs on RaspberryPi is here. CE30-A Python code is here]
One of the tricky things if you’re using the CE30-C (ethernet interface) with a RaspberryPi is figuring out how to talk to the Lidar on Ethernet at the same time you’re connected to the Internet (or another network) over Wifi. After a lot of research and asking around, I finally figured it out. Raspian (the RaspberryPi Linux distro) has been changing its networking configuration process with each version, which makes it hard to find reliable tutorials online, but for the latest version (Raspian Stretch), edit your etc/dhcpcd.conf file to include these two lines:
This will assign your Ethernet port to the CE30, while leaving your Wifi adapter free to connect to your regular Wifi network.
Needless to say, if you opt for the USB version (CE30-A) you don’t need to deal with this — it just shows up as a serial port.
Finally, here’s Benewake’s promotional video that shows what these Lidar’s are really designed for.
Next post will be after I get the software up and running in an autonomous car stack. But so far so good!