Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
hcmos opened this issue Sep 12, 2024 · 10 comments
Open

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

hcmos opened this issue Sep 12, 2024 · 10 comments

Comments

@hcmos
Copy link
Member

hcmos commented Sep 12, 2024

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

gazebo_simulator_caster_trailの方

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

ros2 launch simulator gazebo_simulator_active_caster.launch.pyの方

  • 以下のエラーでプロセスが終了するが,gazeboは立ち上がり動作はする,gazeboのログなどは見れない.
[ERROR] [launch]: Caught exception in launch (see debug for traceback): executable 'spawner.py' not found on the libexec directory '/opt/ros/humble/lib/controller_manager'
  • 従動輪が横になってしまって直進できない
    image
@yasuohayashibara
Copy link
Member

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

<depend>gazebo_ros</depend>
<depend>xacro</depend>
<depend>gazebo_ros2_control</depend>
<depend>joint_state_publisher</depend>
<depend>gazebo_ros_pkgs</depend>
<depend>ros2_controllers</depend>

@yasuohayashibara
Copy link
Member

yasuohayashibara commented Sep 12, 2024

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

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

#113 (comment)

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

#113

@yasuohayashibara
Copy link
Member

yasuohayashibara commented Sep 13, 2024

@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
Copy link
Member Author

hcmos commented Sep 13, 2024

@yasuohayashibara

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

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

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

@hcmos
Copy link
Member Author

hcmos commented Sep 13, 2024

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

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

cyberbotics/webots_ros2#350

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

@kyo0221
Copy link
Contributor

kyo0221 commented Sep 13, 2024

私の環境(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
Copy link
Member

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

@yasuohayashibara
Copy link
Member

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

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
Copy link
Member Author

hcmos commented Sep 13, 2024

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

@yasuohayashibara
Copy link
Member

yasuohayashibara commented Sep 14, 2024

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
  1. 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"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants