駆け出し点群プログラマー日記
2019/12/25
ブログ初!!
メリークリスマス!!人生初ブログ投稿です。聖なる夜に点群とイチャイチャしているわけですが、なかなかいい雰囲気になりません!!とりあえず、やったことを忘れないように書くことにしました。 実は忘れてしまったから書き始めたことは内緒ですからね!
( ´ー`)フゥー...
追記(2020年4月28日):新しいPCを購入して久しぶりに点群で遊ぼうと思っていたら変なエラーが出るので、なんだこれとなったが前にも遭遇したことがあるやつだったのでメモ。
pclの何かしらのパッケージをビルドするときに
/usr/include/pcl-1.8/pcl/sample_consensus/model_types.h:99:3: warning: ‘pcl::SAC_SAMPLE_SIZE’ is deprecated: This map is deprecated and is kept only to prevent breaking existing user code. Starting from PCL 1.8.0 model sample size is a protected member of the SampleConsensusModel class [-Wdeprecated-declarations] SAC_SAMPLE_SIZE (sample_size_pairs, sample_size_pairs + sizeof (sample_size_pairs) / sizeof (SampleSizeModel)); ^~~~~~~~~~~~~~~
とターミナルに表示されて何コレと思う そんなときは/usr/include/pcl-1.8/pcl/sample_consensus/model_types.hの93行目から103行目を
namespace pcl { /* const static std::map<pcl::SacModel, unsigned int>; PCL_DEPRECATED("This map is deprecated and is kept only to prevent breaking " "existing user code. Starting from PCL 1.8.0 model sample size " "is a protected member of the SampleConsensusModel class") SAC_SAMPLE_SIZE (sample_size_pairs, sample_size_pairs + sizeof (sample_size_pairs) / sizeof (SampleSizeModel)); */ }
のようにコメントアウトしてやる
以上
rvizで点群を表示させる
$ roslaunch realsense2_camera demo_pointcloud.launch
addタグで見たいトピックを選ぶことで表示可能(今回は自動でやってくれるが、普段は選ばないといけないらしい)
2019/12/26
記憶が蘇った!!
昨日は誰でも簡単にできるやり方でしたが、今回ちょっと難しく、、、。というのも、これが忘れてしまった例のやつです。人間の過去の記憶というものは実にあいまいで、思い出しにくい。 (´Д`)y~スパー
こんな事があったのですが、忘れてましたね~。はい、、、。これが分かれば、後は楽多分、、、。 PCLやったことが今までなかったのでkaraageさんが提供していたPCLのサンプルコードをとりあえず動かしてみようと思っていました。とりあえず、動いたので優勝です。
karaageさんのサンプルコード動かすよ!
$ roslaunch realsense2_camera rs_camera.launch enable_pointcloud:=true
$ rosrun pcl_ros_processing color_filter_hsv input:=/camera/depth/color/points
$ rosrun rviz rviz
addタグでby topicにてcolor_filterのpointcloud2を選択
↓
からの
↓
Fixed Frameをcam_linkに変更
↓
優勝(≧∇≦)
なかなか優勝できなかった理由
rs_cameraではなくrs_rgbdだと思っていた
enable_pointcloud:=trueのオプションをつけ忘れたので/camera/depth/color/pointsのトピックを拾うことができなかったため
Fixed Frameをmapのままにしてた
やっとスタート地点や!物体検知できるようにコード書いていくぞー!
メリークリスマスー!
参考サイト
2019/12/26
携帯を取り戻した
最近本当に寒いです、移動にかかる時間ってなんとかならないんですかね?暇すぎです!携帯を受け取りに落とし物センターまで行ってきたのですが中々渡してくれませんでした。もてあそばれているか、慎重なのか、、、。 (´Д`)y~スパー
今日は平面検出やってみました。
ということで
点群平面検出
なーんか知らないけど、点群の更新が遅い、、、。かくかくしている。これはPCスペックに依存したものなのだろうか?検証する必要がありそうだ。
推奨PC~~~~~(# ゚Д゚)!
2019/12/28
時間ない
そろそろお正月だ~と吞気に言いたいところですが、、。課題が山ほどあります。なのにPCLについて勉強して他をほったらかしにしているなんて、何してんだー! とはいうもののなかなかPCLとはお友達になれません。早く物体検知のぷろっグラム書きたい~。書けない~。わからない~。
(´Д`)y~スパー
errorの原因
realsenseのlaunchを立ち上げていると赤文字のエラーがたくさん出てくる。logがどうたらこうたらと書いてあるのでlogがいっぱいになったのかそうかじゃあ消そうということで、消したが何も変わらず、、。調べると以下のように電流が足りないらしく、、、。どういうこっちゃ \ ( ゚Д゚)/ ヽ (´ー`)┌
ということで、たくさんの機能を制限した。
roslaunch realsense2_camera rs_camera.launch enable_pointcloud:=true enable_infra2:=false enable_infra1:=false enable_gyro:=false enable_stereo:=false
なんとかerrorを出ないようにすることができた。 あー終わる気しない
( ゚Д ゚)y~スパー
参考サイト
2019/12/29
アウトレットパーク
久しぶりにショッピングに出かけました。人が多いですね。普段座ってばっかりいるので、とても疲れました。ショッピング中も目標としている点群処理ができるようになるのかばかリ考えていました。
(*´Д`)。oO
平面除去に成功
とにかく情報を集めてコードを書いて、なんとからしいところまで持ってこれました。
(´Д`)y~スパー
物体検出的なことできそー
`∀´)Ψヶヶヶ
~追記(2020/1/4)~
publishするときにrosのメッセージ型に直すのをやっていませんでした。以下の通りにpcl→rosに変更しましょう。
sensor_msgs::PointCloud2 output; pcl::toROSMsg(*cloud_output, output); pub.publish(output);
使用したコード
参考サイト
githubにpushする際のoriginを変更する方法 - Qiita
2019/12/30
雨の日
あと少しで年明けですね。今年の振り返りでも記事に書こうかなー。今日は雨でした。なんか憂鬱ですねー。
(´Д`)y~スパー
物体検出
ただ平面除去しているだけなんですけどねー
(´Д`)y~スパー
seg.setDistanceThreshold(threshold); //閾値
を0.01ぐらいにしました
2019/12/31
大晦日
あー、なんか一年終わった~。(まだ終わってない)
今日はずっと自宅にいたが、デザートを食べたかったのでコンビニにいったら久しぶりの知人たちに会った。元気そうだった。そろそろ成人式なんだよな~。 今年はいろんなことがあった年だった。とくにROS関係は結構やった。マイクロマウスもちょっとやった。デンソー杯なんとか、完走しなくてもいいからでたいな~。 そういえば、来年の目標立てないと!来年もいろんなことに挑戦する!
よいお年を( ´ ▽` )ノ~~~~~!
classを用いてコードを書き直した
2020/1/4
クラスタリングとTFを追加した
クラスタリングの処理と座標変換ライブラリーのTFを新たに前回のプログラミングに盛り込みました。平面除去をした際に除去しきれなかった部分と検出したい物体を分けるようにしました。TFはあまり気にしたことはなかったのですが、重要なライブラリーということをちらほらサイトで説明されていたのを見たのでやってみました。 こんな感じになった。何度もコンパイルエラーになったりして大変だった。TFについては参考サイト欄に貼っておきます。
点群のサイズ確認方法
std::cout << cloud_output->points.size() << std::endl;
使用したコード
参考サイト