大學專題 - Mobile robot control using Machine Learning
- Ubuntu 18.04
- ROS1 Melodic
All ROS package
只有以下幾個packages有用,其餘皆是開發過程的測試,不保證正確性
- robot_navigation : 整個專題最終控制機器人的程式
- ros_logger : 利用ROS的Bag file紀錄程式執行時的變數值
- set_goal_gui_rviz : 用 RVIZ 控制 Turtlebot3 目標 / 顯示SLAM地圖 / 顯示模擬光達的Point Cloud
See setup.md
- 啟動順序
- roscore
- rosrun motion_stable_control Go2GoalServer
- roslaunch turtlebot3_bringup turtlebot3_remote.launch (很重要!!!不然會讀不到機器人)
- roslaunch set_goal_gui_rviz set_goal_gui.launch (似乎RVIZ v1.13.16 的OGRE v1.9.0在nVidia上有機會處發bug而segmentation fault,故使用以下兩條指令分別開啟server和rviz)
- rosrun rviz rviz -d $(rospack find set_goal_gui_rviz)/rviz/set_goal_gui_rviz.rviz
- rosrun set_goal_gui_rviz set_goal_gui_server
- roslaunch turtlebot3_bringup turtlebot3_robot.launch (在Turtlebot3 上)
- roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=cartographer configuration_basename:=turtlebot3_lds_2d_gazebo.lua open_rviz:=false
- slam_methods:=cartographer : 使用Cartographer執行SLAM
- configuration_basename:=turtlebot3_lds_2d_gazebo.lua : 如果使用gazebo模擬,則須使用專屬的設定(見turtlebot3/turtlebot3_slam/config/turtlebot3_lds_2d_gazebo.lua),否則會有「The IMU frame must be colocated with the tracking frame. Transforming linear acceleration into the tracking frame will otherwise be imprecise.」錯誤
- open_rviz:=false : 我們有set_goal_gui_rviz顯示地圖,故cartographer不須打開rviz
- 另外也可以直接用本目錄下的start_simulation.sh(要控制Gazebo的機器人時)以及start_turtlebot3.sh(要控制Turtlebot3時)
- NOTE: 因為roscore啟動時間較慢,故需要先啟動roscore一遍