はじめに
みんな大好きLiDAR。点群は養分。そんなわけでHESAIのPandar 40Pをポチったので実機レビュー&&動作テストしていきます。
買って開封編
今回もまた安心と信頼のeBayで購入しました。$294+送料で6万円くらいしました。1ドル162円換算ですね。やばいですね。
そしてアメリカからはるばる届いたのがこちら。Velodyne VLP-16の大きさに慣れていた身としては40Pはでかい!とにかくでかい!
買ったばかりのLiDARのケーブルを切り配線等々して通電!.....ありえないくらい音が静か。静かな屋内だと微かにわかる程度、屋外だとほぼわからないレベル。あとジャイロ効果もVLP-16比で少ないように感じました。
ROS 2で動かそう
基本的にはこのリポジトリを使って動かしていきます。
# 依存関係をインストール
sudo apt update && sudo apt install -y libyaml-cpp-dev libboost-all-dev
# パッケージをクローン
git clone --recurse-submodules https://github.com/HesaiTechnology/HesaiLidar_ROS_2.0.git
# ビルド
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
source ./install/setup.bash
ros2 launch hesai_ros_driver start.py
RVizで見る分にはいいけどROSBagをとったりしようとすると全くフレームが出ないトラブル発生!原因を探ると下記のTopicのQoS Depthが深すぎることが原因でした(修正PRを投げてますが相手にされていないはここだけの話)
node_ptr_.reset(new rclcpp::Node("hesai_ros_driver_node"));
if (driver_param.input_param.send_point_cloud_ros) {
- pub_ = node_ptr_->create_publisher<sensor_msgs::msg::PointCloud2>(driver_param.input_param.ros_send_point_topic, 100);
+ pub_ = node_ptr_->create_publisher<sensor_msgs::msg::PointCloud2>(driver_param.input_param.ros_send_point_topic, 10);
}
点群を眺める会場
日本国内某所を歩いてみました。車や木がこの密度で取得できるのはすごいですね。これだけでご飯3杯は行けそうです。
点群マスターの方は気づいたかもしれません40ラインにしては解像度高くないか?と。そうです。高いです。チャンネル6から30までの密度がとても濃い仕様になっています。このような仕様になっているおかげで全体の点群数を抑えながら高い解像度を維持しているんですね。さすが自動運転用と言ったところです。
最後に
全体的に満足のいくLiDARでした。ですがセンサードライバがアレなところや縦方向の解像度に若干の癖があることには注意が必要です。LiDAR中級者向けと言ったところでしょうか。単純にSLAMをしたいみたいな人はVLP-16がおすすめです。SLAMだけはなくObjectDetectionやCamera Fusionをしたいという人にはHESAI Pandar 40Pはおすすめの一台です!