<style> .reveal { font-size:32px; } </style> # 視覺地形辨識機器狗 ## 6/11 進度報告 ---- #### 組員: #### E94111059許評詔、E94116130陳寬宇 #### E94116148蘇凡誠、E94116279魏君伃 #### E94114073張哲維 --- # 本周進度 --- ### 行走的控制已經完成 修改ps4搖桿對照到xbox搖桿 走路方式:先按下y進入指令模式,接下來按下x開啟走路模式, 在走路模式下可以使用左蘑菇前進後退 [Demo Vedio ](https://www.youtube.com/shorts/NnvgaWCdxPk) --- ### 鏡頭架 設計完成,使用`M4-10mm`螺絲固定相機 (相機背部6mm,底座厚度3mm) ![image](https://hackmd.io/_uploads/ByFJ4kLmgx.png) --- ## IMU rosmsg show sensor_msgs/Imu ``` std_msgs/Header header uint32 seq time stamp string frame_id geometry_msgs/Quaternion orientation float64 x float64 y float64 z float64 w float64[9] orientation_covariance geometry_msgs/Vector3 angular_velocity float64 x float64 y float64 z float64[9] angular_velocity_covariance geometry_msgs/Vector3 linear_acceleration float64 x float64 y float64 z float64[9] linear_acceleration_covariance ``` https://wiki.ros.org/ros_imu_bno055 https://www.ncnynl.com/archives/202203/5075.html ---- ### IMU校正 1. 加速度計 (Accel) 校正: 保持感測器水平,輕輕且緩慢地把它翻到各個面(上下、左側、右側、前後),每個面停留一點時間。 2. 陀螺儀 (Gyro) 校正: 把感測器保持平穩,持續以固定角速度繞各軸旋轉,並且中間停頓歸零。 3. 磁力計 (Mag) 校正 以「8」字形在空中揮動感測器,確保所有方向都被掃過。 ---- 完成校正後,就可以在 RViz/rqt_plot 或其他 downstream node 看到穩定、正確的姿態、加速度與方向資訊了! (校正圖片還沒放) ---- ## IMU節點加入系統中 1. 在`dingo_peripheral_interfacing/scripts`建立`imu_publisher.py` 2. 設置`frame_id(imu_link)`、`topic(imu/data_row)`, 3. 加入`imu = IMU()`以抓取IMU.py的數據,並透過covarience校正誤差 ---- 仍在熟悉ROS系統怎麼加入, 需要修改CMake File ```diff @@ -find_package(catkin REQUIRED COMPONENTS - rospy message_generation std_msgs +# ─── 新增 sensor_msgs / geometry_msgs / tf ─── +find_package(catkin REQUIRED COMPONENTS + rospy + std_msgs + sensor_msgs + tf + message_generation ) @@ -catkin_package( -# INCLUDE_DIRS include -# LIBRARIES dingo_nano_interfacing - CATKIN_DEPENDS rospy message_runtime -# DEPENDS system_lib -) +# ─── 把新依賴放進 CATKIN_DEPENDS ─── +catkin_package( + CATKIN_DEPENDS + rospy + std_msgs + sensor_msgs + tf + message_runtime # 你已有 ElectricalMeasurements.msg,所以保留 +) @@ -## Mark executable scripts (Python etc.) for installation -## in contrast to setup.py, you can choose the destination -catkin_install_python(PROGRAMS - scripts/battery_voltage_checking.py - DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) +## ---------- 安裝 Python 腳本 ---------- +catkin_install_python( + PROGRAMS + scripts/battery_voltage_checking.py + scripts/imu_publisher.py # ★ 把新節點列進來 + DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) + +## ---------- 安裝 Python 函式庫 (IMU.py) ---------- +# 這一步會把整個目錄複製到 /opt/ros/…/site-packages, +# 任何節點都可以 `import dingo_peripheral_interfacing.IMU` +install( + DIRECTORY src/dingo_peripheral_interfacing + DESTINATION ${CATKIN_PACKAGE_PYTHON_DESTINATION} +) ``` --- ## 訓練模型 1. 把 isaac lab 剩下的[文檔](https://isaac-sim.github.io/IsaacLab/main/source/tutorials/03_envs/modify_direct_rl_env.htm)看完 2. 看了 [Isaac Lab: Custom Environment Training. A Step-by-Step Guide](https://www.youtube.com/watch?v=o9Bym5mOl2k) 3. 嘗試修改 Isaac Lab 中 宇樹機器狗A1訓練腳本 作為訓練腳本。 4. 展開 dingo.urdf 中的 xacro,因為 Isaac sim 不支援讀取 5. 利用 Isaac sim 將 `.urdf `檔轉成訓練需要的 `.usd` ---- ### 遇到的問題 1. dingo 的部件命名方式與isaac規定的格式不同 解決方法:從urdf檔重新命名部件 2. 讀取不到foot部件 解決方法:修改joint改成continue 3. 問題:計算``獎勵函數權重``的時候,出現`nan`,目前推測試是因為把連接foot和calf的關節設成continue --- # The End
{"title":"簡報","slideOptions":"{\"theme\":\"night\"}","description":"最近老胡 Yu-sheng Hu 啟動了大哈讀書計畫,要花兩年的時間把整本3000多頁的大磚塊唸完。痛點在於每次做簡報很煩,要把教科書的內容變成投影片,會有很多機械式的剪貼跟排版。做到讓人覺得厭世。因此想研究如何在有限時間內用最快的速度做簡報(此方法也適用報paper)。在這樣的背景下,只要能把重點條列式地呈現出來就可以。第二順位就是要快。通常美編不重要,字不要太小就好。以下是摸索出的解決方法。主要使用hackmd的簡報功能。","contributors":"[{\"id\":\"91cfbd40-cf95-47f7-99ac-bc89aba185c7\",\"add\":5266,\"del\":1872}]"}
    106 views
   Owned this note