2024年度 情報科学類 ソフトウェアサイエンス実験B
本実験では主に(~/catkin_ws/src)の中のプログラムをいじってもらいます。
入門課題 ここにあるディレクトリを使用します
~/catkin_ws/src |- pubish_joy_state joy_to_cmd odom_test ︙
中間課題、最終課題 ここに記述して実験してください
~/catkin_ws/src/coins_jikken/src |- mid_assignment1.cpp 中間課題1 mid_assignment2.cpp 中間課題2 fin_assignment.cpp 最終課題 cha_assignment.cpp 挑戦課題
コンパイル
$ cd ~/catkin_ws $ catkin_make
ロボットに電源が入っており、パソコンとも接続できていることを確認
(電源の入れ方、ロボットの区別はその時に教えます)
(端末1) $ roscore (端末2) $ rosrun ypspur_ros ypspur_ros param_file:=/home/student1/researches/programs/platform/yp-robot-params/robot-params/***.param port:=/dev/serial/by-id/usb-T-frog_project_T-frog_Driver-if00 (端末3) $ rosrun urg_node urg_node _serial_port:=/dev/serial/by-id/usb-Hokuyo_Data_Flex_for_USB_URG-Series_USB_Driver-if00 (端末4) $ rosrun coins_jikken 〇〇 (補足) ***.paramは beego.param or speego.param or M1.param
以下を変更
# ~/catkin_ws/src/coins_jikken/beego_controller/include/beego_controller/beego_controller.hのファイル #define POS_TOLERANCE 0.001 // 状態遷移時に許容する位置誤差 [m] #define RAD_TOLERANCE M_PI / 180.0 // 状態遷移時に許容する角度誤差 [rad] #define LINEAR_VEL 0.15 // ロボットの並進速度 [m/s] #define ANGULAR_VEL 0.5 // ロボットの角速度 [rad/s]
src |- mid_assignment.cpp 中間課題 fin_assignment.cpp 最終課題 cha_assignment.cpp 挑戦課題 test_coins.cpp 新しく作成したノード
新しくノードを作成する場合、CMakeLists.txtを変更しないとコンパイルが出来ません。
以下をcoins_jikken/coins_jikken/CMakeLists.txtに追加。
add_executable(test_coins src/test_coins.cpp ) target_link_libraries(test_coins beego_controller ${catkin_LIBRARIES} )
// test_coins.cppにて起動するときのノード名を設定 ros::init(argc, argv, "test_coins_node");
以下で実行
$ rosrun coins_jikken test_coins_node
コマンドを実行するためのコマンドラインインターフェース。同じウィンドウ内で画面を複数分割できるため便利。 好きなレイアウトを設定したら、その設定を保存できる。
1. ターミナルを右クリック 2. 設定をクリック 3. タブからレイアウトを選択 4. 「追加(A)」から新しいレイアウトを増やし名前をつける(ここの例では「ros」) $ terminator -l ros&exit とすればいつでも同じレイアウトで起動できる。
$ gnome-screenshot --area
以上紹介したコマンドは少し長くめんどくさいのでエイリアスを設定しましょう。
$ sudo gedit ~/.bashrc
.bashrcのファイル内に以下の文を追加
# .bashrc alias rosterminator='terminator -l ros&exit' alias s='gnome-screenshot --area'
$ source ~/.bashrc .bashrcの再読み込み $ rosterminator $ s 以上のコマンドで同様のことができるようになる