diff --git a/src/sherpa/config/gz_bridge.yaml b/src/sherpa/config/gz_bridge.yaml
index 5a18576..86b4753 100644
--- a/src/sherpa/config/gz_bridge.yaml
+++ b/src/sherpa/config/gz_bridge.yaml
@@ -32,4 +32,10 @@
gz_topic_name: "imu"
ros_type_name: "sensor_msgs/msg/Imu"
gz_type_name: "gz.msgs.IMU"
- direction: GZ_TO_ROS
\ No newline at end of file
+ direction: GZ_TO_ROS
+
+- ros_topic_name: "/cmd_vel_in"
+ gz_topic_name: "cmd_vel"
+ ros_type_name: "geometry_msgs/msg/Twist"
+ gz_type_name: "gz.msgs.Twist"
+ direction: GZ_TO_ROS
diff --git a/src/sherpa/launch/simulator.launch.py b/src/sherpa/launch/simulator.launch.py
index a8da1f7..d0f9168 100644
--- a/src/sherpa/launch/simulator.launch.py
+++ b/src/sherpa/launch/simulator.launch.py
@@ -18,7 +18,7 @@ def generate_launch_description():
pkg_share = get_package_share_directory(pkg_name)
pkg_prefix = os.path.dirname(pkg_share)
- world_path = os.path.join(pkg_share, 'worlds', 'empty.world')
+ world_path = os.path.join(pkg_share, 'worlds', 'raceway.world')
xacro_file = os.path.join(pkg_share, 'urdf', 'sherpa.xacro')
# create nodes
@@ -33,7 +33,7 @@ def generate_launch_description():
'ros2', 'launch', 'ros_gz_sim', 'gz_sim.launch.py',
f'gz_args:=-r {world_path}'
],
- output='screen'
+ #output='screen'
)
state_publisher = Node(
@@ -50,7 +50,7 @@ def generate_launch_description():
package='controller_manager',
executable='spawner',
arguments=['ackermann_controller'],
- output='screen'
+ #output='screen'
)
joint_state_broadcaster = Node(
@@ -58,7 +58,7 @@ def generate_launch_description():
executable='spawner',
arguments=['joint_state_broadcaster', '--controller-manager', '/controller_manager'],
parameters=[{'use_sim_time': True}],
- output='screen'
+ #output='screen'
)
static_tf = Node(
@@ -80,6 +80,15 @@ def generate_launch_description():
'-topic', 'robot_description',
'-x', '0', '-y', '0', '-z', '0.5'
],
+ #output='screen'
+ )
+
+ twist_stamper = Node(
+ package="twist_stamper",
+ executable="twist_stamper",
+ remappings=[
+ ('/cmd_vel_out', '/ackermann_controller/reference'),
+ ],
output='screen'
)
@@ -108,6 +117,7 @@ def generate_launch_description():
ld.add_action(gz_bridge)
ld.add_action(joint_state_broadcaster)
ld.add_action(controller)
+ ld.add_action(twist_stamper)
ld.add_action(rviz2)
return ld
diff --git a/src/sherpa/urdf/components/ouster_lidar.xacro b/src/sherpa/urdf/components/ouster_lidar.xacro
index 6061d23..ca9bcfe 100644
--- a/src/sherpa/urdf/components/ouster_lidar.xacro
+++ b/src/sherpa/urdf/components/ouster_lidar.xacro
@@ -167,4 +167,4 @@
-
\ No newline at end of file
+
diff --git a/src/sherpa/urdf/components/wheel.xacro b/src/sherpa/urdf/components/wheel.xacro
index 5f785a2..24599ca 100644
--- a/src/sherpa/urdf/components/wheel.xacro
+++ b/src/sherpa/urdf/components/wheel.xacro
@@ -66,7 +66,7 @@
1.2
- 0.01
+ 0.1
0.1
@@ -81,4 +81,4 @@
-
\ No newline at end of file
+
diff --git a/src/sherpa/urdf/sherpa.xacro b/src/sherpa/urdf/sherpa.xacro
index 3822985..3f43762 100644
--- a/src/sherpa/urdf/sherpa.xacro
+++ b/src/sherpa/urdf/sherpa.xacro
@@ -25,7 +25,7 @@
-
+
@@ -103,4 +103,4 @@
-
\ No newline at end of file
+
diff --git a/src/sherpa/worlds/empty.world b/src/sherpa/worlds/empty.world
index 56e0c7f..0bf1e53 100644
--- a/src/sherpa/worlds/empty.world
+++ b/src/sherpa/worlds/empty.world
@@ -20,7 +20,7 @@
- ogre2
+ ogre
@@ -92,4 +92,4 @@
false
-
\ No newline at end of file
+
diff --git a/src/sherpa/worlds/raceway.world b/src/sherpa/worlds/raceway.world
new file mode 100644
index 0000000..35d4239
--- /dev/null
+++ b/src/sherpa/worlds/raceway.world
@@ -0,0 +1,112 @@
+
+
+
+
+ false
+
+
+
+
+ ogre2
+
+
+
+
+
+
+
+
+
+
+
+ 3D View
+ false
+ docked
+
+
+ ogre2
+ scene
+ 0.4 0.4 0.4
+ 0.5 0.8 0.95
+
+
+ prius_hybrid
+ 0.5
+ 0.5 5 2
+
+
+
+
+
+
+ World control
+ false
+ false
+ 72
+ 121
+ 1
+
+ floating
+
+
+
+
+
+
+ true
+ true
+ true
+
+
+
+
+
+
+ World stats
+ false
+ false
+ 110
+ 290
+ 1
+
+ floating
+
+
+
+
+
+
+ true
+ true
+ true
+ true
+
+
+
+
+ docked
+
+ front_camera
+
+
+
+
+ docked
+
+ /cmd_vel
+
+
+
+ https://fuel.ignitionrobotics.org/1.0/openrobotics/models/Sonoma Raceway
+
+
+
+