1.選擇ROS原因
- 開發工具包:完整的包管理和工程結構;龐大的基礎庫;多語言接口支持
- 計算調度模型:消息驅動的異步運行模型;抽象的P2P通信接口;自定義的消息格式
- 調試工具:可視化的調試工具;消息查看、存儲、回放工具
2.ROS常用命令
rosrun package_name node_name //啓動一個節點
rosnode list //查看激活的節點
rosnode info node_name //查看節點信息
rostopic type /topic //查看一個topic類型
rostopic pub /topic type args //給一個topic發送消息
rosrun tf tf_monitor //打印tf樹中的所有參考系信息
rosrun tf tf_echo source_frame target_frame //查看指定參考系之間的變換關係
rosrun tf view_frames //創建一個tf樹圖的PDF
rqt //運行rqt
rosrun rqt_image_view rqt_image_view //查看實時圖像
rosrun rqt_multiplot rqt_multiplot //將數據畫出二維座標系下的曲線
rosrun rqt_graph rqt_graph //圖形化顯示節點等信息
rosrun rqt_logger_level rqt_logger_level //改變nodes運行時候的信息顯示級別(調試,警告,信息和錯誤)
rosparam set use_sim_time true //開啓虛擬時鐘
rosbag record --all //記錄所有topic
rosbag record topic_1 topic_2 //記錄 topic_1 topic_2
rosbag info bag_name.bag //顯示bag信息
rosbag play bag_name.bag //回放
catkin clean --all
3.ROS的不足
- 大數據量傳輸性能瓶頸
- 單中心的網絡存在單點危險
- 數據格式存在後向兼容
4.Apollo對ROS優化
- 通訊性能的優化
- 去中心化拓撲網絡
- 數據兼容性擴展