參考:
維特智慧官方ROS Python使用說明https://wit-motion.yuque.com/wumwnr/ltst03/lu0v13?#0246cb6a
安裝配置步驟:
- 先在VirtualBox中為這個包配置對應的環境:Ubuntu 16.04, ROS(1)Kinetic, Python 2.7.
- 按照上面參考連結,從【3.IMU軟體包使用】開始一步一步做。
使用步驟:
1. 檢視埠號
(對應參考連結3.3.1)
ls /dev/ttyUSB*
正常,會輸出/dev/ttyUSB0
,
如果沒有輸出,或者提示ls: 無法訪問'/dev/ttyUSB*': 沒有那個檔案或目錄
,
在VirtualBox的虛擬機器的設定按鈕中,手動新增IMU的裝置名稱。如果不知道哪個是IMU的裝置名稱,可以插拔然後對比設定中IMU的名稱增添或者少了哪個。
2. 給對應的串列埠管理員許可權
(對應參考連結3.3.3)
在剛剛的終端輸入sudo chmod 777 /dev/ttyUSB0
,輸入密碼後回車即可。注意每次重新插入USB口都要重新給串列埠賦予管理員許可權。
3. 開啟IMU視覺化程式
(對應參考連結3.3.4)
在剛剛的終端,輸入roslaunch wit_ros_imu display_and_imu.launch
回車,正常會出現IMU圖形介面並動態更新姿態和RPY角
如果圖形介面不動且沒有資料,考慮是不是波特率設定不正確或其他原因(對應參考連結3.3.2,大多數原因是波特率),進入指令碼目錄~/wit/wit_ros_imu/src/launch,修改對應的每個launch檔案中的波特率,如果是9600,則修改為115200,反之亦然。
修改儲存後重新在剛剛的終端,執行roslaunch wit_ros_imu display_and_imu.launch
。即可正常顯示動態的IMU。
視覺化影片
4. 執行IMU驅動節點
對應參考連結3.3操作具體教程例項
開啟一個新的終端,依次執行
cd wit/wit_ros_ws/src/launch
roslaunch wit_ros_imu wit_imu.launch
回車正常列印如下:(會列印波特率,如9600)
5. 校準
對應參考連結3.3校準功能
開啟新的終端,輸入
cd wit/wit_ros_ws/src/scripts
python wit_imu_ctrl.py
在imput cmd:
後面輸入想要的功能,如需校準,輸入9開始校準,然後把IMU水平轉兩圈,完事兒想要結束校準輸入在imput cmd:
後面輸入0。然後會在IMU驅動節點wit_imu.launch列印出校準結果,如果是bad就再校準一次,直到good。
6. 設定回傳速率,設定波特率
對應參考連結3.3設定回傳速率和3.3設定波特率
在剛剛的終端(如果沒進行步驟5需要重開一個終端執行下面兩行)
cd wit/wit_ros_ws/src/scripts
python wit_imu_ctrl.py
回傳速率:末尾imput cmd:
後面,輸入rate1
代表回傳速率1Hz,我設定的rate10
,可以設成0.2,0.5,1,2,5,10,20,50,100,200
波特率:末尾imput cmd:
後面,輸入baud9600
代表波特率9600,我設定的baud9600
,一般是9600或115200
7. 記錄與解析資料
在剛剛的終端(如果沒進行步驟5需要重開一個終端執行下面兩行)
cd wit/wit_ros_ws/src/scripts
python wit_imu_ctrl.py
末尾imput cmd:
後面輸入rsw
記錄片上時間,加速度,角速度,角度,磁場。
末尾imput cmd:
後面輸入b
開始記錄。
末尾imput cmd:
後面輸入s
結束記錄。生成的檔案存放在~/.ros/
, 然後會在IMU驅動節點wit_imu.launch列印出檔名,如20241029220321.txt。
解析資料,新開一個終端,執行:
cd wit/wit_ros_ws/src/scripts
python convert.py ~/.ros/20241029220321.txt
如圖,解析成功後自動列印出解析後的檔名 20241029220518.txt。然後在當前終端輸入gedit 20241029220518.txt
即可檢視解析後的資料。
其他:
-
如果需要檢視
orientation
,orientation_covariance
,angular_velocity_covariance
,linear_acceleration_covariance
等由rostopic
輸出的資料,見參考連結3.3.4後半部分。
-
串列埠助手測試通訊
見參考連結4.串列埠助手測試通訊部分。