MPU6050ROS中viz的視覺化
阿新 • • 發佈:2018-12-16
硬體準備
- MPU6050模組
- Arduino UNO開發板
- 杜邦線若干
第一部分:通過串列埠除錯助手檢視IMU輸出值
第一步:接線
第二步:燒錄程式
- 解壓縮
- 將第一個檔案解壓縮得到的資料夾和第2個資料夾,複製到Arduino安裝目錄的libraries資料夾內,重啟Arduino。 注意:在ubuntu16.04中,將上面兩個資料夾複製到~/sketchbook/libraries內
- 燒錄程式
- 通過 檔案 –> 示例 –> MPU6050 –> Examples –> MPU6050_DMP6 開啟程式,上傳。
- 遇到的一些問題總結:
- 上傳的時候找不到I2Cdev.h檔案。因為之前下載的I2Cdev沒有找對,下載下來的檔案失效,我已經給了正確的下載地址。
- 無法選擇串列埠
- win7系統下:重新安裝驅動。
- 控制面板–> 裝置管理器–> 埠(COM和LPT)–> Arduino UNO(COM3)–> 驅動程式–> 更新驅動程式–> 瀏覽我的計算機以查詢驅動程式軟體(R)–Arduino IDE安裝路徑/drives/x86(64位的作業系統選擇這個資料夾)
- ubuntu16.04系統下:解除安裝brltty程式,重啟電腦。
- 因為該程式與串列埠選擇衝突,解除安裝brltty即可解決問題。通過sudo apt-get remove brltty。
- win7系統下:重新安裝驅動。
- 開啟串列埠監控,設定波特率115200, 看到 “Send any character to begin DMP programming and demo: “ 時輸入任意一個字元,然後傳送。就能看到yaw, pitch 和roll的值,如下圖所示。
第二部分:使用ROS視覺化
第一步:燒錄程式
- 新建專案 在arduino中,新建一個專案,複製檔案 –> 示例 –> MPU6050 –> Examples –> MPU6050_DMP6的內容。 注意:是複製MOU6050_DMP6整個資料夾的內容。
- 修改程式 加註釋:”#define OUTPUT_READABLE_YAWPITCHROLL” 去註釋:“#define OUTPUT_TEAPOT”
- 上傳程式
第二步:建立ROS工作空間
- 在ROS的工作目錄下,下載和編譯程式碼 預設環境:ubuntu16.04,且已經安裝了ROS-kinetic
sudo apt-get install ros-kinetic-serial cd ~catkin_ws/src/ git clone https://github.com/fsteinhardt/mpu6050_serial_to_imu git clone https://github.com/ccny-ros-pkg/imu_tools cd ~catkin_ws/ catkin_make source ~catkin_ws/devel/setup.bash
- 執行如下命令,就可以把mpu6050的值轉換為ROS的/imu 訊息,同時通過rviz看到mpu6050朝向的變化。
roslaunch mpu6050_serial_to_imu demo.launch
- 但是並不能夠在viz看到IMU實時的變化,有哪位大聲可以指點一下嗎?