Skip to content

NITKK-ROS-Team/AutoNaviSim

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

移動ロボットの自律走行シミュレーション研修

Linux(Ubuntu)上でC++を用いて,移動ロボットの自律走行のシミュレーションを作成する研修を行います.具体的には,

  • PID制御を用いた円軌道,および点列で表現される軌道の追従
  • パーティクルフィルタを用いた自己位置推定を行いながらの軌道追従

を実施します.なおこちらは,著者が2022年秋学期の授業で用いたものをまとめたものになります.

準備

本研修で用いたソースコードは,Ubuntu 20.04を用いて開発しました.確実に使用したい場合は,同じOSをご利用ください.ただし,C++を用いて開発されているので,他のLinuxディストリビューションやOSでも実行は可能といえます(検証はしていません).

シミュレーション結果の描画にはgnuplotを用いているので,こちらも適宜インストールしてください.なお開発の時点で使用していたバージョンはgnuplot 5.2 patchlevel 8です.

進め方

まずはtext.pdfを読んでください.text.pdfの中に,いくつか演習としてプログラムの作成問題を設けてあります.このプログラムの作成に関しては,practiceディレクトリ内のソースコードを用いてください.practiceディレクトリ内のソースコードは,一部ソースコードが未記入の部分があるので,その部分を埋めてください.なお,srcディレクトリ内に解答の一例としてのソースコードがありますので,適宜参考にしてください.

bayes.pdfは,同じく2022年の秋学期に,著者が大学院生向けに行った授業の内容をまとめたものであり,text.pdfのベイズフィルタに関わるところをより詳細にまとめたものとなっています.パーティクルフィルタを用いた自己位置推定の詳細を知りたい場合は,bayes.pdfを参考にしてください.ただし,bayes.pdf内で述べられているロボットの運動に関するモデルは,text.pdf内,および本リポジトリのプログラム内で使用されるモデルと異なることに注意してください.

text.pdf内にも書かれていますが,この研修はLinuxの端末の利用とC++に関して知識があることが前提となっています.これに関しては,こちらのQiitaのページ【研究室向け】UbuntuでC/C++を用いたプログラミングの研修(ROSも)もご参考に頂ければ幸いです.

デモ

パーティクルフィルタによる自己位置推定なしの軌道追従結果.推定値と真値が徐々に離れて,ロボットは正しく軌道追従ができなくなります.

wo_pf_demo

パーティクルフィルタによる自己位置推定有りの結果.正しく軌道追従が行えるようになります.

pf_demo

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 96.0%
  • Shell 4.0%