diff --git a/scout_description/urdf/scout_v2.gazebo b/scout_description/urdf/scout_v2.gazebo index 86ab624..522a2a7 100644 --- a/scout_description/urdf/scout_v2.gazebo +++ b/scout_description/urdf/scout_v2.gazebo @@ -1,9 +1,19 @@ - + + + + + + + + + + + @@ -40,5 +50,5 @@ 20.0 base_footprint - --> + --> \ No newline at end of file diff --git a/scout_description/urdf/scout_v2.xacro b/scout_description/urdf/scout_v2.xacro index 216e8fd..e0ba235 100644 --- a/scout_description/urdf/scout_v2.xacro +++ b/scout_description/urdf/scout_v2.xacro @@ -85,14 +85,13 @@ - - + diff --git a/scout_description/urdf/scout_wheel.gazebo b/scout_description/urdf/scout_wheel.gazebo new file mode 100644 index 0000000..b9eb14d --- /dev/null +++ b/scout_description/urdf/scout_wheel.gazebo @@ -0,0 +1,50 @@ + + + + + + + + + + + + --> + + + transmission_interface/SimpleTransmission + + 1 + + + hardware_interface/VelocityJointInterface + + + + + diff --git a/scout_description/urdf/scout_wheel_type1.xacro b/scout_description/urdf/scout_wheel_type1.xacro index 0a36557..ebdb9fe 100644 --- a/scout_description/urdf/scout_wheel_type1.xacro +++ b/scout_description/urdf/scout_wheel_type1.xacro @@ -54,24 +54,5 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSI - - - - - - - - - - - - transmission_interface/SimpleTransmission - - 1 - - - hardware_interface/VelocityJointInterface - - diff --git a/scout_description/urdf/scout_wheel_type2.xacro b/scout_description/urdf/scout_wheel_type2.xacro index 8331ca9..d8aa310 100644 --- a/scout_description/urdf/scout_wheel_type2.xacro +++ b/scout_description/urdf/scout_wheel_type2.xacro @@ -54,25 +54,6 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSI - - - - - - - - - - - - transmission_interface/SimpleTransmission - - 1 - - - hardware_interface/VelocityJointInterface - - diff --git a/scout_gazebo_sim/CHANGELOG.md b/scout_gazebo_sim/CHANGELOG.md new file mode 100644 index 0000000..072663c --- /dev/null +++ b/scout_gazebo_sim/CHANGELOG.md @@ -0,0 +1,5 @@ +## Changelog + +0.0.1 (2020-03-25) +------------------ +* Initial release for Melodic. diff --git a/scout_gazebo_sim/CMakeLists.txt b/scout_gazebo_sim/CMakeLists.txt new file mode 100644 index 0000000..82c5242 --- /dev/null +++ b/scout_gazebo_sim/CMakeLists.txt @@ -0,0 +1,49 @@ +cmake_minimum_required(VERSION 2.8.3) +project(scout_gazebo_sim) + +add_compile_options(-std=c++11) + +find_package(catkin REQUIRED COMPONENTS + roslaunch + roslint + roscpp + sensor_msgs + std_msgs + geometry_msgs + scout_msgs + scout_sdk + tf2 + tf2_ros +) +catkin_package( + INCLUDE_DIRS include +# LIBRARIES + CATKIN_DEPENDS roscpp sensor_msgs +# DEPENDS Boost +) + +########### +## Build ## +########### + +include_directories( + include + ${catkin_INCLUDE_DIRS} +) + +add_library(scout_gazebo STATIC src/scout_skid_steer.cpp) +target_link_libraries(scout_gazebo ${catkin_LIBRARIES}) + +add_executable(scout_skid_steer_controller src/scout_skid_steer_controller.cpp) +target_link_libraries(scout_skid_steer_controller scout_gazebo ${catkin_LIBRARIES}) + +############# +## Install ## +############# + +roslaunch_add_file_check(launch) + +install( + DIRECTORY launch worlds + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +) diff --git a/scout_gazebo_sim/config/scout_v2_control.yaml b/scout_gazebo_sim/config/scout_v2_control.yaml new file mode 100644 index 0000000..2f1415c --- /dev/null +++ b/scout_gazebo_sim/config/scout_v2_control.yaml @@ -0,0 +1,37 @@ +# Publish all joint states ----------------------------------- +scout_state_controller: + type: joint_state_controller/JointStateController + publish_rate: 50 + +# Joint velocity controllers --------------------------------- +scout_motor_fr_controller: + type: velocity_controllers/JointVelocityController + joint: front_right_wheel + pid: + p: 5.0 + i: 20.0 + i_clamp: 100.0 + +scout_motor_fl_controller: + type: velocity_controllers/JointVelocityController + joint: front_left_wheel + pid: + p: 5.0 + i: 20.0 + i_clamp: 100.0 + +scout_motor_rl_controller: + type: velocity_controllers/JointVelocityController + joint: rear_left_wheel + pid: + p: 5.0 + i: 20.0 + i_clamp: 100.0 + +scout_motor_rr_controller: + type: velocity_controllers/JointVelocityController + joint: rear_right_wheel + pid: + p: 5.0 + i: 20.0 + i_clamp: 100.0 \ No newline at end of file diff --git a/scout_gazebo_sim/include/scout_gazebo/scout_skid_steer.hpp b/scout_gazebo_sim/include/scout_gazebo/scout_skid_steer.hpp new file mode 100644 index 0000000..21d9e47 --- /dev/null +++ b/scout_gazebo_sim/include/scout_gazebo/scout_skid_steer.hpp @@ -0,0 +1,27 @@ +/* + * scout_skid_steer.hpp + * + * Created on: Mar 25, 2020 22:52 + * Description: + * + * Copyright (c) 2019 Ruixiang Du (rdu) + */ + +#ifndef SCOUT_SKID_STEER_HPP +#define SCOUT_SKID_STEER_HPP + +#include + +#include + +namespace wescore { +class ScoutSkidSteer { + public: + ScoutSkidSteer(std::string robot_name); + + private: + std::string robot_name; +}; +} // namespace wescore + +#endif /* SCOUT_SKID_STEER_HPP */ diff --git a/scout_gazebo_sim/launch/husky_playpen.launch b/scout_gazebo_sim/launch/husky_playpen.launch new file mode 100644 index 0000000..b11cf59 --- /dev/null +++ b/scout_gazebo_sim/launch/husky_playpen.launch @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + diff --git a/scout_gazebo_sim/launch/playpen.launch b/scout_gazebo_sim/launch/playpen.launch new file mode 100644 index 0000000..89e8109 --- /dev/null +++ b/scout_gazebo_sim/launch/playpen.launch @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + diff --git a/scout_gazebo_sim/launch/scout_empty_world.launch b/scout_gazebo_sim/launch/scout_empty_world.launch new file mode 100644 index 0000000..b8f2368 --- /dev/null +++ b/scout_gazebo_sim/launch/scout_empty_world.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/scout_gazebo_sim/launch/spawn_scout_v2.launch b/scout_gazebo_sim/launch/spawn_scout_v2.launch new file mode 100644 index 0000000..efee5cf --- /dev/null +++ b/scout_gazebo_sim/launch/spawn_scout_v2.launch @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/scout_gazebo_sim/package.xml b/scout_gazebo_sim/package.xml new file mode 100644 index 0000000..edd3bf9 --- /dev/null +++ b/scout_gazebo_sim/package.xml @@ -0,0 +1,31 @@ + + + scout_gazebo_sim + 0.0.1 + AgileX Scout 2.0 Simulator bringup + + Ruixiang Du + Ruixiang Du + + BSD + + http://ros.org/wiki/scout_gazebo + https://github.com/husky/husky_simulator/issues + https://github.com/westonrobot/scout_ros + + catkin + roslaunch + roscpp + sensor_msgs + roscpp + sensor_msgs + controller_manager + gazebo_plugins + gazebo_ros + gazebo_ros_control + scout_description + rostopic + + + + diff --git a/scout_gazebo_sim/src/scout_skid_steer.cpp b/scout_gazebo_sim/src/scout_skid_steer.cpp new file mode 100644 index 0000000..b63fb90 --- /dev/null +++ b/scout_gazebo_sim/src/scout_skid_steer.cpp @@ -0,0 +1,14 @@ +/* + * scout_skid_steer.cpp + * + * Created on: Mar 25, 2020 22:54 + * Description: + * + * Copyright (c) 2019 Ruixiang Du (rdu) + */ + +#include "scout_gazebo/scout_skid_steer.hpp" + +namespace wescore { + +} \ No newline at end of file diff --git a/scout_gazebo_sim/src/scout_skid_steer_controller.cpp b/scout_gazebo_sim/src/scout_skid_steer_controller.cpp new file mode 100644 index 0000000..d6c33a4 --- /dev/null +++ b/scout_gazebo_sim/src/scout_skid_steer_controller.cpp @@ -0,0 +1,52 @@ +#include + +#include +#include +#include +#include + +#include "scout_gazebo/scout_skid_steer.hpp" + +using namespace wescore; + +int main(int argc, char **argv) +{ + // setup ROS node + ros::init(argc, argv, "scout_odom"); + ros::NodeHandle node(""), private_node("~"); + + // // instantiate a robot object + // ScoutBase robot; + // ScoutROSMessenger messenger(&robot, &node); + + // // fetch parameters before connecting to robot + // std::string port_name; + // private_node.param("port_name", port_name, std::string("can0")); + // private_node.param("odom_frame", messenger.odom_frame_, std::string("odom")); + // private_node.param("base_frame", messenger.base_frame_, std::string("base_link")); + // private_node.param("simulated_robot", messenger.simulated_robot_, false); + + // // connect to robot and setup ROS subscription + // if (port_name.find("can") != std::string::npos) + // { + // robot.Connect(port_name); + // ROS_INFO("Using CAN bus to talk with the robot"); + // } + // else + // { + // robot.Connect(port_name, 115200); + // ROS_INFO("Using UART to talk with the robot"); + // } + // messenger.SetupSubscription(); + + // // publish robot state at 20Hz while listening to twist commands + // ros::Rate rate_20hz(20); // 20Hz + // while (true) + // { + // messenger.PublishStateToROS(); + // ros::spinOnce(); + // rate_20hz.sleep(); + // } + + return 0; +} \ No newline at end of file diff --git a/scout_gazebo_sim/worlds/clearpath_playpen.world b/scout_gazebo_sim/worlds/clearpath_playpen.world new file mode 100644 index 0000000..ded8852 --- /dev/null +++ b/scout_gazebo_sim/worlds/clearpath_playpen.world @@ -0,0 +1,3469 @@ + + + + + + 1 + 0 0 10 0 -0 0 + 0.8 0.8 0.8 1 + 0.2 0.2 0.2 1 + + 1000 + 0.9 + 0.01 + 0.001 + + -0.5 0.1 -0.9 + + + 1 + + + + + 0 0 1 + 100 100 + + + + + + 100 + 50 + + + + + + + + 10 + + + 0 + + + 0 0 1 + 100 100 + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + + + 0.01 + 1 + 100 + 0 0 -9.8 + + + 0.4 0.4 0.4 1 + 0.7 0.7 0.7 1 + 1 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + -8 -10 0 0 -0 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + -3 -10 0 0 -0 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + 2 -10 0 0 -0 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + 7 -10 0 0 -0 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + -7.50675 10 0 0 -0 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + -2 10 0 0 -0 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + 3 10 0 0 -0 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + 8 10 0 0 -0 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + 9 -4 0 0 -0 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + 9 3 0 0 -0 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + -9 -6.56962 0 0 -0 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + -10 -2 0 0 -0 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + -9.55113 3 0 0 -0 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + 9 -8 0 0 -0 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + 10 7 0 0 -0 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + -9 7.4858 0 0 -0 0 + + + 1 + + + + + model://fire_hydrant/meshes/fire_hydrant.dae + + + 10 + + + + + + + + + + + + + + model://fire_hydrant/meshes/fire_hydrant.dae + + + + + 0 + 0 + + 0 + 0 + 1 + + 6 -6 0 0 -0 0 + + + 1 + + + + + model://fire_hydrant/meshes/fire_hydrant.dae + + + 10 + + + + + + + + + + + + + + model://fire_hydrant/meshes/fire_hydrant.dae + + + + + 0 + 0 + + 0 + 0 + 1 + + -3 4 0 0 -0 0 + + + 1 + + + + + model://fire_hydrant/meshes/fire_hydrant.dae + + + 10 + + + + + + + + + + + + + + model://fire_hydrant/meshes/fire_hydrant.dae + + + + + 0 + 0 + + 0 + 0 + 1 + + -3 -5 0 0 -0 0 + + + + + + + model://dumpster/meshes/dumpster.dae + + + 10 + + + + + + + + + + + + + + model://dumpster/meshes/dumpster.dae + + + + + + + + 0 + 0 + + 0 + + + 1 + 0 + 0 + 1 + 0 + 1 + + 1 + + 0 + 1 + + 4 5 0 0 -0 0 + 0 + + + + + + + model://dumpster/meshes/dumpster.dae + + + 10 + + + + + + + + + + + + + + model://dumpster/meshes/dumpster.dae + + + + + + + + 0 + 0 + + 0 + + + 1 + 0 + 0 + 1 + 0 + 1 + + 1 + + 0 + 1 + + -4 -1 0 0 -0 0 + 0 + + + 1 + + + + + model://jersey_barrier/meshes/jersey_barrier.dae + + + + + 0 0 0.5715 0 -0 0 + + + 4.06542 0.3063 1.143 + + + 10 + + + + + + + + + + + + 0 0 0.032258 0 -0 0 + + + 4.06542 0.8107 0.064516 + + + 10 + + + + + + + + + + + + 0 0 0.1 0 -0 0 + + + 4.06542 0.65 0.1 + + + 10 + + + + + + + + + + + + 0 0 0.2 0 -0 0 + + + 4.06542 0.5 0.1 + + + 10 + + + + + + + + + + + + 0 -0.224 0.2401 0.9 -0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 0.224 0.2401 -0.9 0 0 + + + 4.06542 0.5 0.064516 + + + 10 + + + + + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + 2.45495 0 0 0 -0 0 + + + + + + + 10 10 10 + model://construction_cone/meshes/construction_cone.dae + + + 10 + + + + + + + + + + + + + + 10 10 10 + model://construction_cone/meshes/construction_cone.dae + + + + + 0 + 0 + + 0 + + + 1 + 0 + 0 + 1 + 0 + 1 + + 1 + + 0 + 1 + + -5.59121 -8 0 0 -0 0 + 0 + + + + + 0 0 0.4 0 -0 0 + 500 + + 51.2096 + 51.2096 + 25 + 0 + 0 + 0 + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + 10 + + + + + + + + + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + + + 0 + 0 + + 0 + 0 + 1 + + 7 -2.54643 0 0 -0 0 + 0 + + + + + + + 10 10 10 + model://construction_cone/meshes/construction_cone.dae + + + 10 + + + + + + + + + + + + + + 10 10 10 + model://construction_cone/meshes/construction_cone.dae + + + + + 0 + 0 + + 0 + + + 1 + 0 + 0 + 1 + 0 + 1 + + 1 + + 0 + 1 + + 7 6.55652 0 0 -0 0 + 0 + + + + + 0 0 0.4 0 -0 0 + 500 + + 51.2096 + 51.2096 + 25 + 0 + 0 + 0 + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + 10 + + + + + + + + + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + + + 0 + 0 + + 0 + 0 + 1 + + 1.45104 -6.51057 0 0 -0 0 + 0 + + + 1 + + + + + 20 20 0.1 + + + 10 + + + + + + + + + + + + 0 + + + 20 20 0.1 + + + + + + + + 0 + 0 + + 0 + 0 + 1 + + -0.464139 0 0 0 -0 0 + + + + + 0 0 0.4 0 -0 0 + 500 + + 51.2096 + 51.2096 + 25 + 0 + 0 + 0 + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + 10 + + + + + + + + + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + + + 0 + 0 + + 0 + 0 + 1 + + -6.5081 4 0 0 -0 0 + 0 + + + + + 0 0 0.4 0 -0 0 + 500 + + 51.2096 + 51.2096 + 25 + 0 + 0 + 0 + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + 10 + + + + + + + + + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + + + 0 + 0 + + 0 + 0 + 1 + + -6.46924 5 0 0 -0 0 + 0 + + + + + 0 0 0.4 0 -0 0 + 500 + + 51.2096 + 51.2096 + 25 + 0 + 0 + 0 + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + 10 + + + + + + + + + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + + + 0 + 0 + + 0 + 0 + 1 + + -6.4302 6 0 0 -0 0 + 0 + + + + + 0 0 0.4 0 -0 0 + 500 + + 51.2096 + 51.2096 + 25 + 0 + 0 + 0 + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + 10 + + + + + + + + + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + + + 0 + 0 + + 0 + 0 + 1 + + -6 7 0 0 -0 0 + 0 + + + + + 0 0 0.4 0 -0 0 + 500 + + 51.2096 + 51.2096 + 25 + 0 + 0 + 0 + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + 10 + + + + + + + + + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + + + 0 + 0 + + 0 + 0 + 1 + + -5 7 0 0 -0 0 + 0 + + + + + 0 0 0.4 0 -0 0 + 500 + + 51.2096 + 51.2096 + 25 + 0 + 0 + 0 + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + 10 + + + + + + + + + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + + + 0 + 0 + + 0 + 0 + 1 + + -4 7 0 0 -0 0 + 0 + + + + + 0 0 0.4 0 -0 0 + 500 + + 51.2096 + 51.2096 + 25 + 0 + 0 + 0 + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + 10 + + + + + + + + + + + + + + model://construction_barrel/meshes/construction_barrel.dae + + + + + 0 + 0 + + 0 + 0 + 1 + + -3 7 0 0 -0 0 + 0 + + + + + + + 10 10 10 + model://construction_cone/meshes/construction_cone.dae + + + 10 + + + + + + + + + + + + + + 10 10 10 + model://construction_cone/meshes/construction_cone.dae + + + + + 0 + 0 + + 0 + + + 1 + 0 + 0 + 1 + 0 + 1 + + 1 + + 0 + 1 + + 8.42887 -5 0 0 -0 0 + 0 + + + 1298 470000000 + 1304 307193893 + 1412023784 735639465 + + 7.00006 -2.54635 0.049999 4e-06 -0 0.000401 + + 7.00006 -2.54635 0.049999 4e-06 -0 0.000401 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 1.45178 -6.51128 0.049999 -1e-06 -3e-06 3.8e-05 + + 1.45178 -6.51128 0.049999 -1e-06 -3e-06 3.8e-05 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -6.50482 3.9826 0.049999 4e-06 1e-06 -0.009616 + + -6.50482 3.9826 0.049999 4e-06 1e-06 -0.009616 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -6.45065 4.99639 0.049999 -1e-06 -2e-06 0.064981 + + -6.45065 4.99639 0.049999 -1e-06 -2e-06 0.064981 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -6.40174 6.01109 0.05 -1e-06 -1e-06 -0.120729 + + -6.40174 6.01109 0.05 -1e-06 -1e-06 -0.120729 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -6.00634 7.00879 0.049999 3e-06 -0 -0.04957 + + -6.00634 7.00879 0.049999 3e-06 -0 -0.04957 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -4.87565 7.00813 0.049999 -1e-06 -3e-06 0.146162 + + -4.87565 7.00813 0.049999 -1e-06 -3e-06 0.146162 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -3.85615 7.02809 0.0897 -0.01028 -0.077931 0.017839 + + -3.85615 7.02809 0.0897 -0.01028 -0.077931 0.017839 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -2.95979 6.99802 0.049998 -3e-06 -7e-06 -0.017994 + + -2.95979 6.99802 0.049998 -3e-06 -7e-06 -0.017994 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -5.59121 -8 0.05 0 -1e-06 0 + + -5.59121 -8 0.05 0 -1e-06 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 6.99685 6.55732 0.05 -8.27181e-25 1e-06 -0.007012 + + 6.99685 6.55732 0.05 -8.27181e-25 1e-06 -0.007012 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 8.42887 -5 0.049999 0 3e-06 0 + + 8.42887 -5 0.049999 0 3e-06 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 2.0181 8.87221 0.050916 -1.05879e-22 -3e-06 -0.188821 + + 2.0181 8.87221 0.050916 -1.05879e-22 -3e-06 -0.188821 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -2.35048 -4.41043 0.050918 0 -0 2.08003 + + -2.35048 -4.41043 0.050918 0 -0 2.08003 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 0.076733 -0.110379 0 0 -0 0 + + 0.076733 -0.110379 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 3.18024 -6.51118 0 0 -0 0 + + 3.18024 -6.51118 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -3 4 0 0 -0 0 + + -3 4 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -7.90686 -2.41363 0 0 -0 0 + + -7.90686 -2.41363 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 0 0 0 0 -0 0 + + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -8 -10 0 0 -0 0 + + -8 -10 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -3 -10 0 0 -0 0 + + -3 -10 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 2 -10 0 0 -0 0 + + 2 -10 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -10.0774 -2.27159 0 0 -0 1.56 + + -10.0774 -2.27159 0 0 -0 1.56 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -9.77013 2.34791 0 0 -0 1.72 + + -9.77013 2.34791 0 0 -0 1.72 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 10.0879 -7.62159 0 0 -0 1.56 + + 10.0879 -7.62159 0 0 -0 1.56 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 10 7 0 0 -0 1.48 + + 10 7 0 0 -0 1.48 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -9.64482 7.05946 0 0 -0 1.44 + + -9.64482 7.05946 0 0 -0 1.44 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 2.45495 0 0 0 -0 2.36 + + 2.45495 0 0 0 -0 2.36 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 7 -10 0 0 -0 0 + + 7 -10 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -7.50675 10 0 0 -0 0 + + -7.50675 10 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -2 10 0 0 -0 0 + + -2 10 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 3 10 0 0 -0 0 + + 3 10 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 8 10 0 0 -0 0 + + 8 10 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 9.74902 -2.57759 0 0 -0 1.64 + + 9.74902 -2.57759 0 0 -0 1.64 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 9.70141 2.24369 0 0 -0 1.6 + + 9.70141 2.24369 0 0 -0 1.6 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -10.0607 -6.69856 0 0 0 -1.4 + + -10.0607 -6.69856 0 0 0 -1.4 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + + + 16.2337 1.23674 17.6497 0 0.923643 -3.08299 + orbit + + + +