open-rdc / aiformula

MIT License
5 stars 1 forks source link

キャスターモデルのシミュレータの動作確認 #115

Open hcmos opened 2 months ago

hcmos commented 2 months ago

add_gnssnavからgnssnav_developの古いアルゴリズムのものに戻したものをマージさせて確認した.

gazebo_simulator_caster_trailの方

ros2 launch simulator gazebo_simulator_active_caster.launch.pyの方

yasuohayashibara commented 2 months ago

以下のrosdepに記載したパッケージをインストールしてみてください.

https://github.com/open-rdc/aiformula/blob/8e4c205de950014366589fdb5df6b4f4625bc43e/simulator/simulator/package.xml#L12-L17

yasuohayashibara commented 2 months ago

gazebo_simulator_caster_trailの方 速度指令値に2m/sが入っているが,明らかに遅い 追従性が悪い.<-これは従動輪のせいで正しいかもしれないが, 最後に止まることはできた

速度に関しては気づきませんでしたが,直進性は悪いと思います. 一度コースアウトしてから復帰してラインを追従します. 以下,gnssnav_developと統合する前の動きです. トレイルを長くする方法ではどうしても挙動に遅れが発生しますので,動きとしては妥当な気がします. 【追加】見返してみると位置のずれに反応していない時間がありそうな気がしますので,時間があれば検討してみます.

https://github.com/open-rdc/aiformula/pull/113#issuecomment-2339636965

ちなみに,これも含めて以下のissueに林原が3つの条件で制御動かしたときの動画があります. 最後の一つがgnssnav_developと統合した後の動きです.

https://github.com/open-rdc/aiformula/pull/113

yasuohayashibara commented 2 months ago

@hcmos test/cartsimブランチですが,私の環境(wsl2, foxy)ではエラー無く実行できました.

ros2 launch simulator gazebo_simulator_active_caster.launch.py

逆にこちらは経路追従が実行できませんでしたので,キーボードでの操作ですが以下の通り動作しています. IMAGE

経路追従に関しては,

python3 convert_sim_to_vectornav_pose.py

の後に以下を実行しました.

ros2 launch main_executor main_exec.launch.py sim_flag:=true

以下のエラーで停止します.

...
[main_exec-1] loadCSV is sucsess to open file
[main_exec-1] set Base Pose
[main_exec-1] point_empty error
[ERROR] [main_exec-1]: process has died [pid 13107, exit code -11, cmd '/home/mirai/ros2_ws/install/main_executor/lib/main_executor/main_exec --sim-flag true --ros-args --log-level info --ros-args --params-file /home/mirai/ros2_ws/install/main_executor/share/main_executor/config/main_params.yaml'].
hcmos commented 2 months ago

@yasuohayashibara

test/cartsimブランチですが,私の環境(wsl2, foxy)ではエラー無く実行できました.

こちらでもやってみます.多分パッケージが足りてないのかと思います.

たぶんそちら,gnssnavにvectornav/poseが入ることで発生するエラーですね. そちらももう一度確かめてみます.

hcmos commented 2 months ago

やはりここでエラー出ますね.

controller_manager = Node(
        package='controller_manager',
        executable='spawner.py',
        arguments=['position_controller'],
        output='screen'
    )

https://github.com/cyberbotics/webots_ros2/issues/350

上のエラーに関しては後でvectornav/poseをだせば一応回避できます. 動かした動画です. https://youtu.be/DkMDe_VgwGk

kyo0221 commented 2 months ago

私の環境(ubuntu20.04, foxy)ではエラー無く実行できることを確認しました.

経路追従も実行してみたのですが, 既に言われているように従動輪が横になってしまって直進できない結果になりました.

@yasuohayashibara gnssnavがvectornav/poseを吐いたまま起動できないという問題を抱えているため,

ros2 launch main_executor main_exec.launch.py sim_flag:=true

の後に

python3 convert_sim_to_vectornav_pose.py

を起動してください.

yasuohayashibara commented 2 months ago

なるほど. 起動の順番があるのですね. 後で試してみます.

yasuohayashibara commented 2 months ago

順番を変えたところ経路追従を確認することができました.

ros2 launch simulator gazebo_simulator_active_caster.launch.py
ros2 launch main_executor main_exec.launch.py sim_flag:=true
python3 convert_sim_to_vectornav_pose.py
ros2 topic pub --once /autonomous std_msgs/msg/Bool "data: true"

IMAGE

hcmos commented 2 months ago

こちらでは従動輪,機能してそうですね

yasuohayashibara commented 2 months ago

wsl2で以下の手順で実行できることを確認しました.

■Environment Foxy (Ubuntu20.04)検証 wsl2で検証

■INSTALL

ROS foxy インストール参考 https://qiita.com/porizou1/items/53053ce806304fd71f06

sudo apt install python3-rosdep

cd ~/ros2_ws/src
git clone https://github.com/open-rdc/aiformula

cd ~/ros2_ws/src/aiformula
git checkout caster_controller

cd ~/ros2_ws/src
sudo rosdep init
rosdep update --include-eol-distros
rosdep install --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y

cd ~/ros2_ws
colcon build --symlink-install
echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc

for autonomous control

sudo apt install python3-pip
pip3 install pymap3d scipy

■EXECUTE

1) SIMULATOR (choose one)

ros2 launch simulator gazebo_simulator.launch.py
ros2 launch simulator gazebo_simulator_caster_trail.launch.py
ros2 launch simulator gazebo_simulator_active_caster.launch.py

2) AUTONOMOUS CONTROL

ros2 launch main_executor main_exec.launch.py sim_flag:=true
python3 convert_sim_to_vectornav_pose.py
ros2 topic pub --once /autonomous std_msgs/msg/Bool "data: true"