Skip to content

unity robot simulator to auto drivce minicar battle in 2024

Notifications You must be signed in to change notification settings

DaiGuard/adrc2024_unity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

adrc2024_unity

自動運転ミニカーバトル2024のシミュレーション用Unityプロジェクト


自動運転ミニカーバトルとは

ラジコンを走らせる周回コースを自動運転で3周走りきるタイムを競う競技 開催ごとに周回後に駐車したり、コース上の障害物を倒すことで加点される

マシン説明

機器リスト

マシン3Dモデル

3Dモデル (Googleドライブ)

外観

シミュレータ構成

  • /cmd_vel (geometry_msgs/Twist)

    ロボット動作指示

  • /imu (sensor_msgs/Imu)

    IMUセンサ値

  • /range_[right, center, left] (sensor_msgs/Range)

    ToFセンサ値

  • /scan (sensor_msgs/LaserScan)

    2D Lidarセンサ値

  • /front_camera/compressed (sensor_msgs/CompressedImage)

    前面カメラ値

  • /rear_camera/compressed (sensor_msgs/CompressedImage)

    後面カメラ値


シミュレータ起動方法

ROS-TCP-Endpointの起動

Unity側のROS-TCP-Connectorと接続するためのROS-TCP-Endpointを起動する

ROS-TCP-Endpoint (GitHub)

# ワークスペースの作成
mkdir -p colcon_ws/src
cd colcon_ws
# リポジトリをクローンする
git clone https://github.com/Unity-Technologies/ROS-TCP-Endpoint src/ROS-TCP-Endpoint
# ビルドする
colcon build --symlink-install
# 起動する
source install/local_setup.bash
ros2 run ros_tcp_endpoint default_server_endpoint

圧縮画像の解凍

Unity側から送信されるカメラ画像データは圧縮形式のため解凍して表示できるようにする

# Terminal 1
ros2 run image_transport republish compressed raw \
--ros-args -r /in/compressed:=/front_camera/compressed -r /out:=/front_camera/raw
# Terminal 2
ros2 run image_transport republish compressed raw \
--ros-args -r /in/compressed:=/rear_camera/compressed -r /out:=/rear_camera/raw

レビュー

トラブルシュート

'HeaderMsg' does not contain a definition for 'seq'

Library\PackageCache\com.frj.unity-sensors-ros@c33247ddf2\Runtime\Scripts\Serializers\TF\TFMsgSerializer.cs(37,50): error CS1061: 'HeaderMsg' does not contain a definition for 'seq' and no accessible extension method 'seq' accepting a first argument of type 'HeaderMsg' could be found (are you missing a using directive or an assembly reference?)

UnityプロジェクトをROS2に設定した際に、下記のようなエラーが発生した場合はLibrary\PackageCache\com.frj.unity-sensors-ros@c33247ddf2\Runtime\Scripts\Serializers\TF\TFMsgSerializer.csの37行目をコメントアウトする

変更前

    TransformStampedMsg transform = new TransformStampedMsg();
    transform.header.seq = headerMsg.seq;
    transform.header.stamp = headerMsg.stamp;

変更後

    TransformStampedMsg transform = new TransformStampedMsg();
    // transform.header.seq = headerMsg.seq;
    transform.header.stamp = headerMsg.stamp;

About

unity robot simulator to auto drivce minicar battle in 2024

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published