educationdemura.nethomeeducationprofileodedownloadteamwrslinkROS演習9-2019:ナビゲーションとアクションプログラムeducation2019.12.04この記事は私が金沢工業大学ロボティクス学科で担当している2019年後学期開講の講義ロボットプログラミングII用です。ROS演習8ではrvizを使いGUIでロボットを動かしましたが、今回はROSのActionLibを使ったアクションプログラムを学びます。以下のチュートリアルも参考にしてください。アクションクライアンを作成。1番目の引数は接続するアクションサーバー名。アクションサーバーが立ち上がっていないとだめ。2番目の引数はtrueならスレッドを自動的に回す(ros::spin()。アクションサーバーが起動するまで待つ。引数はタイムアウトする時間(秒)。ここでブロックされる。buildハンズオン上で展開したsimple_goalを次の要領で実行しよう。geditで~/.bashrcを開き、最後の行に以下を追加し保存する。これにより、毎回入力する手間がはぶける。TURTLEBOT3_MODEL=burgerまず、端末を開き次のコマンドを実行。turtlebot3_world.launchこの地図map.tarファイルをダウンロードして、次のようにホームディレクトリで展開してください。maps.tar展開するとmapsディレクトリができ、その中に、mymap.pgmとmymap.yamlの2つのファイルがあります。pgmファイルは地図画像ファイルで、yamlファイルは設定ファイルです。mymap.yamlファイルの1行目に画像ファイルの場所を指定する必要があります。/home/demulab/maps/mymap.pgmになっています。demulabの部分を自分のユーザ名に変更、保存してください。2個目の端末を開き次のコマンドを実行。map_file:=$HOME/maps/mymap.yaml3個目の端末を開き、catkin_makeして生成したsimple_goalノードを起動する。C++スタイルガイドを参考にRobotクラスを作ろう。ROS.org基本動作Turtlebot3を指定速度[m/s]で直進する以下のメンバ関数を作ろう。linear_vel)Turtlebot3を指定角速度[rad/s]で回転する以下のメンバ関数を作ろう。ang_vel)Turtlebot3を指定速度[m/s]で指定の距離[m]だけ直進して停止する以下のメンバ関数を作ろう。dist)Turtlebot3を指定角速度[°/s]で指定の角度[°]だけ回転して停止する以下のメンバ関数を作ろう。angle)Turtlebot3を指定位置(ロボット座標系)へ移動する以下のメンバ関数を作ろう。ROSの座標系なのでロボットの進行方向がx、左方向がy軸の正方向です。y)ウェイポイントナビゲーションスタート地点からゴールまで進むプログラムを作ろう。ロボットが通過するウェイポイントとその地点での姿勢を配列として実装しなさい。ロボットはウェイポイントで停止してもしなくても良いが、指定された姿勢を取ること。デッドレコニングデッドレコニングをcbMyOdom関数に実装しよう。ヒントGazeboを起動するとTurtlebot3に速度指令を送らなくても滑って動く場合があります。その場合は次のパラメータを変更してみてください。21,22行目パラメータ摩擦係数mu1,mu2を0.1から1以下の大きな値。kdのパラメータを変えましょう。gazeboは動力学計算にODEを使っており、ODEのdt(時間ステップ)、erp、cfmとは次の関係があります。韓国中央大学校は創立90年,...education春がきた!2月末になりケンブリッジもかなり暖かくなり最高気温が0°Cを超える日が増えてきました。ショッピングモール近くの運河の氷もとけ解け始め鳥が水浴しています。今年のロボット学会特別講演は青山学院大学の福岡伸一先生による「生命を解くキーワード、それは動的平衡」でした。ロボット学会の特別講演は毎年非常に面白い話が多く良い刺激になります。英語(第2外国語)の勉強は何歳までに始めればよいのでしょうか?日本では中学校から英語の勉強を始め、高校卒業まで6年間も英語を勉強しているのに一向には話せ聞けるようになりません。言語学の分野で言語獲得という分野があり...educationコンピュータ工学I:gtypistのインストール次のタッチタイプソフトをインストールする。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。(3)タイトルとURLをコピーしました。