Closed hoshianaaa closed 5 years ago
@hoshianaaa 全体の構造を理解していませんので,チェックに時間がかかります. しばらくお待ち下さい. レビューが完了するまではマージしないで下さい.
みなさま レビューできる方はお手伝い下さい.
今年のつくばチャレンジでは、12回一時停止を行う必要がある. 一時停止の回数を3回から好きな回数行えるように変更した.
SUSPEND_NUMBER_MAXを変更することで、一時停止の回数を変更可能
手入力だと大変だったので suspend,resume point用のエディターを作成した
orne_toolsにpull requestした
動作しているようですので,最終的に改良が難しい場合はこちらを採用することにして,まだ時間がありますので,以下検討して下さい.
tsukuba_challenge
というスクリプトが2つある.
混乱しますので,1つにまとめて下さい.
また,機能が異なる場合は,ファイル名を変えて下さい.
tsukuba_challenge
に.py
がない.
何か理由があれば良いですが,pythonファイルですので,.py
をつけた方が良いと思います.
統括用のノードtsukuba_challenge
の中に詳細な制御を記載しないほうが良い.
scriptのtsukuba_challenge
ですが,全体の統括をするノードと判断しました.
見通しの良いプログラムは一般的に階層的に構成されており,ここにモータの制御まで入れてしまうと,プログラムの見通しが悪くなります.
orne_line_tracking_node
などトラッキングの制御だけを担当するノードを作って,それを統括するノードから呼び出したほうが良いと思います.どこで切るかは正直難しい問題を含んでいますので,最適かは議論の余地があります.
/icart_mini/cmd_vel
の干渉
/icart_mini/cmd_vel
を直接パブリッシュしていますが,move_baseがパブリッシュするものと干渉しませんでしょうか.
ウェイポイントに到達したので,それ以上move_baseからパブリッシュしないということであれば大丈夫ですが,move_baseからもパブリッシュされているとしたら,振動的な動きになるおそれがあります.
suspend.yaml suspend_poseとresume_poseですが,1つ1つ数字を振っていますが,waypoints_cfg内のファイルと同じように配列で表現したほうが後で修正しやすいと思います. あと,そもそも論としては,waypoints_cfg内のpoint型を拡張して,行動(suspend, resume, track)を示す項目を一つ増やして,こちらで全て管理するようにしたほうが良いです.従来の仕組みを大きく変えなければならないかもしれませんので,互換性がなくなることが懸念されますが,運用は楽になると思います.
コード内に白線追従をするsuspend_poseの番号が埋め込まれている. 上記と関連しますが,メンテナンスが行いにくいと思います.今年のことだけを考えると問題はないと思いますが,今後のことや汎用的にみなさんに使いやすいものを提供するという観点からは上記に示したように,waypoint_cfgに入れたほうが良いです.
レーザーセンサの値を中央の1箇所でしか使用していない. 距離計測に関して,中央1点の値しか使用していませんが,前のロボットがたまたまそこだけレーザが抜ける構造になっていた場合,衝突するおそれがあります.もっと多くの点(±5deg程度?)の最小値で判断した方が良いと思います.
line_track_sp -> line_tracking_sp 細かいですが,trackingの方が線を追従するイメージがあります.検索してもロボットの白線追従はtrackingが多いです.
ご検討下さい. まだ時間がありますので,しっかりしたものを作っていければと思います.
変更点 ・suspend_pose,resume_poseを配列に変更 ・suspend.yamlにトラッキング情報を追加 ・レーザーセンサから取得する値に±5度の範囲をもたせた ・play_waypotntsnav~.launchでsuspend_fileを引数で指定できるようにした
トラッキング制御のノードの作成、waypointの型の拡張は大変なのでやりません.
一通り修正して動作を確認したら,レビューの依頼を送って下さい.
変更後の動作の様子です。 大丈夫そうでした。 https://www.youtube.com/watch?v=mQJGr3WJxbk&feature=youtu.be
wikiにやり方記入
以下,指摘です.
前に指摘した問題は解決できていないところもありますが,時間切れかもしれませんので,本日のミーティングで議論して,賛同が得られればマージしましょう.
修正した
マージおねがいします
自立移動中にsuspend pointの付近に来たらresume point まで前進して停止する rviz上のresume_wp_navをおすと自立移動を再開する
This change is