diff --git a/Launchers/monaco_circuit.launch .py b/Launchers/monaco_circuit.launch .py deleted file mode 100644 index f57b4c293..000000000 --- a/Launchers/monaco_circuit.launch .py +++ /dev/null @@ -1,76 +0,0 @@ -import os -from launch import LaunchDescription -from launch.actions import DeclareLaunchArgument, IncludeLaunchDescription -from launch.conditions import IfCondition -from launch.launch_description_sources import PythonLaunchDescriptionSource -from launch.substitutions import LaunchConfiguration -from launch_ros.substitutions import FindPackageShare - - -def generate_launch_description(): - - # Aquí el paquete correcto para gazebo_ros - pkg_gazebo_ros = FindPackageShare(package="gazebo_launch").find("gazebo_launch") - - # Ruta a tu carpeta de modelos en tu workspace (ajusta si es necesario) - # Si tus modelos están en ~/gzROS/src/gazebo_launch/worlds/models o similar, pon esa ruta: - pkg_share = os.path.expanduser("~/gzROS/src/gazebo_launch/models") - - # Nombre del archivo del mundo - world_file_name = "monaco_circuit.world" - world_path = os.path.join(pkg_share, world_file_name) - - # Añadir el path de modelos a la variable de entorno GAZEBO_MODEL_PATH - os.environ[ - "GAZEBO_MODEL_PATH" - ] = f"{os.environ.get('GAZEBO_MODEL_PATH', '')}:{pkg_share}" - - # Configuraciones de lanzamiento - headless = LaunchConfiguration("headless") - use_sim_time = LaunchConfiguration("use_sim_time") - use_simulator = LaunchConfiguration("use_simulator") - world = LaunchConfiguration("world") - - declare_simulator_cmd = DeclareLaunchArgument( - name="headless", - default_value="False", - description="Whether to execute gzclient", - ) - - declare_use_sim_time_cmd = DeclareLaunchArgument( - name="use_sim_time", - default_value="true", - description="Use simulation (Gazebo) clock if true", - ) - - declare_use_simulator_cmd = DeclareLaunchArgument( - name="use_simulator", - default_value="True", - description="Whether to start the simulator", - ) - - declare_world_cmd = DeclareLaunchArgument( - name="world", - default_value=world_path, - description="Full path to the world model file to load", - ) - - # Lanzar el servidor de Gazebo - start_gazebo_server_cmd = IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(pkg_gazebo_ros, "launch", "gazebo.launch.py") - ), - condition=IfCondition(use_simulator), - launch_arguments={"world": world}.items(), - ) - - ld = LaunchDescription() - - ld.add_action(declare_simulator_cmd) - ld.add_action(declare_use_sim_time_cmd) - ld.add_action(declare_use_simulator_cmd) - ld.add_action(declare_world_cmd) - - ld.add_action(start_gazebo_server_cmd) - - return ld diff --git a/Launchers/monaco_circuit.launch.py b/Launchers/monaco_circuit.launch.py new file mode 100644 index 000000000..9be09dbf1 --- /dev/null +++ b/Launchers/monaco_circuit.launch.py @@ -0,0 +1,105 @@ +import os + +from ament_index_python.packages import get_package_share_directory + +from launch import LaunchDescription +from launch.actions import ( + DeclareLaunchArgument, + IncludeLaunchDescription, + SetEnvironmentVariable, + AppendEnvironmentVariable, +) +from launch.launch_description_sources import PythonLaunchDescriptionSource +from launch.substitutions import LaunchConfiguration, Command +from launch_ros.actions import Node +from launch.substitutions import LaunchConfiguration +from launch_ros.actions import Node + + +def generate_launch_description(): + + x = LaunchConfiguration("x") + y = LaunchConfiguration("y") + z = LaunchConfiguration("z") + roll = LaunchConfiguration("R") + pitch = LaunchConfiguration("P") + yaw = LaunchConfiguration("Y") + + package_dir = get_package_share_directory("custom_robots") + ros_gz_sim = get_package_share_directory("ros_gz_sim") + + gazebo_models_path = os.path.join(package_dir, "models") + + robot_launch_dir = "/opt/jderobot/Launchers/monaco_circuit" + + use_sim_time = LaunchConfiguration("use_sim_time", default="true") + x_pose = LaunchConfiguration("x_pose", default="1.0") + y_pose = LaunchConfiguration("y_pose", default="-1.5") + z_pose = LaunchConfiguration("z_pose", default="7.1") + world_file_name = "monaco_circuit.world" + worlds_dir = "/opt/jderobot/Worlds" + world_path = os.path.join(worlds_dir, world_file_name) + + gazebo_server = IncludeLaunchDescription( + PythonLaunchDescriptionSource( + os.path.join(ros_gz_sim, "launch", "gz_sim.launch.py") + ), + launch_arguments={ + "gz_args": ["-r -s -v4 ", world_path], + "on_exit_shutdown": "true", + }.items(), + ) + + declare_x_cmd = DeclareLaunchArgument("x", default_value="1.0") + + declare_y_cmd = DeclareLaunchArgument("y", default_value="-1.5") + + declare_z_cmd = DeclareLaunchArgument("z", default_value="7.1") + + declare_roll_cmd = DeclareLaunchArgument("R", default_value="0.0") + + declare_pitch_cmd = DeclareLaunchArgument("P", default_value="0.0") + + declare_yaw_cmd = DeclareLaunchArgument("Y", default_value="1.57079") + + robot_state_publisher_cmd = IncludeLaunchDescription( + PythonLaunchDescriptionSource( + os.path.join(robot_launch_dir, "robot_state_publisher.launch.py") + ), + launch_arguments={"use_sim_time": use_sim_time}.items(), + ) + + spawn_robot_cmd = IncludeLaunchDescription( + PythonLaunchDescriptionSource( + os.path.join(robot_launch_dir, "spawn_robot.launch.py") + ), + launch_arguments={"x_pose": x_pose, "y_pose": y_pose, "z_pose": z_pose}.items(), + ) + + world_entity_cmd = Node( + package="ros_gz_sim", + executable="create", + arguments=["-name", "world", "-file", world_path], + output="screen", + ) + + ld = LaunchDescription() + + ld.add_action(SetEnvironmentVariable("GZ_SIM_RESOURCE_PATH", gazebo_models_path)) + set_env_vars_resources = AppendEnvironmentVariable( + "GZ_SIM_RESOURCE_PATH", os.path.join(package_dir, "models") + ) + ld.add_action(set_env_vars_resources) + ld.add_action(gazebo_server) + # ld.add_action(gazebo_client) + ld.add_action(declare_x_cmd) + ld.add_action(declare_y_cmd) + ld.add_action(declare_z_cmd) + ld.add_action(declare_roll_cmd) + ld.add_action(declare_pitch_cmd) + ld.add_action(declare_yaw_cmd) + ld.add_action(world_entity_cmd) + ld.add_action(robot_state_publisher_cmd) + ld.add_action(spawn_robot_cmd) + + return ld diff --git a/Launchers/monaco_circuit/robot_state_publisher.launch.py b/Launchers/monaco_circuit/robot_state_publisher.launch.py new file mode 100644 index 000000000..731207c12 --- /dev/null +++ b/Launchers/monaco_circuit/robot_state_publisher.launch.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 +# +# Copyright 2019 ROBOTIS CO., LTD. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Authors: Darby Lim + +import os + +from ament_index_python.packages import get_package_share_directory +from launch import LaunchDescription +from launch.actions import DeclareLaunchArgument +from launch.substitutions import LaunchConfiguration +from launch_ros.actions import Node + + +def generate_launch_description(): + use_sim_time = LaunchConfiguration("use_sim_time", default="true") + urdf_file_name = "turtlebot3_waffle.urdf" + + print("urdf_file_name : {}".format(urdf_file_name)) + + urdf_path = os.path.join( + get_package_share_directory("custom_robots"), "urdf", urdf_file_name + ) + + with open(urdf_path, "r") as infp: + robot_desc = infp.read() + + return LaunchDescription( + [ + DeclareLaunchArgument( + "use_sim_time", + default_value="true", + description="Use simulation (Gazebo) clock if true", + ), + Node( + package="robot_state_publisher", + executable="robot_state_publisher", + name="robot_state_publisher", + output="screen", + parameters=[ + {"use_sim_time": use_sim_time, "robot_description": robot_desc} + ], + ), + ] + ) diff --git a/Launchers/monaco_circuit/spawn_robot.launch.py b/Launchers/monaco_circuit/spawn_robot.launch.py new file mode 100644 index 000000000..5cf708d02 --- /dev/null +++ b/Launchers/monaco_circuit/spawn_robot.launch.py @@ -0,0 +1,107 @@ +# Copyright 2019 Open Source Robotics Foundation, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os + +from ament_index_python.packages import get_package_share_directory +from launch import LaunchDescription +from launch.actions import DeclareLaunchArgument +from launch.substitutions import LaunchConfiguration +from launch_ros.actions import Node + + +def generate_launch_description(): + # Get the urdf file + model_folder = "turtlebot3_waffle" + urdf_path = os.path.join( + get_package_share_directory("custom_robots"), + "models", + model_folder, + "model.sdf", + ) + + # Launch configuration variables specific to simulation + # x_pose = LaunchConfiguration('x_pose', default='1.0') + # y_pose = LaunchConfiguration('y_pose', default='-1.5') + # z_pose = LaunchConfiguration('z_pose', default='7.1') + + # Declare the launch arguments + # declare_x_position_cmd = DeclareLaunchArgument( + # 'x_pose', default_value='1.0', + # description='Specify namespace of the robot') + + # declare_y_position_cmd = DeclareLaunchArgument( + # 'y_pose', default_value='-1.5', + # description='Specify namespace of the robot') + + # declare_z_position_cmd = DeclareLaunchArgument( + # 'z_pose', default_value='7.1', + # description='Specify namespace of the robot') + + # start_gazebo_ros_spawner_cmd = Node( + # package='ros_gz_sim', + # executable='create', + # arguments=[ + # '-name', 'waffle', + # '-file', urdf_path, + # '-x', x_pose, + # '-y', y_pose, + # '-z', z_pose + # ], + # output='screen', + # ) + + bridge_params = os.path.join( + get_package_share_directory("custom_robots"), "params", "robot_params.yaml" + ) + + start_gazebo_ros_bridge_cmd = Node( + package="ros_gz_bridge", + executable="parameter_bridge", + arguments=[ + "--ros-args", + "-p", + f"config_file:={bridge_params}", + ], + output="screen", + ) + + start_gazebo_ros_image_bridge_cmd = Node( + package="ros_gz_image", + executable="image_bridge", + arguments=["/turtlebot3/camera/image_raw"], + output="screen", + ) + + start_gazebo_ros_depth_bridge_cmd = Node( + package="ros_gz_image", + executable="image_bridge", + arguments=["/turtlebot3/camera/depth"], + output="screen", + ) + + ld = LaunchDescription() + + # Declare the launch options + # ld.add_action(declare_x_position_cmd) + # ld.add_action(declare_y_position_cmd) + # ld.add_action(declare_z_position_cmd) + + # Add any conditioned actions + # ld.add_action(start_gazebo_ros_spawner_cmd) + ld.add_action(start_gazebo_ros_bridge_cmd) + ld.add_action(start_gazebo_ros_image_bridge_cmd) + ld.add_action(start_gazebo_ros_depth_bridge_cmd) + + return ld diff --git a/Launchers/spa_circuit.launch.py b/Launchers/spa_circuit.launch.py index c8c6bdcf4..0395150b6 100644 --- a/Launchers/spa_circuit.launch.py +++ b/Launchers/spa_circuit.launch.py @@ -1,76 +1,105 @@ import os + +from ament_index_python.packages import get_package_share_directory + from launch import LaunchDescription -from launch.actions import DeclareLaunchArgument, IncludeLaunchDescription -from launch.conditions import IfCondition +from launch.actions import ( + DeclareLaunchArgument, + IncludeLaunchDescription, + SetEnvironmentVariable, + AppendEnvironmentVariable, +) from launch.launch_description_sources import PythonLaunchDescriptionSource +from launch.substitutions import LaunchConfiguration, Command +from launch_ros.actions import Node from launch.substitutions import LaunchConfiguration -from launch_ros.substitutions import FindPackageShare +from launch_ros.actions import Node def generate_launch_description(): - # Aquí el paquete correcto para gazebo_ros - pkg_gazebo_ros = FindPackageShare(package="gazebo_launch").find("gazebo_launch") + x = LaunchConfiguration("x") + y = LaunchConfiguration("y") + z = LaunchConfiguration("z") + roll = LaunchConfiguration("R") + pitch = LaunchConfiguration("P") + yaw = LaunchConfiguration("Y") + + package_dir = get_package_share_directory("custom_robots") + ros_gz_sim = get_package_share_directory("ros_gz_sim") - # Ruta a tu carpeta de modelos en tu workspace (ajusta si es necesario) - # Si tus modelos están en ~/gzROS/src/gazebo_launch/worlds/models o similar, pon esa ruta: - pkg_share = os.path.expanduser("~/gzROS/src/gazebo_launch/models") + gazebo_models_path = os.path.join(package_dir, "models") - # Nombre del archivo del mundo + robot_launch_dir = "/opt/jderobot/Launchers/spa_circuit" + + use_sim_time = LaunchConfiguration("use_sim_time", default="true") + x_pose = LaunchConfiguration("x_pose", default="1.0") + y_pose = LaunchConfiguration("y_pose", default="-1.5") + z_pose = LaunchConfiguration("z_pose", default="7.1") world_file_name = "spa_circuit.world" - world_path = os.path.join(pkg_share, world_file_name) - - # Añadir el path de modelos a la variable de entorno GAZEBO_MODEL_PATH - os.environ[ - "GAZEBO_MODEL_PATH" - ] = f"{os.environ.get('GAZEBO_MODEL_PATH', '')}:{pkg_share}" - - # Configuraciones de lanzamiento - headless = LaunchConfiguration("headless") - use_sim_time = LaunchConfiguration("use_sim_time") - use_simulator = LaunchConfiguration("use_simulator") - world = LaunchConfiguration("world") - - declare_simulator_cmd = DeclareLaunchArgument( - name="headless", - default_value="False", - description="Whether to execute gzclient", - ) + worlds_dir = "/opt/jderobot/Worlds" + world_path = os.path.join(worlds_dir, world_file_name) - declare_use_sim_time_cmd = DeclareLaunchArgument( - name="use_sim_time", - default_value="true", - description="Use simulation (Gazebo) clock if true", + gazebo_server = IncludeLaunchDescription( + PythonLaunchDescriptionSource( + os.path.join(ros_gz_sim, "launch", "gz_sim.launch.py") + ), + launch_arguments={ + "gz_args": ["-r -s -v4 ", world_path], + "on_exit_shutdown": "true", + }.items(), ) - declare_use_simulator_cmd = DeclareLaunchArgument( - name="use_simulator", - default_value="True", - description="Whether to start the simulator", - ) + declare_x_cmd = DeclareLaunchArgument("x", default_value="1.0") + + declare_y_cmd = DeclareLaunchArgument("y", default_value="-1.5") + + declare_z_cmd = DeclareLaunchArgument("z", default_value="7.1") - declare_world_cmd = DeclareLaunchArgument( - name="world", - default_value=world_path, - description="Full path to the world model file to load", + declare_roll_cmd = DeclareLaunchArgument("R", default_value="0.0") + + declare_pitch_cmd = DeclareLaunchArgument("P", default_value="0.0") + + declare_yaw_cmd = DeclareLaunchArgument("Y", default_value="1.57079") + + robot_state_publisher_cmd = IncludeLaunchDescription( + PythonLaunchDescriptionSource( + os.path.join(robot_launch_dir, "robot_state_publisher.launch.py") + ), + launch_arguments={"use_sim_time": use_sim_time}.items(), ) - # Lanzar el servidor de Gazebo - start_gazebo_server_cmd = IncludeLaunchDescription( + spawn_robot_cmd = IncludeLaunchDescription( PythonLaunchDescriptionSource( - os.path.join(pkg_gazebo_ros, "launch", "gazebo.launch.py") + os.path.join(robot_launch_dir, "spawn_robot.launch.py") ), - condition=IfCondition(use_simulator), - launch_arguments={"world": world}.items(), + launch_arguments={"x_pose": x_pose, "y_pose": y_pose, "z_pose": z_pose}.items(), ) - ld = LaunchDescription() + world_entity_cmd = Node( + package="ros_gz_sim", + executable="create", + arguments=["-name", "world", "-file", world_path], + output="screen", + ) - ld.add_action(declare_simulator_cmd) - ld.add_action(declare_use_sim_time_cmd) - ld.add_action(declare_use_simulator_cmd) - ld.add_action(declare_world_cmd) + ld = LaunchDescription() - ld.add_action(start_gazebo_server_cmd) + ld.add_action(SetEnvironmentVariable("GZ_SIM_RESOURCE_PATH", gazebo_models_path)) + set_env_vars_resources = AppendEnvironmentVariable( + "GZ_SIM_RESOURCE_PATH", os.path.join(package_dir, "models") + ) + ld.add_action(set_env_vars_resources) + ld.add_action(gazebo_server) + # ld.add_action(gazebo_client) + ld.add_action(declare_x_cmd) + ld.add_action(declare_y_cmd) + ld.add_action(declare_z_cmd) + ld.add_action(declare_roll_cmd) + ld.add_action(declare_pitch_cmd) + ld.add_action(declare_yaw_cmd) + ld.add_action(world_entity_cmd) + ld.add_action(robot_state_publisher_cmd) + ld.add_action(spawn_robot_cmd) return ld diff --git a/Launchers/spa_circuit/robot_state_publisher.launch.py b/Launchers/spa_circuit/robot_state_publisher.launch.py new file mode 100644 index 000000000..731207c12 --- /dev/null +++ b/Launchers/spa_circuit/robot_state_publisher.launch.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 +# +# Copyright 2019 ROBOTIS CO., LTD. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Authors: Darby Lim + +import os + +from ament_index_python.packages import get_package_share_directory +from launch import LaunchDescription +from launch.actions import DeclareLaunchArgument +from launch.substitutions import LaunchConfiguration +from launch_ros.actions import Node + + +def generate_launch_description(): + use_sim_time = LaunchConfiguration("use_sim_time", default="true") + urdf_file_name = "turtlebot3_waffle.urdf" + + print("urdf_file_name : {}".format(urdf_file_name)) + + urdf_path = os.path.join( + get_package_share_directory("custom_robots"), "urdf", urdf_file_name + ) + + with open(urdf_path, "r") as infp: + robot_desc = infp.read() + + return LaunchDescription( + [ + DeclareLaunchArgument( + "use_sim_time", + default_value="true", + description="Use simulation (Gazebo) clock if true", + ), + Node( + package="robot_state_publisher", + executable="robot_state_publisher", + name="robot_state_publisher", + output="screen", + parameters=[ + {"use_sim_time": use_sim_time, "robot_description": robot_desc} + ], + ), + ] + ) diff --git a/Launchers/spa_circuit/spawn_robot.launch.py b/Launchers/spa_circuit/spawn_robot.launch.py new file mode 100644 index 000000000..5cf708d02 --- /dev/null +++ b/Launchers/spa_circuit/spawn_robot.launch.py @@ -0,0 +1,107 @@ +# Copyright 2019 Open Source Robotics Foundation, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os + +from ament_index_python.packages import get_package_share_directory +from launch import LaunchDescription +from launch.actions import DeclareLaunchArgument +from launch.substitutions import LaunchConfiguration +from launch_ros.actions import Node + + +def generate_launch_description(): + # Get the urdf file + model_folder = "turtlebot3_waffle" + urdf_path = os.path.join( + get_package_share_directory("custom_robots"), + "models", + model_folder, + "model.sdf", + ) + + # Launch configuration variables specific to simulation + # x_pose = LaunchConfiguration('x_pose', default='1.0') + # y_pose = LaunchConfiguration('y_pose', default='-1.5') + # z_pose = LaunchConfiguration('z_pose', default='7.1') + + # Declare the launch arguments + # declare_x_position_cmd = DeclareLaunchArgument( + # 'x_pose', default_value='1.0', + # description='Specify namespace of the robot') + + # declare_y_position_cmd = DeclareLaunchArgument( + # 'y_pose', default_value='-1.5', + # description='Specify namespace of the robot') + + # declare_z_position_cmd = DeclareLaunchArgument( + # 'z_pose', default_value='7.1', + # description='Specify namespace of the robot') + + # start_gazebo_ros_spawner_cmd = Node( + # package='ros_gz_sim', + # executable='create', + # arguments=[ + # '-name', 'waffle', + # '-file', urdf_path, + # '-x', x_pose, + # '-y', y_pose, + # '-z', z_pose + # ], + # output='screen', + # ) + + bridge_params = os.path.join( + get_package_share_directory("custom_robots"), "params", "robot_params.yaml" + ) + + start_gazebo_ros_bridge_cmd = Node( + package="ros_gz_bridge", + executable="parameter_bridge", + arguments=[ + "--ros-args", + "-p", + f"config_file:={bridge_params}", + ], + output="screen", + ) + + start_gazebo_ros_image_bridge_cmd = Node( + package="ros_gz_image", + executable="image_bridge", + arguments=["/turtlebot3/camera/image_raw"], + output="screen", + ) + + start_gazebo_ros_depth_bridge_cmd = Node( + package="ros_gz_image", + executable="image_bridge", + arguments=["/turtlebot3/camera/depth"], + output="screen", + ) + + ld = LaunchDescription() + + # Declare the launch options + # ld.add_action(declare_x_position_cmd) + # ld.add_action(declare_y_position_cmd) + # ld.add_action(declare_z_position_cmd) + + # Add any conditioned actions + # ld.add_action(start_gazebo_ros_spawner_cmd) + ld.add_action(start_gazebo_ros_bridge_cmd) + ld.add_action(start_gazebo_ros_image_bridge_cmd) + ld.add_action(start_gazebo_ros_depth_bridge_cmd) + + return ld diff --git a/Worlds/monaco_circuit.world b/Worlds/monaco_circuit.world index 25a77d32e..5e6b832f0 100644 --- a/Worlds/monaco_circuit.world +++ b/Worlds/monaco_circuit.world @@ -1,16 +1,26 @@ - - - - 0.001 - 1 - 1000 - - - - + + + + + + + + + + + + ogre2 + - 0 0 -9.8 - + 0.4 0.4 0.4 1 0.7 0.7 0.7 1 @@ -46,5 +56,12 @@ 0 + + + + 1 -1.5 10 0 0 0 + turtlebot3_waffle + model://turtlebot3_waffle + - + \ No newline at end of file diff --git a/Worlds/spa_circuit.world b/Worlds/spa_circuit.world index 1c7a9283f..02317e1f9 100644 --- a/Worlds/spa_circuit.world +++ b/Worlds/spa_circuit.world @@ -1,16 +1,26 @@ - - - - 0.001 - 1 - 1000 - - - - + + + + + + + + + + + + ogre2 + - 0 0 -9.8 - + 0.4 0.4 0.4 1 0.7 0.7 0.7 1 @@ -46,5 +56,12 @@ 0 + + + + 1 -1.5 -9990 0 0 0 + turtlebot3_waffle + model://turtlebot3_waffle + \ No newline at end of file diff --git a/database/universes.sql b/database/universes.sql index d6fd0f8d9..5cc452dd5 100644 --- a/database/universes.sql +++ b/database/universes.sql @@ -148,8 +148,8 @@ COPY public.universes (id, name, world_id, robot_id) FROM stdin; 32 Follow Road Harmonic 32 0 33 Laser Mapping Warehouse 12 0 34 Pick And Place World 34 0 -35 Spa Circuit 33 0 -36 Monaco Circuit 34 0 +35 Spa Circuit 35 0 +36 Monaco Circuit 36 0 \. @@ -194,8 +194,8 @@ COPY public.worlds (id, name, launch_file_path, visualization_config_path, ros_v 32 Follow Road Harmonic /opt/jderobot/Launchers/follow_road.launch.py /opt/jderobot/Launchers/visualization/follow_road.config ROS2 gzsim_rae gazebo {0.0,0.0,0.0,0.0,0.0,0.0} 33 Small Laser Mapping Warehouse /opt/jderobot/Launchers/small_laser_mapping.launch.py /opt/jderobot/Launchers/visualization/small_laser_mapping.config ROS2 gzsim_rae gazebo {0.0,0.0,0.0,0.0,0.0,0.0} 34 Pick And Place Arm /home/dev_ws/src/IndustrialRobots/ros2_SimRealRobotControl/ros2srrc_launch/moveit2/moveit2.launch.py None ROS2 gazebo_rae gazebo {0.0,0.0,0.0,0.0,0.0,0.0} -35 Spa Circuit /opt/jderobot/Launchers/spa_circuit.launch.py None ROS2 gazebo_rae gazebo {0.0,0.0,0.0,0.0,0.0,0.0} -36 Monaco Circuit /opt/jderobot/Launchers/monaco_circuit.launch.py None ROS2 gazebo_rae gazebo {0.0,0.0,0.0,0.0,0.0,0.0} +35 Spa Circuit /opt/jderobot/Launchers/spa_circuit.launch.py None ROS2 gzsim_rae gazebo {0.0,0.0,0.0,0.0,0.0,0.0} +36 Monaco Circuit /opt/jderobot/Launchers/monaco_circuit.launch.py None ROS2 gzsim_rae gazebo {0.0,0.0,0.0,0.0,0.0,0.0} \. -- 34 Pick And Place Arm /opt/jderobot/Launchers/pick_place.launch.py None ROS2 gazebo_rae gazebo {0.0,0.0,0.0,0.0,0.0,0.0}