diff --git a/package.xml b/package.xml index 0f64bb1..3ebd655 100644 --- a/package.xml +++ b/package.xml @@ -12,6 +12,8 @@ ament_lint_auto ament_lint_common + stage_ros2 + ament_cmake diff --git a/stage/models/traxxas_summit/car.model b/stage/models/traxxas_summit/car.model new file mode 100644 index 0000000..c2252d2 --- /dev/null +++ b/stage/models/traxxas_summit/car.model @@ -0,0 +1,43 @@ +# Stage simulator model of 'traxxas-summit' + + +# These relative path should be specified respect to the `main.world` file see: +# https://github.com/Mailamaca/stage/issues/1 +include "../../sensors/ust10lx.ranger" +# include "../../sensors/simcam.camera" + + +define car position +( + # size + size [0.563 0.470 0.200] + origin [0.172828879 0 0 0] + gui_nose 1 + + bitmap "../../models/traxxas_summit/footprint.png" + + # kinematic model + drive "diff" + + # update frequency + update_interval 20 + + # type of localization + localization "gps" + # gps = absolute + # odom = relative + + # [ xmin xmax ymin ymax zmin zmax amin amax ] + velocity_bounds [-1.5 1.5 0 0 0 0 -90 90] + + # LiDAR + # position in metres, the centre of rotation offset must be added + # and initial position + ust10lx ( pose [ 0.0 0 0.25 0 ] size [ 0.05 0.05 0.035 ] ) + + # Camera + # temporary disabled so we can run simulation without GUI (and camera requires GUI) + # simcam ( pose [ -0.1375 0 0.175 0 ] size [ 0.025 0.09 0.025 ] ) + + stack_children 0 +) diff --git a/stage/models/traxxas_summit/footprint.png b/stage/models/traxxas_summit/footprint.png new file mode 100644 index 0000000..fe0703c Binary files /dev/null and b/stage/models/traxxas_summit/footprint.png differ diff --git a/stage/models/traxxas_summit/summit_top_view.jpg b/stage/models/traxxas_summit/summit_top_view.jpg new file mode 100644 index 0000000..2d776d4 Binary files /dev/null and b/stage/models/traxxas_summit/summit_top_view.jpg differ diff --git a/stage/models/tx2.model b/stage/models/tx2.model deleted file mode 100644 index 05549da..0000000 --- a/stage/models/tx2.model +++ /dev/null @@ -1,165 +0,0 @@ -# Stage simulator model of 'tx2-auto-3' -# Credits: https://github.com/pokusew/f1tenth-rewrite/tree/main/src/storage/stage - - -# These relative path should be specified respect to the `main.world` file see: -# https://github.com/Mailamaca/stage/issues/1 -include "../../sensors/ust10lx.ranger" -# include "../../sensors/simcam.camera" - -define tx2 position -( - # size - size [0.565 0.29 0.175] - origin [-0.165 0 0 0] - gui_nose 1 - - # body - block - ( - points 12 - point[0] [16.43 7.25] - point[1] [16.43 9.71] - point[2] [14 12.76] - point[3] [14 16.25] - point[4] [16.43 19.29] - point[5] [16.43 21.75] - point[6] [36.63 21.75] - point[7] [39.35 17.86] - point[8] [45 16.59] - point[9] [45 12.41] - point[10] [39.35 11.14] - point[11] [36.63 7.25] - z [1 8.5] - ) - - # Wheel - block - ( - points 4 - point[0] [7.5 0] - point[1] [7.5 6] - point[2] [18 6] - point[3] [18 0] - z [0 10.5] - color "black" - ) - - # Wheel - block - ( - points 4 - point[0] [7.5 23] - point[1] [7.5 29] - point[2] [18 29] - point[3] [18 23] - z [0 10.5] - color "black" - ) - - # Wheel - block - ( - points 4 - point[0] [39.5 23] - point[1] [39.5 29] - point[2] [50 29] - point[3] [50 23] - z [0 10.5] - color "black" - ) - - # Wheel - block - ( - points 4 - point[0] [39.5 0] - point[1] [39.5 6] - point[2] [50 6] - point[3] [50 0] - z [0 10.5] - color "black" - ) - - # Front bumper - block - ( - points 4 - point[0] [54.5 4.75] - point[1] [54.5 24.25] - point[2] [56.5 24.25] - point[3] [56.5 4.75] - z [9 12] - color "black" - ) - - # Rear bumper - block - ( - points 4 - point[0] [0 6] - point[1] [0 23] - point[2] [0.5 23] - point[3] [0.5 6] - z [9 12] - color "black" - ) - - # Lidar base (underneath) - block - ( - points 4 - point[0] [28.5 12] - point[1] [28.5 17] - point[2] [33.5 17] - point[3] [33.5 12] - z [8.5 10.5] - color "blue" - ) - - # Lidar base (lidar part) - block - ( - points 4 - point[0] [28.5 12] - point[1] [28.5 17] - point[2] [33.5 17] - point[3] [33.5 12] - z [10.5 14] - color "black" - ) - - # lidar - block - ( - points 4 - point[0] [28.5 12] - point[1] [28.5 17] - point[2] [33.5 17] - point[3] [33.5 12] - z [14 17.5] - color "orange" - ) - - # kinematic model - drive "car" - - # type of localization - localization "gps" - # gps = absolute - # odom = relative - - # wheel distance - wheelbase 0.32 - - # LiDAR - # position in metres, the centre of rotation offset must be added - # and initial position - ust10lx ( pose [ -0.12 0 0.1575 0 ] size [ 0.05 0.05 0.035 ] ) - - # Camera - # temporary disabled so we can run simulation without GUI (and camera requires GUI) - # simcam ( pose [ -0.1375 0 0.175 0 ] size [ 0.025 0.09 0.025 ] ) - - stack_children 0 -) diff --git a/stage/sensors/ust10lx.ranger b/stage/sensors/ust10lx.ranger index 413cc15..bd0d436 100644 --- a/stage/sensors/ust10lx.ranger +++ b/stage/sensors/ust10lx.ranger @@ -3,11 +3,12 @@ define ust10lx ranger ( sensor( - range [ 0.0 10.0 ] - fov 270.0 + range [ 0.0 12.0 ] + fov 3600.0 samples 3243 ) # generic model properties color "orange" + update_interval 100 # sensor frequency [ms] ) diff --git a/stage/worlds/simple_field/main.world b/stage/worlds/simple_field/main.world index 8d4d04d..dfd4589 100644 --- a/stage/worlds/simple_field/main.world +++ b/stage/worlds/simple_field/main.world @@ -1,6 +1,6 @@ # A simple italian flag world. -include "../../models/tx2.model" +include "../../models/traxxas_summit/car.model" define test_block model ( @@ -9,7 +9,7 @@ define test_block model ) # throw in a robot -tx2( pose [ 5 0 0 0 ] name "car" color "blue") +car( pose [ 5 0 0 0 ] name "car" color "blue") # :it: flag test blocks, use them interactively to obstacolate the robot. test_block diff --git a/stage/worlds/willow_garage/main.world b/stage/worlds/willow_garage/main.world index 57990d5..1d36a58 100644 --- a/stage/worlds/willow_garage/main.world +++ b/stage/worlds/willow_garage/main.world @@ -1,7 +1,7 @@ -include "../../models/tx2.model" +include "../../models/traxxas_summit/car.model" define floorplan model ( @@ -44,4 +44,4 @@ floorplan ) # throw in a robot -tx2( pose [ -33 13 0 0 ] name "car" color "blue") +car( pose [ -33 13 0 0 ] name "car" color "blue")