├── .github ├── scripts │ └── sync_scripts.sh └── workflows │ └── check_tutorial_files.yaml ├── .gitmodules ├── LICENSE-2.0.txt ├── MobileRobotUITutorialProject ├── .gitignore ├── Assets │ ├── JoyStick │ │ ├── Scripts │ │ │ └── OnScreenStickCmdVelPublisher.cs │ │ └── Textures │ │ │ └── white_circle.png │ ├── Models.meta │ ├── Models │ │ ├── maze.dae │ │ └── maze.dae.meta │ ├── OdometryViewer.meta │ ├── OdometryViewer │ │ ├── Materials.meta │ │ ├── Materials │ │ │ ├── ArrowMaterial.mat │ │ │ ├── ArrowMaterial.mat.meta │ │ │ ├── ArrowMaterial2.mat │ │ │ ├── ArrowMaterial2.mat.meta │ │ │ ├── Arrows.fbx │ │ │ └── Arrows.fbx.meta │ │ ├── Prefabs.meta │ │ ├── Prefabs │ │ │ ├── Arrows-bule.prefab │ │ │ ├── Arrows-bule.prefab.meta │ │ │ ├── Arrows-red.prefab │ │ │ └── Arrows-red.prefab.meta │ │ ├── Scripts.meta │ │ └── Scripts │ │ │ ├── OdometryViewer.cs │ │ │ └── OdometryViewer.cs.meta │ ├── PointCloud.meta │ ├── PointCloud │ │ ├── Materials.meta │ │ ├── Materials │ │ │ ├── Sphere.mat │ │ │ └── Sphere.mat.meta │ │ ├── Prefabs.meta │ │ ├── Prefabs │ │ │ ├── Sphere.prefab │ │ │ └── Sphere.prefab.meta │ │ ├── Scenes.meta │ │ ├── Scenes │ │ │ ├── PointCloudSample.unity │ │ │ └── PointCloudSample.unity.meta │ │ ├── Scripts.meta │ │ └── Scripts │ │ │ ├── PointCloudLocator.cs │ │ │ └── PointCloudLocator.cs.meta │ ├── Prefabs.meta │ ├── Prefabs │ │ ├── Canvas.prefab │ │ └── Canvas.prefab.meta │ ├── Resources.meta │ ├── Resources │ │ ├── GeometryCompassSettings.asset │ │ ├── GeometryCompassSettings.asset.meta │ │ ├── ROSConnectionPrefab.prefab │ │ └── ROSConnectionPrefab.prefab.meta │ ├── Scenes.meta │ ├── Scenes │ │ ├── Step1.unity │ │ ├── Step1.unity.meta │ │ ├── Step2.unity │ │ ├── Step2.unity.meta │ │ ├── Step3.unity │ │ ├── Step3.unity.meta │ │ ├── Step4.unity │ │ ├── Step4.unity.meta │ │ ├── Step5.unity │ │ ├── Step5.unity.meta │ │ ├── Step6.unity │ │ ├── Step6.unity.meta │ │ ├── Step7.unity │ │ └── Step7.unity.meta │ ├── Scripts.meta │ ├── Scripts │ │ ├── CmdVelPublisher.cs │ │ ├── CmdVelPublisher.cs.meta │ │ ├── CmdVelSubscriber.cs │ │ ├── CmdVelSubscriber.cs.meta │ │ ├── ImageSubscriber.cs │ │ ├── ImageSubscriber.cs.meta │ │ ├── LaserScanSubscriber.cs │ │ ├── LaserScanSubscriber.cs.meta │ │ ├── OdomSubscriber.cs │ │ ├── OdomSubscriber.cs.meta │ │ ├── TfSubscriber.cs │ │ └── TfSubscriber.cs.meta │ ├── URDF.meta │ ├── URDF │ │ ├── Materials.meta │ │ ├── Materials │ │ │ ├── Default.mat │ │ │ └── Default.mat.meta │ │ ├── raspimouse_description.meta │ │ ├── raspimouse_description │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── CMakeLists.txt.meta │ │ │ ├── LICENSE │ │ │ ├── LICENSE.meta │ │ │ ├── README.md │ │ │ ├── README.md.meta │ │ │ ├── launch.meta │ │ │ ├── launch │ │ │ │ ├── config.meta │ │ │ │ ├── config │ │ │ │ │ ├── urdf.rviz │ │ │ │ │ └── urdf.rviz.meta │ │ │ │ ├── display_urdf.launch │ │ │ │ ├── display_urdf.launch.meta │ │ │ │ ├── display_xacro.launch │ │ │ │ └── display_xacro.launch.meta │ │ │ ├── meshes.meta │ │ │ ├── meshes │ │ │ │ ├── dae.meta │ │ │ │ ├── dae │ │ │ │ │ ├── body.meta │ │ │ │ │ ├── body │ │ │ │ │ │ ├── RasPiMouse_body.dae │ │ │ │ │ │ ├── RasPiMouse_body.dae.meta │ │ │ │ │ │ ├── raspimouse_camera_mount.dae │ │ │ │ │ │ ├── raspimouse_camera_mount.dae.meta │ │ │ │ │ │ ├── raspimouse_top_plate.dae │ │ │ │ │ │ ├── raspimouse_top_plate.dae.meta │ │ │ │ │ │ ├── rt-logo.png │ │ │ │ │ │ └── rt-logo.png.meta │ │ │ │ │ ├── sensor.meta │ │ │ │ │ ├── sensor │ │ │ │ │ │ ├── urg_bottom_origin.dae │ │ │ │ │ │ ├── urg_bottom_origin.dae.meta │ │ │ │ │ │ ├── urg_optical_axis_center_origin.dae │ │ │ │ │ │ └── urg_optical_axis_center_origin.dae.meta │ │ │ │ │ ├── wheel.meta │ │ │ │ │ └── wheel │ │ │ │ │ │ ├── RasPiMouse_wheel.dae │ │ │ │ │ │ └── RasPiMouse_wheel.dae.meta │ │ │ │ ├── stl.meta │ │ │ │ └── stl │ │ │ │ │ ├── RasPiMouse_TopPlate.stl │ │ │ │ │ ├── RasPiMouse_TopPlate.stl.meta │ │ │ │ │ ├── RasPiMouse_base-metric.stl │ │ │ │ │ ├── RasPiMouse_base-metric.stl.meta │ │ │ │ │ ├── RasPiMouse_sensor-metric.stl │ │ │ │ │ ├── RasPiMouse_sensor-metric.stl.meta │ │ │ │ │ ├── RasPiMouse_wheel-metric.stl │ │ │ │ │ ├── RasPiMouse_wheel-metric.stl.meta │ │ │ │ │ ├── RasPiMouse_wheel-mm.stl │ │ │ │ │ ├── RasPiMouse_wheel-mm.stl.meta │ │ │ │ │ ├── URG-04LX-UG01.stl │ │ │ │ │ ├── URG-04LX-UG01.stl.meta │ │ │ │ │ ├── color.meta │ │ │ │ │ └── color │ │ │ │ │ ├── RasPiMouse_body_black.stl │ │ │ │ │ ├── RasPiMouse_body_black.stl.meta │ │ │ │ │ ├── RasPiMouse_body_gray.stl │ │ │ │ │ ├── RasPiMouse_body_gray.stl.meta │ │ │ │ │ ├── RasPiMouse_body_green.stl │ │ │ │ │ ├── RasPiMouse_body_green.stl.meta │ │ │ │ │ ├── RasPiMouse_body_red.stl │ │ │ │ │ ├── RasPiMouse_body_red.stl.meta │ │ │ │ │ ├── RasPiMouse_wheel_black.stl │ │ │ │ │ ├── RasPiMouse_wheel_black.stl.meta │ │ │ │ │ ├── RasPiMouse_wheel_gray.stl │ │ │ │ │ └── RasPiMouse_wheel_gray.stl.meta │ │ │ ├── model.config │ │ │ ├── model.config.meta │ │ │ ├── package.xml │ │ │ ├── package.xml.meta │ │ │ ├── urdf.meta │ │ │ └── urdf │ │ │ │ ├── body.meta │ │ │ │ ├── body │ │ │ │ ├── body.gazebo.xacro │ │ │ │ ├── body.gazebo.xacro.meta │ │ │ │ ├── body.urdf.xacro │ │ │ │ ├── body.urdf.xacro.meta │ │ │ │ ├── option.urdf.xacro │ │ │ │ └── option.urdf.xacro.meta │ │ │ │ ├── camera.meta │ │ │ │ ├── camera │ │ │ │ ├── camera.gazebo.xacro │ │ │ │ ├── camera.gazebo.xacro.meta │ │ │ │ ├── camera.urdf.xacro │ │ │ │ └── camera.urdf.xacro.meta │ │ │ │ ├── common.xacro │ │ │ │ ├── common.xacro.meta │ │ │ │ ├── raspimouse.urdf │ │ │ │ ├── raspimouse.urdf.meta │ │ │ │ ├── raspimouse.urdf.xacro │ │ │ │ ├── raspimouse.urdf.xacro.meta │ │ │ │ ├── raspimouse_with_urg.urdf │ │ │ │ ├── raspimouse_with_urg.urdf.meta │ │ │ │ ├── sensors.meta │ │ │ │ ├── sensors │ │ │ │ ├── lidar.gazebo.xacro │ │ │ │ ├── lidar.gazebo.xacro.meta │ │ │ │ ├── lidar.urdf.xacro │ │ │ │ ├── lidar.urdf.xacro.meta │ │ │ │ ├── lightsens.gazebo.xacro │ │ │ │ ├── lightsens.gazebo.xacro.meta │ │ │ │ ├── lightsens.urdf.xacro │ │ │ │ └── lightsens.urdf.xacro.meta │ │ │ │ ├── wheel.meta │ │ │ │ └── wheel │ │ │ │ ├── diffdrive.gazebo.xacro │ │ │ │ ├── diffdrive.gazebo.xacro.meta │ │ │ │ ├── wheel.urdf.xacro │ │ │ │ └── wheel.urdf.xacro.meta │ │ ├── raspimouse_with_urg.urdf │ │ └── raspimouse_with_urg.urdf.meta │ ├── msgbrowser_settings.asset │ └── msgbrowser_settings.asset.meta ├── Packages │ ├── manifest.json │ └── packages-lock.json └── ProjectSettings │ ├── AudioManager.asset │ ├── ClusterInputManager.asset │ ├── DynamicsManager.asset │ ├── EditorBuildSettings.asset │ ├── EditorSettings.asset │ ├── GraphicsSettings.asset │ ├── InputManager.asset │ ├── MemorySettings.asset │ ├── NavMeshAreas.asset │ ├── PackageManagerSettings.asset │ ├── Physics2DSettings.asset │ ├── PresetManager.asset │ ├── ProjectSettings.asset │ ├── ProjectVersion.txt │ ├── QualitySettings.asset │ ├── SceneTemplateSettings.json │ ├── TagManager.asset │ ├── TimeManager.asset │ ├── TimelineSettings.asset │ ├── UnityConnectSettings.asset │ ├── VFXManager.asset │ ├── VersionControlSettings.asset │ ├── XRSettings.asset │ └── boot.config ├── README.md ├── ROS ├── .gitignore ├── Dockerfile ├── configure.sh └── src │ ├── raspimouse_description │ ├── .gitignore │ ├── CMakeLists.txt │ ├── LICENSE │ ├── README.md │ ├── launch │ │ ├── config │ │ │ └── urdf.rviz │ │ ├── display_urdf.launch │ │ └── display_xacro.launch │ ├── meshes │ │ ├── dae │ │ │ ├── body │ │ │ │ ├── raspimouse_body.dae │ │ │ │ ├── raspimouse_camera_mount.dae │ │ │ │ ├── raspimouse_top_plate.dae │ │ │ │ └── rt-logo.png │ │ │ ├── sensor │ │ │ │ ├── urg_bottom_origin.dae │ │ │ │ └── urg_optical_axis_center_origin.dae │ │ │ └── wheel │ │ │ │ └── raspimouse_wheel.dae │ │ └── stl │ │ │ ├── RasPiMouse_TopPlate.stl │ │ │ ├── RasPiMouse_base-metric.stl │ │ │ ├── RasPiMouse_sensor-metric.stl │ │ │ ├── RasPiMouse_wheel-metric.stl │ │ │ ├── RasPiMouse_wheel-mm.stl │ │ │ ├── URG-04LX-UG01.stl │ │ │ └── color │ │ │ ├── RasPiMouse_body_black.stl │ │ │ ├── RasPiMouse_body_gray.stl │ │ │ ├── RasPiMouse_body_green.stl │ │ │ ├── RasPiMouse_body_red.stl │ │ │ ├── RasPiMouse_wheel_black.stl │ │ │ └── RasPiMouse_wheel_gray.stl │ ├── model.config │ ├── package.xml │ └── urdf │ │ ├── body │ │ ├── body.gazebo.xacro │ │ ├── body.urdf.xacro │ │ └── option.urdf.xacro │ │ ├── camera │ │ ├── camera.gazebo.xacro │ │ └── camera.urdf.xacro │ │ ├── common.xacro │ │ ├── raspimouse.urdf │ │ ├── raspimouse.urdf.xacro │ │ ├── raspimouse_with_urg.urdf │ │ ├── sensors │ │ ├── lidar.gazebo.xacro │ │ ├── lidar.urdf.xacro │ │ ├── lightsens.gazebo.xacro │ │ └── lightsens.urdf.xacro │ │ └── wheel │ │ ├── diffdrive.gazebo.xacro │ │ └── wheel.urdf.xacro │ └── raspimouse_sim │ ├── .ci.rosinstall │ ├── .github │ └── workflows │ │ └── industrial_ci.yml │ ├── .gitignore │ ├── LICENSE │ ├── README.en.md │ ├── README.md │ ├── raspimouse_fake │ ├── CMakeLists.txt │ ├── launch │ │ └── virtual_device_file.launch │ ├── misc │ │ └── ms_sound.wav │ ├── package.xml │ └── scripts │ │ ├── clean_dev_file.sh │ │ ├── gen_dev_file.sh │ │ ├── virtual_led_sensors.py │ │ └── virtual_motors.py │ ├── raspimouse_gazebo │ ├── CMakeLists.txt │ ├── launch │ │ ├── config │ │ │ └── odom.rviz │ │ ├── keyboard_teleop.launch │ │ ├── open_emptyworld.launch │ │ ├── raspimouse_with_cheeze_maze.launch │ │ ├── raspimouse_with_emptyworld.launch │ │ ├── raspimouse_with_gasstand.launch │ │ ├── raspimouse_with_samplemaze.launch │ │ └── raspimouse_with_willowgarage.launch │ ├── materials │ │ ├── gen_maze.sh │ │ ├── sample_maze.wall.xacro │ │ └── sample_maze.world.xacro │ ├── models │ │ └── cheeze_maze_a │ │ │ ├── meshes │ │ │ └── maze.dae │ │ │ ├── model.config │ │ │ └── model.sdf │ ├── package.xml │ ├── scripts │ │ ├── distance_sensor_simulator.py │ │ └── download_gazebo_models.sh │ └── worlds │ │ ├── cheeze_maze_a.world │ │ ├── empty.world │ │ ├── gas_station.world │ │ ├── sample_maze.world │ │ └── willowgarage.world │ ├── raspimouse_msgs │ ├── CMakeLists.txt │ ├── action │ │ └── Music.action │ ├── msg │ │ ├── ButtonValues.msg │ │ ├── LedValues.msg │ │ ├── LightSensorValues.msg │ │ └── MotorFreqs.msg │ ├── package.xml │ └── srv │ │ └── TimedMotion.srv │ └── raspimouse_sim │ ├── CMakeLists.txt │ └── package.xml ├── THIRD-PARTY-LICENSE.md ├── UnityScripts ├── JoyStick │ ├── Scripts │ │ └── OnScreenStickCmdVelPublisher.cs │ └── Textures │ │ └── white_circle.png ├── OdometryViewer │ ├── Materials.meta │ ├── Materials │ │ ├── ArrowMaterial.mat │ │ ├── ArrowMaterial.mat.meta │ │ ├── ArrowMaterial2.mat │ │ ├── ArrowMaterial2.mat.meta │ │ ├── Arrows.fbx │ │ └── Arrows.fbx.meta │ ├── Prefabs.meta │ ├── Prefabs │ │ ├── Arrows-bule.prefab │ │ ├── Arrows-bule.prefab.meta │ │ ├── Arrows-red.prefab │ │ └── Arrows-red.prefab.meta │ ├── Scripts.meta │ └── Scripts │ │ ├── OdometryViewer.cs │ │ └── OdometryViewer.cs.meta ├── PointCloud │ ├── Materials.meta │ ├── Materials │ │ ├── Sphere.mat │ │ └── Sphere.mat.meta │ ├── Prefabs.meta │ ├── Prefabs │ │ ├── Sphere.prefab │ │ └── Sphere.prefab.meta │ ├── Scenes.meta │ ├── Scenes │ │ ├── PointCloudSample.unity │ │ └── PointCloudSample.unity.meta │ ├── Scripts.meta │ └── Scripts │ │ ├── PointCloudLocator.cs │ │ └── PointCloudLocator.cs.meta └── Scripts │ ├── CmdVelPublisher.cs │ ├── CmdVelPublisher.cs.meta │ ├── CmdVelSubscriber.cs │ ├── CmdVelSubscriber.cs.meta │ ├── ImageSubscriber.cs │ ├── ImageSubscriber.cs.meta │ ├── LaserScanSubscriber.cs │ ├── LaserScanSubscriber.cs.meta │ ├── OdomSubscriber.cs │ ├── OdomSubscriber.cs.meta │ ├── TfSubscriber.cs │ └── TfSubscriber.cs.meta └── docs ├── appendix.md ├── images ├── appendix-1.png ├── appendix-13.png ├── appendix-14.png ├── appendix-15.png ├── appendix-16.png ├── appendix-17.png ├── appendix-18.png ├── appendix-19.png ├── appendix-2.gif ├── appendix-2.png ├── appendix-20.png ├── appendix-21.png ├── appendix-22.png ├── appendix-23.png ├── appendix-24.png ├── appendix-25.png ├── appendix-26.png ├── appendix-27.png ├── appendix-28.png ├── appendix-3.png ├── appendix-4.png ├── intro0-1.png ├── intro1-1.png ├── intro1-2.jpg ├── intro1-3.png ├── intro1-4.png ├── intro2-1-1.gif ├── intro2-1.png ├── intro2-2.png ├── intro3-1.png ├── intro3-2.png ├── intro3-3.png ├── intro3-4.png ├── intro3-5.png ├── intro3-6.png ├── intro3-7.png ├── raspimouse_urg_axis_ros.png ├── raspimouse_urg_axis_unity.png ├── step0-1.png ├── step0-2.png ├── step0-3.png ├── step0-4.gif ├── step0-5.png ├── step0-6.png ├── step1-1.png ├── step1-10.gif ├── step1-11.png ├── step1-2.png ├── step1-3.png ├── step1-4.png ├── step1-5.gif ├── step1-6.png ├── step1-7.png ├── step1-8.png ├── step1-9.png ├── step2-1.png ├── step2-2.png ├── step2-3.gif ├── step2-4.gif ├── step2-5-1.png ├── step2-5.png ├── step2-6-1.png ├── step2-6-2.png ├── step2-6.png ├── step2-7.png ├── step3-1.png ├── step3-10.png ├── step3-11.png ├── step3-12.gif ├── step3-13.png ├── step3-14.gif ├── step3-15.png ├── step3-16.gif ├── step3-17.gif ├── step3-18.gif ├── step3-19.png ├── step3-2.png ├── step3-20.png ├── step3-21.png ├── step3-22.png ├── step3-23.png ├── step3-24.png ├── step3-25.png ├── step3-26-1.png ├── step3-26.gif ├── step3-27.png ├── step3-28-1.gif ├── step3-28.png ├── step3-29.png ├── step3-3.png ├── step3-30.gif ├── step3-31.png ├── step3-4.png ├── step3-5.png ├── step3-6.png ├── step3-7.png ├── step3-8.png ├── step3-9.png ├── step4-100.png ├── step4-101.png ├── step4-5.png ├── step4-6.gif ├── step4-7.gif ├── step4-8.gif ├── step4-9.gif ├── step4-99.png ├── step5-1.png ├── step5-2.png ├── step5-3.gif ├── step5-4.gif ├── step5-5.gif ├── step5-6.png ├── step5-7.png ├── step6-1.png ├── step6-2.png ├── step6-3.gif ├── step6-4.gif ├── step6-5.gif ├── step7-1.png ├── step7-2.png ├── step7-3.png ├── step7-4.png ├── step7-5.gif ├── step7-6.png └── step7-7.gif ├── intro0.md ├── intro1.md ├── intro2.md ├── intro3.md ├── step0.md ├── step1.md ├── step2.md ├── step3.md ├── step4.md ├── step5.md ├── step6.md └── step7.md /.github/scripts/sync_scripts.sh: -------------------------------------------------------------------------------- 1 | #/bin/bash -eu 2 | 3 | SRC_DIR=$(cd $(dirname ${BASH_SOURCE:-$0})/../../; pwd) 4 | echo "Run sync script in $SRC_DIR" 5 | rsync -av --delete $SRC_DIR/MobileRobotUITutorialProject/Assets/Scripts/ $SRC_DIR/UnityScripts/Scripts 6 | rsync -av --delete $SRC_DIR/MobileRobotUITutorialProject/Assets/OdometryViewer/ $SRC_DIR/UnityScripts/OdometryViewer 7 | rsync -av --delete $SRC_DIR/MobileRobotUITutorialProject/Assets/PointCloud/ $SRC_DIR/UnityScripts/PointCloud 8 | -------------------------------------------------------------------------------- /.github/workflows/check_tutorial_files.yaml: -------------------------------------------------------------------------------- 1 | name: Check for the tutorial update 2 | 3 | on: 4 | pull_request: 5 | paths: 6 | - "MobileRobotUITutorialProject/**" 7 | - "UnityScripts/**" 8 | 9 | jobs: 10 | check-tutorial-files: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v3 14 | 15 | - name: File sync 16 | run: | 17 | ./.github/scripts/sync_scripts.sh 18 | git status | grep "working tree clean" && exit 0 || git status; exit 1; 19 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "ROS/src/ros_tcp_endpoint"] 2 | path = ROS/src/ros_tcp_endpoint 3 | url = https://github.com/Unity-Technologies/ROS-TCP-Endpoint.git 4 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/.gitignore: -------------------------------------------------------------------------------- 1 | ### https://raw.github.com/github/gitignore/218a941be92679ce67d0484547e3e142b2f5f6f0/Unity.gitignore 2 | 3 | # This .gitignore file should be placed at the root of your Unity project directory 4 | # 5 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 6 | # 7 | /[Ll]ibrary/ 8 | /[Tt]emp/ 9 | /[Oo]bj/ 10 | /[Bb]uild/ 11 | /[Bb]uilds/ 12 | /[Ll]ogs/ 13 | /[Uu]ser[Ss]ettings/ 14 | 15 | # MemoryCaptures can get excessive in size. 16 | # They also could contain extremely sensitive data 17 | /[Mm]emoryCaptures/ 18 | 19 | # Asset meta data should only be ignored when the corresponding asset is also ignored 20 | !/[Aa]ssets/**/*.meta 21 | 22 | # Uncomment this line if you wish to ignore the asset store tools plugin 23 | # /[Aa]ssets/AssetStoreTools* 24 | 25 | # Autogenerated Jetbrains Rider plugin 26 | /[Aa]ssets/Plugins/Editor/JetBrains* 27 | 28 | # Visual Studio cache directory 29 | .vs/ 30 | 31 | # Visual Studio Code cache directory 32 | .vscode/ 33 | 34 | .vsconfig 35 | 36 | # Gradle cache directory 37 | .gradle/ 38 | 39 | # Autogenerated VS/MD/Consulo solution and project files 40 | ExportedObj/ 41 | .consulo/ 42 | *.csproj 43 | *.unityproj 44 | *.sln 45 | *.suo 46 | *.tmp 47 | *.user 48 | *.userprefs 49 | *.pidb 50 | *.booproj 51 | *.svd 52 | *.pdb 53 | *.mdb 54 | *.opendb 55 | *.VC.db 56 | 57 | # Unity3D generated meta files 58 | *.pidb.meta 59 | *.pdb.meta 60 | *.mdb.meta 61 | 62 | # Unity3D generated file on crash reports 63 | sysinfo.txt 64 | 65 | # Builds 66 | *.apk 67 | *.aab 68 | *.unitypackage 69 | 70 | # Crashlytics generated file 71 | crashlytics-build.properties 72 | 73 | # Packed Addressables 74 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* 75 | 76 | # Temporary auto-generated Android Assets 77 | /[Aa]ssets/[Ss]treamingAssets/aa.meta 78 | /[Aa]ssets/[Ss]treamingAssets/aa/* 79 | 80 | 81 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/JoyStick/Scripts/OnScreenStickCmdVelPublisher.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.InputSystem; 3 | using Unity.Robotics.ROSTCPConnector; 4 | using TwistMsg = RosMessageTypes.Geometry.TwistMsg; 5 | 6 | public class OnScreenStickCmdVelPublisher : MonoBehaviour 7 | { 8 | [SerializeField] private InputAction _moveAction; 9 | 10 | [SerializeField] string topicName = "cmd_vel"; 11 | private ROSConnection ros; 12 | private TwistMsg cmdVelMessage = new TwistMsg(); 13 | 14 | private void Start() 15 | { 16 | ros = ROSConnection.GetOrCreateInstance(); 17 | ros.RegisterPublisher(topicName); 18 | StopPublish(); 19 | 20 | _moveAction.performed += _ => 21 | { 22 | var value = _moveAction.ReadValue(); 23 | Debug.Log($"Move: ({value.x}, {value.y})"); 24 | cmdVelMessage.linear.x = value.y * 0.2f; 25 | cmdVelMessage.angular.z = value.x * -1.0f; 26 | Publish(); 27 | }; 28 | 29 | _moveAction.canceled += _ => 30 | { 31 | StopPublish(); 32 | }; 33 | } 34 | 35 | private void OnEnable() 36 | { 37 | _moveAction.Enable(); 38 | } 39 | 40 | private void OnDisable() 41 | { 42 | _moveAction.Disable(); 43 | } 44 | 45 | private void OnDestroy() 46 | { 47 | _moveAction.Dispose(); 48 | } 49 | 50 | private void StopPublish() 51 | { 52 | cmdVelMessage.linear.x = 0.0f; 53 | cmdVelMessage.angular.z = 0.0f; 54 | Publish(); 55 | } 56 | 57 | private void Publish() 58 | { 59 | ros.Publish(topicName, cmdVelMessage); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/JoyStick/Textures/white_circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/Assets/JoyStick/Textures/white_circle.png -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Models.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c1f52737c2fac4478394ad32d5de37d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/OdometryViewer.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4059d8fc8fa12ccdc8293e5c76f5254e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/OdometryViewer/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ecc449d3c05199d3d9a36925914ddc83 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/OdometryViewer/Materials/ArrowMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d47c437c1d5e9499681fe7ed3747c1bc 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/OdometryViewer/Materials/ArrowMaterial2.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f6bb532c1d924888adeefb2733bc4fb 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/OdometryViewer/Materials/Arrows.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/Assets/OdometryViewer/Materials/Arrows.fbx -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/OdometryViewer/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 742c48e0c8cbceaab9a23f8714d260b7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/OdometryViewer/Prefabs/Arrows-bule.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: abdb200c6bbce4de78e32958500935de 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 100100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/OdometryViewer/Prefabs/Arrows-red.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad09d02a767c94008a93473968a137c1 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 100100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/OdometryViewer/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 87f6df19bfd592011b02a949280624a5 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/OdometryViewer/Scripts/OdometryViewer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ab0860b423006027b990607bba52dc93 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/PointCloud.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c53d4d744841d0b8b9685a25f024a742 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/PointCloud/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d42bb1f0777419544b1d623f804a6109 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/PointCloud/Materials/Sphere.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e39ed91c775f85c4dba745e0c45ca921 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/PointCloud/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 60dddee5ab5f7e34e9a03a15726c2baf 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/PointCloud/Prefabs/Sphere.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6a7d64f0df28e324684ffb16cae07465 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/PointCloud/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0ccd62507e208984a84406ad23590d42 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/PointCloud/Scenes/PointCloudSample.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20e52f821fe5cae35b15481db148ee90 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/PointCloud/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8cc732510791c34bb5aa767aa2e8b5d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/PointCloud/Scripts/PointCloudLocator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb1c556465693b44a9f4d57e1adcdb72 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: feb35d5c5eebf9623b3767858082aeea 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Prefabs/Canvas.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bcb7feccb77720a48b368b67b3a6e19f 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9747c82cb529f3914a59b32f3894e6d0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Resources/GeometryCompassSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 6ad8cf01110e54df290b36a418e91285, type: 3} 13 | m_Name: GeometryCompassSettings 14 | m_EditorClassIdentifier: 15 | m_ZAxisDirection: 0 16 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Resources/GeometryCompassSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d96801ebff8a5e641be96e7345c80a27 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Resources/ROSConnectionPrefab.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &5084645119679862422 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 557599289803284995} 12 | - component: {fileID: 5739552600191964778} 13 | - component: {fileID: 304769177554254289} 14 | m_Layer: 0 15 | m_Name: ROSConnectionPrefab 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!4 &557599289803284995 22 | Transform: 23 | m_ObjectHideFlags: 0 24 | m_CorrespondingSourceObject: {fileID: 0} 25 | m_PrefabInstance: {fileID: 0} 26 | m_PrefabAsset: {fileID: 0} 27 | m_GameObject: {fileID: 5084645119679862422} 28 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 29 | m_LocalPosition: {x: 0, y: 0, z: 0} 30 | m_LocalScale: {x: 1, y: 1, z: 1} 31 | m_ConstrainProportionsScale: 0 32 | m_Children: [] 33 | m_Father: {fileID: 0} 34 | m_RootOrder: 0 35 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 36 | --- !u!114 &5739552600191964778 37 | MonoBehaviour: 38 | m_ObjectHideFlags: 0 39 | m_CorrespondingSourceObject: {fileID: 0} 40 | m_PrefabInstance: {fileID: 0} 41 | m_PrefabAsset: {fileID: 0} 42 | m_GameObject: {fileID: 5084645119679862422} 43 | m_Enabled: 1 44 | m_EditorHideFlags: 0 45 | m_Script: {fileID: 11500000, guid: 7acef0b79454c9b4dae3f8139bc4ba77, type: 3} 46 | m_Name: 47 | m_EditorClassIdentifier: 48 | m_RosIPAddress: 127.0.0.1 49 | m_RosPort: 10000 50 | m_ConnectOnStart: 1 51 | m_KeepaliveTime: 1 52 | m_NetworkTimeoutSeconds: 2 53 | m_SleepTimeSeconds: 0.01 54 | m_ShowHUD: 1 55 | m_TFTopics: 56 | - /tf 57 | listenForTFMessages: 1 58 | --- !u!114 &304769177554254289 59 | MonoBehaviour: 60 | m_ObjectHideFlags: 0 61 | m_CorrespondingSourceObject: {fileID: 0} 62 | m_PrefabInstance: {fileID: 0} 63 | m_PrefabAsset: {fileID: 0} 64 | m_GameObject: {fileID: 5084645119679862422} 65 | m_Enabled: 1 66 | m_EditorHideFlags: 0 67 | m_Script: {fileID: 11500000, guid: 2e22dfed9de9543ce99aa7e1ab505588, type: 3} 68 | m_Name: 69 | m_EditorClassIdentifier: 70 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Resources/ROSConnectionPrefab.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2ffe64cf6b8e7acbd83e620039981553 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e72a691d88747820895600f32c2a63a8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scenes/Step1.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e8cfd4987bc63a47b13af84f45c4e3c 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scenes/Step2.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0cbbddbb2ba21fe4f81f0c9fdc3cedd9 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scenes/Step3.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 61997e486f4cfc44f9e89ec3e8d740a7 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scenes/Step4.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed44f09668b77a84497ceefa57a8ce14 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scenes/Step5.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e10f8b36a367c74baaa8f78edcecba8 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scenes/Step6.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bc24c8c68f9ba140a5352a8c2909721 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scenes/Step7.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d3060455223dd1468ac84c152e09231 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 313c8d2b73f233ab0a12edd5508630e2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scripts/CmdVelPublisher.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3ce3c96156e9cae259dfd03a04c8616c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scripts/CmdVelSubscriber.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Unity.Robotics.ROSTCPConnector; 3 | // 各種ROSトピック形式 4 | using TwistMsg = RosMessageTypes.Geometry.TwistMsg; 5 | 6 | /// 7 | /// CmdVel(TwistMsg)を受信するためのクラス 8 | /// 主にデバッグ用に使うことを想定 9 | /// 10 | public class CmdVelSubscriber : MonoBehaviour 11 | { 12 | // 受信するROSのトピック名 13 | [SerializeField] string rosTopicName = "cmd_vel"; 14 | // デバッグモードとするかどうか(デバッグモードではコンソールにログを出力) 15 | [SerializeField] bool isDebugMode = true; 16 | 17 | /// 18 | /// 初期化用のイベント関数 19 | /// https://docs.unity3d.com/ja/2020.3/Manual/ExecutionOrder.html 20 | /// 21 | void Start() 22 | { 23 | ROSConnection.GetOrCreateInstance().Subscribe(rosTopicName, CmdVelUpdate); 24 | } 25 | 26 | /// 27 | /// ROSトピックを受け取った際に呼ばれるコールバック関数 28 | /// 29 | void CmdVelUpdate(TwistMsg twistMessage) 30 | { 31 | if (isDebugMode) 32 | { 33 | Debug.Log(twistMessage); 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scripts/CmdVelSubscriber.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3745db3e9359cd2fdad7685ade18554c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scripts/ImageSubscriber.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e9069025f49c0582a6d94301f283d14 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scripts/LaserScanSubscriber.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Unity.Robotics.ROSTCPConnector; 3 | // 座標変換用 4 | using Unity.Robotics.ROSTCPConnector.ROSGeometry; 5 | // 各種ROSトピック形式 6 | using LaserScanMsg = RosMessageTypes.Sensor.LaserScanMsg; 7 | 8 | /// 9 | /// LiDARスキャンデータ(LaserScanMsg)を受信するためのクラス 10 | /// 主にスキャンデータの取得および座標変換に使い、描画は別のスクリプトを用意することを想定 11 | /// 12 | public class LaserScanSubscriber : MonoBehaviour 13 | { 14 | 15 | // 受信するROSのトピック名 16 | [SerializeField] string rosTopicName = "scan"; 17 | // デバッグモードとするかどうか(デバッグモードではコンソールにログを出力) 18 | [SerializeField] bool isDebugMode = true; 19 | 20 | private float[] scanRangesArray; 21 | private float scanAngleMin = 0; 22 | private float scanAngleMax = 0; 23 | 24 | /// 25 | /// 初期化用のイベント関数 26 | /// https://docs.unity3d.com/ja/2020.3/Manual/ExecutionOrder.html 27 | /// 28 | void Start() 29 | { 30 | ROSConnection.GetOrCreateInstance().Subscribe(rosTopicName, ScanUpdate); 31 | } 32 | 33 | 34 | /// 35 | /// ROSトピックを受け取った際に呼ばれるコールバック関数 36 | /// 37 | void ScanUpdate(LaserScanMsg scanMessage) 38 | { 39 | if (isDebugMode) 40 | { 41 | Debug.Log(scanMessage); 42 | } 43 | 44 | scanRangesArray = scanMessage.ranges; 45 | scanAngleMax = scanMessage.angle_max; 46 | scanAngleMin = scanMessage.angle_min; 47 | } 48 | 49 | /// 50 | /// 外部からスキャン結果の配列にアクセスするための関数 51 | /// 52 | public float[] GetScanRanges() 53 | { 54 | return scanRangesArray; 55 | 56 | } 57 | 58 | /// 59 | /// 外部からスキャン結果にアクセスするための関数 60 | /// 61 | public float GetScanAngleMin() 62 | { 63 | return scanAngleMin; 64 | } 65 | 66 | /// 67 | /// 外部からスキャン結果にアクセスするための関数 68 | /// 69 | public float GetScanAngleMax() 70 | { 71 | return scanAngleMax; 72 | } 73 | } -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scripts/LaserScanSubscriber.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d8957dd394486cc24a646e1e9267143f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scripts/OdomSubscriber.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5fb804f34d8251f6789633dacd64023f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/Scripts/TfSubscriber.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 200b7a8ec8bff2c3ca78a911fd664c80 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d86f7ba5b702ed97189d5a5d0b0c3d0e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4fef21925f8091c4aa0f18d0c6864ebd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/Materials/Default.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8255a5caa1c1c6b499547e33cdd48193 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e11d4d591a7f084786eca71857a70cd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | bin/ 3 | lib/ 4 | msg_gen/ 5 | srv_gen/ 6 | msg/*Action.msg 7 | msg/*ActionFeedback.msg 8 | msg/*ActionGoal.msg 9 | msg/*ActionResult.msg 10 | msg/*Feedback.msg 11 | msg/*Goal.msg 12 | msg/*Result.msg 13 | msg/_*.py 14 | 15 | # Generated by dynamic reconfigure 16 | *.cfgc 17 | /cfg/cpp/ 18 | /cfg/*.py 19 | 20 | # Ignore generated docs 21 | *.dox 22 | *.wikidoc 23 | 24 | # eclipse stuff 25 | .project 26 | .cproject 27 | 28 | # qcreator stuff 29 | CMakeLists.txt.user 30 | 31 | srv/_*.py 32 | *.pcd 33 | *.pyc 34 | qtcreator-* 35 | *.user 36 | 37 | /planning/cfg 38 | /planning/docs 39 | /planning/src 40 | 41 | *~ 42 | 43 | # Emacs 44 | .#* 45 | 46 | # Catkin custom files 47 | CATKIN_IGNORE 48 | 49 | # SketchUp backup files 50 | *~.skp 51 | 52 | # Swap files 53 | *.swp 54 | 55 | # MacOS metadata files 56 | .DS_store 57 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(raspimouse_description) 3 | 4 | find_package(catkin REQUIRED COMPONENTS 5 | urdf 6 | ) 7 | 8 | catkin_package() 9 | 10 | include_directories( 11 | ${catkin_INCLUDE_DIRS} 12 | ) 13 | 14 | foreach(dir launch meshes urdf) 15 | install(DIRECTORY ${dir}/ 16 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/${dir} 17 | ) 18 | endforeach(dir) 19 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/CMakeLists.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2721822c751f7ad48897676b930f632c 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016-2020 RT Corporation 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/LICENSE.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f60c13b847d85be4092b5e9fb3323f29 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/README.md: -------------------------------------------------------------------------------- 1 | # raspimouse_description 2 | 3 | ROS package with URDF description macro for [Raspberry Pi Mouse](https://rt-net.jp/products/raspberrypimousev3/) 4 | 5 | ![display_launch](https://rt-net.github.io/images/raspberry-pi-mouse/display_launch.png) 6 | 7 | This ROS package was separated from [rt-net/raspimouse_sim](https://github.com/rt-net/raspimouse_sim). 8 | See details from [rt-net/raspimouse_sim#42](https://github.com/rt-net/raspimouse_sim/pull/42). 9 | 10 | ## Requirements 11 | 12 | - ROS 13 | - [Kinetic Kame](http://wiki.ros.org/kinetic/Installation/Ubuntu) 14 | - [Melodic Morenia](http://wiki.ros.org/melodic/Installation/Ubuntu) 15 | 16 | ## Installation 17 | 18 | ```sh 19 | # Clone raspimouse_description and install dependencies 20 | cd ~/catkin_ws/src 21 | git clone https://github.com/rt-net/raspimouse_description 22 | rosdep install -r -y -i --from-paths . 23 | 24 | # Build the package 25 | cd ~/catkin_ws 26 | catkin_make 27 | source devel/setup.bash 28 | ``` 29 | 30 | ## How to Use 31 | 32 | Display a Raspberry Pi Mouse robot model on RViz with the following comand: 33 | 34 | ```sh 35 | roslaunch raspimouse_description display_xacro.launch 36 | ``` 37 | 38 | ## LICENSE 39 | 40 | (C) 2016-2020 RT Corporation \ 41 | 42 | This repository is licensed under the MIT license, see [LICENSE](./LICENSE). 43 | Unless attributed otherwise, everything in this repository is under the MIT license. 44 | 45 | ### Acknowledgements 46 | 47 | Special thanks to https://gbiggs.github.io/rosjp_urdf_tutorial_text/index.html 48 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d2a38161090de504296485c4c76ccda0 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/launch.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8122285dc37d24b44a6a77c9e29dc0e9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/launch/config.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a1a2fbfc9a22d9248949b5a82e6e918f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/launch/config/urdf.rviz.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 74322d6a617ad104ba1d848416782138 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/launch/display_urdf.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ["joint_states_source"] 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/launch/display_urdf.launch.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2521b22563fc44b4a945d347f0c52b5f 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/launch/display_xacro.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | ["joint_states_source"] 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/launch/display_xacro.launch.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 172db8fd6015dab45903e76740a9c118 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 82be2f3be135b1545af155f2d6d0c296 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/dae.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec4e64fcffae2d9488dc4fd6906a35ce 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/dae/body.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a226338d835298244a8e3efc2d6f218f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/dae/body/rt-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/dae/body/rt-logo.png -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/dae/sensor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 57483ed22d63c4846b197141de28f66a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/dae/wheel.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af2248cea8a5e784390b577ac6afc26b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e60d02ad7071b2949b4db3578865c689 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/RasPiMouse_TopPlate.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/RasPiMouse_TopPlate.stl -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/RasPiMouse_TopPlate.stl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1187fddb3bde22348a31a1a97d6e576d 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/RasPiMouse_base-metric.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/RasPiMouse_base-metric.stl -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/RasPiMouse_base-metric.stl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8d0e22e3fac4224c88ecec7c61b6dc1 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/RasPiMouse_sensor-metric.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/RasPiMouse_sensor-metric.stl -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/RasPiMouse_sensor-metric.stl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 411468d6c6015b2498df0255f4afe633 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/RasPiMouse_wheel-metric.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/RasPiMouse_wheel-metric.stl -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/RasPiMouse_wheel-metric.stl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b7d3982bb2e2ad40b39665ea8dd2695 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/RasPiMouse_wheel-mm.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/RasPiMouse_wheel-mm.stl -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/RasPiMouse_wheel-mm.stl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44529f4b887edf343a7e6c74a63fbfe5 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/URG-04LX-UG01.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/URG-04LX-UG01.stl -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/URG-04LX-UG01.stl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8717b415747210e4698e06eb73a54b63 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d2b9e9ec8b849443ae4ec70618e3d12 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_body_black.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_body_black.stl -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_body_black.stl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 557e4b6447dc48147a455b0ee51188ad 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_body_gray.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_body_gray.stl -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_body_gray.stl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3704fcbf57ed2844935b1df3a3db9d2 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_body_green.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_body_green.stl -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_body_green.stl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b1d2b588d0329641bd0c93a2cff9741 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_body_red.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_body_red.stl -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_body_red.stl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19dfc5d5f908d4c49baa9347b43074dd 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_wheel_black.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_wheel_black.stl -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_wheel_black.stl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5614b657c0682b844b088ec3f7f8f9d9 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_wheel_gray.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_wheel_gray.stl -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/meshes/stl/color/RasPiMouse_wheel_gray.stl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e33eb198761574640816f843f28b0f34 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/model.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | RaspberryPiMouse 4 | 1.0 5 | urdf/raspimouse.urdf.xacro 6 | 7 | rt-net 8 | shop@rt-net.jp 9 | 10 | 11 | RaspberryPiMouse 12 | 13 | 14 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/model.config.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 902c442bd858fcc48bdc5aec5f8712c9 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 1 29 | settings: {} 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | raspimouse_description 4 | 0.1.0 5 | The raspimouse_description package 6 | 7 | RT Corporation 8 | Daisuke Sato 9 | 10 | MIT 11 | 12 | https://github.com/rt-net/raspimouse_sim/wiki 13 | https://github.com/rt-net/raspimouse_description 14 | https://github.com/rt-net/raspimouse_description/issues 15 | 16 | catkin 17 | 18 | joint_state_publisher_gui 19 | joint_state_publisher 20 | robot_state_publisher 21 | rviz 22 | urdf 23 | xacro 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/package.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e4d1eca592d26941b9ec7698296f636 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 07db9044b74c59b40bd417c9f330bd42 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/body.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9abf1b24459210c498cde86d5a0fcc86 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/body/body.gazebo.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0.1 6 | 0.1 7 | 8 | 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/body/body.gazebo.xacro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dbd673aa69e29804c96e209ff645488b 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/body/body.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/body/body.urdf.xacro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a495022ed1dec304a9f1cad51fa44268 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/body/option.urdf.xacro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 87ec057c2b7634a4f9178442d6134020 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/camera.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f71e46260fa53d488902eedb9d1f761 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/camera/camera.gazebo.xacro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6085ef2d61158664dbe2355b816df495 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/camera/camera.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/camera/camera.urdf.xacro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db52ab046a948fc48b8c8cf955b628d6 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/common.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 19 | 20 | 23 | 24 | 25 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/common.xacro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 31be21cc6255dc14c95917f5cd99c455 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/raspimouse.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/raspimouse.urdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 009c8ab7292638643807324f855b7530 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/raspimouse.urdf.xacro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e350db67d2651a49b40c99044fba41b 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/raspimouse_with_urg.urdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e09567aa5b9e3b4fb3253207781d50c 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/sensors.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bcf42bd241fc9c34fa52ac2a0ca30b1a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/sensors/lidar.gazebo.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 0 0 0 0 0 8 | $(arg laser_visual) 9 | 10 10 | 11 | 12 | 13 | 720 14 | 1 15 | ${base_rad-rad_range/2} 16 | ${base_rad+rad_range/2} 17 | 18 | 19 | 20 | ${min_range} 21 | ${max_range} 22 | 0.01 23 | 24 | 25 | gaussian 26 | 0.0 27 | 0.03 28 | 29 | 30 | 31 | scan 32 | ${sensor_link_name} 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/sensors/lidar.gazebo.xacro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c097adc0e6d41104cae1a01ebcd220f2 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/sensors/lidar.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/sensors/lidar.urdf.xacro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f2492cc672d73d42a452c703dad7222 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/sensors/lightsens.gazebo.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Gazebo/Gray 7 | 8 | 0 0 0 0 0 0 9 | false 10 | 20 11 | 12 | 13 | 14 | 1 15 | 1 16 | ${base_rad-rad_range/2} 17 | ${base_rad+rad_range/2} 18 | 19 | 20 | 21 | ${min_range} 22 | ${max_range} 23 | 0.001 24 | 25 | 26 | gaussian 27 | 0.0 28 | 0.01 29 | 30 | 31 | 32 | ${robot_namespace} 33 | ${prefix}_scan 34 | ${robotdescription_namespace}${prefix} 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/sensors/lightsens.gazebo.xacro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 858ff49c719eebf43ad97482765e32f8 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/sensors/lightsens.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/sensors/lightsens.urdf.xacro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 40e6892418d35f340995698de4902472 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/wheel.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f75d34cfdf358724fa51c7016c4befa2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/wheel/diffdrive.gazebo.xacro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 27169e19221083e4099ec1ff50d5211f 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/wheel/wheel.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 2 34 | 2 35 | 0 36 | 0 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_description/urdf/wheel/wheel.urdf.xacro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 453cc5739a0b7934fab2b30a8aea3704 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/URDF/raspimouse_with_urg.urdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46bcc6a4ea13bae478712969f370a775 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/msgbrowser_settings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: c444d6f85828f1b4f9b89c7c387f9ddd, type: 3} 13 | m_Name: msgbrowser_settings 14 | m_EditorClassIdentifier: 15 | inputPath: C:/Users/Daisuke/Documents/Unity/Unity-ROS-MobileRobot-UI-Tutorial/ROS/src 16 | relativeOutPath: RosMessages 17 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/Assets/msgbrowser_settings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: efaa8f605fcc4aca3ae3a367eee6aa93 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 1024 20 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_DefaultMaxDepenetrationVelocity: 10 11 | m_SleepThreshold: 0.005 12 | m_DefaultContactOffset: 0.01 13 | m_DefaultSolverIterations: 20 14 | m_DefaultSolverVelocityIterations: 20 15 | m_QueriesHitBackfaces: 0 16 | m_QueriesHitTriggers: 1 17 | m_EnableAdaptiveForce: 0 18 | m_ClothInterCollisionDistance: 0 19 | m_ClothInterCollisionStiffness: 0 20 | m_ContactsGeneration: 1 21 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 22 | m_AutoSimulation: 1 23 | m_AutoSyncTransforms: 0 24 | m_ReuseCollisionCallbacks: 1 25 | m_ClothInterCollisionSettingsToggle: 0 26 | m_ClothGravity: {x: 0, y: -9.81, z: 0} 27 | m_ContactPairsMode: 0 28 | m_BroadphaseType: 0 29 | m_WorldBounds: 30 | m_Center: {x: 0, y: 0, z: 0} 31 | m_Extent: {x: 250, y: 250, z: 250} 32 | m_WorldSubdivisions: 8 33 | m_FrictionType: 2 34 | m_EnableEnhancedDeterminism: 0 35 | m_EnableUnifiedHeightmaps: 1 36 | m_SolverType: 1 37 | m_DefaultMaxAngularSpeed: 7 38 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: [] 8 | m_configObjects: {} 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 11 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 0 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 0 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 0 30 | m_SerializeInlineMappingsOnOneLine: 1 -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/MemorySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!387306366 &1 4 | MemorySettings: 5 | m_ObjectHideFlags: 0 6 | m_EditorMemorySettings: 7 | m_MainAllocatorBlockSize: -1 8 | m_ThreadAllocatorBlockSize: -1 9 | m_MainGfxBlockSize: -1 10 | m_ThreadGfxBlockSize: -1 11 | m_CacheBlockSize: -1 12 | m_TypetreeBlockSize: -1 13 | m_ProfilerBlockSize: -1 14 | m_ProfilerEditorBlockSize: -1 15 | m_BucketAllocatorGranularity: -1 16 | m_BucketAllocatorBucketsCount: -1 17 | m_BucketAllocatorBlockSize: -1 18 | m_BucketAllocatorBlockCount: -1 19 | m_ProfilerBucketAllocatorGranularity: -1 20 | m_ProfilerBucketAllocatorBucketsCount: -1 21 | m_ProfilerBucketAllocatorBlockSize: -1 22 | m_ProfilerBucketAllocatorBlockCount: -1 23 | m_TempAllocatorSizeMain: -1 24 | m_JobTempAllocatorBlockSize: -1 25 | m_BackgroundJobTempAllocatorBlockSize: -1 26 | m_JobTempAllocatorReducedBlockSize: -1 27 | m_TempAllocatorSizeGIBakingWorker: -1 28 | m_TempAllocatorSizeNavMeshWorker: -1 29 | m_TempAllocatorSizeAudioWorker: -1 30 | m_TempAllocatorSizeCloudWorker: -1 31 | m_TempAllocatorSizeGfx: -1 32 | m_TempAllocatorSizeJobWorker: -1 33 | m_TempAllocatorSizeBackgroundWorker: -1 34 | m_TempAllocatorSizePreloadManager: -1 35 | m_PlatformMemorySettings: {} 36 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreviewPackages: 0 16 | m_EnablePackageDependencies: 0 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | oneTimeWarningShown: 0 20 | m_Registries: 21 | - m_Id: main 22 | m_Name: 23 | m_Url: https://packages.unity.com 24 | m_Scopes: [] 25 | m_IsDefault: 1 26 | m_Capabilities: 7 27 | m_UserSelectedRegistryName: 28 | m_UserAddingNewScopedRegistry: 0 29 | m_RegistryInfoDraft: 30 | m_ErrorMessage: 31 | m_Original: 32 | m_Id: 33 | m_Name: 34 | m_Url: 35 | m_Scopes: [] 36 | m_IsDefault: 0 37 | m_Capabilities: 0 38 | m_Modified: 0 39 | m_Name: 40 | m_Url: 41 | m_Scopes: 42 | - 43 | m_SelectedScopeIndex: 0 44 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_DefaultPresets: {} 8 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2021.3.4f1 2 | m_EditorVersionWithRevision: 2021.3.4f1 (cb45f9cae8b7) 3 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: 7 | - robot 8 | layers: 9 | - Default 10 | - TransparentFX 11 | - Ignore Raycast 12 | - 13 | - Water 14 | - UI 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | - 41 | m_SortingLayers: 42 | - name: Default 43 | uniqueID: 0 44 | locked: 0 45 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/TimelineSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: a287be6c49135cd4f9b2b8666c39d999, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | assetDefaultFramerate: 60 16 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_DashboardUrl: https://dashboard.unity3d.com 13 | m_TestInitMode: 0 14 | CrashReportingSettings: 15 | m_EventUrl: https://perf-events.cloud.unity3d.com 16 | m_Enabled: 0 17 | m_LogBufferSize: 10 18 | m_CaptureEditorExceptions: 1 19 | UnityPurchasingSettings: 20 | m_Enabled: 0 21 | m_TestMode: 0 22 | UnityAnalyticsSettings: 23 | m_Enabled: 0 24 | m_TestMode: 0 25 | m_InitializeOnStartup: 1 26 | UnityAdsSettings: 27 | m_Enabled: 0 28 | m_InitializeOnStartup: 1 29 | m_TestMode: 0 30 | m_IosGameId: 31 | m_AndroidGameId: 32 | m_GameIds: {} 33 | m_GameId: 34 | PerformanceReportingSettings: 35 | m_Enabled: 0 36 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_StripUpdateShader: {fileID: 0} 10 | m_RenderPipeSettingsPath: 11 | m_FixedTimeStep: 0.016666668 12 | m_MaxDeltaTime: 0.05 13 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /MobileRobotUITutorialProject/ProjectSettings/boot.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/MobileRobotUITutorialProject/ProjectSettings/boot.config -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # UnityとROSで学ぶ移動ロボット入門 UI作成編 2 | 3 | ![](./docs/images/intro0-1.png) 4 | 本教材は Unity と ROS を組み合わせたロボット開発のための入門用教材です。 5 | 6 | ## 1. はじめるための準備 7 | 8 | 本教材は、[Git](https://git-scm.com/) を使用してお手元の環境に複製してお使い下さい。 9 | 10 | * Gitを使うのが初めての方は、「Git Windows 使い方」 などのキーワードでネット検索すると多くの情報が得られますので参考にしてみて下さい。 11 | 12 | Gitがインストールできたら、Git Bash、コマンドプロンプト または Power Shell などから以下のコマンド順番に実行して行きます。 13 | 14 | ### 1-1. GitHub からファイルを一式を取得する 15 | 16 | GitHub からファイルを一式を複製(clone)します。 17 | ``` 18 | git clone https://github.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial.git 19 | ``` 20 | 21 | ### 1-2. 作業フォルダに移動する 22 | ``` 23 | cd Unity-ROS-MobileRobot-UI-Tutorial 24 | ``` 25 | 26 | ### 1-3. ROS-TCP-Endpoint を取り込む 27 | 28 | 以下のコマンドを使って、`ROS-TCP-Endpoint` を取り込みます。 29 | ``` 30 | git submodule update --init --recursive 31 | ``` 32 | * `ROS-TCP-Endpoint` の説明は後ほど出てきます。 33 | 34 | 以上で、必要なファイル一式が `Unity-ROS-MobileRobot-UI-Tutorial` フォルダの中に格納されました。 35 | 36 | ## 2. 次のステップへ 37 | 38 | 次は [docs/intro0.md](docs/intro0.md) にお進み下さい。 39 | 40 | ## 3. ライセンスについて 41 | 42 | Copyright 2021 Unity Technologies Japan K.K. 43 | 44 | 本教材は [Apache License 2.0](./LICENSE-2.0.txt) です。(以下の3rdパーティ製ソフトウェアを除く) 45 | 46 | 3rdパーティ製ソフトウェアについては [OSSライセンスに基づく表記](./THIRD-PARTY-LICENSE.md) を参照して下さい。 -------------------------------------------------------------------------------- /ROS/.gitignore: -------------------------------------------------------------------------------- 1 | ### https://raw.github.com/github/gitignore/218a941be92679ce67d0484547e3e142b2f5f6f0/ROS.gitignore 2 | 3 | devel/ 4 | logs/ 5 | build/ 6 | bin/ 7 | lib/ 8 | msg_gen/ 9 | srv_gen/ 10 | msg/*Action.msg 11 | msg/*ActionFeedback.msg 12 | msg/*ActionGoal.msg 13 | msg/*ActionResult.msg 14 | msg/*Feedback.msg 15 | msg/*Goal.msg 16 | msg/*Result.msg 17 | msg/_*.py 18 | build_isolated/ 19 | devel_isolated/ 20 | 21 | # Generated by dynamic reconfigure 22 | *.cfgc 23 | cfg/cpp/ 24 | cfg/*.py 25 | 26 | # Ignore generated docs 27 | *.dox 28 | *.wikidoc 29 | 30 | # eclipse stuff 31 | .project 32 | .cproject 33 | 34 | # qcreator stuff 35 | CMakeLists.txt.user 36 | 37 | srv/_*.py 38 | *.pcd 39 | *.pyc 40 | qtcreator-* 41 | *.user 42 | 43 | planning/cfg 44 | planning/docs 45 | planning/src 46 | 47 | *~ 48 | 49 | # Emacs 50 | .#* 51 | 52 | # Catkin custom files 53 | CATKIN_IGNORE 54 | 55 | -------------------------------------------------------------------------------- /ROS/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM tiryoh/ros-desktop-vnc:melodic 2 | 3 | ENV ROS_WORKSPACE=/home/ubuntu/catkin_ws 4 | 5 | RUN apt-get update -q && \ 6 | apt-get install -y dos2unix ros-melodic-joint-state-publisher-gui && \ 7 | rm -rf /var/lib/apt/lists/* 8 | 9 | COPY ./src/ros_tcp_endpoint $ROS_WORKSPACE/src/ros_tcp_endpoint 10 | COPY ./src/raspimouse_sim $ROS_WORKSPACE/src/raspimouse_sim 11 | COPY ./src/raspimouse_description $ROS_WORKSPACE/src/raspimouse_description 12 | COPY ./configure.sh /home/ubuntu/configure.sh 13 | 14 | RUN cd ${ROS_WORKSPACE} && \ 15 | /bin/bash -c "find $ROS_WORKSPACE -type f -print0 | xargs -0 dos2unix" && \ 16 | dos2unix $HOME/configure.sh && \ 17 | chown -R ubuntu:ubuntu /home/ubuntu 18 | 19 | USER ubuntu 20 | RUN cd $ROS_WORKSPACE && \ 21 | . /opt/ros/melodic/setup.sh && \ 22 | catkin init && \ 23 | catkin build && \ 24 | echo ". \$HOME/catkin_ws/devel/setup.bash" >> /home/ubuntu/.bashrc && \ 25 | echo ". \$HOME/configure.sh" >> /home/ubuntu/.bashrc 26 | 27 | USER root -------------------------------------------------------------------------------- /ROS/configure.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -eu 2 | 3 | ROS_IP=$(hostname -i) 4 | 5 | sed -i -e "s/127\.0\.0\.1/$ROS_IP/g" $HOME/.bashrc 6 | if [ -e $HOME/.ignition/fuel/config.yaml ]; then 7 | sed -i -e "s/ignitionfuel\.org/ignitionrobotics.org/g" $HOME/.ignition/fuel/config.yaml 8 | fi 9 | 10 | export ROS_IP="$ROS_IP" 11 | export ROS_MASTER_URI="http://$ROS_IP:11311" 12 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | bin/ 3 | lib/ 4 | msg_gen/ 5 | srv_gen/ 6 | msg/*Action.msg 7 | msg/*ActionFeedback.msg 8 | msg/*ActionGoal.msg 9 | msg/*ActionResult.msg 10 | msg/*Feedback.msg 11 | msg/*Goal.msg 12 | msg/*Result.msg 13 | msg/_*.py 14 | 15 | # Generated by dynamic reconfigure 16 | *.cfgc 17 | /cfg/cpp/ 18 | /cfg/*.py 19 | 20 | # Ignore generated docs 21 | *.dox 22 | *.wikidoc 23 | 24 | # eclipse stuff 25 | .project 26 | .cproject 27 | 28 | # qcreator stuff 29 | CMakeLists.txt.user 30 | 31 | srv/_*.py 32 | *.pcd 33 | *.pyc 34 | qtcreator-* 35 | *.user 36 | 37 | /planning/cfg 38 | /planning/docs 39 | /planning/src 40 | 41 | *~ 42 | 43 | # Emacs 44 | .#* 45 | 46 | # Catkin custom files 47 | CATKIN_IGNORE 48 | 49 | # SketchUp backup files 50 | *~.skp 51 | 52 | # Swap files 53 | *.swp 54 | 55 | # MacOS metadata files 56 | .DS_store 57 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(raspimouse_description) 3 | 4 | find_package(catkin REQUIRED COMPONENTS 5 | urdf 6 | ) 7 | 8 | catkin_package() 9 | 10 | include_directories( 11 | ${catkin_INCLUDE_DIRS} 12 | ) 13 | 14 | foreach(dir launch meshes urdf) 15 | install(DIRECTORY ${dir}/ 16 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/${dir} 17 | ) 18 | endforeach(dir) 19 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016-2020 RT Corporation 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/README.md: -------------------------------------------------------------------------------- 1 | # raspimouse_description 2 | 3 | ROS package with URDF description macro for [Raspberry Pi Mouse](https://rt-net.jp/products/raspberrypimousev3/) 4 | 5 | ![display_launch](https://rt-net.github.io/images/raspberry-pi-mouse/display_launch.png) 6 | 7 | This ROS package was separated from [rt-net/raspimouse_sim](https://github.com/rt-net/raspimouse_sim). 8 | See details from [rt-net/raspimouse_sim#42](https://github.com/rt-net/raspimouse_sim/pull/42). 9 | 10 | ## Requirements 11 | 12 | - ROS 13 | - [Kinetic Kame](http://wiki.ros.org/kinetic/Installation/Ubuntu) 14 | - [Melodic Morenia](http://wiki.ros.org/melodic/Installation/Ubuntu) 15 | 16 | ## Installation 17 | 18 | ```sh 19 | # Clone raspimouse_description and install dependencies 20 | cd ~/catkin_ws/src 21 | git clone https://github.com/rt-net/raspimouse_description 22 | rosdep install -r -y -i --from-paths . 23 | 24 | # Build the package 25 | cd ~/catkin_ws 26 | catkin_make 27 | source devel/setup.bash 28 | ``` 29 | 30 | ## How to Use 31 | 32 | Display a Raspberry Pi Mouse robot model on RViz with the following comand: 33 | 34 | ```sh 35 | roslaunch raspimouse_description display_xacro.launch 36 | ``` 37 | 38 | ## LICENSE 39 | 40 | (C) 2016-2020 RT Corporation \ 41 | 42 | This repository is licensed under the MIT license, see [LICENSE](./LICENSE). 43 | Unless attributed otherwise, everything in this repository is under the MIT license. 44 | 45 | ### Acknowledgements 46 | 47 | Special thanks to https://gbiggs.github.io/rosjp_urdf_tutorial_text/index.html 48 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/launch/display_urdf.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ["joint_states_source"] 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/launch/display_xacro.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | ["joint_states_source"] 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/meshes/dae/body/rt-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/ROS/src/raspimouse_description/meshes/dae/body/rt-logo.png -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/meshes/stl/RasPiMouse_TopPlate.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/ROS/src/raspimouse_description/meshes/stl/RasPiMouse_TopPlate.stl -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/meshes/stl/RasPiMouse_base-metric.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/ROS/src/raspimouse_description/meshes/stl/RasPiMouse_base-metric.stl -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/meshes/stl/RasPiMouse_sensor-metric.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/ROS/src/raspimouse_description/meshes/stl/RasPiMouse_sensor-metric.stl -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/meshes/stl/RasPiMouse_wheel-metric.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/ROS/src/raspimouse_description/meshes/stl/RasPiMouse_wheel-metric.stl -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/meshes/stl/RasPiMouse_wheel-mm.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/ROS/src/raspimouse_description/meshes/stl/RasPiMouse_wheel-mm.stl -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/meshes/stl/URG-04LX-UG01.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/ROS/src/raspimouse_description/meshes/stl/URG-04LX-UG01.stl -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/meshes/stl/color/RasPiMouse_body_black.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/ROS/src/raspimouse_description/meshes/stl/color/RasPiMouse_body_black.stl -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/meshes/stl/color/RasPiMouse_body_gray.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/ROS/src/raspimouse_description/meshes/stl/color/RasPiMouse_body_gray.stl -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/meshes/stl/color/RasPiMouse_body_green.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/ROS/src/raspimouse_description/meshes/stl/color/RasPiMouse_body_green.stl -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/meshes/stl/color/RasPiMouse_body_red.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/ROS/src/raspimouse_description/meshes/stl/color/RasPiMouse_body_red.stl -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/meshes/stl/color/RasPiMouse_wheel_black.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/ROS/src/raspimouse_description/meshes/stl/color/RasPiMouse_wheel_black.stl -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/meshes/stl/color/RasPiMouse_wheel_gray.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/ROS/src/raspimouse_description/meshes/stl/color/RasPiMouse_wheel_gray.stl -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/model.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | RaspberryPiMouse 4 | 1.0 5 | urdf/raspimouse.urdf.xacro 6 | 7 | rt-net 8 | shop@rt-net.jp 9 | 10 | 11 | RaspberryPiMouse 12 | 13 | 14 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | raspimouse_description 4 | 0.1.0 5 | The raspimouse_description package 6 | 7 | RT Corporation 8 | Daisuke Sato 9 | 10 | MIT 11 | 12 | https://github.com/rt-net/raspimouse_sim/wiki 13 | https://github.com/rt-net/raspimouse_description 14 | https://github.com/rt-net/raspimouse_description/issues 15 | 16 | catkin 17 | 18 | joint_state_publisher_gui 19 | joint_state_publisher 20 | robot_state_publisher 21 | rviz 22 | urdf 23 | xacro 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/urdf/body/body.gazebo.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0.1 6 | 0.1 7 | 8 | 9 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/urdf/body/body.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/urdf/body/option.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/urdf/camera/camera.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/urdf/common.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 19 | 20 | 23 | 24 | 25 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/urdf/raspimouse.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/urdf/sensors/lidar.gazebo.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 0 0 0 0 0 8 | $(arg laser_visual) 9 | 10 10 | 11 | 12 | 13 | 720 14 | 1 15 | ${base_rad-rad_range/2} 16 | ${base_rad+rad_range/2} 17 | 18 | 19 | 20 | ${min_range} 21 | ${max_range} 22 | 0.01 23 | 24 | 25 | gaussian 26 | 0.0 27 | 0.03 28 | 29 | 30 | 31 | scan 32 | ${sensor_link_name} 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/urdf/sensors/lidar.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/urdf/sensors/lightsens.gazebo.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Gazebo/Gray 7 | 8 | 0 0 0 0 0 0 9 | false 10 | 20 11 | 12 | 13 | 14 | 1 15 | 1 16 | ${base_rad-rad_range/2} 17 | ${base_rad+rad_range/2} 18 | 19 | 20 | 21 | ${min_range} 22 | ${max_range} 23 | 0.001 24 | 25 | 26 | gaussian 27 | 0.0 28 | 0.01 29 | 30 | 31 | 32 | ${robot_namespace} 33 | ${prefix}_scan 34 | ${robotdescription_namespace}${prefix} 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/urdf/sensors/lightsens.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_description/urdf/wheel/wheel.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 2 34 | 2 35 | 0 36 | 0 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/.ci.rosinstall: -------------------------------------------------------------------------------- 1 | - git: 2 | uri: https://github.com/rt-net/raspimouse_description.git 3 | local-name: raspimouse_description 4 | version: master 5 | 6 | - git: 7 | uri: https://github.com/ryuichiueda/raspimouse_ros_2.git 8 | local-name: raspimouse_ros_2 9 | version: master 10 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/.github/workflows/industrial_ci.yml: -------------------------------------------------------------------------------- 1 | name: industrial_ci 2 | 3 | on: 4 | push: 5 | paths-ignore: 6 | - 'docs/**' 7 | - '**.md' 8 | pull_request: 9 | paths-ignore: 10 | - 'docs/**' 11 | - '**.md' 12 | schedule: 13 | - cron: "0 1 * * 2" # Weekly on Tuesdays at 01:00(GMT) 14 | 15 | env: 16 | UPSTREAM_WORKSPACE: .ci.rosinstall 17 | 18 | jobs: 19 | industrial_ci: 20 | continue-on-error: ${{ matrix.experimental }} 21 | strategy: 22 | matrix: 23 | env: 24 | - { ROS_DISTRO: kinetic, ROS_REPO: main } 25 | - { ROS_DISTRO: melodic, ROS_REPO: main } 26 | experimental: [false] 27 | include: 28 | - env: { ROS_DISTRO: kinetic, ROS_REPO: testing } 29 | experimental: true 30 | - env: { ROS_DISTRO: melodic, ROS_REPO: testing } 31 | experimental: true 32 | runs-on: ubuntu-latest 33 | steps: 34 | - uses: actions/checkout@v2 35 | - uses: "ros-industrial/industrial_ci@master" 36 | env: ${{ matrix.env }} 37 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/.gitignore: -------------------------------------------------------------------------------- 1 | raspimouse_ros/ 2 | dev/ 3 | .idea/ 4 | 5 | ### https://raw.github.com/github/gitignore/07c730e1fccfe0f92b29e039ba149d20bfb332e7/Global/Linux.gitignore 6 | 7 | *~ 8 | 9 | # temporary files which can be created if a process still has a handle open of a deleted file 10 | .fuse_hidden* 11 | 12 | # KDE directory preferences 13 | .directory 14 | 15 | # Linux trash folder which might appear on any partition or disk 16 | .Trash-* 17 | 18 | # .nfs files are created when an open file is removed but is still being accessed 19 | .nfs* 20 | 21 | 22 | ### https://raw.github.com/github/gitignore/07c730e1fccfe0f92b29e039ba149d20bfb332e7/Global/macOS.gitignore 23 | 24 | # General 25 | .DS_Store 26 | .AppleDouble 27 | .LSOverride 28 | 29 | # Icon must end with two \r 30 | Icon 31 | 32 | # Thumbnails 33 | ._* 34 | 35 | # Files that might appear in the root of a volume 36 | .DocumentRevisions-V100 37 | .fseventsd 38 | .Spotlight-V100 39 | .TemporaryItems 40 | .Trashes 41 | .VolumeIcon.icns 42 | .com.apple.timemachine.donotpresent 43 | 44 | # Directories potentially created on remote AFP share 45 | .AppleDB 46 | .AppleDesktop 47 | Network Trash Folder 48 | Temporary Items 49 | .apdisk 50 | 51 | 52 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 RT Corp. 4 | Copyright (c) 2016 Daisuke Sato 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy of 7 | this software and associated documentation files (the "Software"), to deal in 8 | the Software without restriction, including without limitation the rights to 9 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 10 | the Software, and to permit persons to whom the Software is furnished to do so, 11 | subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 18 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 19 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 20 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_fake/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(raspimouse_fake) 3 | 4 | find_package(catkin REQUIRED) 5 | 6 | catkin_package() 7 | 8 | install(PROGRAMS 9 | scripts/clean_dev_file.sh 10 | scripts/gen_dev_file.sh 11 | scripts/virtual_led_sensors.py 12 | scripts/virtual_motors.py 13 | DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 14 | ) 15 | 16 | foreach(dir launch misc) 17 | install(DIRECTORY ${dir}/ 18 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/${dir} 19 | ) 20 | endforeach(dir) -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_fake/launch/virtual_device_file.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_fake/misc/ms_sound.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/ROS/src/raspimouse_sim/raspimouse_fake/misc/ms_sound.wav -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_fake/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | raspimouse_fake 4 | 0.1.1 5 | The raspimouse_control package 6 | 7 | RT Corporation 8 | 9 | Daisuke Sato 10 | Yuki Watanabe 11 | 12 | MIT 13 | 14 | https://github.com/rt-net/raspimouse_sim/wiki 15 | https://github.com/rt-net/raspimouse_sim 16 | https://github.com/rt-net/raspimouse_sim/issues 17 | 18 | catkin 19 | 20 | geometry_msgs 21 | rospy 22 | sensor_msgs 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_fake/scripts/clean_dev_file.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -eu 2 | 3 | array=( 4 | rtled0 5 | rtled1 6 | rtled2 7 | rtled3 8 | rtswitch0 9 | rtswitch1 10 | rtswitch2 11 | rtbuzzer0 12 | rtlightsensor0 13 | rtmotoren0 14 | rtmotor_raw_r0 15 | rtmotor_raw_l0 16 | rtmotor0 17 | rtcounter0 18 | rtcounter_r0 19 | rtcounter_l0 20 | ) 21 | 22 | [[ -z $(lsmod | grep rtmouse) ]] || exit 0 23 | for targetfile in ${array[@]} ; do 24 | [[ -e /dev/$targetfile ]] && sudo rm /dev/$targetfile 25 | done 26 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_fake/scripts/gen_dev_file.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -eu 2 | 3 | array=( 4 | rtled0 5 | rtled1 6 | rtled2 7 | rtled3 8 | rtswitch0 9 | rtswitch1 10 | rtswitch2 11 | rtbuzzer0 12 | rtlightsensor0 13 | rtmotoren0 14 | rtmotor_raw_r0 15 | rtmotor_raw_l0 16 | rtmotor0 17 | rtcounter0 18 | rtcounter_r0 19 | rtcounter_l0 20 | ) 21 | 22 | for targetfile in ${array[@]} ; do 23 | sudo touch /dev/$targetfile 24 | sudo chmod 666 /dev/$targetfile 25 | echo 0 > /dev/$targetfile 26 | done 27 | 28 | echo 1 > /dev/rtswitch0 29 | echo 1 > /dev/rtswitch1 30 | echo 1 > /dev/rtswitch2 31 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_fake/scripts/virtual_led_sensors.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | # (C) 2016 Daisuke Sato 5 | # (C) 2020 RT Corporation 6 | # Released under the MIT License 7 | # https://opensource.org/licenses/MIT 8 | 9 | from __future__ import print_function 10 | import rospy, math 11 | from sensor_msgs.msg import LaserScan 12 | 13 | 14 | def range_to_led(range_value): 15 | try: 16 | distance = int(range_value[0] * 1000) # distance[mm] 17 | if distance < 4: distance = 8 - distance 18 | # This formula is calculated from the measurement result of actual sensor. 19 | # https://rt-net.jp/mobility/archives/3361 20 | led_value = int(761000 / math.pow(distance, 1.66)) 21 | if led_value > 4000: led_value = 4000 22 | if led_value < 15: led_value = 15 23 | except: 24 | led_value = 15 25 | return led_value 26 | 27 | 28 | def write_to_file(data): 29 | try: 30 | with open("/dev/rtlightsensor0", "w") as f: 31 | print("%d %d %d %d" % tuple(data), file=f) 32 | except: 33 | rospy.logerr("failed to open rtlightsensor0") 34 | 35 | 36 | def sensor1_callback(data): 37 | led_val[0] = range_to_led(data.ranges) 38 | 39 | 40 | def sensor2_callback(data): 41 | led_val[1] = range_to_led(data.ranges) 42 | 43 | 44 | def sensor3_callback(data): 45 | led_val[2] = range_to_led(data.ranges) 46 | 47 | 48 | def sensor4_callback(data): 49 | led_val[3] = range_to_led(data.ranges) 50 | write_to_file(led_val) 51 | 52 | 53 | def listener(): 54 | rospy.Subscriber(rospy.get_namespace() + "rf_scan", LaserScan, sensor1_callback) 55 | rospy.Subscriber(rospy.get_namespace() + "rs_scan", LaserScan, sensor2_callback) 56 | rospy.Subscriber(rospy.get_namespace() + "ls_scan", LaserScan, sensor3_callback) 57 | rospy.Subscriber(rospy.get_namespace() + "lf_scan", LaserScan, sensor4_callback) 58 | 59 | 60 | if __name__ == "__main__": 61 | led_val = [15, 15, 15, 15] 62 | rospy.init_node("virtual_led_sensors", anonymous=True) 63 | listener() 64 | rospy.spin() 65 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(raspimouse_gazebo) 3 | 4 | find_package(catkin REQUIRED) 5 | 6 | catkin_package() 7 | 8 | install(PROGRAMS 9 | scripts/download_gazebo_models.sh 10 | scripts/distance_sensor_simulator.py 11 | DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 12 | ) 13 | 14 | foreach(dir launch worlds) 15 | install(DIRECTORY ${dir}/ 16 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/${dir} 17 | ) 18 | endforeach(dir) -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/launch/keyboard_teleop.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/launch/open_emptyworld.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/launch/raspimouse_with_cheeze_maze.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/launch/raspimouse_with_gasstand.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/launch/raspimouse_with_samplemaze.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/launch/raspimouse_with_willowgarage.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/materials/gen_maze.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -eu 3 | 4 | WORKINGDIR="$(rospack find raspimouse_gazebo)" 5 | 6 | rosrun xacro xacro --inorder $WORKINGDIR/materials/sample_maze.world.xacro > $WORKINGDIR/worlds/sample_maze.world -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/materials/sample_maze.wall.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 10 | 11 | 1 12 | 0 13 | 0 14 | 1 15 | 0 16 | 1 17 | 18 | 19 | 20 | 21 | 22 | 0.180 0.012 0.050 23 | 24 | 25 | 10 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 0.180 0.012 0.050 40 | 41 | 42 | 43 | 47 | 48 | 49 | 50 | 0 51 | 0 52 | 53 | 0 54 | 0 55 | 1 56 | 57 | 1 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/models/cheeze_maze_a/model.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Cheeze Maze A 5 | 1.0 6 | model.sdf 7 | 8 | 9 | RT Corporation 10 | support@rt-net.jp 11 | 12 | 13 | 14 | A simple maze with cheeze. 15 | 16 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/models/cheeze_maze_a/model.sdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | true 5 | 6 | 0 0 0 0 0 0 7 | 8 | 9 | 10 | model://cheeze_maze_a/meshes/maze.dae 11 | 1.0 1.0 1.0 12 | 13 | 14 | 15 | 16 | 17 | 1 18 | 1 19 | 0 0 0 20 | 0 21 | 0 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | model://cheeze_maze_a/meshes/maze.dae 30 | 1.0 1.0 1.0 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | raspimouse_gazebo 4 | 0.1.1 5 | The raspimouse_gazebo package 6 | 7 | RT Corporation 8 | Daisuke Sato 9 | 10 | MIT 11 | 12 | https://github.com/rt-net/raspimouse_sim/wiki 13 | https://github.com/rt-net/raspimouse_sim 14 | https://github.com/rt-net/raspimouse_sim/issues 15 | 16 | catkin 17 | 18 | gazebo_ros 19 | gazebo_ros_control 20 | raspimouse_fake 21 | raspimouse_description 22 | raspimouse_ros_2 23 | xacro 24 | teleop_twist_keyboard 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/scripts/download_gazebo_models.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -eu 3 | 4 | # This file is forked from https://gist.github.com/Tiryoh/bf24f61992bfa8e32f2e75fc0672a647 5 | # (C) 2019 Daisuke Sato 6 | # https://tiryoh.mit-license.org/2019 7 | 8 | function download_model(){ 9 | if [[ -d $HOME'/.gazebo/models/'$1 ]]; then 10 | echo model $1 is ready. 11 | else 12 | wget -l1 -np -nc -r "http://models.gazebosim.org/"$1 --accept=gz 13 | fi 14 | } 15 | 16 | mkdir -p ~/.gazebo/models 17 | cd /tmp 18 | TMPDIR=$(mktemp -d tmp.XXXXXXXXXX) 19 | cd $TMPDIR 20 | download_model sun 21 | download_model ground_plane 22 | download_model gas_station 23 | download_model willowgarage 24 | if [[ -d "models.gazebosim.org" ]]; then 25 | cd "models.gazebosim.org" 26 | for i in *; do tar -zvxf "$i/model.tar.gz"; done 27 | cp -vfR * ~/.gazebo/models/ 28 | fi 29 | rm -rf $TMPDIR -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/worlds/cheeze_maze_a.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0 6 | 7 | 8 | model://ground_plane 9 | 10 | 11 | model://sun 12 | 13 | 14 | 15 | model://cheeze_maze_a 16 | 17 | 0 0 0.001 0 0 0 18 | 19 | 20 | 21 | -2.1 -1.9 4.1 0.0 1.0 0.5 22 | orbit 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/worlds/empty.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0 6 | 7 | 8 | model://ground_plane 9 | 10 | 11 | model://sun 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/worlds/gas_station.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0 6 | 7 | 8 | model://ground_plane 9 | 10 | 11 | model://sun 12 | 13 | 14 | model://gas_station 15 | gas_station 16 | -2.0 7.0 0 0 0 0 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_gazebo/worlds/willowgarage.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0 6 | 7 | 8 | model://ground_plane 9 | 10 | 11 | model://sun 12 | 13 | 14 | model://willowgarage 15 | 16 | 17 | 18 | -0.556842 -0.914575 3.68773 0 1.05964 0.520195 19 | orbit 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0.2) 2 | project(raspimouse_msgs) 3 | 4 | set(MESSAGE_DEPENDS 5 | actionlib_msgs 6 | std_msgs 7 | ) 8 | 9 | find_package(catkin REQUIRED COMPONENTS 10 | message_generation ${MESSAGE_DEPENDS} 11 | ) 12 | 13 | ################################################ 14 | ## Declare ROS messages, services and actions ## 15 | ################################################ 16 | 17 | ## Generate messages in the 'msg' folder 18 | add_message_files( 19 | FILES 20 | LightSensorValues.msg 21 | LedValues.msg 22 | ButtonValues.msg 23 | MotorFreqs.msg 24 | ) 25 | 26 | ## Generate services in the 'srv' folder 27 | add_service_files( 28 | FILES 29 | TimedMotion.srv 30 | ) 31 | 32 | ## Generate actions in the 'action' folder 33 | add_action_files( 34 | FILES 35 | Music.action 36 | ) 37 | 38 | ## Generate added messages and services with any dependencies listed here 39 | generate_messages( 40 | DEPENDENCIES 41 | ${MESSAGE_DEPENDS} 42 | ) 43 | 44 | ################################### 45 | ## catkin specific configuration ## 46 | ################################### 47 | 48 | catkin_package(CATKIN_DEPENDS 49 | message_runtime 50 | ${MESSAGE_DEPENDS} 51 | ) 52 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_msgs/action/Music.action: -------------------------------------------------------------------------------- 1 | uint16[] freqs 2 | float32[] durations 3 | --- 4 | bool finished 5 | --- 6 | uint32 remaining_steps -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_msgs/msg/ButtonValues.msg: -------------------------------------------------------------------------------- 1 | bool front 2 | bool mid 3 | bool rear 4 | bool front_toggle 5 | bool mid_toggle 6 | bool rear_toggle -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_msgs/msg/LedValues.msg: -------------------------------------------------------------------------------- 1 | bool left_side 2 | bool left_forward 3 | bool right_forward 4 | bool right_side -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_msgs/msg/LightSensorValues.msg: -------------------------------------------------------------------------------- 1 | int16 right_forward 2 | int16 right_side 3 | int16 left_side 4 | int16 left_forward 5 | int16 sum_all 6 | int16 sum_forward -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_msgs/msg/MotorFreqs.msg: -------------------------------------------------------------------------------- 1 | int16 left_hz 2 | int16 right_hz -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | raspimouse_msgs 4 | 0.0.0 5 | ROS message definition for raspimouse 6 | 7 | RT Corporation 8 | 9 | Apache-2.0 10 | 11 | catkin 12 | message_generation 13 | message_generation 14 | message_runtime 15 | std_msgs 16 | actionlib_msgs 17 | 18 | 19 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_msgs/srv/TimedMotion.srv: -------------------------------------------------------------------------------- 1 | int16 left_hz 2 | int16 right_hz 3 | uint32 duration_ms 4 | --- 5 | bool success -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_sim/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(raspimouse_sim) 3 | find_package(catkin REQUIRED) 4 | catkin_metapackage() 5 | -------------------------------------------------------------------------------- /ROS/src/raspimouse_sim/raspimouse_sim/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | raspimouse_sim 4 | 0.1.1 5 | ROS package suite for Raspberry Pi Mouse Simulator 6 | 7 | RT Corporation 8 | 9 | Daisuke Sato 10 | Yuki Watanabe 11 | 12 | MIT 13 | 14 | https://github.com/rt-net/raspimouse_sim/wiki 15 | https://github.com/rt-net/raspimouse_sim 16 | https://github.com/rt-net/raspimouse_sim/issues 17 | 18 | catkin 19 | 20 | raspimouse_fake 21 | raspimouse_gazebo 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /UnityScripts/JoyStick/Scripts/OnScreenStickCmdVelPublisher.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.InputSystem; 3 | using Unity.Robotics.ROSTCPConnector; 4 | using TwistMsg = RosMessageTypes.Geometry.TwistMsg; 5 | 6 | public class OnScreenStickCmdVelPublisher : MonoBehaviour 7 | { 8 | [SerializeField] private InputAction _moveAction; 9 | 10 | [SerializeField] string topicName = "cmd_vel"; 11 | private ROSConnection ros; 12 | private TwistMsg cmdVelMessage = new TwistMsg(); 13 | 14 | private void Start() 15 | { 16 | ros = ROSConnection.GetOrCreateInstance(); 17 | ros.RegisterPublisher(topicName); 18 | StopPublish(); 19 | 20 | _moveAction.performed += _ => 21 | { 22 | var value = _moveAction.ReadValue(); 23 | Debug.Log($"Move: ({value.x}, {value.y})"); 24 | cmdVelMessage.linear.x = value.y * 0.2f; 25 | cmdVelMessage.angular.z = value.x * -1.0f; 26 | Publish(); 27 | }; 28 | 29 | _moveAction.canceled += _ => 30 | { 31 | StopPublish(); 32 | }; 33 | } 34 | 35 | private void OnEnable() 36 | { 37 | _moveAction.Enable(); 38 | } 39 | 40 | private void OnDisable() 41 | { 42 | _moveAction.Disable(); 43 | } 44 | 45 | private void OnDestroy() 46 | { 47 | _moveAction.Dispose(); 48 | } 49 | 50 | private void StopPublish() 51 | { 52 | cmdVelMessage.linear.x = 0.0f; 53 | cmdVelMessage.angular.z = 0.0f; 54 | Publish(); 55 | } 56 | 57 | private void Publish() 58 | { 59 | ros.Publish(topicName, cmdVelMessage); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /UnityScripts/JoyStick/Textures/white_circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/UnityScripts/JoyStick/Textures/white_circle.png -------------------------------------------------------------------------------- /UnityScripts/OdometryViewer/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ecc449d3c05199d3d9a36925914ddc83 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityScripts/OdometryViewer/Materials/ArrowMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d47c437c1d5e9499681fe7ed3747c1bc 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityScripts/OdometryViewer/Materials/ArrowMaterial2.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f6bb532c1d924888adeefb2733bc4fb 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityScripts/OdometryViewer/Materials/Arrows.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/UnityScripts/OdometryViewer/Materials/Arrows.fbx -------------------------------------------------------------------------------- /UnityScripts/OdometryViewer/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 742c48e0c8cbceaab9a23f8714d260b7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityScripts/OdometryViewer/Prefabs/Arrows-bule.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: abdb200c6bbce4de78e32958500935de 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 100100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityScripts/OdometryViewer/Prefabs/Arrows-red.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad09d02a767c94008a93473968a137c1 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 100100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityScripts/OdometryViewer/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 87f6df19bfd592011b02a949280624a5 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityScripts/OdometryViewer/Scripts/OdometryViewer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ab0860b423006027b990607bba52dc93 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityScripts/PointCloud/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d42bb1f0777419544b1d623f804a6109 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityScripts/PointCloud/Materials/Sphere.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e39ed91c775f85c4dba745e0c45ca921 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityScripts/PointCloud/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 60dddee5ab5f7e34e9a03a15726c2baf 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityScripts/PointCloud/Prefabs/Sphere.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6a7d64f0df28e324684ffb16cae07465 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /UnityScripts/PointCloud/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0ccd62507e208984a84406ad23590d42 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityScripts/PointCloud/Scenes/PointCloudSample.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20e52f821fe5cae35b15481db148ee90 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /UnityScripts/PointCloud/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8cc732510791c34bb5aa767aa2e8b5d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityScripts/PointCloud/Scripts/PointCloudLocator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb1c556465693b44a9f4d57e1adcdb72 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityScripts/Scripts/CmdVelPublisher.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3ce3c96156e9cae259dfd03a04c8616c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityScripts/Scripts/CmdVelSubscriber.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Unity.Robotics.ROSTCPConnector; 3 | // 各種ROSトピック形式 4 | using TwistMsg = RosMessageTypes.Geometry.TwistMsg; 5 | 6 | /// 7 | /// CmdVel(TwistMsg)を受信するためのクラス 8 | /// 主にデバッグ用に使うことを想定 9 | /// 10 | public class CmdVelSubscriber : MonoBehaviour 11 | { 12 | // 受信するROSのトピック名 13 | [SerializeField] string rosTopicName = "cmd_vel"; 14 | // デバッグモードとするかどうか(デバッグモードではコンソールにログを出力) 15 | [SerializeField] bool isDebugMode = true; 16 | 17 | /// 18 | /// 初期化用のイベント関数 19 | /// https://docs.unity3d.com/ja/2020.3/Manual/ExecutionOrder.html 20 | /// 21 | void Start() 22 | { 23 | ROSConnection.GetOrCreateInstance().Subscribe(rosTopicName, CmdVelUpdate); 24 | } 25 | 26 | /// 27 | /// ROSトピックを受け取った際に呼ばれるコールバック関数 28 | /// 29 | void CmdVelUpdate(TwistMsg twistMessage) 30 | { 31 | if (isDebugMode) 32 | { 33 | Debug.Log(twistMessage); 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /UnityScripts/Scripts/CmdVelSubscriber.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3745db3e9359cd2fdad7685ade18554c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityScripts/Scripts/ImageSubscriber.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e9069025f49c0582a6d94301f283d14 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityScripts/Scripts/LaserScanSubscriber.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Unity.Robotics.ROSTCPConnector; 3 | // 座標変換用 4 | using Unity.Robotics.ROSTCPConnector.ROSGeometry; 5 | // 各種ROSトピック形式 6 | using LaserScanMsg = RosMessageTypes.Sensor.LaserScanMsg; 7 | 8 | /// 9 | /// LiDARスキャンデータ(LaserScanMsg)を受信するためのクラス 10 | /// 主にスキャンデータの取得および座標変換に使い、描画は別のスクリプトを用意することを想定 11 | /// 12 | public class LaserScanSubscriber : MonoBehaviour 13 | { 14 | 15 | // 受信するROSのトピック名 16 | [SerializeField] string rosTopicName = "scan"; 17 | // デバッグモードとするかどうか(デバッグモードではコンソールにログを出力) 18 | [SerializeField] bool isDebugMode = true; 19 | 20 | private float[] scanRangesArray; 21 | private float scanAngleMin = 0; 22 | private float scanAngleMax = 0; 23 | 24 | /// 25 | /// 初期化用のイベント関数 26 | /// https://docs.unity3d.com/ja/2020.3/Manual/ExecutionOrder.html 27 | /// 28 | void Start() 29 | { 30 | ROSConnection.GetOrCreateInstance().Subscribe(rosTopicName, ScanUpdate); 31 | } 32 | 33 | 34 | /// 35 | /// ROSトピックを受け取った際に呼ばれるコールバック関数 36 | /// 37 | void ScanUpdate(LaserScanMsg scanMessage) 38 | { 39 | if (isDebugMode) 40 | { 41 | Debug.Log(scanMessage); 42 | } 43 | 44 | scanRangesArray = scanMessage.ranges; 45 | scanAngleMax = scanMessage.angle_max; 46 | scanAngleMin = scanMessage.angle_min; 47 | } 48 | 49 | /// 50 | /// 外部からスキャン結果の配列にアクセスするための関数 51 | /// 52 | public float[] GetScanRanges() 53 | { 54 | return scanRangesArray; 55 | 56 | } 57 | 58 | /// 59 | /// 外部からスキャン結果にアクセスするための関数 60 | /// 61 | public float GetScanAngleMin() 62 | { 63 | return scanAngleMin; 64 | } 65 | 66 | /// 67 | /// 外部からスキャン結果にアクセスするための関数 68 | /// 69 | public float GetScanAngleMax() 70 | { 71 | return scanAngleMax; 72 | } 73 | } -------------------------------------------------------------------------------- /UnityScripts/Scripts/LaserScanSubscriber.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d8957dd394486cc24a646e1e9267143f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityScripts/Scripts/OdomSubscriber.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5fb804f34d8251f6789633dacd64023f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /UnityScripts/Scripts/TfSubscriber.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 200b7a8ec8bff2c3ca78a911fd664c80 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /docs/images/appendix-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-1.png -------------------------------------------------------------------------------- /docs/images/appendix-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-13.png -------------------------------------------------------------------------------- /docs/images/appendix-14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-14.png -------------------------------------------------------------------------------- /docs/images/appendix-15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-15.png -------------------------------------------------------------------------------- /docs/images/appendix-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-16.png -------------------------------------------------------------------------------- /docs/images/appendix-17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-17.png -------------------------------------------------------------------------------- /docs/images/appendix-18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-18.png -------------------------------------------------------------------------------- /docs/images/appendix-19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-19.png -------------------------------------------------------------------------------- /docs/images/appendix-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-2.gif -------------------------------------------------------------------------------- /docs/images/appendix-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-2.png -------------------------------------------------------------------------------- /docs/images/appendix-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-20.png -------------------------------------------------------------------------------- /docs/images/appendix-21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-21.png -------------------------------------------------------------------------------- /docs/images/appendix-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-22.png -------------------------------------------------------------------------------- /docs/images/appendix-23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-23.png -------------------------------------------------------------------------------- /docs/images/appendix-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-24.png -------------------------------------------------------------------------------- /docs/images/appendix-25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-25.png -------------------------------------------------------------------------------- /docs/images/appendix-26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-26.png -------------------------------------------------------------------------------- /docs/images/appendix-27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-27.png -------------------------------------------------------------------------------- /docs/images/appendix-28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-28.png -------------------------------------------------------------------------------- /docs/images/appendix-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-3.png -------------------------------------------------------------------------------- /docs/images/appendix-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/appendix-4.png -------------------------------------------------------------------------------- /docs/images/intro0-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/intro0-1.png -------------------------------------------------------------------------------- /docs/images/intro1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/intro1-1.png -------------------------------------------------------------------------------- /docs/images/intro1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/intro1-2.jpg -------------------------------------------------------------------------------- /docs/images/intro1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/intro1-3.png -------------------------------------------------------------------------------- /docs/images/intro1-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/intro1-4.png -------------------------------------------------------------------------------- /docs/images/intro2-1-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/intro2-1-1.gif -------------------------------------------------------------------------------- /docs/images/intro2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/intro2-1.png -------------------------------------------------------------------------------- /docs/images/intro2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/intro2-2.png -------------------------------------------------------------------------------- /docs/images/intro3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/intro3-1.png -------------------------------------------------------------------------------- /docs/images/intro3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/intro3-2.png -------------------------------------------------------------------------------- /docs/images/intro3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/intro3-3.png -------------------------------------------------------------------------------- /docs/images/intro3-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/intro3-4.png -------------------------------------------------------------------------------- /docs/images/intro3-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/intro3-5.png -------------------------------------------------------------------------------- /docs/images/intro3-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/intro3-6.png -------------------------------------------------------------------------------- /docs/images/intro3-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/intro3-7.png -------------------------------------------------------------------------------- /docs/images/raspimouse_urg_axis_ros.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/raspimouse_urg_axis_ros.png -------------------------------------------------------------------------------- /docs/images/raspimouse_urg_axis_unity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/raspimouse_urg_axis_unity.png -------------------------------------------------------------------------------- /docs/images/step0-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step0-1.png -------------------------------------------------------------------------------- /docs/images/step0-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step0-2.png -------------------------------------------------------------------------------- /docs/images/step0-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step0-3.png -------------------------------------------------------------------------------- /docs/images/step0-4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step0-4.gif -------------------------------------------------------------------------------- /docs/images/step0-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step0-5.png -------------------------------------------------------------------------------- /docs/images/step0-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step0-6.png -------------------------------------------------------------------------------- /docs/images/step1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step1-1.png -------------------------------------------------------------------------------- /docs/images/step1-10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step1-10.gif -------------------------------------------------------------------------------- /docs/images/step1-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step1-11.png -------------------------------------------------------------------------------- /docs/images/step1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step1-2.png -------------------------------------------------------------------------------- /docs/images/step1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step1-3.png -------------------------------------------------------------------------------- /docs/images/step1-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step1-4.png -------------------------------------------------------------------------------- /docs/images/step1-5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step1-5.gif -------------------------------------------------------------------------------- /docs/images/step1-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step1-6.png -------------------------------------------------------------------------------- /docs/images/step1-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step1-7.png -------------------------------------------------------------------------------- /docs/images/step1-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step1-8.png -------------------------------------------------------------------------------- /docs/images/step1-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step1-9.png -------------------------------------------------------------------------------- /docs/images/step2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step2-1.png -------------------------------------------------------------------------------- /docs/images/step2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step2-2.png -------------------------------------------------------------------------------- /docs/images/step2-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step2-3.gif -------------------------------------------------------------------------------- /docs/images/step2-4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step2-4.gif -------------------------------------------------------------------------------- /docs/images/step2-5-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step2-5-1.png -------------------------------------------------------------------------------- /docs/images/step2-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step2-5.png -------------------------------------------------------------------------------- /docs/images/step2-6-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step2-6-1.png -------------------------------------------------------------------------------- /docs/images/step2-6-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step2-6-2.png -------------------------------------------------------------------------------- /docs/images/step2-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step2-6.png -------------------------------------------------------------------------------- /docs/images/step2-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step2-7.png -------------------------------------------------------------------------------- /docs/images/step3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-1.png -------------------------------------------------------------------------------- /docs/images/step3-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-10.png -------------------------------------------------------------------------------- /docs/images/step3-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-11.png -------------------------------------------------------------------------------- /docs/images/step3-12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-12.gif -------------------------------------------------------------------------------- /docs/images/step3-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-13.png -------------------------------------------------------------------------------- /docs/images/step3-14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-14.gif -------------------------------------------------------------------------------- /docs/images/step3-15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-15.png -------------------------------------------------------------------------------- /docs/images/step3-16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-16.gif -------------------------------------------------------------------------------- /docs/images/step3-17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-17.gif -------------------------------------------------------------------------------- /docs/images/step3-18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-18.gif -------------------------------------------------------------------------------- /docs/images/step3-19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-19.png -------------------------------------------------------------------------------- /docs/images/step3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-2.png -------------------------------------------------------------------------------- /docs/images/step3-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-20.png -------------------------------------------------------------------------------- /docs/images/step3-21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-21.png -------------------------------------------------------------------------------- /docs/images/step3-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-22.png -------------------------------------------------------------------------------- /docs/images/step3-23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-23.png -------------------------------------------------------------------------------- /docs/images/step3-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-24.png -------------------------------------------------------------------------------- /docs/images/step3-25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-25.png -------------------------------------------------------------------------------- /docs/images/step3-26-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-26-1.png -------------------------------------------------------------------------------- /docs/images/step3-26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-26.gif -------------------------------------------------------------------------------- /docs/images/step3-27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-27.png -------------------------------------------------------------------------------- /docs/images/step3-28-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-28-1.gif -------------------------------------------------------------------------------- /docs/images/step3-28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-28.png -------------------------------------------------------------------------------- /docs/images/step3-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-29.png -------------------------------------------------------------------------------- /docs/images/step3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-3.png -------------------------------------------------------------------------------- /docs/images/step3-30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-30.gif -------------------------------------------------------------------------------- /docs/images/step3-31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-31.png -------------------------------------------------------------------------------- /docs/images/step3-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-4.png -------------------------------------------------------------------------------- /docs/images/step3-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-5.png -------------------------------------------------------------------------------- /docs/images/step3-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-6.png -------------------------------------------------------------------------------- /docs/images/step3-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-7.png -------------------------------------------------------------------------------- /docs/images/step3-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-8.png -------------------------------------------------------------------------------- /docs/images/step3-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step3-9.png -------------------------------------------------------------------------------- /docs/images/step4-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step4-100.png -------------------------------------------------------------------------------- /docs/images/step4-101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step4-101.png -------------------------------------------------------------------------------- /docs/images/step4-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step4-5.png -------------------------------------------------------------------------------- /docs/images/step4-6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step4-6.gif -------------------------------------------------------------------------------- /docs/images/step4-7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step4-7.gif -------------------------------------------------------------------------------- /docs/images/step4-8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step4-8.gif -------------------------------------------------------------------------------- /docs/images/step4-9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step4-9.gif -------------------------------------------------------------------------------- /docs/images/step4-99.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step4-99.png -------------------------------------------------------------------------------- /docs/images/step5-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step5-1.png -------------------------------------------------------------------------------- /docs/images/step5-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step5-2.png -------------------------------------------------------------------------------- /docs/images/step5-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step5-3.gif -------------------------------------------------------------------------------- /docs/images/step5-4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step5-4.gif -------------------------------------------------------------------------------- /docs/images/step5-5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step5-5.gif -------------------------------------------------------------------------------- /docs/images/step5-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step5-6.png -------------------------------------------------------------------------------- /docs/images/step5-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step5-7.png -------------------------------------------------------------------------------- /docs/images/step6-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step6-1.png -------------------------------------------------------------------------------- /docs/images/step6-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step6-2.png -------------------------------------------------------------------------------- /docs/images/step6-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step6-3.gif -------------------------------------------------------------------------------- /docs/images/step6-4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step6-4.gif -------------------------------------------------------------------------------- /docs/images/step6-5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step6-5.gif -------------------------------------------------------------------------------- /docs/images/step7-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step7-1.png -------------------------------------------------------------------------------- /docs/images/step7-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step7-2.png -------------------------------------------------------------------------------- /docs/images/step7-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step7-3.png -------------------------------------------------------------------------------- /docs/images/step7-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step7-4.png -------------------------------------------------------------------------------- /docs/images/step7-5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step7-5.gif -------------------------------------------------------------------------------- /docs/images/step7-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step7-6.png -------------------------------------------------------------------------------- /docs/images/step7-7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unity3d-jp/Unity-ROS-MobileRobot-UI-Tutorial/2468f6ff51f225be3d2ab48353cc565906d1b51a/docs/images/step7-7.gif -------------------------------------------------------------------------------- /docs/intro0.md: -------------------------------------------------------------------------------- 1 | # 本教材で学べること 2 | 3 | ![](./images/intro0-1.png) 4 | 5 | 本教材はUnityとROSを組み合わせたロボット開発のための入門用教材です。 6 | 7 | ROSで制御された移動ロボットをシミュレータ上で動かし、 8 | Unityを用いてロボット操作用のUIを作成します。 9 | 10 | 使用するロボットがシミュレータ上で動作するので 11 | PC1台で全てのサンプルプログラムの動作を確認することができます。 12 | 13 | 使用するPCのOSはWindows PCを対象にしていますが 14 | 環境に合わせて適宜読み替えていただければmacOSやUbuntuでも実行可能です。 15 | 16 | Unityでシミュレータ環境を構築する際はぜひ 17 | [Unity Robotics Hub](https://github.com/Unity-Technologies/Unity-Robotics-Hub) 18 | をご覧ください。 19 | 20 | ## 扱う内容 21 | 22 | 本教材で扱う内容は以下の通りです。 23 | 24 | * DockerによるROS、Gazebo(シミュレータ)の環境構築 25 | * ロボットモデルの表示 26 | * フィールドモデルの表示 27 | * ロボット操作用ボタンの作成と速度指令値の送信 28 | * ロボット位置姿勢の可視化 29 | * オドメトリの可視化 30 | * LiDARデータの可視化 31 | * カメラ映像の可視化 32 | 33 | 使用するロボットのハードウェアやROSなどのツールについて詳細な解説は省いています。 34 | 35 | 特にソフトウェアのインストール手順などは頻繁に変更が生じるため、適宜外部のドキュメントへのリンクを案内しています。 36 | 37 | ## 扱わない内容 38 | 本教材はUnityとROSとの通信とUI開発に特化しており、Unityによる物理演算や距離計測などのシミュレーションは行っていません。 39 | 40 | ## 想定している対象者 41 | 42 | 本教材の対象として以下の方を想定しています。 43 | 44 | * Unityの開発経験がありロボット制御に興味のある方 45 | * ROSの開発経験がありUnityを使ったUI開発に興味のある方 46 | * Unity、ROSの開発経験がなくロボットのUI開発に興味のある方 47 | 48 | UnityとROSが連携したシステムを開発するためには両方の知識が必要になりますが、 49 | 連携部分をサンプルプログラムとして用意したので入門者でも扱いやすい内容となっています。 50 | サンプルに含まれていないデータのやり取りをしたい場合も、多くの場合はサンプルを少し書き換えることで対応可能です。 51 | 本教材で学んだ後は、ぜひオリジナルのUI作成に挑戦してみて下さい。 52 | 53 | ## ROSのビジュアライズツールとの違い 54 | 55 | ROS対応しているロボットのUI開発において 56 | RVizなどが広く用いられていますが、 57 | 本教材ではこれらをUnityにおきかえることで高精細なグラフィックや 58 | 多様なインターフェースを実現することが出来ます。 59 | 60 | こうしたUnityの特徴は現実で動作するロボットの状態を端末から確認するといった 61 | いわゆるデジタルツイン分野においても非常に有効です。 62 | 63 | [INTRO1](./intro1.md)ではROSとUnityが連携することの利点として 64 | Unityの強みを少し掘り下げてご紹介します。 65 | 66 | --- 67 | 68 | * [目次](./intro2.md) 69 | * \> [INTRO1](./intro1.md) -------------------------------------------------------------------------------- /docs/intro1.md: -------------------------------------------------------------------------------- 1 | # Unityとロボットが連携することの利点 2 | ## UI作成が簡単 3 | キーボードやマウス、ゲームコントローラ、タッチパネルなどを用いたUIを簡単に作成することができます。 4 | 5 | 本教材ではUnityに最初から用意されているボタンの部品を使用してRaspberry Pi Mouseを操作できるようにします。 6 | 7 | ![](./images/intro1-1.png) 8 | 9 | ## マルチプラットフォームサポート 10 | 様々なプラットフォーム上で動作するので使い方に応じて適切な端末を選ぶことができます。 11 | 12 | 例えばPCで動作するプロジェクトをスマートフォン向けにビルドすることが可能です。 13 | 14 | 現実のロボットを操作する際は、持ち運びしやすい端末から操作できるととても便利です。 15 | 16 | またARやVR向けの対応も容易なため、より没入的で直感的なUIを作成することもできます。 17 | 18 | 対応プラットフォームについて詳しくは[こちら](https://unity.com/ja/features/multiplatform)をご覧ください。 19 | 20 | ![](./images/intro1-2.jpg) 21 | 22 | ## リアルタイムレンダリング 23 | Unityはリアルタイムレンダリングを実現するための様々な仕組みを統合した開発環境です。 24 | 25 | 実機の動きをなめらかに表現できるだけでなく、低遅延のインタラクションを実現することが出来ます。 26 | 27 | また、HDRP(High Definition Render Pipeline)を使うと現実により忠実な高品質な表現が行えたり、URP(Universal Render Pipeline)という仕組みを使うと複雑なレンダリングの処理を簡易な処理に置き換えることで負荷を低減させたりすることが出来ます。 28 | 29 | 参考までに、下記画像は左がUnity標準のBuilt-in、右がより高精細なHDRPを用いた画面です。 30 | 31 | ![](./images/intro1-3.png) 32 | 33 | ## 豊富な情報や素材 34 | [公式チュートリアル](https://learn.unity.com/course/unity-tutorials-for-beginners-jp)や[マニュアル](https://docs.unity3d.com/ja/2020.3/Manual/UnityManual.html)、Unity公式の素材集である[Unity Asset Store](https://assetstore.unity.com/?locale=ja-JP)、個人のブログ記事などゲーム開発で培われた様々な技術や素材が蓄積されています。 35 | 36 | Unityの使い方等でわからないことが出てきたら、こちらの[コミュニティ](https://unity.com/ja/community)のページや、[Unityユーザー助け合い所](https://www.facebook.com/groups/unityuserj)(日本語での質問が可能)にアクセスしてみて下さい。 37 | 38 | さらなる学びや情報収集には、Unity Japan が運営する [Unity Learning Materials](https://learning.unity3d.jp/)もおすすめです。 39 | 40 | ![](./images/intro1-4.png) 41 | 42 | --- 43 | 44 | * [目次](./intro2.md) 45 | * < [INTRO0](./intro0.md) 46 | * \> [INTRO2](./intro2.md) -------------------------------------------------------------------------------- /docs/step5.md: -------------------------------------------------------------------------------- 1 | # オドメトリの可視化 2 | 3 | ## 概要 4 | 5 | ロボットのオドメトリを可視化する方法を紹介します。 6 | 今回はオドメトリ受信用スクリプトとオドメトリ描画用スクリプトを組み合わせて可視化します。 7 | 8 | 本ステップ実行後の状態のSceneファイルは[`MobileRobotUITutorialProject/Assets/Scenes/Step5.unity`](../MobileRobotUITutorialProject/Assets/Scenes/Step5.unity)から入手できます。 9 | 10 | ## 動作確認済環境 11 | 12 | * Windows 10 Home バージョン 21H2 13 | * Unity 2021.3.4f1 14 | * [Unity-Technologies/ROS-TCP-Connector](https://github.com/Unity-Technologies/ROS-TCP-Connector) v0.7.0 15 | * Docker Desktop 4.9.1 16 | 17 | ## 手順 18 | 19 | ### 1. オドメトリ受信用スクリプトをアタッチ 20 | 21 | [STEP4](./step4.md)までと同様に`Assets/Scripts/OdomSubscriber.cs`を`Subscriber`オブジェクトにアタッチします。 22 | 23 | ここまでで`Subscriber`に追加したコンポーネントは`Tf Subscriber`と`Odom Subscriber`の2つになります。 24 | 25 | ![](./images/step5-1.png) 26 | 27 | ### 2. オドメトリ描画用スクリプトをアタッチ 28 | 29 | まず、スクリプトを用意します。[`UnityScripts/OdometryViewer`](../UnityScripts/OdometryViewer)フォルダをUnityプロジェクトの`Assets`フォルダにコピー(`Assets/OdometyViewer`として配置)します。 30 | 31 | ![](./images/step5-2.png) 32 | 33 | 次に用意したスクリプトをアタッチしていきます。 34 | `Assets/OdometyViewer/Scripts/OdometryViewer.cs`を`raspimouse`オブジェクトにアタッチします。 35 | 36 | ![](./images/step5-3.gif) 37 | 38 | `raspimouse`オブジェクトを選択してInspectorウィンドウを開き、`Odometry Viewer`コンポーネントの`Subscriber Game Object`に`Subsciber`オブジェクトを、`Arrow Prefab`に`Assets/OdometryViewer/Prefabs/Arrows-red.prefab`を指定します。 39 | 40 | ![](./images/step5-4.gif) 41 | 42 | 以上で可視化の準備ができました。 43 | 44 | ### 3. Unityプロジェクトの実行 45 | 46 | [STEP3](./step3.md)と[STEP4](./step4.md)と同様に、 47 | 48 | 1. 再生モードでUnityプロジェクトを実行 49 | 2. Gazeboシミュレータを起動 50 | 3. 操作ボタンから移動指令送信 51 | 52 | の手順でロボットを動かしてみます。 53 | 54 | ![](./images/step5-5.gif) 55 | 56 | [STEP4](./step4.md)ではGazebo上の移動ロボットに合わせてUnityのロボットも動かすことができましたが、 57 | 今回はそれに加えてオドメトリを可視化することができました。 58 | 59 | `Odometry Viewer`コンポーネントの`Length Of History`のパラメータを変えることで描画するオドメトリの履歴数を変更できます。 60 | 61 | ![](./images/step5-6.png) 62 | 63 | ![](./images/step5-7.png) 64 | 65 | ## 本STEPのまとめ 66 | 67 | 68 | オドメトリ受信用スクリプトとオドメトリ描画用スクリプトを組み合わせて可視化する方法を紹介しました。 69 | さらにパラメータを変更して描画する履歴の数を変更する方法も紹介しました。 70 | 71 | 次は[STEP6](./step6.md)でLiDARデータの可視化方法を紹介します。 72 | 73 | --- 74 | 75 | * [目次](./intro2.md) 76 | * < [STEP4](./step4.md) 77 | * \> [STEP6](./step6.md) -------------------------------------------------------------------------------- /docs/step6.md: -------------------------------------------------------------------------------- 1 | # LiDARデータの可視化 2 | 3 | ## 概要 4 | 5 | ロボットのに搭載されているLiDARデータの可視化を紹介します。 6 | 今回もオドメトリ可視化の際と同様にLiDARデータ受信用スクリプトとLiDARデータ描画用スクリプトを組み合わせて可視化します。 7 | 8 | 本ステップ実行後の状態のSceneファイルは[`MobileRobotUITutorialProject/Assets/Scenes/Step6.unity`](../MobileRobotUITutorialProject/Assets/Scenes/Step6.unity)から入手できます。 9 | 10 | ## 動作確認済環境 11 | 12 | * Windows 10 Home バージョン 21H2 13 | * Unity 2021.3.4f1 14 | * [Unity-Technologies/ROS-TCP-Connector](https://github.com/Unity-Technologies/ROS-TCP-Connector) v0.7.0 15 | * Docker Desktop 4.9.1 16 | 17 | ## 手順 18 | 19 | ### 1. LiDARデータ受信用スクリプトをアタッチ 20 | 21 | [STEP5](./step5.md)までと同様に`Assets/Scripts/LaserScanSubscriber.cs`を`Subscriber`オブジェクトにアタッチします。 22 | 23 | ここまでで`Subscriber`に追加したコンポーネントは`Tf Subscriber`、`Odom Subscriber`、`Laser Scan Subscriber`の3つになります。 24 | 25 | ![](./images/step6-1.png) 26 | 27 | ### 2. LiDARデータ描画用スクリプトをアタッチ 28 | 29 | まず、スクリプトを用意します。[`UnityScripts/PointCloud`](../UnityScripts/PointCloud)フォルダをUnityプロジェクトの`Assets`フォルダにコピー(`Assets/PointCloud`として配置)します。 30 | 31 | ![](./images/step6-2.png) 32 | 33 | 次に用意したスクリプトをアタッチしていきます。 34 | `Assets/PointCloud/Scripts/PointCloudLocator.cs`を`lidar_link`オブジェクト(`raspimouse/base_footprint/base_link/urg_mount_link/lidar_link`)にアタッチします。 35 | 36 | ![](./images/step6-3.gif) 37 | 38 | `lidar_link`オブジェクトを選択してInspectorウィンドウを開き、`Point Cloud Locator`コンポーネントの`Subscriber Game Object`に`Subsciber`オブジェクトを、`Point Prefab`に`Assets/PointCloud/Prefabs/Sphere.prefab`を指定します。 39 | 40 | ![](./images/step6-4.gif) 41 | 42 | 以上で可視化の準備ができました。 43 | 44 | ### 3. Unityプロジェクトの実行 45 | 46 | [STEP3](./step3.md)~[STEP5](./step5.md)と同様に、 47 | 48 | 1. 再生モードでUnityプロジェクトを実行 49 | 2. Gazeboシミュレータを起動 50 | 3. 操作ボタンから移動指令送信 51 | 52 | の手順でロボットを動かしてみます。 53 | 54 | ![](./images/step6-5.gif) 55 | 56 | [STEP5](./step5.md)で可視化したオドメトリに加えてLiDARデータを可視化することができました。 57 | 58 | `Assets/PointCloud/Scripts/PointCloudLocator.cs`の`private static readonly int MaxPointCount = 100;`を書き換えることで 59 | 描画する点群の数を変えることができます。 60 | 61 | ### 本STEPのまとめ 62 | 63 | LiDARデータ受信用スクリプトとLiDARデータ描画用スクリプトを組み合わせて可視化する方法を紹介しました。 64 | さらに描画する点群の数を変更する方法も紹介しました。 65 | 66 | 次は[STEP7](./step7.md)でカメラ画像の可視化方法を紹介します。 67 | 68 | --- 69 | 70 | * [目次](./intro2.md) 71 | * < [STEP5](./step5.md) 72 | * \> [STEP7](./step7.md) --------------------------------------------------------------------------------