ShunjiHashimoto / tang_task

人追従ロボットTANGの開発タスクを管理するリポジトリです
0 stars 0 forks source link

IMUの動作確認 #42

Closed ShunjiHashimoto closed 5 months ago

ShunjiHashimoto commented 5 months ago

https://github.com/klintan/ros2_razor_imu https://github.com/AhmedBaza1/ros2_razor_imu 割と最近まで整備されていたパッケージを見付けたのでこちらの動作確認をやってみる。

使用するIMUはこちら https://www.switch-science.com/products/3075

ShunjiHashimoto commented 5 months ago

まずはこれの通りにwindowsにドライバをインストールして、imuにarduinoで書き込む。 https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide?_ga=2.212823956.1062149601.1516752321-215560038.1516752321 はまりどころはこちら https://qiita.com/NWLab/items/04cd51d50920ebc7a41a

ShunjiHashimoto commented 5 months ago
    1  source ../before_bringup.sh 
    2  ros2 launch ros2_razor_imu razor_pub.launch.py 
    3  python3 -m pip install serial
    4  python3 -m pip install transforms3d
    5  ros2 launch ros2_razor_imu razor_pub.launch.py 
    6  python3 -m pip install pyserial
    7  ros2 launch ros2_razor_imu razor_pub.launch.py 
    8  ros2 launch razor_imu_9dof razor-pub-and-display.launch.py
    9  ros2 launch ros2_razor_imu razor_pub_and_display.launch.py 
   10  export DISPLAY=:1
   11  ros2 launch ros2_razor_imu razor_pub_and_display.launch.py 
   12  ros2 launch ros2_razor_imu razor_pub.launch.py 
   13  history
ShunjiHashimoto commented 5 months ago

yaw軸の値がおかしかったので、 https://github.com/ENSTABretagneRobotics/razor_imu_9dof/blob/indigo-devel/src/Razor_AHRS/Sensors.ino#L410 この行をただ、imu.yawに変更した

またこちらの符号もマイナスを付けないようにした https://github.com/ENSTABretagneRobotics/razor_imu_9dof/blob/indigo-devel/src/Razor_AHRS/Sensors.ino#L392

ShunjiHashimoto commented 5 months ago

必要なモジュールは以下の通り

python3 -m pip install serial
python3 -m pip install pyserial
python3 -m pip install transforms3d
sudo apt update
sudo apt install ros-humble-imu-tools
ShunjiHashimoto commented 5 months ago

rviz2上にimuのデータを表示するためには、fixed_frameを

base_imu_link

にする必要がある

ShunjiHashimoto commented 5 months ago

imuにファームを書き込むためにこちらの手順に従う必要がある https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide 各バージョンはこちらの通り https://qiita.com/NWLab/items/04cd51d50920ebc7a41a

Arduino 1.6.12
Arduino SAMD Boards 1.6.8
SparkFun SAMD Boards 1.3.0

上記の3つが書き込みに必要 teraterm上に数字が表示され rを押すと表示するスピードを変更 eを押すとオイラー角を表示 g, a, mを押すと、それぞれ必要な情報のon.offを切替可能

ShunjiHashimoto commented 5 months ago
ros2 launch ros2_razor_imu razor_pub.launch.py

で実行するが、インストールしたときはエラーが発生する。 下記の箇所を node_executable→executableに変更するとうまく動く https://github.com/AhmedBaza1/ros2_razor_imu/blob/ros2/launch/razor_pub.launch.py#L33C1-L34C1

ShunjiHashimoto commented 5 months ago

現状だとroll, pitchの角度が少しおかしくpubされているが、yaw角は正常かつ、yawしか使わないので、このままで行く。本件はclosedとする

ShunjiHashimoto commented 4 months ago

Raspberry piでの動作確認

python3 -m pip install serial
python3 -m pip install pyserial
python3 -m pip install transforms3d
sudo apt update
sudo apt install ros-humble-imu-tools
sudo chmod 666 /dev/ttyACM0
sudo chmod 666 /dev/ttyACM1
source install/setup.bash 
mv ../serial_commands.py ./