diff --git a/documents/design/README.md b/documents/design/README.md deleted file mode 100644 index 33b0a7b8..00000000 --- a/documents/design/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# Major Design Presentations - -Every major design decision is required to have an accompanying presentation for the PR. The presentation should include: -* Background on the task/purpose -* Major technologies/packages/libraries used -* Research/reference resources -* A clear explanation of why that design was chosen -* Any future development to be done on the task - -[RJ General Slides Theme](https://docs.google.com/presentation/d/14omGRc-cdEDDEFdOUnVKgbbW5EMFX9UyO-QmpGfILho/edit?usp=sharing) - - -## Design Presentation Example -* ### [Teleoperations Stack](https://docs.google.com/presentation/d/14omGRc-cdEDDEFdOUnVKgbbW5EMFX9UyO-QmpGfILho/edit?usp=sharing) - -## Design Presentations History - -### Summer 2023 - diff --git a/documents/design/new_member_project.md b/documents/design/new_member_project.md deleted file mode 100644 index 676fdd57..00000000 --- a/documents/design/new_member_project.md +++ /dev/null @@ -1,77 +0,0 @@ -# Project Title - -*Issue #Number* -(What GitHub issue is associated with this project) - -**Author:** -- Insert Name(s) here - -## The Problem - -What is the problem you are trying to solve? Why is it important to solve this problem? -What is the end goal of this project? This section should similar to the body of the GitHub -issue but include more details about it. This will be a qualitative description of the -project. Use as many details you can to describe the requirements of the project. -*(This is similar to the Motivation section of the other design documents.)* - -## Proposed Solution - -- How are you going to solve this problem? -- What are the steps you need to take to complete the project? -- Break down the problem above into smaller, individual components with specific metrics of success -- You can think of this section as a quantitative description of the project -- Each bullet should represent a single action - - Use sub-bullets to provide more details and justifications for each step -- *(Replace these bullet points with your own)* - -_It's OK if your approach changes later in the project as you learn more. Treat this like -a road map that you can come back to to figure out what to work on next. If you aren't sure about the -technical details, make sure your ideas are clear. It's also OK to come up with a couple solutions -and decide which to pursue later. There should be some justification with your solution (i.e. how -does each step address part of the problem above)._ - -## Questions & Research - -Are there things you are unsure about or don't know? What do you need to research to be able to -complete this project? If you need information from the mechanical or electrical subteams, -be sure to describe that here. If your solution requires more research to implement, descibe -what kind of topics you need look at. Link any research papers/articles that you find here. - -**Of course, if you have _any_ questions or concerns, feel free to bring them up at any time. -If you ever feel lost or don't know what to do or work on, Vivek, Aidan, or any other boomer software member -can help you out. You are not expected to know every technical detail about the project. Expressing -what you don't know will make it easier to do research and ask for help.** - -## Overall Scope - -### Affected Packages - -- What parts of the software will you have to change (if any)? -- Which packages are relevant to the success of the project? -- Your first step of the project should be reviewing the relevant packages and code - -### Responsibilities - -- If you have more than one person working on this project, what will each person do? -- My Name: one of actions described in the solution -- *(Remove this section if you are doing this alone.)* - -### Schedule - -Subtask 1 (Date): How long will each step of the solution take? - -Subtask 2 (Date): Refer back to the bullets you made in the solution section - -Subtask 3 (Date): This will be used as a rough guide for keeping track of your progress, -but it's ok if you fall behind schedule. - -Subtask 4 (Date): Remember, with 2 meetings per week, you can expect to have 5 to 6 hours to work -on your project during meetings. If you want to work outside of meetings, you're free to, but -keep that in mind when planning out your goals. - -*(Your project may have more or less subtasks than this)* - -Code Review (Date): Include an estimate for when your code/result will be ready to review - -*(School work will change over the semester and software often takes longer than you expect to write, -so don't worry if you fall behind. Just be sure to update this document with your progress.)* diff --git a/helper_scripts/requirements.bash b/helper_scripts/requirements.bash deleted file mode 100644 index 1be724bc..00000000 --- a/helper_scripts/requirements.bash +++ /dev/null @@ -1,10 +0,0 @@ -# Navigation Packages -sudo apt-get install ros-humble-navigation2 -sudo apt-get install ros-humble-nav2-bringup -sudo apt-get install ros-humble-turtlebot3-gazebo - - -# Control Packages -sudo apt-get install ros-humble-ros2-control -sudo apt-get install ros-humble-ros2-controllers -sudo apt-get install ros-humble-gazebo-ros2-control \ No newline at end of file diff --git a/urc_bringup/launch/bringup.launch.py b/urc_bringup/launch/bringup.launch.py index 43200aef..7a3625d1 100644 --- a/urc_bringup/launch/bringup.launch.py +++ b/urc_bringup/launch/bringup.launch.py @@ -27,7 +27,6 @@ def generate_launch_description(): pkg_nmea_navsat_driver = FindPackageShare("nmea_navsat_driver").find( "nmea_navsat_driver" ) - pkg_imu_driver = FindPackageShare("imu_driver").find("imu_driver") controller_config_file_dir = os.path.join( pkg_urc_bringup, "config", "controller_config.yaml" @@ -119,11 +118,6 @@ def generate_launch_description(): output='screen', parameters=[gps_config]) - launch_imu = IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(pkg_imu_driver, "launch", "imu_serial_driver.launch.py") - ) - ) rosbridge_server_node = Node( package="rosbridge_server", @@ -158,7 +152,6 @@ def generate_launch_description(): # load_gripper_controller_right, teleop_launch, launch_gps, - launch_imu, rosbridge_server_node, odom_frame_node ] diff --git a/urc_gazebo/CMakeLists.txt b/urc_gazebo/CMakeLists.txt deleted file mode 100644 index 9503958b..00000000 --- a/urc_gazebo/CMakeLists.txt +++ /dev/null @@ -1,121 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -project(urc_gazebo) - -include(../cmake/default_settings.cmake) - -# find dependencies -find_package(ament_cmake REQUIRED) -find_package(rclcpp REQUIRED) -find_package(rclcpp_components REQUIRED) -find_package(urc_msgs REQUIRED) -find_package(std_msgs REQUIRED) -find_package(nav_msgs REQUIRED) -find_package(sensor_msgs REQUIRED) -find_package(tf2 REQUIRED) -find_package(tf2_ros REQUIRED) -find_package(tf2_geometry_msgs REQUIRED) -find_package(laser_geometry REQUIRED) -find_package(velodyne_simulator REQUIRED) -find_package(hardware_interface REQUIRED) -find_package(pluginlib REQUIRED) -find_package(rclcpp_lifecycle REQUIRED) -find_package(xacro REQUIRED) - -include_directories( - include -) - -# Library creation -add_library(${PROJECT_NAME} SHARED - src/scan_to_pointcloud.cpp - src/control.cpp - src/ground_truth.cpp -) - -set(dependencies - rclcpp - rclcpp_components - urc_msgs - std_msgs - nav_msgs - sensor_msgs - tf2 - tf2_ros - tf2_geometry_msgs - laser_geometry - velodyne_simulator - xacro -) - -ament_target_dependencies(${PROJECT_NAME} - ${dependencies} -) - -target_include_directories(${PROJECT_NAME} - PUBLIC - $ - $ -) - -# Node registration -rclcpp_components_register_node( - ${PROJECT_NAME} - PLUGIN "scan_to_pointcloud::ScanToPointCloud" - EXECUTABLE ${PROJECT_NAME}_ScanToPointCloud -) - -rclcpp_components_register_node( - ${PROJECT_NAME} - PLUGIN "control::Control" - EXECUTABLE ${PROJECT_NAME}_Control -) - -rclcpp_components_register_node( - ${PROJECT_NAME} - PLUGIN "ground_truth::GroundTruth" - EXECUTABLE ${PROJECT_NAME}_GroundTruth -) - -# Install robot spawn file. -install( - PROGRAMS - launch/spawn_walli.py - DESTINATION lib/${PROJECT_NAME} -) - -# Install relevant directories -install( - DIRECTORY - launch - urdf - config - src - DESTINATION share/${PROJECT_NAME}/ -) - -# Install library -install(TARGETS - ${PROJECT_NAME} - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - RUNTIME DESTINATION lib/${PROJECT_NAME} -) - -if(BUILD_TESTING) - find_package(ament_lint_auto REQUIRED) - #Calls the CMake for the unit tests - add_subdirectory(test) - # the following line skips the copyright linker - set(ament_cmake_copyright_FOUND TRUE) - # the following line skips cpplint (only works in a git repo) - set(ament_cmake_cpplint_FOUND TRUE) - - ament_lint_auto_find_test_dependencies() -endif() - -ament_export_include_directories(include) - -ament_export_libraries(${PROJECT_NAME}) -ament_export_dependencies(${dependencies}) - -ament_package() diff --git a/urc_gazebo/config/control_params.yaml b/urc_gazebo/config/control_params.yaml deleted file mode 100644 index d1c0c7a3..00000000 --- a/urc_gazebo/config/control_params.yaml +++ /dev/null @@ -1,11 +0,0 @@ -control: - ros__parameters: - speed_P_left: 5.0 - speed_P_right: 5.0 - speed_D_left: 1.0 - speed_D_right: 1.0 - speed_I_left: 0.0 - speed_I_right: 0.0 - wheel_radius: 0.3 - max_effort: 4.0 - rate_var: 60.0 \ No newline at end of file diff --git a/urc_gazebo/config/ground_truth_params.yaml b/urc_gazebo/config/ground_truth_params.yaml deleted file mode 100644 index 6aaaf407..00000000 --- a/urc_gazebo/config/ground_truth_params.yaml +++ /dev/null @@ -1,10 +0,0 @@ -ground_truth: - ros__parameters: - longitude: -84.405001 - latitude: 33.774497 - x_noise_std_dev: 0.0 - y_noise_std_dev: 0.0 - z_noise_std_dev: 0.0 - roll_noise_std_dev: 0.0 - pitch_noise_std_dev: 0.0 - yaw_noise_std_dev: 0.0 \ No newline at end of file diff --git a/urc_gazebo/config/magnetometer_params.yaml b/urc_gazebo/config/magnetometer_params.yaml deleted file mode 100644 index 6828a326..00000000 --- a/urc_gazebo/config/magnetometer_params.yaml +++ /dev/null @@ -1,2 +0,0 @@ -magnetometer: - ros__parameters: \ No newline at end of file diff --git a/urc_gazebo/config/monkey_params.yaml b/urc_gazebo/config/monkey_params.yaml deleted file mode 100644 index a5207635..00000000 --- a/urc_gazebo/config/monkey_params.yaml +++ /dev/null @@ -1,2 +0,0 @@ -monkey: - ros_parameters: diff --git a/urc_gazebo/config/rviz_config.rviz b/urc_gazebo/config/rviz_config.rviz deleted file mode 100644 index 98b2e6ff..00000000 --- a/urc_gazebo/config/rviz_config.rviz +++ /dev/null @@ -1,64 +0,0 @@ -Panels: - - Class: rviz_common/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - - /RobotModel1/Links1 - - /TF1 - Splitter Ratio: 0.5 - Tree Height: 557 -Visualization Manager: - Class: "" - Displays: - - Alpha: 0.5 - Cell Size: 1 - Class: rviz_default_plugins/Grid - Color: 160; 160; 164 - Enabled: true - Name: Grid - - Alpha: 0.6 - Class: rviz_default_plugins/RobotModel - Description Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot_description - Enabled: true - Name: RobotModel - Visual Enabled: true - - Class: rviz_default_plugins/TF - Enabled: true - Name: TF - Marker Scale: 0.3 - Show Arrows: true - Show Axes: true - Show Names: true - Enabled: true - Global Options: - Background Color: 48; 48; 48 - Fixed Frame: base_link - Frame Rate: 30 - Name: root - Tools: - - Class: rviz_default_plugins/Interact - Hide Inactive Objects: true - - Class: rviz_default_plugins/MoveCamera - - Class: rviz_default_plugins/Select - - Class: rviz_default_plugins/FocusCamera - - Class: rviz_default_plugins/Measure - Line color: 128; 128; 0 - Transformation: - Current: - Class: rviz_default_plugins/TF - Value: true - Views: - Current: - Class: rviz_default_plugins/Orbit - Name: Current View - Target Frame: - Value: Orbit (rviz) - Saved: ~ \ No newline at end of file diff --git a/urc_gazebo/config/scan_to_pointcloud_params.yaml b/urc_gazebo/config/scan_to_pointcloud_params.yaml deleted file mode 100644 index c6f3afae..00000000 --- a/urc_gazebo/config/scan_to_pointcloud_params.yaml +++ /dev/null @@ -1,4 +0,0 @@ -scan_to_pointcloud: - ros__parameters: - min_dist: 0.1 - neighbor_dist: 0.2 \ No newline at end of file diff --git a/urc_gazebo/config/sim_color_detector_params.yaml b/urc_gazebo/config/sim_color_detector_params.yaml deleted file mode 100644 index 8398c8c9..00000000 --- a/urc_gazebo/config/sim_color_detector_params.yaml +++ /dev/null @@ -1,2 +0,0 @@ -sim_color_detector: - ros__parameters: \ No newline at end of file diff --git a/urc_gazebo/config/urc_gazebo_params.yaml b/urc_gazebo/config/urc_gazebo_params.yaml deleted file mode 100644 index 215e9a65..00000000 --- a/urc_gazebo/config/urc_gazebo_params.yaml +++ /dev/null @@ -1,33 +0,0 @@ -#todo: figure out what the parameters should be - -scan_to_pointcloud: - ros_parameters: - min_dist: 0.1 - neighbor_dist: 0.2 - -control: - ros_parameters: - speed_P_left: 5.0 - speed_P_right: 5.0 - speed_D_left: 1.0 - speed_D_right: 1.0 - speed_I_left: 0.0 - speed_I_right: 0.0 - wheel_radius: 0.3 - max_effort: 4.0 - rate_var: 60.0 - -magnetometer: - ros_parameters: - -ground_truth: - ros_parameters: - x_noise_std_dev: 0.0 - y_noise_std_dev: 0.0 - z_noise_std_dev: 0.0 - roll_noise_std_dev: 0.0 - pitch_noise_std_dev: 0.0 - yaw_noise_std_dev: 0.0 -sim_color_detector: - ros_parameters: - diff --git a/urc_gazebo/env-hooks/urc_simulation.dsv.in b/urc_gazebo/env-hooks/urc_simulation.dsv.in deleted file mode 100644 index dec87b78..00000000 --- a/urc_gazebo/env-hooks/urc_simulation.dsv.in +++ /dev/null @@ -1,3 +0,0 @@ -prepend-non-duplicate;GAZEBO_MODEL_PATH;share/urc_simulation/urdf/models -prepend-non-duplicate;GAZEBO_RESOURCE_PATH;share/urc_simulation/urdf/worlds -prepend-non-duplicate;GAZEBO_RESOURCE_PATH;share/urc_simulation/udrf/media \ No newline at end of file diff --git a/urc_gazebo/include/control.hpp b/urc_gazebo/include/control.hpp deleted file mode 100644 index cb16afee..00000000 --- a/urc_gazebo/include/control.hpp +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef CONTROL_H_ -#define CONTROL_H_ - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace control -{ -class Control : public rclcpp::Node -{ -public: - explicit Control(const rclcpp::NodeOptions & options); - -private: - rclcpp::Publisher::SharedPtr _enc_pub; - - rclcpp::Publisher::SharedPtr left_wheel_effort_publisher; - rclcpp::Publisher::SharedPtr right_wheel_effort_publisher; - - rclcpp::Publisher::SharedPtr right_wheel_shock_publisher; - rclcpp::Publisher::SharedPtr left_wheel_shock_publisher; - - rclcpp::Publisher::SharedPtr wheel_speed_publisher; - - rclcpp::Publisher::SharedPtr enabled_pub; - - rclcpp::Subscription::SharedPtr speed_sub; - rclcpp::Subscription::SharedPtr state_sub; - - double speed_P_left, speed_P_right, speed_I_left, speed_I_right, speed_D_left, speed_D_right; - double wheel_radius; - double max_effort; - double rate_var; - - double speed_last_error_left, speed_last_error_right, speed_left_error_accum, - speed_right_error_accum = 0.0; - double effort_right, effort_left = 0.0; - - double speed_set_point_left = 0.0; - double speed_set_point_right = 0.0; - double speed_measured_left = 0.0; - double speed_measured_right = 0.0; - - rclcpp::Time prev_time, current_time; - - void speedCallback(const urc_msgs::msg::VelocityPair & msg); - void jointStateCallback(const sensor_msgs::msg::JointState & msg); - void indicateEnabled(); - void setShockPoint(); - void runPID(); -}; -} - -#endif diff --git a/urc_gazebo/include/ground_truth.hpp b/urc_gazebo/include/ground_truth.hpp deleted file mode 100644 index 62213252..00000000 --- a/urc_gazebo/include/ground_truth.hpp +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef GROUND_TRUTH_H -#define GROUND_TRUTH_H - - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace ground_truth -{ -class GroundTruth : public rclcpp::Node -{ -public: - explicit GroundTruth(const rclcpp::NodeOptions & options); - -private: - nav_msgs::msg::Odometry og_pose; - rclcpp::Time last_estimate; - - rclcpp::Subscription::SharedPtr _ground_truth_sub; - rclcpp::Subscription::SharedPtr _estimate_sub; - rclcpp::Publisher::SharedPtr _ground_truth_pub; - - double longitude; - double latitude; - - double utm_x, utm_y; - - tf2::Transform utm_to_odom; - - tf2_ros::Buffer tfBuffer_; - tf2_ros::TransformListener tfListener_; - std::unique_ptr broadcaster; - - double x_noise_std_dev; - double y_noise_std_dev; - double z_noise_std_dev; - - double roll_noise_std_dev; - double pitch_noise_std_dev; - double yaw_noise_std_dev; - - std::default_random_engine engine; - std::normal_distribution x_distribution; - std::normal_distribution y_distribution; - std::normal_distribution z_distribution; - - std::normal_distribution roll_distribution; - std::normal_distribution pitch_distribution; - std::normal_distribution yaw_distribution; - - bool utm_enabled = true; - - tf2::Quaternion createQuaternionMsgFromYaw(double yaw); - void groundTruthCallback(const nav_msgs::msg::Odometry & msg); - void odomCallback(const nav_msgs::msg::Odometry & msg); - void utmCallback(const tf2::Transform & odom_to_utm); -}; -} // namespace ground_truth - -#endif diff --git a/urc_gazebo/include/scan_to_pointcloud.hpp b/urc_gazebo/include/scan_to_pointcloud.hpp deleted file mode 100644 index 3d44adc9..00000000 --- a/urc_gazebo/include/scan_to_pointcloud.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef SCAN_TO_POINTCLOUD_H_ -#define SCAN_TO_POINTCLOUD_H_ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace scan_to_pointcloud -{ -class ScanToPointCloud : public rclcpp::Node -{ -public: - explicit ScanToPointCloud(const rclcpp::NodeOptions & options); - -private: - rclcpp::Publisher::SharedPtr _pointcloud_pub; - rclcpp::Subscription::SharedPtr _pointcloud_sub; - - laser_geometry::LaserProjection projection; - double min_dist; - double neighbor_dist; - - tf2_ros::Buffer tfBuffer_; - tf2_ros::TransformListener tfListener_; - - void scanCallback(const sensor_msgs::msg::LaserScan & scanData); -}; -} // namespace scan_to_pointcloud - -#endif diff --git a/urc_gazebo/launch/simulation.launch.py b/urc_gazebo/launch/simulation.launch.py deleted file mode 100644 index 5811d0f6..00000000 --- a/urc_gazebo/launch/simulation.launch.py +++ /dev/null @@ -1,123 +0,0 @@ -import os -from xacro import process_file -import yaml -from launch import LaunchDescription -from launch.actions import IncludeLaunchDescription -from launch.actions import SetEnvironmentVariable -from launch.substitutions import LaunchConfiguration -from launch.launch_description_sources import PythonLaunchDescriptionSource -from launch_ros.actions import Node -from ament_index_python.packages import get_package_share_directory - - -def load_yaml(package_name, file_path): - package_path = get_package_share_directory(package_name) - absolute_file_path = os.path.join(package_path, file_path) - - try: - with open(absolute_file_path, "r") as file: - return yaml.safe_load(file) - except EnvironmentError: # parent of IOError, OSError *and* WindowsError - return None - - -def generate_launch_description(): - pkg_gazebo_ros = get_package_share_directory("gazebo_ros") - pkg_urc_gazebo = get_package_share_directory("urc_gazebo") - pkg_urc_bringup = get_package_share_directory("urc_bringup") - - controller_config_file_dir = os.path.join( - pkg_urc_bringup, "config", "ros2_control_walli.yaml" - ) - world_path = os.path.join(pkg_urc_gazebo, "urdf/worlds/urc_world.world") - use_sim_time = LaunchConfiguration("use_sim_time", default="true") - - xacro_file = os.path.join( - get_package_share_directory("urc_hw_description"), "urdf/walli.xacro" - ) - assert os.path.exists(xacro_file), "urdf path doesnt exist in " + str(xacro_file) - robot_description_config = process_file(xacro_file) - robot_desc = robot_description_config.toxml() - - gazebo = IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(pkg_gazebo_ros, "launch", "gazebo.launch.py"), - ), - launch_arguments={"use_sim_time": "true", "world": world_path}.items(), - ) - - enable_color = SetEnvironmentVariable(name="RCUTILS_COLORIZED_OUTPUT", value="1") - - spawn_robot = Node( - package="gazebo_ros", - executable="spawn_entity.py", - arguments=[ - "-entity", - "walli", - "-x", - "0", - "-y", - "0", - "-z", - "10", - "-R", - "0", - "-P", - "0", - "-Y", - "0", - "-topic", - "robot_description", - ], - ) - - load_robot_state_publisher = Node( - package="robot_state_publisher", - executable="robot_state_publisher", - name="robot_state_publisher", - parameters=[ - {"use_sim_time": use_sim_time, "robot_description": robot_desc}, - ], - output="screen", - ) - - load_joint_state_broadcaster = Node( - package="controller_manager", - executable="spawner", - arguments=["-p", controller_config_file_dir, "joint_state_broadcaster"], - ) - - # load_arm_controller = Node( - # package="controller_manager", - # executable="spawner", - # arguments=["-p", controller_config_file_dir, "arm_controller"], - # ) - - # load_gripper_controller_left = Node( - # package="controller_manager", - # executable="spawner", - # arguments=["-p", controller_config_file_dir, "gripper_controller_left"], - # ) - - # load_gripper_controller_right = Node( - # package="controller_manager", - # executable="spawner", - # arguments=["-p", controller_config_file_dir, "gripper_controller_right"], - # ) - - load_drivetrain_controller = Node( - package="controller_manager", - executable="spawner", - arguments=["-p", controller_config_file_dir, "rover_drivetrain_controller"], - ) - - return LaunchDescription( - [ - enable_color, - gazebo, - load_robot_state_publisher, - load_joint_state_broadcaster, - spawn_robot, - load_drivetrain_controller, - ] - ) diff --git a/urc_gazebo/launch/spawn_walli.py b/urc_gazebo/launch/spawn_walli.py deleted file mode 100644 index ee06f02e..00000000 --- a/urc_gazebo/launch/spawn_walli.py +++ /dev/null @@ -1,152 +0,0 @@ -from launch import LaunchDescription -from launch_ros.actions import Node -from launch.actions import ExecuteProcess, RegisterEventHandler, DeclareLaunchArgument -from launch.event_handlers import OnProcessExit -from ament_index_python.packages import get_package_share_directory -import os -from xacro import process_file -import launch -import launch_ros -from launch.substitutions import LaunchConfiguration - - -def generate_launch_description(): - urdf_path = "urdf/walli.xacro" - xacro_file = os.path.join( - get_package_share_directory("urc_hw_description"), urdf_path - ) - assert os.path.exists(xacro_file), "urdf path doesnt exist in " + str(xacro_file) - use_sim_time = LaunchConfiguration("use_sim_time", default="true") - - pkg_share = launch_ros.substitutions.FindPackageShare(package="urc_gazebo").find( - "urc_gazebo" - ) - default_model_path = os.path.join(pkg_share, "urdf/walli.xacro") - default_rviz_config_path = os.path.join(pkg_share, "config/rviz_config.rviz") - - robot_description_config = process_file(xacro_file) - robot_desc = robot_description_config.toxml() - - spawn_robot = Node( - package="gazebo_ros", - executable="spawn_entity.py", - arguments=[ - "-entity", - "walli", - "-x", - "0", - "-y", - "0", - "-z", - "15", - "-topic", - "/robot_description", - ], - ) - robot_state_publisher_node = Node( - package="robot_state_publisher", - executable="robot_state_publisher", - name="robot_state_publisher", - parameters=[{"robot_description": robot_desc}, {"use_sim_time": use_sim_time}], - output="screen", - ) - joint_state_publisher_node = Node( - package="joint_state_publisher", - executable="joint_state_publisher", - name="joint_state_publisher", - condition=launch.conditions.UnlessCondition(LaunchConfiguration("gui")), - parameters=[{"use_sim_time": use_sim_time}], - ) - robot_localization_node = launch_ros.actions.Node( - package="robot_localization", - executable="ekf_node", - name="ekf_filter_node", - output="screen", - parameters=[ - os.path.join(pkg_share, "config/ekf.yaml"), - {"use_sim_time": LaunchConfiguration("use_sim_time")}, - ], - ) - - load_joint_state_controller = ExecuteProcess( - cmd=[ - "ros2", - "control", - "load_controller", - "--set-state", - "active", - "joint_state_broadcaster", - ], - output="screen", - ) - - load_joint_trajectory_controller = ExecuteProcess( - cmd=[ - "ros2", - "control", - "load_controller", - "--set-state", - "active", - "arm_controller", - ], - output="screen", - ) - - gorilla_grip = ExecuteProcess( - cmd=[ - "ros2", - "control", - "load_controller", - "--set-state", - "active", - "gripper_controller", - ], - output="screen", - ) - - return LaunchDescription( - [ - RegisterEventHandler( - event_handler=OnProcessExit( - target_action=spawn_robot, - on_exit=[load_joint_state_controller], - ) - ), - RegisterEventHandler( - event_handler=OnProcessExit( - target_action=load_joint_state_controller, - on_exit=[load_joint_trajectory_controller], - ) - ), - RegisterEventHandler( - event_handler=OnProcessExit( - target_action=load_joint_state_controller, - on_exit=[gorilla_grip], - ) - ), - DeclareLaunchArgument( - name="gui", - default_value="True", - description="Flag to enable joint_state_publisher_gui", - ), - DeclareLaunchArgument( - name="model", - default_value=default_model_path, - description="Absolute path to robot urdf file", - ), - DeclareLaunchArgument( - name="rvizconfig", - default_value=default_rviz_config_path, - description="Absolute path to rviz config file", - ), - DeclareLaunchArgument( - name="use_sim_time", - default_value="True", - description="Flag to enable use_sim_time", - ), - robot_state_publisher_node, - joint_state_publisher_node, - robot_localization_node, - spawn_robot, - ] - ) diff --git a/urc_gazebo/package.xml b/urc_gazebo/package.xml deleted file mode 100644 index 606f4c5f..00000000 --- a/urc_gazebo/package.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - urc_gazebo - 0.0.0 - Package for launching and configuring gazebo simulation. - a-stickan - MIT - - ament_cmake - - ament_lint_auto - ament_lint_common - ament_cmake_gtest - - rclcpp - rclcpp_components - urc_msgs - std_msgs - nav_msgs - sensor_msgs - tf2 - tf2_ros - tf2_geometry_msgs - laser_geometry - gazebo_ros - controller_manager - hardware_interface - pluginlib - robot_state_publisher - robot_localization - joint_state_publisher - joint_state_publisher_gui - gazebo_ros_pkgs - ros2launch - velodyne_simulator - xacro - rviz - - - ament_cmake - - - - diff --git a/urc_gazebo/src/control.cpp b/urc_gazebo/src/control.cpp deleted file mode 100644 index 3ddde85b..00000000 --- a/urc_gazebo/src/control.cpp +++ /dev/null @@ -1,158 +0,0 @@ -#include "control.hpp" - -namespace control -{ -Control::Control(const rclcpp::NodeOptions & options) -: rclcpp::Node("control", options) -{ - speed_P_left = declare_parameter("speed_P_left"); - speed_P_right = declare_parameter("speed_P_right"); - speed_D_left = declare_parameter("speed_D_left"); - speed_D_right = declare_parameter("speed_D_right"); - speed_I_left = declare_parameter("speed_I_left"); - speed_I_right = declare_parameter("speed_I_right"); - wheel_radius = declare_parameter("wheel_radius"); - max_effort = declare_parameter("max_effort"); - rate_var = declare_parameter("rate_var"); - - //Initialize shocks - right_wheel_shock_publisher = create_publisher( - "~/right_wheel_shock_controller/command", - rclcpp::SystemDefaultsQoS()); - left_wheel_shock_publisher = create_publisher( - "~/left_wheel_shock_controller/command", - rclcpp::SystemDefaultsQoS()); - setShockPoint(); - - //Indicates the robot is running - enabled_pub = create_publisher( - "~/robot_enabled", - rclcpp::SystemDefaultsQoS()); - indicateEnabled(); - - - //wheel effort pubs - left_wheel_effort_publisher = create_publisher( - "~/left_wheel_effort_controller/command", - rclcpp::SystemDefaultsQoS()); - right_wheel_effort_publisher = create_publisher( - "~/right_wheel_effort_controller/command", - rclcpp::SystemDefaultsQoS()); - - //wheel speed pub - wheel_speed_publisher = create_publisher( - "~/encoders", - rclcpp::SystemDefaultsQoS()); - - //speed and state subs - speed_sub = create_subscription( - "~/motors", rclcpp::SystemDefaultsQoS(), - [this](const urc_msgs::msg::VelocityPair msg) - {speedCallback(msg);}); - state_sub = create_subscription( - "~/joint_states", rclcpp::SystemDefaultsQoS(), - [this](const sensor_msgs::msg::JointState msg) - {jointStateCallback(msg);}); - - runPID(); -} - -void Control::speedCallback(const urc_msgs::msg::VelocityPair & msg) -{ - speed_set_point_left = msg.left_velocity; - speed_set_point_right = msg.right_velocity; -} - -void Control::jointStateCallback(const sensor_msgs::msg::JointState & msg) -{ - auto iterator = std::find(msg.name.begin(), msg.name.end(), "left_axle"); - if (iterator != msg.name.end()) { - auto index = std::distance(msg.name.begin(), iterator); - speed_measured_left = (msg.velocity[index]) * wheel_radius; - } - - iterator = std::find(msg.name.begin(), msg.name.end(), "right_axle"); - if (iterator != msg.name.end()) { - auto index = std::distance(msg.name.begin(), iterator); - speed_measured_right = (msg.velocity[index]) * wheel_radius; - } -} - -void Control::setShockPoint() -{ - std_msgs::msg::Float64 shock_set_point; - shock_set_point.data = 0.0; - right_wheel_shock_publisher->publish(shock_set_point); - left_wheel_shock_publisher->publish(shock_set_point); -} - -void Control::indicateEnabled() -{ - std_msgs::msg::Bool enabled_msg; - enabled_msg.data = true; - enabled_pub->publish(enabled_msg); -} - -void Control::runPID() -{ - prev_time = this->get_clock()->now(); - rclcpp::Rate rate(rate_var); - - while (rclcpp::ok()) { - //calculate downtime - current_time = this->get_clock()->now(); - double downtime = current_time.seconds() - prev_time.seconds(); - prev_time = current_time; - - //calculate left wheel effort - double error_left = speed_set_point_left - speed_measured_left; - double dError_left = (error_left - speed_last_error_left) / downtime; - speed_left_error_accum += error_left; - speed_last_error_left = error_left; - - effort_left += - speed_P_left * error_left + speed_D_left * dError_left + speed_I_left * - speed_left_error_accum; - - //calculator right wheel effort - double error_right = speed_set_point_right - speed_measured_right; - double dError_right = (error_right - speed_last_error_right) / downtime; - speed_right_error_accum += error_right; - speed_last_error_right = error_right; - - effort_right += - speed_P_right * error_right + speed_D_right * dError_right + speed_I_right * - speed_right_error_accum; - - - //reasonable bounds for effort - effort_right = std::min(max_effort, std::max(-max_effort, effort_right)); - effort_left = std::min(max_effort, std::max(-max_effort, effort_left)); - - //publication of effort messages - std_msgs::msg::Float64 left_wheel_message; - std_msgs::msg::Float64 right_wheel_message; - - left_wheel_message.data = effort_left; - right_wheel_message.data = effort_right; - - left_wheel_effort_publisher->publish(left_wheel_message); - right_wheel_effort_publisher->publish(right_wheel_message); - - urc_msgs::msg::VelocityPair speed_measured; - speed_measured.left_velocity = speed_measured_left; - speed_measured.right_velocity = speed_measured_right; - current_time = this->get_clock()->now(); - rclcpp::Duration duration = current_time - prev_time; - speed_measured.duration = duration.seconds(); - speed_measured.header.stamp = this->get_clock()->now(); - wheel_speed_publisher->publish(speed_measured); - - rate.sleep(); - prev_time = current_time; - } -} - -} - -RCLCPP_COMPONENTS_REGISTER_NODE(control::Control) diff --git a/urc_gazebo/src/ground_truth.cpp b/urc_gazebo/src/ground_truth.cpp deleted file mode 100644 index 24d43125..00000000 --- a/urc_gazebo/src/ground_truth.cpp +++ /dev/null @@ -1,186 +0,0 @@ -#include "ground_truth.hpp" - -namespace ground_truth -{ - -GroundTruth::GroundTruth(const rclcpp::NodeOptions & options) -: rclcpp::Node("ground_truth", options), - tfBuffer_(this->get_clock()), - tfListener_(tfBuffer_) -{ - broadcaster = std::make_unique(*this); - - longitude = declare_parameter("longitude", -84.405001); - latitude = declare_parameter("latitude", 33.774497); - - //noise variables - x_noise_std_dev = declare_parameter("x_noise_std_dev", 0.0); - y_noise_std_dev = declare_parameter("y_noise_std_dev", 0.0); - z_noise_std_dev = declare_parameter("z_noise_std_dev", 0.0); - - roll_noise_std_dev = declare_parameter("roll_noise_std_dev", 0.0); - pitch_noise_std_dev = declare_parameter("pitch_noise_std_dev", 0.0); - yaw_noise_std_dev = declare_parameter("yaw_noise_std_dev", 0.0); - - std::default_random_engine engine(std::random_device{}()); - x_distribution = std::normal_distribution(0, x_noise_std_dev); - y_distribution = std::normal_distribution(0, y_noise_std_dev); - z_distribution = std::normal_distribution(0, z_noise_std_dev); - - roll_distribution = std::normal_distribution(0, roll_noise_std_dev); - pitch_distribution = std::normal_distribution(0, pitch_noise_std_dev); - yaw_distribution = std::normal_distribution(0, yaw_noise_std_dev); - - - _ground_truth_sub = create_subscription( - "~/ground_truth/state_raw", rclcpp::SensorDataQoS(), [this](const nav_msgs::msg::Odometry msg) { - groundTruthCallback(msg); - }); - - _estimate_sub = create_subscription( - "~/odometry/filtered", rclcpp::SystemDefaultsQoS(), [this](const nav_msgs::msg::Odometry msg) { - odomCallback(msg); - }); - - _ground_truth_pub = create_publisher( - "~/ground_truth", - rclcpp::SystemDefaultsQoS()); - - - utm_to_odom.setOrigin( - tf2::Vector3(utm_x - og_pose.pose.pose.position.x, utm_y - og_pose.pose.pose.position.y, 0.0)); - utm_to_odom.setRotation(createQuaternionMsgFromYaw(M_PI)); - - auto utm_timer = this->create_wall_timer( - std::chrono::milliseconds(10), - [this]() -> void { - utmCallback(utm_to_odom.inverse()); - }); -} - -tf2::Quaternion GroundTruth::createQuaternionMsgFromYaw(double yaw) -{ - tf2::Quaternion q; - q.setRPY(0, 0, yaw); - return q; -} - -void GroundTruth::groundTruthCallback(const nav_msgs::msg::Odometry & msg) -{ - // get the starting location as the origin - if (og_pose.header.stamp.sec == 0) { - og_pose.pose = msg.pose; - og_pose.header = msg.header; - og_pose.pose.pose.position.x = msg.pose.pose.position.x + x_distribution(engine); - og_pose.pose.pose.position.y = msg.pose.pose.position.y + y_distribution(engine); - og_pose.pose.pose.position.z = msg.pose.pose.position.z + z_distribution(engine); - RCLCPP_INFO( - this->get_logger(), "setting og_pose to %f,%f,%f", og_pose.pose.pose.position.x, og_pose.pose.pose.position.y, - og_pose.pose.pose.position.z - ); - - } else { - nav_msgs::msg::Odometry result; - result.pose = msg.pose; - - // use the initial location as an offset (makes the starting location 0, 0) - result.pose.pose.position.x = msg.pose.pose.position.x - og_pose.pose.pose.position.x + - x_distribution(engine); - result.pose.pose.position.y = msg.pose.pose.position.y - og_pose.pose.pose.position.y + - y_distribution(engine); - result.pose.pose.position.z = msg.pose.pose.position.z - og_pose.pose.pose.position.z + - z_distribution(engine); - result.twist = msg.twist; - - // set up the correct header - result.header = msg.header; - result.child_frame_id = "base_footprint"; - result.header.frame_id = "odom"; - - // get roll, pitch, and yaw from msg - tf2::Quaternion quat(msg.pose.pose.orientation.x, msg.pose.pose.orientation.y, - msg.pose.pose.orientation.z, - msg.pose.pose.orientation.w); - tf2::Matrix3x3 temp_matrix(quat); - double roll, pitch, yaw; - temp_matrix.getRPY(roll, pitch, yaw); - - // set up orientation - tf2::Quaternion tempQuat; - tempQuat.setRPY( - roll + roll_distribution(engine), pitch + pitch_distribution( - engine), yaw + yaw_distribution(engine)); - result.pose.pose.orientation = tf2::toMsg(tempQuat); - - // publish odom message - _ground_truth_pub->publish(result); - - - // publish transform for tf if there has not been a update from the localization node in the last second - // since it also publishes the same transform - if (std::fabs(msg.header.stamp.sec - last_estimate.seconds()) > 1.0) { - quat.setRPY(roll, pitch, yaw); - tf2::fromMsg(msg.pose.pose.orientation, quat); - - geometry_msgs::msg::Vector3 pos; - pos.x = result.pose.pose.position.x; - pos.y = result.pose.pose.position.y; - pos.z = result.pose.pose.position.z; - - geometry_msgs::msg::TransformStamped transformMsg; - transformMsg.header.frame_id = "odom"; - transformMsg.child_frame_id = "base_footprint"; - transformMsg.header.stamp = this->get_clock()->now(); - transformMsg.transform.translation = pos; - transformMsg.transform.rotation = toMsg(quat); - - broadcaster->sendTransform(transformMsg); - } - } -} - -void GroundTruth::odomCallback(const nav_msgs::msg::Odometry & msg) -{ - last_estimate = msg.header.stamp; -} - - -void GroundTruth::utmCallback(const tf2::Transform & odom_to_utm) -{ - if (!utm_enabled) { - return; - } - - geometry_msgs::msg::TransformStamped transform_msg; - transform_msg.header.frame_id = "odom"; - transform_msg.child_frame_id = "utm"; - transform_msg.header.stamp = this->get_clock()->now(); - transform_msg.transform = toMsg(odom_to_utm); - - // check if transformation from odom -> utm can be found - try { - tfBuffer_.lookupTransform("odom", "utm", rclcpp::Time(0)); - } catch (const tf2::TransformException & ex) { - RCLCPP_ERROR(this->get_logger(), "Could not find transform from \"odom\" to \"utm\"!"); - return; - } - - // check for any other odom -> utm broadcasts, stop this method from executing if any others exist - if (transform_msg.transform.rotation != toMsg(odom_to_utm.getRotation()) && - transform_msg.transform.translation.x != odom_to_utm.getOrigin().getX() && - transform_msg.transform.translation.y != odom_to_utm.getOrigin().getY() && - transform_msg.transform.translation.z != odom_to_utm.getOrigin().getZ()) - { - RCLCPP_WARN( - this->get_logger(), - "Another odom -> utm tf broadcast detected. Disabling ground_truth odom -> utm tf broadcast." - ); - utm_enabled = false; - return; - } - broadcaster->sendTransform(transform_msg); -} - -} // namespace ground_truth - -RCLCPP_COMPONENTS_REGISTER_NODE(ground_truth::GroundTruth) diff --git a/urc_gazebo/src/scan_to_pointcloud.cpp b/urc_gazebo/src/scan_to_pointcloud.cpp deleted file mode 100644 index 68bfe0a9..00000000 --- a/urc_gazebo/src/scan_to_pointcloud.cpp +++ /dev/null @@ -1,72 +0,0 @@ -#include "scan_to_pointcloud.hpp" - -namespace scan_to_pointcloud -{ -ScanToPointCloud::ScanToPointCloud(const rclcpp::NodeOptions & options) -: rclcpp::Node("scan_to_pointcloud", options), - tfBuffer_(this->get_clock()), - tfListener_(tfBuffer_) -{ - min_dist = declare_parameter("min_dist"); - neighbor_dist = declare_parameter("neighbor_dist"); - - _pointcloud_pub = create_publisher( - "~/pc2", - rclcpp::SystemDefaultsQoS()); - - _pointcloud_sub = create_subscription( - "~/scan", rclcpp::SystemDefaultsQoS(), [this](const sensor_msgs::msg::LaserScan msg) { - scanCallback(msg); - }); -} - -void ScanToPointCloud::scanCallback(const sensor_msgs::msg::LaserScan & scanData) -{ - sensor_msgs::msg::LaserScan filteredScan(scanData); - - auto rangeIsValid = [&scanData](float range) { - return !std::isnan(range) && range > scanData.range_min && range < scanData.range_max; - }; - - for (size_t i = 0; i < scanData.ranges.size(); ++i) { - double range = scanData.ranges[i]; - if (range > scanData.range_max || range < scanData.range_min) { - continue; - } - // Too close - if (range < min_dist) { - range = scanData.range_max + 1; - } - // No valid neighbors - else if ((i == 0 || !rangeIsValid(scanData.ranges[i - 1])) && - (i == (scanData.ranges.size() - 1) || !rangeIsValid(scanData.ranges[i + 1]))) - { - range = scanData.range_max + 1; - } - // No close neighbors - else if ((i == 0 || abs(scanData.ranges[i - 1] - range) > neighbor_dist) && - (i == (scanData.ranges.size() - 1) || abs(scanData.ranges[i + 1] - range) > neighbor_dist)) - { - range = scanData.range_max + 1; - } - } - - sensor_msgs::msg::PointCloud2 initial_cloud; - projection.projectLaser(filteredScan, initial_cloud); - initial_cloud.header.frame_id = "/lidar"; - sensor_msgs::msg::PointCloud2 transformed_cloud; - - geometry_msgs::msg::TransformStamped transform_stamped; - try { - transform_stamped = tfBuffer_.lookupTransform("scan", "lidar", rclcpp::Time(0)); - tf2::doTransform(initial_cloud, transformed_cloud, transform_stamped); - } catch (tf2::TransformException & ex) { - RCLCPP_ERROR(this->get_logger(), "Transformation Error:\n%s", ex.what()); - return; - } - - _pointcloud_pub->publish(transformed_cloud); -} -} // namespace scan_to_pointcloud - -RCLCPP_COMPONENTS_REGISTER_NODE(scan_to_pointcloud::ScanToPointCloud) diff --git a/urc_gazebo/test/CMakeLists.txt b/urc_gazebo/test/CMakeLists.txt deleted file mode 100644 index 7ca78c6b..00000000 --- a/urc_gazebo/test/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -add_subdirectory(launch_tests) diff --git a/urc_gazebo/test/launch_tests/CMakeLists.txt b/urc_gazebo/test/launch_tests/CMakeLists.txt deleted file mode 100644 index 4f5ab003..00000000 --- a/urc_gazebo/test/launch_tests/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -find_package(launch_testing_ament_cmake REQUIRED) - -add_launch_test(scan_to_pointcloud_test.py - APPEND_ENV PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/test - TIMEOUT 10 -) \ No newline at end of file diff --git a/urc_gazebo/test/launch_tests/scan_to_pointcloud_test.py b/urc_gazebo/test/launch_tests/scan_to_pointcloud_test.py deleted file mode 100644 index 6784e6af..00000000 --- a/urc_gazebo/test/launch_tests/scan_to_pointcloud_test.py +++ /dev/null @@ -1,98 +0,0 @@ -import time -import unittest -import rclpy -import launch -import launch_ros.actions -from launch.substitutions import PathJoinSubstitution -from launch_ros.substitutions import FindPackageShare -import launch_testing -import launch_testing_ros -import pytest -import sensor_msgs.msg - - -@pytest.mark.rostest -def generate_test_description(): - - scan_to_pointcloud = launch_ros.actions.Node( - package="urc_gazebo", - executable="urc_gazebo_ScanToPointCloud", - output="screen", - parameters=[ - PathJoinSubstitution( - [ - FindPackageShare("urc_gazebo"), - "config", - "scan_to_pointcloud_params.yaml", - ] - ) - ], - ) - - return ( - launch.LaunchDescription( - [scan_to_pointcloud, launch_testing.actions.ReadyToTest()] - ), - locals(), - ) - - -class TestScanToPointCloudNode(unittest.TestCase): - def setUp(self): - self.context = rclpy.Context() - rclpy.init(context=self.context) - self.node = rclpy.create_node( - "test_scan_to_pointcloud_node", - context=self.context, - allow_undeclared_parameters=True, - automatically_declare_parameters_from_overrides=True, - ) - self.message_pump = launch_testing_ros.MessagePump( - self.node, context=self.context - ) - - self.pub = self.node.create_publisher(sensor_msgs.msg.PointCloud2, "/pc2", 1) - - self.sub = self.node.create_subscription( - sensor_msgs.msg.PointCloud2, "/pc2", self.callback, 1 - ) - self.received_msg = None - - self.message_pump.start() - - def tearDown(self): - self.message_pump.stop() - self.node.destroy_node() - rclpy.shutdown(context=self.context) - - def test_0_invalidTransform(self): - pointcloud_msg = sensor_msgs.msg.PointCloud2() - pointcloud_msg.data = [12, 12, 12] - - while self.received_msg is None: - self.pub.publish(pointcloud_msg) - time.sleep(0.1) - - self.assertIsNotNone(pointcloud_msg) - - self.assertNotAlmostEqual(self.received_msg.data[0], -1) - self.assertNotAlmostEqual(self.received_msg.data[1], -1) - self.assertNotAlmostEqual(self.received_msg.data[2], -1) - - def test_1_validTransform(self): - pointcloud_msg = sensor_msgs.msg.PointCloud2() - pointcloud_msg.data = [1, 1, 1] - - while self.received_msg is None: - self.pub.publish(pointcloud_msg) - time.sleep(0.1) - - self.assertIsNotNone(pointcloud_msg) - - self.assertAlmostEqual(self.received_msg.data[0], 1) - self.assertAlmostEqual(self.received_msg.data[1], 1) - self.assertAlmostEqual(self.received_msg.data[2], 1) - - def callback(self, msg): - self.received_msg = sensor_msgs.msg.PointCloud2() - self.received_msg = msg diff --git a/urc_gazebo/urdf/config/Panda_params.yaml b/urc_gazebo/urdf/config/Panda_params.yaml deleted file mode 100644 index 6f0d48b1..00000000 --- a/urc_gazebo/urdf/config/Panda_params.yaml +++ /dev/null @@ -1,28 +0,0 @@ -controller_manager: - ros__parameters: - update_rate: 1000 # Hz - - joint_trajectory_controller: - type: joint_trajectory_controller/JointTrajectoryController - - joint_state_broadcaster: - type: joint_state_broadcaster/JointStateBroadcaster - -joint_trajectory_controller: - ros__parameters: - joints: - - panda_joint1 - - panda_joint2 - - panda_joint3 - - panda_joint4 - - panda_joint5 - - panda_joint6 - - panda_joint7 - - panda_finger_joint1 - - panda_finger_joint2 - interface_name: position - command_interfaces: - - position - state_interfaces: - - position - - velocity diff --git a/urc_gazebo/urdf/config/RoboticArm_params.yaml b/urc_gazebo/urdf/config/RoboticArm_params.yaml deleted file mode 100644 index b0cc73a4..00000000 --- a/urc_gazebo/urdf/config/RoboticArm_params.yaml +++ /dev/null @@ -1,67 +0,0 @@ -controller_manager: - ros__parameters: - update_rate: 1000 # Hz - - rover_controller: - type: robot_mechanism_controllers/JointVelocityController - - arm_controller: - type: joint_trajectory_controller/JointTrajectoryController - - gripper_controller: - type: forward_command_controller/ForwardCommandController - - joint_state_broadcaster: - type: joint_state_broadcaster/JointStateBroadcaster - -rover_controller: - ros__parameters: - joints: - - left_bogie_front_axle - - left_bogie_rear_axle - - left_rocker_rear_axle - - right_bogie_front_axle - - right_bogie_rear_axle - - right_rocker_rear_axle - - command_interfaces: - - velocity - - state_interfaces: - - velocity - -arm_controller: - ros__parameters: - joints: - - shoulderjoint - - bicepjoint - - elbowjoint - - forearmjoint - - wristjoint - - clawjoint - - command_interfaces: - - position - - state_interfaces: - - position - - velocity - - state_publish_rate: 50.0 - action_monitor_rate: 20.0 - - allow_partial_joints_goal: false - open_loop_control: true - constraints: - stopped_velocity_tolerance: 0.01 - goal_time: 0.0 - joint1: - trajectory: 0.05 - goal: 0.03 - -gripper_controller: - ros__parameters: - joints: - - leftgripperjoint - - rightgripperjoint - interface_name: position diff --git a/urc_gazebo/urdf/gazebo.material b/urc_gazebo/urdf/gazebo.material deleted file mode 100644 index 29a2bfc1..00000000 --- a/urc_gazebo/urdf/gazebo.material +++ /dev/null @@ -1,97 +0,0 @@ -import * from "grid.material" - -material Gazebo/igvc_field -{ - technique - { - pass - { - ambient 0.1 0.1 0.1 1.0 - diffuse 0.8 0.8 0.8 1.0 - specular 0.01 0.01 0.01 1.0 2.0 - - texture_unit - { - texture ground_grass_texture.jpg - filtering trilinear - scale 1 1 - } - } - } -} - - -material Gazebo/Texture_qualification -{ - technique - { - pass - { - texture_unit - { - colour_op_ex source1 src_manual src_current .9 0 .8 - } - texture_unit - { - mipmap_bias -4 - texture textures/qualification_course.png - colour_op alpha_blend - } - texture_unit - { - texture textures/ground_grass_texture.jpg - colour_op_ex blend_current_alpha src_texture src_current - alpha_op_ex source1 src_manual src_current 1.0 - scale .01 .01 - } - } - } -} - -material Gazebo/Texture_autonav -{ - technique - { - pass - { - texture_unit - { - colour_op_ex source1 src_manual src_current .9 0 .8 - } - texture_unit - { - mipmap_bias -4 - texture textures/autonav_course.png - colour_op alpha_blend - } - texture_unit - { - texture textures/ground_grass_texture.jpg - colour_op_ex blend_current_alpha src_texture src_current - alpha_op_ex source1 src_manual src_current 1.0 - scale .01 .01 - } - } - } -} - -material Gazebo/Texture_ramp_lane -{ - technique - { - pass - { - texture_unit - { - colour_op_ex source1 src_manual src_current .9 0 .8 - } - texture_unit - { - texture textures/ground_grass_texture.jpg - colour_op_ex blend_current_alpha src_texture src_current - alpha_op_ex source1 src_manual src_current 1.0 - scale .1 .4 - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0/materials/scripts/aruco_visual_marker_0_marker.material b/urc_gazebo/urdf/models/aruco_visual_marker_0/materials/scripts/aruco_visual_marker_0_marker.material deleted file mode 100644 index 8c66f369..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_0/materials/scripts/aruco_visual_marker_0_marker.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker0/Marker -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_0.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0/materials/textures/4x4_1000-0.svg b/urc_gazebo/urdf/models/aruco_visual_marker_0/materials/textures/4x4_1000-0.svg deleted file mode 100644 index de443643..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_0/materials/textures/4x4_1000-0.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0/materials/textures/aruco_mark_0(old).png b/urc_gazebo/urdf/models/aruco_visual_marker_0/materials/textures/aruco_mark_0(old).png deleted file mode 100644 index 3e012ce6..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_0/materials/textures/aruco_mark_0(old).png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0/materials/textures/aruco_mark_0.png b/urc_gazebo/urdf/models/aruco_visual_marker_0/materials/textures/aruco_mark_0.png deleted file mode 100644 index 4dbac8c2..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_0/materials/textures/aruco_mark_0.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0/materials/textures/aruco_mark_0.svg b/urc_gazebo/urdf/models/aruco_visual_marker_0/materials/textures/aruco_mark_0.svg deleted file mode 100644 index 628cf1e8..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_0/materials/textures/aruco_mark_0.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0/model.config b/urc_gazebo/urdf/models/aruco_visual_marker_0/model.config deleted file mode 100644 index 9e4789c2..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_0/model.config +++ /dev/null @@ -1,11 +0,0 @@ - - - aruco_visual_marker_0 - 1.0 - model.sdf - - - - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0/model.sdf b/urc_gazebo/urdf/models/aruco_visual_marker_0/model.sdf deleted file mode 100644 index e8fee898..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_0/model.sdf +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - 0 0 0 0 0 0 - - - - 0.2 0.2 1e-5 - - - - - 1 1 1 1 - 1 1 1 1 - 0 0 0 1 - 1 1 1 0 - - __default__ - - - 0 0 0 0 -0 0 - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.2 0.2 1e-5 - - - - - - - 0 0 -1e-5 0 -0 0 - - - - 0.2 0.2 1e-5 - - - - 1 - - 0.3 0.3 0.3 1 - 0.7 0.7 0.7 1 - 0.01 0.01 0.01 1 - 1 1 1 0 - - __default__ - - - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.2 0.2 1e-5 - - - - - - - marker - marker_pad - 0 0 0 0 -0 0 - - 0 0 1 - - 0 - 0 - - - - - 1 - 1 - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/scripts/aruco_visual_marker_0_marker.material b/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/scripts/aruco_visual_marker_0_marker.material deleted file mode 100644 index 8c66f369..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/scripts/aruco_visual_marker_0_marker.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker0/Marker -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_0.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/scripts/aruco_visual_marker_0_num.material b/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/scripts/aruco_visual_marker_0_num.material deleted file mode 100644 index c26a0821..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/scripts/aruco_visual_marker_0_num.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker0/Num -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_0_num.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/4x4_1000-0.svg b/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/4x4_1000-0.svg deleted file mode 100644 index de443643..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/4x4_1000-0.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/aruco_mark_0(old).png b/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/aruco_mark_0(old).png deleted file mode 100644 index 3e012ce6..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/aruco_mark_0(old).png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/aruco_mark_0.png b/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/aruco_mark_0.png deleted file mode 100644 index 4dbac8c2..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/aruco_mark_0.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/aruco_mark_0.svg b/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/aruco_mark_0.svg deleted file mode 100644 index 628cf1e8..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/aruco_mark_0.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/aruco_mark_0_num.png b/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/aruco_mark_0_num.png deleted file mode 100644 index 968e4620..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/aruco_mark_0_num.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/aruco_mark_0_num.svg b/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/aruco_mark_0_num.svg deleted file mode 100644 index 467bc209..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/materials/textures/aruco_mark_0_num.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - # 0 - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/model.config b/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/model.config deleted file mode 100644 index f0b51eb9..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/model.config +++ /dev/null @@ -1,11 +0,0 @@ - - - aruco_visual_marker_0_pad - 1.0 - model.sdf - - - - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/model.sdf b/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/model.sdf deleted file mode 100644 index be7cf8ec..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_0_pad/model.sdf +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - model://aruco_visual_marker_0 - - - - - -0.035 0 -1e-5 0 0 0 - - - - 0.297 0.210 1e-5 - - - - 1 - - 0.3 0.3 0.3 1 - 0.7 0.7 0.7 1 - 0.01 0.01 0.01 1 - 1 1 1 0 - - __default__ - - - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.297 0.210 1e-5 - - - - - - 1 - 1 - 0 0 0 - 0 - 0 - - - 1 - 0 - 0 - 1 - - 0 - - - - - 0 - 1e+06 - - - 0 - 1 - 1 - - 0 - 0.2 - 1e+13 - 1 - 0.01 - 0 - - - 1 - -0.01 - 0 - 0.2 - 1e+13 - 1 - - - - - - - - - -0.14 0.0 1e-5 0 -0 0 - - - - 0.05 0.05 1e-05 - - - - - 1 1 1 1 - 1 1 1 1 - 0 0 0 1 - 1 1 1 0 - - __default__ - - - 0 0 0 0 -0 0 - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.05 0.05 1e-05 - - - - - - 1 - 1 - 0 0 0 - 0 - 0 - - - 1 - 0 - 0 - 1 - - 0 - - - - - 0 - 1e+06 - - - 0 - 1 - 1 - - 0 - 0.2 - 1e+13 - 1 - 0.01 - 0 - - - 1 - -0.01 - 0 - 0.2 - 1e+13 - 1 - - - - - - - - aruco_visual_marker_0::marker - marker_pad_large - - 0 0 1 - - 0 - 0 - - - - - - marker_pad_large - marker_num - - 0 0 1 - - 0 - 0 - - - - - 1 - 1 - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_1/materials/scripts/aruco_visual_marker_1_marker.material b/urc_gazebo/urdf/models/aruco_visual_marker_1/materials/scripts/aruco_visual_marker_1_marker.material deleted file mode 100644 index 58450852..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_1/materials/scripts/aruco_visual_marker_1_marker.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker1/Marker -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_1.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_1/materials/textures/aruco_mark_1(old).png b/urc_gazebo/urdf/models/aruco_visual_marker_1/materials/textures/aruco_mark_1(old).png deleted file mode 100644 index 86e28ac7..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_1/materials/textures/aruco_mark_1(old).png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_1/materials/textures/aruco_mark_1.png b/urc_gazebo/urdf/models/aruco_visual_marker_1/materials/textures/aruco_mark_1.png deleted file mode 100644 index 327c7416..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_1/materials/textures/aruco_mark_1.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_1/model.config b/urc_gazebo/urdf/models/aruco_visual_marker_1/model.config deleted file mode 100644 index 0fb6c6f8..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_1/model.config +++ /dev/null @@ -1,11 +0,0 @@ - - - aruco_visual_marker_1 - 1.0 - model.sdf - - - - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_1/model.sdf b/urc_gazebo/urdf/models/aruco_visual_marker_1/model.sdf deleted file mode 100644 index 421c40b5..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_1/model.sdf +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - 0 0 0 0 0 0 - - - - 0.2 0.2 1e-5 - - - - - 1 1 1 1 - 1 1 1 1 - 0 0 0 1 - 1 1 1 0 - - __default__ - - - 0 0 0 0 -0 0 - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.2 0.2 1e-5 - - - - - - - 0 0 -1e-5 0 -0 0 - - - - 0.2 0.2 1e-5 - - - - 1 - - 0.3 0.3 0.3 1 - 0.7 0.7 0.7 1 - 0.01 0.01 0.01 1 - 1 1 1 0 - - __default__ - - - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.2 0.2 1e-5 - - - - - - - marker - marker_pad - 0 0 0 0 -0 0 - - 0 0 1 - - 0 - 0 - - - - - 1 - 1 - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/scripts/aruco_visual_marker_1_marker.material b/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/scripts/aruco_visual_marker_1_marker.material deleted file mode 100644 index 58450852..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/scripts/aruco_visual_marker_1_marker.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker1/Marker -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_1.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/scripts/aruco_visual_marker_1_num.material b/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/scripts/aruco_visual_marker_1_num.material deleted file mode 100644 index 7bafedef..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/scripts/aruco_visual_marker_1_num.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker1/Num -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_1_num.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/textures/aruco_mark_1(old).png b/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/textures/aruco_mark_1(old).png deleted file mode 100644 index 86e28ac7..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/textures/aruco_mark_1(old).png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/textures/aruco_mark_1.png b/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/textures/aruco_mark_1.png deleted file mode 100644 index 327c7416..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/textures/aruco_mark_1.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/textures/aruco_mark_1_num.png b/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/textures/aruco_mark_1_num.png deleted file mode 100644 index d113d57a..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/textures/aruco_mark_1_num.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/textures/aruco_mark_1_num.svg b/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/textures/aruco_mark_1_num.svg deleted file mode 100644 index caca18aa..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/materials/textures/aruco_mark_1_num.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - # 1 - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/model.config b/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/model.config deleted file mode 100644 index 992a4fa1..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/model.config +++ /dev/null @@ -1,11 +0,0 @@ - - - aruco_visual_marker_1_pad - 1.0 - model.sdf - - - - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/model.sdf b/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/model.sdf deleted file mode 100644 index e34f4a87..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_1_pad/model.sdf +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - model://aruco_visual_marker_1 - - - - - -0.035 0 -1e-5 0 0 0 - - - - 0.297 0.210 1e-5 - - - - 1 - - 0.3 0.3 0.3 1 - 0.7 0.7 0.7 1 - 0.01 0.01 0.01 1 - 1 1 1 0 - - __default__ - - - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.297 0.210 1e-5 - - - - - - 1 - 1 - 0 0 0 - 0 - 0 - - - 1 - 0 - 0 - 1 - - 0 - - - - - 0 - 1e+06 - - - 0 - 1 - 1 - - 0 - 0.2 - 1e+13 - 1 - 0.01 - 0 - - - 1 - -0.01 - 0 - 0.2 - 1e+13 - 1 - - - - - - - - - -0.14 0.0 1e-5 0 -0 0 - - - - 0.05 0.05 1e-05 - - - - - 1 1 1 1 - 1 1 1 1 - 0 0 0 1 - 1 1 1 0 - - __default__ - - - 0 0 0 0 -0 0 - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.05 0.05 1e-05 - - - - - - 1 - 1 - 0 0 0 - 0 - 0 - - - 1 - 0 - 0 - 1 - - 0 - - - - - 0 - 1e+06 - - - 0 - 1 - 1 - - 0 - 0.2 - 1e+13 - 1 - 0.01 - 0 - - - 1 - -0.01 - 0 - 0.2 - 1e+13 - 1 - - - - - - - - aruco_visual_marker_1::marker - marker_pad_large - - 0 0 1 - - 0 - 0 - - - - - - marker_pad_large - marker_num - - 0 0 1 - - 0 - 0 - - - - - 1 - 1 - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_2/materials/scripts/aruco_visual_marker_2_marker.material b/urc_gazebo/urdf/models/aruco_visual_marker_2/materials/scripts/aruco_visual_marker_2_marker.material deleted file mode 100644 index 09de9d6a..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_2/materials/scripts/aruco_visual_marker_2_marker.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker2/Marker -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_2.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_2/materials/textures/aruco_mark_2(old).png b/urc_gazebo/urdf/models/aruco_visual_marker_2/materials/textures/aruco_mark_2(old).png deleted file mode 100644 index 309d30fd..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_2/materials/textures/aruco_mark_2(old).png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_2/materials/textures/aruco_mark_2.png b/urc_gazebo/urdf/models/aruco_visual_marker_2/materials/textures/aruco_mark_2.png deleted file mode 100644 index 7087618b..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_2/materials/textures/aruco_mark_2.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_2/model.config b/urc_gazebo/urdf/models/aruco_visual_marker_2/model.config deleted file mode 100644 index a6bdaae7..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_2/model.config +++ /dev/null @@ -1,11 +0,0 @@ - - - aruco_visual_marker_2 - 1.0 - model.sdf - - - - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_2/model.sdf b/urc_gazebo/urdf/models/aruco_visual_marker_2/model.sdf deleted file mode 100644 index b306e925..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_2/model.sdf +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - 0 0 0 0 0 0 - - - - 0.2 0.2 1e-5 - - - - - 1 1 1 1 - 1 1 1 1 - 0 0 0 1 - 1 1 1 0 - - __default__ - - - 0 0 0 0 -0 0 - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.2 0.2 1e-5 - - - - - - - 0 0 -1e-5 0 -0 0 - - - - 0.2 0.2 1e-5 - - - - 1 - - 0.3 0.3 0.3 1 - 0.7 0.7 0.7 1 - 0.01 0.01 0.01 1 - 1 1 1 0 - - __default__ - - - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.2 0.2 1e-5 - - - - - - - marker - marker_pad - 0 0 0 0 -0 0 - - 0 0 1 - - 0 - 0 - - - - - 1 - 1 - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/scripts/aruco_visual_marker_2_marker.material b/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/scripts/aruco_visual_marker_2_marker.material deleted file mode 100644 index 09de9d6a..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/scripts/aruco_visual_marker_2_marker.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker2/Marker -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_2.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/scripts/aruco_visual_marker_2_num.material b/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/scripts/aruco_visual_marker_2_num.material deleted file mode 100644 index 965431f9..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/scripts/aruco_visual_marker_2_num.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker2/Num -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_2_num.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/textures/aruco_mark_2(old).png b/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/textures/aruco_mark_2(old).png deleted file mode 100644 index 309d30fd..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/textures/aruco_mark_2(old).png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/textures/aruco_mark_2.png b/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/textures/aruco_mark_2.png deleted file mode 100644 index 7087618b..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/textures/aruco_mark_2.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/textures/aruco_mark_2_num.png b/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/textures/aruco_mark_2_num.png deleted file mode 100644 index 00dd255c..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/textures/aruco_mark_2_num.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/textures/aruco_mark_2_num.svg b/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/textures/aruco_mark_2_num.svg deleted file mode 100644 index 390d543e..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/materials/textures/aruco_mark_2_num.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - # 2 - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/model.config b/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/model.config deleted file mode 100644 index 299a2006..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/model.config +++ /dev/null @@ -1,11 +0,0 @@ - - - aruco_visual_marker_2_pad - 1.0 - model.sdf - - - - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/model.sdf b/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/model.sdf deleted file mode 100644 index 1c94583b..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_2_pad/model.sdf +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - model://aruco_visual_marker_2 - - - - - -0.035 0 -1e-5 0 0 0 - - - - 0.297 0.210 1e-5 - - - - 1 - - 0.3 0.3 0.3 1 - 0.7 0.7 0.7 1 - 0.01 0.01 0.01 1 - 1 1 1 0 - - __default__ - - - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.297 0.210 1e-5 - - - - - - 1 - 1 - 0 0 0 - 0 - 0 - - - 1 - 0 - 0 - 1 - - 0 - - - - - 0 - 1e+06 - - - 0 - 1 - 1 - - 0 - 0.2 - 1e+13 - 1 - 0.01 - 0 - - - 1 - -0.01 - 0 - 0.2 - 1e+13 - 1 - - - - - - - - - -0.14 0.0 1e-5 0 -0 0 - - - - 0.05 0.05 1e-05 - - - - - 1 1 1 1 - 1 1 1 1 - 0 0 0 1 - 1 1 1 0 - - __default__ - - - 0 0 0 0 -0 0 - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.05 0.05 1e-05 - - - - - - 1 - 1 - 0 0 0 - 0 - 0 - - - 1 - 0 - 0 - 1 - - 0 - - - - - 0 - 1e+06 - - - 0 - 1 - 1 - - 0 - 0.2 - 1e+13 - 1 - 0.01 - 0 - - - 1 - -0.01 - 0 - 0.2 - 1e+13 - 1 - - - - - - - - aruco_visual_marker_2::marker - marker_pad_large - - 0 0 1 - - 0 - 0 - - - - - - marker_pad_large - marker_num - - 0 0 1 - - 0 - 0 - - - - - 1 - 1 - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_3/materials/scripts/aruco_visual_marker_3_marker.material b/urc_gazebo/urdf/models/aruco_visual_marker_3/materials/scripts/aruco_visual_marker_3_marker.material deleted file mode 100644 index 24dd3d36..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_3/materials/scripts/aruco_visual_marker_3_marker.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker3/Marker -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_3.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_3/materials/textures/aruco_mark_3(old).png b/urc_gazebo/urdf/models/aruco_visual_marker_3/materials/textures/aruco_mark_3(old).png deleted file mode 100644 index 703fb1d5..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_3/materials/textures/aruco_mark_3(old).png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_3/materials/textures/aruco_mark_3.png b/urc_gazebo/urdf/models/aruco_visual_marker_3/materials/textures/aruco_mark_3.png deleted file mode 100644 index 35c4849f..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_3/materials/textures/aruco_mark_3.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_3/model.config b/urc_gazebo/urdf/models/aruco_visual_marker_3/model.config deleted file mode 100644 index e0b11875..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_3/model.config +++ /dev/null @@ -1,11 +0,0 @@ - - - aruco_visual_marker_3 - 1.0 - model.sdf - - - - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_3/model.sdf b/urc_gazebo/urdf/models/aruco_visual_marker_3/model.sdf deleted file mode 100644 index 2efd4b63..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_3/model.sdf +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - 0 0 0 0 0 0 - - - - 0.2 0.2 1e-5 - - - - - 1 1 1 1 - 1 1 1 1 - 0 0 0 1 - 1 1 1 0 - - __default__ - - - 0 0 0 0 -0 0 - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.2 0.2 1e-5 - - - - - - - 0 0 -1e-5 0 -0 0 - - - - 0.2 0.2 1e-5 - - - - 1 - - 0.3 0.3 0.3 1 - 0.7 0.7 0.7 1 - 0.01 0.01 0.01 1 - 1 1 1 0 - - __default__ - - - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.2 0.2 1e-5 - - - - - - - marker - marker_pad - 0 0 0 0 -0 0 - - 0 0 1 - - 0 - 0 - - - - - 1 - 1 - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/scripts/aruco_visual_marker_3_marker.material b/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/scripts/aruco_visual_marker_3_marker.material deleted file mode 100644 index 24dd3d36..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/scripts/aruco_visual_marker_3_marker.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker3/Marker -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_3.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/scripts/aruco_visual_marker_3_num.material b/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/scripts/aruco_visual_marker_3_num.material deleted file mode 100644 index c2cfa02a..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/scripts/aruco_visual_marker_3_num.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker3/Num -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_3_num.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/textures/aruco_mark_3(old).png b/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/textures/aruco_mark_3(old).png deleted file mode 100644 index 703fb1d5..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/textures/aruco_mark_3(old).png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/textures/aruco_mark_3.png b/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/textures/aruco_mark_3.png deleted file mode 100644 index 35c4849f..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/textures/aruco_mark_3.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/textures/aruco_mark_3_num.png b/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/textures/aruco_mark_3_num.png deleted file mode 100644 index f0dacd4a..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/textures/aruco_mark_3_num.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/textures/aruco_mark_3_num.svg b/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/textures/aruco_mark_3_num.svg deleted file mode 100644 index 5e79f6ba..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/materials/textures/aruco_mark_3_num.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - # 3 - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/model.config b/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/model.config deleted file mode 100644 index f85a47a4..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/model.config +++ /dev/null @@ -1,11 +0,0 @@ - - - aruco_visual_marker_3_pad - 1.0 - model.sdf - - - - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/model.sdf b/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/model.sdf deleted file mode 100644 index dcff33d4..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_3_pad/model.sdf +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - model://aruco_visual_marker_3 - - - - - -0.035 0 -1e-5 0 0 0 - - - - 0.297 0.210 1e-5 - - - - 1 - - 0.3 0.3 0.3 1 - 0.7 0.7 0.7 1 - 0.01 0.01 0.01 1 - 1 1 1 0 - - __default__ - - - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.297 0.210 1e-5 - - - - - - 1 - 1 - 0 0 0 - 0 - 0 - - - 1 - 0 - 0 - 1 - - 0 - - - - - 0 - 1e+06 - - - 0 - 1 - 1 - - 0 - 0.2 - 1e+13 - 1 - 0.01 - 0 - - - 1 - -0.01 - 0 - 0.2 - 1e+13 - 1 - - - - - - - - - -0.14 0.0 1e-5 0 -0 0 - - - - 0.05 0.05 1e-05 - - - - - 1 1 1 1 - 1 1 1 1 - 0 0 0 1 - 1 1 1 0 - - __default__ - - - 0 0 0 0 -0 0 - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.05 0.05 1e-05 - - - - - - 1 - 1 - 0 0 0 - 0 - 0 - - - 1 - 0 - 0 - 1 - - 0 - - - - - 0 - 1e+06 - - - 0 - 1 - 1 - - 0 - 0.2 - 1e+13 - 1 - 0.01 - 0 - - - 1 - -0.01 - 0 - 0.2 - 1e+13 - 1 - - - - - - - - aruco_visual_marker_3::marker - marker_pad_large - - 0 0 1 - - 0 - 0 - - - - - - marker_pad_large - marker_num - - 0 0 1 - - 0 - 0 - - - - - 1 - 1 - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_4/materials/scripts/aruco_visual_marker_4_marker.material b/urc_gazebo/urdf/models/aruco_visual_marker_4/materials/scripts/aruco_visual_marker_4_marker.material deleted file mode 100644 index b085e1e7..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_4/materials/scripts/aruco_visual_marker_4_marker.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker4/Marker -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_4.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_4/materials/textures/aruco_mark_4(old).png b/urc_gazebo/urdf/models/aruco_visual_marker_4/materials/textures/aruco_mark_4(old).png deleted file mode 100644 index 193561a4..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_4/materials/textures/aruco_mark_4(old).png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_4/materials/textures/aruco_mark_4.png b/urc_gazebo/urdf/models/aruco_visual_marker_4/materials/textures/aruco_mark_4.png deleted file mode 100644 index c8fbaa64..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_4/materials/textures/aruco_mark_4.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_4/model.config b/urc_gazebo/urdf/models/aruco_visual_marker_4/model.config deleted file mode 100644 index 2c46c189..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_4/model.config +++ /dev/null @@ -1,11 +0,0 @@ - - - aruco_visual_marker_4 - 1.0 - model.sdf - - - - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_4/model.sdf b/urc_gazebo/urdf/models/aruco_visual_marker_4/model.sdf deleted file mode 100644 index 03e86652..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_4/model.sdf +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - 0 0 0 0 0 0 - - - - 0.2 0.2 1e-5 - - - - - 1 1 1 1 - 1 1 1 1 - 0 0 0 1 - 1 1 1 0 - - __default__ - - - 0 0 0 0 -0 0 - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.2 0.2 1e-5 - - - - - - - 0 0 -1e-5 0 -0 0 - - - - 0.2 0.2 1e-5 - - - - 1 - - 0.3 0.3 0.3 1 - 0.7 0.7 0.7 1 - 0.01 0.01 0.01 1 - 1 1 1 0 - - __default__ - - - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.2 0.2 1e-5 - - - - - - - marker - marker_pad - 0 0 0 0 -0 0 - - 0 0 1 - - 0 - 0 - - - - - 1 - 1 - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/scripts/aruco_visual_marker_4_marker.material b/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/scripts/aruco_visual_marker_4_marker.material deleted file mode 100644 index b085e1e7..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/scripts/aruco_visual_marker_4_marker.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker4/Marker -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_4.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/scripts/aruco_visual_marker_4_num.material b/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/scripts/aruco_visual_marker_4_num.material deleted file mode 100644 index 04ede828..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/scripts/aruco_visual_marker_4_num.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker4/Num -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_4_num.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/textures/aruco_mark_4(old).png b/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/textures/aruco_mark_4(old).png deleted file mode 100644 index 193561a4..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/textures/aruco_mark_4(old).png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/textures/aruco_mark_4.png b/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/textures/aruco_mark_4.png deleted file mode 100644 index c8fbaa64..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/textures/aruco_mark_4.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/textures/aruco_mark_4_num.png b/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/textures/aruco_mark_4_num.png deleted file mode 100644 index 431d29a1..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/textures/aruco_mark_4_num.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/textures/aruco_mark_4_num.svg b/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/textures/aruco_mark_4_num.svg deleted file mode 100644 index 10e17908..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/materials/textures/aruco_mark_4_num.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - # 4 - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/model.config b/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/model.config deleted file mode 100644 index 822cf948..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/model.config +++ /dev/null @@ -1,11 +0,0 @@ - - - aruco_visual_marker_4_pad - 1.0 - model.sdf - - - - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/model.sdf b/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/model.sdf deleted file mode 100644 index 1b5aebaa..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_4_pad/model.sdf +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - model://aruco_visual_marker_4 - - - - - -0.035 0 -1e-5 0 0 0 - - - - 0.297 0.210 1e-5 - - - - 1 - - 0.3 0.3 0.3 1 - 0.7 0.7 0.7 1 - 0.01 0.01 0.01 1 - 1 1 1 0 - - __default__ - - - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.297 0.210 1e-5 - - - - - - 1 - 1 - 0 0 0 - 0 - 0 - - - 1 - 0 - 0 - 1 - - 0 - - - - - 0 - 1e+06 - - - 0 - 1 - 1 - - 0 - 0.2 - 1e+13 - 1 - 0.01 - 0 - - - 1 - -0.01 - 0 - 0.2 - 1e+13 - 1 - - - - - - - - - -0.14 0.0 1e-5 0 -0 0 - - - - 0.05 0.05 1e-05 - - - - - 1 1 1 1 - 1 1 1 1 - 0 0 0 1 - 1 1 1 0 - - __default__ - - - 0 0 0 0 -0 0 - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.05 0.05 1e-05 - - - - - - 1 - 1 - 0 0 0 - 0 - 0 - - - 1 - 0 - 0 - 1 - - 0 - - - - - 0 - 1e+06 - - - 0 - 1 - 1 - - 0 - 0.2 - 1e+13 - 1 - 0.01 - 0 - - - 1 - -0.01 - 0 - 0.2 - 1e+13 - 1 - - - - - - - - aruco_visual_marker_4::marker - marker_pad_large - - 0 0 1 - - 0 - 0 - - - - - - marker_pad_large - marker_num - - 0 0 1 - - 0 - 0 - - - - - 1 - 1 - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_5/materials/scripts/aruco_visual_marker_5_marker.material b/urc_gazebo/urdf/models/aruco_visual_marker_5/materials/scripts/aruco_visual_marker_5_marker.material deleted file mode 100644 index fe01f31d..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_5/materials/scripts/aruco_visual_marker_5_marker.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker5/Marker -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_5.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_5/materials/textures/aruco_mark_5(old).png b/urc_gazebo/urdf/models/aruco_visual_marker_5/materials/textures/aruco_mark_5(old).png deleted file mode 100644 index aaac95fb..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_5/materials/textures/aruco_mark_5(old).png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_5/materials/textures/aruco_mark_5.png b/urc_gazebo/urdf/models/aruco_visual_marker_5/materials/textures/aruco_mark_5.png deleted file mode 100644 index 4bd81ecc..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_5/materials/textures/aruco_mark_5.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_5/model.config b/urc_gazebo/urdf/models/aruco_visual_marker_5/model.config deleted file mode 100644 index d4ce4f4d..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_5/model.config +++ /dev/null @@ -1,11 +0,0 @@ - - - aruco_visual_marker_5 - 1.0 - model.sdf - - - - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_5/model.sdf b/urc_gazebo/urdf/models/aruco_visual_marker_5/model.sdf deleted file mode 100644 index db5ec8eb..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_5/model.sdf +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - 0 0 0 0 0 0 - - - - 0.2 0.2 1e-5 - - - - - 1 1 1 1 - 1 1 1 1 - 0 0 0 1 - 1 1 1 0 - - __default__ - - - 0 0 0 0 -0 0 - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.2 0.2 1e-5 - - - - - - - 0 0 -1e-5 0 -0 0 - - - - 0.2 0.2 1e-5 - - - - 1 - - 0.3 0.3 0.3 1 - 0.7 0.7 0.7 1 - 0.01 0.01 0.01 1 - 1 1 1 0 - - __default__ - - - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.2 0.2 1e-5 - - - - - - - marker - marker_pad - 0 0 0 0 -0 0 - - 0 0 1 - - 0 - 0 - - - - - 1 - 1 - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/scripts/aruco_visual_marker_5_marker.material b/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/scripts/aruco_visual_marker_5_marker.material deleted file mode 100644 index fe01f31d..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/scripts/aruco_visual_marker_5_marker.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker5/Marker -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_5.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/scripts/aruco_visual_marker_5_num.material b/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/scripts/aruco_visual_marker_5_num.material deleted file mode 100644 index 7bacfba3..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/scripts/aruco_visual_marker_5_num.material +++ /dev/null @@ -1,13 +0,0 @@ -material ArucoVisualMarker5/Num -{ - technique - { - pass - { - texture_unit - { - texture aruco_mark_5_num.png - } - } - } -} diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/textures/aruco_mark_5(old).png b/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/textures/aruco_mark_5(old).png deleted file mode 100644 index aaac95fb..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/textures/aruco_mark_5(old).png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/textures/aruco_mark_5.png b/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/textures/aruco_mark_5.png deleted file mode 100644 index 4bd81ecc..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/textures/aruco_mark_5.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/textures/aruco_mark_5_num.png b/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/textures/aruco_mark_5_num.png deleted file mode 100644 index 437110b5..00000000 Binary files a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/textures/aruco_mark_5_num.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/textures/aruco_mark_5_num.svg b/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/textures/aruco_mark_5_num.svg deleted file mode 100644 index 02886412..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/materials/textures/aruco_mark_5_num.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - # 5 - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/model.config b/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/model.config deleted file mode 100644 index 61b46906..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/model.config +++ /dev/null @@ -1,11 +0,0 @@ - - - aruco_visual_marker_5_pad - 1.0 - model.sdf - - - - - - diff --git a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/model.sdf b/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/model.sdf deleted file mode 100644 index 53ba6d2f..00000000 --- a/urc_gazebo/urdf/models/aruco_visual_marker_5_pad/model.sdf +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - model://aruco_visual_marker_5 - - - - - -0.035 0 -1e-5 0 0 0 - - - - 0.297 0.210 1e-5 - - - - 1 - - 0.3 0.3 0.3 1 - 0.7 0.7 0.7 1 - 0.01 0.01 0.01 1 - 1 1 1 0 - - __default__ - - - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.297 0.210 1e-5 - - - - - - 1 - 1 - 0 0 0 - 0 - 0 - - - 1 - 0 - 0 - 1 - - 0 - - - - - 0 - 1e+06 - - - 0 - 1 - 1 - - 0 - 0.2 - 1e+13 - 1 - 0.01 - 0 - - - 1 - -0.01 - 0 - 0.2 - 1e+13 - 1 - - - - - - - - - -0.14 0.0 1e-5 0 -0 0 - - - - 0.05 0.05 1e-05 - - - - - 1 1 1 1 - 1 1 1 1 - 0 0 0 1 - 1 1 1 0 - - __default__ - - - 0 0 0 0 -0 0 - 1 - 0 - - - 0 - 10 - 0 0 0 0 -0 0 - - - 0.05 0.05 1e-05 - - - - - - 1 - 1 - 0 0 0 - 0 - 0 - - - 1 - 0 - 0 - 1 - - 0 - - - - - 0 - 1e+06 - - - 0 - 1 - 1 - - 0 - 0.2 - 1e+13 - 1 - 0.01 - 0 - - - 1 - -0.01 - 0 - 0.2 - 1e+13 - 1 - - - - - - - - aruco_visual_marker_5::marker - marker_pad_large - - 0 0 1 - - 0 - 0 - - - - - - marker_pad_large - marker_num - - 0 0 1 - - 0 - 0 - - - - - 1 - 1 - - - diff --git a/urc_gazebo/urdf/models/barrel/meshes/Barrel.png b/urc_gazebo/urdf/models/barrel/meshes/Barrel.png deleted file mode 100644 index 417f16d6..00000000 Binary files a/urc_gazebo/urdf/models/barrel/meshes/Barrel.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/barrel/meshes/barrel.dae b/urc_gazebo/urdf/models/barrel/meshes/barrel.dae deleted file mode 100644 index f29b5c4b..00000000 --- a/urc_gazebo/urdf/models/barrel/meshes/barrel.dae +++ /dev/null @@ -1,115 +0,0 @@ - - - - - Blender User - Blender 2.80.75 commit date:2019-07-29, commit time:14:47, hash:f6cb5f54494e - - 2019-10-12T11:06:07 - 2019-10-12T11:06:07 - - Z_UP - - - - - - - Barrel - - - - - Barrel-surface - - - - - - 0 0 0 1 - - - - - - 1.45 - - - - - - - - - Barrel.png - - - - - - - - - - - - 0 0.4572 -0.02499997 0 0.4572 0.02499997 0.08919525 0.448415 -0.02499997 0.08919525 0.448415 0.02499997 0.1749628 0.4223977 -0.02499997 0.1749628 0.4223977 0.02499997 0.2540067 0.3801479 -0.02499997 0.2540067 0.3801479 0.02499997 0.3232892 0.3232892 -0.02499997 0.3232892 0.3232892 0.02499997 0.3801479 0.2540067 -0.02499997 0.3801479 0.2540067 0.02499997 0.4223977 0.1749628 -0.02499997 0.4223977 0.1749628 0.02499997 0.448415 0.08919531 -0.02499997 0.448415 0.08919531 0.02499997 0.4572 0 -0.02499997 0.4572 0 0.02499997 0.4484151 -0.08919519 -0.02499997 0.4484151 -0.08919519 0.02499997 0.4223977 -0.1749628 -0.02499997 0.4223977 -0.1749628 0.02499997 0.3801479 -0.2540067 -0.02499997 0.3801479 -0.2540067 0.02499997 0.3232892 -0.3232892 -0.02499997 0.3232892 -0.3232892 0.02499997 0.2540067 -0.3801479 -0.02499997 0.2540067 -0.3801479 0.02499997 0.1749628 -0.4223977 -0.02499997 0.1749628 -0.4223977 0.02499997 0.08919519 -0.4484151 -0.02499997 0.08919519 -0.4484151 0.02499997 -1.48975e-7 -0.4572 -0.02499997 -1.48975e-7 -0.4572 0.02499997 -0.08919543 -0.448415 -0.02499997 -0.08919543 -0.448415 0.02499997 -0.174963 -0.4223976 -0.02499997 -0.174963 -0.4223976 0.02499997 -0.2540069 -0.3801478 -0.02499997 -0.2540069 -0.3801478 0.02499997 -0.3232894 -0.323289 -0.02499997 -0.3232894 -0.323289 0.02499997 -0.3801481 -0.2540065 -0.02499997 -0.3801481 -0.2540065 0.02499997 -0.4223979 -0.1749625 -0.02499997 -0.4223979 -0.1749625 0.02499997 -0.4484151 -0.08919489 -0.02499997 -0.4484151 -0.08919489 0.02499997 -0.4572 4.41472e-7 -0.02499997 -0.4572 4.41472e-7 0.02499997 -0.4484149 0.08919572 -0.02499997 -0.4484149 0.08919572 0.02499997 -0.4223975 0.1749633 -0.02499997 -0.4223975 0.1749633 0.02499997 -0.3801476 0.2540072 -0.02499997 -0.3801476 0.2540072 0.02499997 -0.3232888 0.3232896 -0.02499997 -0.3232888 0.3232896 0.02499997 -0.2540062 0.3801482 -0.02499997 -0.2540062 0.3801482 0.02499997 -0.1749622 0.422398 -0.02499997 -0.1749622 0.422398 0.02499997 -0.08919459 0.4484151 -0.02499997 -0.08919459 0.4484151 0.02499997 0.07779222 0.391088 0.1333168 0 0.3987498 0.1333168 0.1525949 0.3683968 0.1333168 0.2215335 0.3315483 0.1333168 0.2819586 0.2819587 0.1333168 0.3315483 0.2215335 0.1333168 0.3683968 0.1525949 0.1333168 0.3910879 0.07779222 0.1333168 0.3987498 0 0.1333168 0.391088 -0.07779216 0.1333168 0.3683968 -0.1525948 0.1333168 0.3315483 -0.2215334 0.1333168 0.2819586 -0.2819586 0.1333168 0.2215335 -0.3315483 0.1333168 0.1525949 -0.3683968 0.1333168 0.0777921 -0.3910879 0.1333168 -1.22564e-7 -0.3987498 0.1333168 -0.07779234 -0.3910878 0.1333168 -0.1525951 -0.3683966 0.1333168 -0.2215337 -0.3315482 0.1333168 -0.2819588 -0.2819585 0.1333168 -0.3315485 -0.2215332 0.1333168 -0.3683969 -0.1525946 0.1333168 -0.391088 -0.07779186 0.1333168 -0.3987498 4.02431e-7 0.1333168 -0.3910878 0.07779264 0.1333168 -0.3683966 0.1525954 0.1333168 -0.331548 0.2215339 0.1333168 -0.2819583 0.281959 0.1333168 -0.221533 0.3315486 0.1333168 -0.1525944 0.368397 0.1333168 -0.07779157 0.391088 0.1333168 0.07779222 0.391088 0.363295 0 0.3987498 0.363295 0.1525949 0.3683968 0.363295 0.2215335 0.3315483 0.363295 0.2819586 0.2819587 0.363295 0.3315483 0.2215335 0.363295 0.3683968 0.1525949 0.363295 0.3910879 0.07779222 0.363295 0.3987498 0 0.363295 0.391088 -0.07779216 0.363295 0.3683968 -0.1525948 0.363295 0.3315483 -0.2215334 0.363295 0.2819586 -0.2819586 0.363295 0.2215335 -0.3315483 0.363295 0.1525949 -0.3683968 0.363295 0.0777921 -0.3910879 0.363295 -1.22564e-7 -0.3987498 0.363295 -0.07779234 -0.3910878 0.363295 -0.1525951 -0.3683966 0.363295 -0.2215337 -0.3315482 0.363295 -0.2819588 -0.2819585 0.363295 -0.3315485 -0.2215332 0.363295 -0.3683969 -0.1525946 0.363295 -0.391088 -0.07779186 0.363295 -0.3987498 4.02431e-7 0.363295 -0.3910878 0.07779264 0.363295 -0.3683966 0.1525954 0.363295 -0.331548 0.2215339 0.363295 -0.2819583 0.281959 0.363295 -0.221533 0.3315486 0.363295 -0.1525944 0.368397 0.363295 -0.07779157 0.391088 0.363295 0.07507604 0.3774327 0.3794556 0 0.3848271 0.3794556 0.1472669 0.3555338 0.3794556 0.2137984 0.319972 0.3794556 0.2721138 0.2721138 0.3794556 0.319972 0.2137984 0.3794556 0.3555338 0.1472669 0.3794556 0.3774327 0.07507604 0.3794556 0.384827 0 0.3794556 0.3774327 -0.07507592 0.3794556 0.3555338 -0.1472668 0.3794556 0.319972 -0.2137984 0.3794556 0.2721138 -0.2721138 0.3794556 0.2137984 -0.319972 0.3794556 0.1472668 -0.3555338 0.3794556 0.07507592 -0.3774327 0.3794556 0 -0.384827 0.3794556 -0.07507616 -0.3774326 0.3794556 -0.1472671 -0.3555337 0.3794556 -0.2137986 -0.3199718 0.3794556 -0.2721139 -0.2721136 0.3794556 -0.3199721 -0.2137982 0.3794556 -0.3555339 -0.1472666 0.3794556 -0.3774327 -0.07507568 0.3794556 -0.384827 3.93485e-7 0.3794556 -0.3774326 0.07507646 0.3794556 -0.3555337 0.1472674 0.3794556 -0.3199717 0.2137988 0.3794556 -0.2721135 0.2721141 0.3794556 -0.213798 0.3199723 0.3794556 -0.1472664 0.355534 0.3794556 -0.07507538 0.3774328 0.3794556 0.07507604 0.3774327 0.617855 0 0.3848271 0.617855 0.1472669 0.3555338 0.617855 0.2137984 0.319972 0.617855 0.2721138 0.2721138 0.617855 0.319972 0.2137984 0.617855 0.3555338 0.1472669 0.617855 0.3774327 0.07507604 0.617855 0.384827 0 0.617855 0.3774327 -0.07507592 0.617855 0.3555338 -0.1472668 0.617855 0.319972 -0.2137984 0.617855 0.2721138 -0.2721138 0.617855 0.2137984 -0.319972 0.617855 0.1472668 -0.3555338 0.617855 0.07507592 -0.3774327 0.617855 0 -0.384827 0.617855 -0.07507616 -0.3774326 0.617855 -0.1472671 -0.3555337 0.617855 -0.2137986 -0.3199718 0.617855 -0.2721139 -0.2721136 0.617855 -0.3199721 -0.2137982 0.617855 -0.3555339 -0.1472666 0.617855 -0.3774327 -0.07507568 0.617855 -0.384827 3.93485e-7 0.617855 -0.3774326 0.07507646 0.617855 -0.3555337 0.1472674 0.617855 -0.3199717 0.2137988 0.617855 -0.2721135 0.2721141 0.617855 -0.213798 0.3199723 0.617855 -0.1472664 0.355534 0.617855 -0.07507538 0.3774328 0.617855 0.07269966 0.365486 0.632973 0 0.3726463 0.632973 0.1426056 0.3442803 0.632973 0.2070312 0.3098441 0.632973 0.2635007 0.2635008 0.632973 0.3098441 0.2070311 0.632973 0.3442803 0.1426056 0.632973 0.365486 0.07269972 0.632973 0.3726463 0 0.632973 0.365486 -0.0726996 0.632973 0.3442803 -0.1426054 0.632973 0.3098441 -0.2070311 0.632973 0.2635007 -0.2635007 0.632973 0.2070311 -0.309844 0.632973 0.1426055 -0.3442803 0.632973 0.0726996 -0.365486 0.632973 0 -0.3726462 0.632973 -0.07269978 -0.3654859 0.632973 -0.1426057 -0.3442801 0.632973 -0.2070313 -0.3098439 0.632973 -0.2635009 -0.2635005 0.632973 -0.3098442 -0.2070309 0.632973 -0.3442804 -0.1426052 0.632973 -0.365486 -0.0726993 0.632973 -0.3726463 3.8557e-7 0.632973 -0.3654859 0.07270008 0.632973 -0.3442801 0.142606 0.632973 -0.3098438 0.2070316 0.632973 -0.2635003 0.2635011 0.632973 -0.2070307 0.3098444 0.632973 -0.142605 0.3442805 0.632973 -0.07269906 0.3654861 0.632973 0.07269966 0.365486 0.8725352 0 0.3726463 0.8725352 0.1426056 0.3442803 0.8725352 0.2070312 0.3098441 0.8725352 0.2635007 0.2635008 0.8725352 0.3098441 0.2070311 0.8725352 0.3442803 0.1426056 0.8725352 0.365486 0.07269972 0.8725352 0.3726463 0 0.8725352 0.365486 -0.0726996 0.8725352 0.3442803 -0.1426054 0.8725352 0.3098441 -0.2070311 0.8725352 0.2635007 -0.2635007 0.8725352 0.2070311 -0.309844 0.8725352 0.1426055 -0.3442803 0.8725352 0.0726996 -0.365486 0.8725352 0 -0.3726462 0.8725352 -0.07269978 -0.3654859 0.8725352 -0.1426057 -0.3442801 0.8725352 -0.2070313 -0.3098439 0.8725352 -0.2635009 -0.2635005 0.8725352 -0.3098442 -0.2070309 0.8725352 -0.3442804 -0.1426052 0.8725352 -0.365486 -0.0726993 0.8725352 -0.3726463 3.8557e-7 0.8725352 -0.3654859 0.07270008 0.8725352 -0.3442801 0.142606 0.8725352 -0.3098438 0.2070316 0.8725352 -0.2635003 0.2635011 0.8725352 -0.2070307 0.3098444 0.8725352 -0.142605 0.3442805 0.8725352 -0.07269906 0.3654861 0.8725352 0.0713824 0.3588636 0.8795127 0 0.3658941 0.8795127 0.1400216 0.3380421 0.8795127 0.2032799 0.3042298 0.8795127 0.2587262 0.2587262 0.8795127 0.3042298 0.2032798 0.8795127 0.338042 0.1400216 0.8795127 0.3588635 0.0713824 0.8795127 0.3658941 0 0.8795127 0.3588635 -0.07138228 0.8795127 0.3380421 -0.1400215 0.8795127 0.3042298 -0.2032798 0.8795127 0.2587262 -0.2587262 0.8795127 0.2032799 -0.3042298 0.8795127 0.1400215 -0.3380421 0.8795127 0.07138228 -0.3588635 0.8795127 0 -0.365894 0.8795127 -0.07138252 -0.3588634 0.8795127 -0.1400218 -0.3380419 0.8795127 -0.20328 -0.3042297 0.8795127 -0.2587264 -0.258726 0.8795127 -0.3042299 -0.2032796 0.8795127 -0.3380421 -0.1400213 0.8795127 -0.3588635 -0.07138204 0.8795127 -0.3658941 3.81216e-7 0.8795127 -0.3588634 0.07138276 0.8795127 -0.3380419 0.140022 0.8795127 -0.3042296 0.2032802 0.8795127 -0.2587258 0.2587265 0.8795127 -0.2032794 0.3042301 0.8795127 -0.1400211 0.3380423 0.8795127 -0.0713818 0.3588637 0.8795127 0.0713824 0.3588636 1.122564 0 0.3658941 1.122564 0.1400216 0.3380421 1.122564 0.2032799 0.3042298 1.122564 0.2587262 0.2587262 1.122564 0.3042298 0.2032798 1.122564 0.338042 0.1400216 1.122564 0.3588635 0.0713824 1.122564 0.3658941 0 1.122564 0.3588635 -0.07138228 1.122564 0.3380421 -0.1400215 1.122564 0.3042298 -0.2032798 1.122564 0.2587262 -0.2587262 1.122564 0.2032799 -0.3042298 1.122564 0.1400215 -0.3380421 1.122564 0.07138228 -0.3588635 1.122564 0 -0.365894 1.122564 -0.07138252 -0.3588634 1.122564 -0.1400218 -0.3380419 1.122564 -0.20328 -0.3042297 1.122564 -0.2587264 -0.258726 1.122564 -0.3042299 -0.2032796 1.122564 -0.3380421 -0.1400213 1.122564 -0.3588635 -0.07138204 1.122564 -0.3658941 3.81216e-7 1.122564 -0.3588634 0.07138276 1.122564 -0.3380419 0.140022 1.122564 -0.3042296 0.2032802 1.122564 -0.2587258 0.2587265 1.122564 -0.2032794 0.3042301 1.122564 -0.1400211 0.3380423 1.122564 -0.0713818 0.3588637 1.122564 0.06915825 0.347682 1.135356 0 0.3544935 1.135356 0.1356588 0.3275093 1.135356 0.196946 0.2947505 1.135356 0.2506647 0.2506648 1.135356 0.2947505 0.196946 1.135356 0.3275092 0.1356588 1.135356 0.3476819 0.06915825 1.135356 0.3544934 0 1.135356 0.347682 -0.06915813 1.135356 0.3275093 -0.1356587 1.135356 0.2947505 -0.1969459 1.135356 0.2506647 -0.2506647 1.135356 0.196946 -0.2947505 1.135356 0.1356587 -0.3275093 1.135356 0.06915813 -0.3476819 1.135356 0 -0.3544934 1.135356 -0.06915837 -0.3476819 1.135356 -0.1356589 -0.3275091 1.135356 -0.1969462 -0.2947504 1.135356 -0.2506649 -0.2506645 1.135356 -0.2947506 -0.1969457 1.135356 -0.3275094 -0.1356585 1.135356 -0.347682 -0.06915789 1.135356 -0.3544934 3.7372e-7 1.135356 -0.3476819 0.06915861 1.135356 -0.3275091 0.1356592 1.135356 -0.2947503 0.1969463 1.135356 -0.2506644 0.2506651 1.135356 -0.1969456 0.2947508 1.135356 -0.1356583 0.3275095 1.135356 -0.06915766 0.3476821 1.135356 0.06915825 0.347682 1.371429 0 0.3544935 1.371429 0.1356588 0.3275093 1.371429 0.196946 0.2947505 1.371429 0.2506647 0.2506648 1.371429 0.2947505 0.196946 1.371429 0.3275092 0.1356588 1.371429 0.3476819 0.06915825 1.371429 0.3544934 0 1.371429 0.347682 -0.06915813 1.371429 0.3275093 -0.1356587 1.371429 0.2947505 -0.1969459 1.371429 0.2506647 -0.2506647 1.371429 0.196946 -0.2947505 1.371429 0.1356587 -0.3275093 1.371429 0.06915813 -0.3476819 1.371429 0 -0.3544934 1.371429 -0.06915837 -0.3476819 1.371429 -0.1356589 -0.3275091 1.371429 -0.1969462 -0.2947504 1.371429 -0.2506649 -0.2506645 1.371429 -0.2947506 -0.1969457 1.371429 -0.3275094 -0.1356585 1.371429 -0.347682 -0.06915789 1.371429 -0.3544934 3.7372e-7 1.371429 -0.3476819 0.06915861 1.371429 -0.3275091 0.1356592 1.371429 -0.2947503 0.1969463 1.371429 -0.2506644 0.2506651 1.371429 -0.1969456 0.2947508 1.371429 -0.1356583 0.3275095 1.371429 -0.06915766 0.3476821 1.371429 -0.312101 0.06208109 1.403991 -0.3303771 0.0657165 1.397862 -0.2939926 0.1217761 1.403991 -0.3112084 0.1289072 1.397862 0.06915825 0.347682 1.371429 0 0.3544935 1.371429 0.1356588 0.3275093 1.371429 0.196946 0.2947505 1.371429 0.2506647 0.2506648 1.371429 0.2947505 0.196946 1.371429 0.3275092 0.1356588 1.371429 0.3476819 0.06915825 1.371429 0.3544934 0 1.371429 0.347682 -0.06915813 1.371429 0.3275093 -0.1356587 1.371429 0.2947505 -0.1969459 1.371429 0.2506647 -0.2506647 1.371429 0.196946 -0.2947505 1.371429 0.1356587 -0.3275093 1.371429 0.06915813 -0.3476819 1.371429 0 -0.3544934 1.371429 -0.06915837 -0.3476819 1.371429 -0.1356589 -0.3275091 1.371429 -0.1969462 -0.2947504 1.371429 -0.2506649 -0.2506645 1.371429 -0.2947506 -0.1969457 1.371429 -0.3275094 -0.1356585 1.371429 -0.347682 -0.06915789 1.371429 -0.3544934 3.7372e-7 1.371429 -0.3476819 0.06915861 1.371429 -0.3275091 0.1356592 1.371429 -0.2947503 0.1969463 1.371429 -0.2506644 0.2506651 1.371429 -0.1969456 0.2947508 1.371429 -0.1356583 0.3275095 1.371429 -0.06915766 0.3476821 1.371429 0.06571614 0.3303773 1.397862 0.06821525 0.3429414 1.383066 0 0.34966 1.383066 0 0.3368498 1.397862 0.06208086 0.3121011 1.403991 0 0.3182155 1.403991 0.1289068 0.3112086 1.397862 0.133809 0.3230437 1.383066 0.1217758 0.2939928 1.403991 0.1871436 0.2800803 1.397862 0.1942607 0.2907316 1.383066 0.176791 0.2645865 1.403991 0.2381887 0.2381888 1.397862 0.2472469 0.2472469 1.383066 0.2250123 0.2250124 1.403991 0.2800803 0.1871436 1.397862 0.2907316 0.1942606 1.383066 0.2645865 0.176791 1.403991 0.3112085 0.1289069 1.397862 0.3230437 0.1338091 1.383066 0.2939927 0.1217759 1.403991 0.3303772 0.06571614 1.397862 0.3429413 0.06821531 1.383066 0.312101 0.0620808 1.403991 0.3368498 0 1.397862 0.3496599 0 1.383066 0.3182154 0 1.403991 0.3303773 -0.06571602 1.397862 0.3429414 -0.06821519 1.383066 0.3121011 -0.06208068 1.403991 0.3112086 -0.1289067 1.397862 0.3230437 -0.133809 1.383066 0.2939927 -0.1217758 1.403991 0.2800803 -0.1871436 1.397862 0.2907316 -0.1942605 1.383066 0.2645865 -0.1767909 1.403991 0.2381887 -0.2381887 1.397862 0.2472469 -0.2472469 1.383066 0.2250123 -0.2250123 1.403991 0.1871436 -0.2800802 1.397862 0.1942606 -0.2907316 1.383066 0.176791 -0.2645865 1.403991 0.1289067 -0.3112086 1.397862 0.133809 -0.3230437 1.383066 0.1217758 -0.2939928 1.403991 0.06571602 -0.3303772 1.397862 0.06821519 -0.3429413 1.383066 0.06208068 -0.312101 1.403991 -1.38331e-7 -0.3368496 1.397862 0 -0.3496599 1.383066 -2.30037e-7 -0.3182154 1.403991 -0.0657162 -0.3303771 1.397862 -0.06821537 -0.3429412 1.383066 -0.06208086 -0.312101 1.403991 -0.1289069 -0.3112084 1.397862 -0.1338092 -0.3230435 1.383066 -0.1217758 -0.2939926 1.403991 -0.1871438 -0.2800801 1.397862 -0.1942608 -0.2907314 1.383066 -0.1767911 -0.2645863 1.403991 -0.2381888 -0.2381885 1.397862 -0.247247 -0.2472467 1.383066 -0.2250124 -0.2250121 1.403991 -0.2800804 -0.1871434 1.397862 -0.2907317 -0.1942604 1.383066 -0.2645866 -0.1767907 1.403991 -0.3112087 -0.1289065 1.397862 -0.3230438 -0.1338087 1.383066 -0.2939928 -0.1217755 1.403991 -0.3303773 -0.06571578 1.397862 -0.3429414 -0.06821489 1.383066 -0.312101 -0.06208044 1.403991 -0.3368497 3.98883e-7 1.397862 -0.3496599 3.70529e-7 1.383066 -0.3182154 4.7544e-7 1.403991 -0.3303771 0.0657165 1.397862 -0.3429412 0.06821566 1.383066 -0.312101 0.06208109 1.403991 -0.3112084 0.1289072 1.397862 -0.3230435 0.1338095 1.383066 -0.2939926 0.1217761 1.403991 -0.28008 0.1871439 1.397862 -0.2907314 0.194261 1.383066 -0.2645863 0.1767913 1.403991 -0.2381884 0.238189 1.397862 -0.2472466 0.2472472 1.383066 -0.225012 0.2250126 1.403991 -0.1871432 0.2800806 1.397862 -0.1942602 0.2907319 1.383066 -0.1767906 0.2645868 1.403991 -0.1289063 0.3112089 1.397862 -0.1338086 0.3230439 1.383066 -0.1217753 0.293993 1.403991 -0.06571561 0.3303773 1.397862 -0.06821471 0.3429414 1.383066 -0.06208026 0.3121011 1.403991 - - - - - - - - - - 2.7616e-7 0.9704383 0.2413498 0.1420038 0.7139015 -0.6856964 2.09887e-7 0.7278876 -0.6856966 0.1893231 0.9517915 0.2413502 0.2785505 0.6724806 -0.6856964 0.3713704 0.896568 0.2413504 0.4043927 0.6052162 -0.6856967 0.5391466 0.8068898 0.2413503 0.5146944 0.5146942 -0.6856964 0.6862034 0.6862033 0.2413504 0.6052165 0.4043927 -0.6856965 0.8068898 0.5391466 0.2413504 0.6724805 0.2785506 -0.6856964 0.8965678 0.3713706 0.2413503 0.7139014 0.1420038 -0.6856966 0.9517915 0.189323 0.2413503 0.7278876 0 -0.6856965 0.9704381 2.48731e-7 0.2413504 0.7139015 -0.1420038 -0.6856966 0.9517915 -0.189323 0.2413503 0.6724805 -0.2785504 -0.6856966 0.896568 -0.3713704 0.2413503 0.6052162 -0.4043926 -0.6856967 0.8068898 -0.5391465 0.2413504 0.5146943 -0.5146943 -0.6856966 0.6862034 -0.6862033 0.2413504 0.4043926 -0.6052164 -0.6856966 0.5391466 -0.8068898 0.2413504 0.2785505 -0.6724806 -0.6856964 0.3713705 -0.8965678 0.2413504 0.1420035 -0.7139016 -0.6856964 0.1893227 -0.9517915 0.2413502 -2.46314e-7 -0.7278876 -0.6856965 -3.23538e-7 -0.9704381 0.2413503 -0.1420042 -0.7139016 -0.6856963 -0.1893235 -0.9517913 0.2413503 -0.2785508 -0.6724802 -0.6856966 -0.371371 -0.8965677 0.2413503 -0.404393 -0.6052166 -0.6856963 -0.5391469 -0.8068895 0.2413502 -0.5146945 -0.514694 -0.6856966 -0.6862037 -0.686203 0.2413503 -0.6052169 -0.4043921 -0.6856964 -0.8068903 -0.5391457 0.2413503 -0.6724808 -0.27855 -0.6856964 -0.8965682 -0.3713698 0.2413504 -0.7139016 -0.1420032 -0.6856964 -0.9517916 -0.1893221 0.2413504 -0.7278876 6.14051e-7 -0.6856966 -0.9704381 9.56276e-7 0.2413504 -0.7139014 0.1420046 -0.6856964 -0.9517912 0.189324 0.2413504 -0.6724804 0.2785511 -0.6856964 -0.8965675 0.3713715 0.2413503 -0.6052159 0.4043937 -0.6856964 -0.8068891 0.5391476 0.2413503 -0.5146937 0.5146949 -0.6856964 -0.6862025 0.6862042 0.2413502 -0.404392 0.6052169 -0.6856966 -0.5391456 0.8068905 0.2413502 -0.2785494 0.672481 -0.6856964 0.5381273 0.8053641 0.2486116 0.6849061 0.6849058 0.2486116 -0.3713691 0.8965685 0.2413502 -0.1420029 0.7139016 -0.6856966 -0.189322 0.9517917 0.2413502 0.9686033 2.65668e-7 0.2486116 0.9219173 -0.1833804 0.3412335 0.9499918 -0.1889649 0.2486116 0.5381271 -0.8053643 0.2486115 -0.8053646 -0.5381265 0.2486117 -0.894873 -0.3706677 0.2486117 -0.1889642 0.949992 0.2486116 -0.1889656 -0.9499917 0.2486116 -0.3706688 -0.8948726 0.2486118 -0.8053635 0.5381284 0.2486116 0.8053643 0.538127 0.2486116 0.3706682 -0.8948729 0.2486116 -0.949992 -0.1889644 0.2486116 2.03336e-7 0.9686034 0.2486115 0.1889652 0.9499919 0.2486116 0.8948728 -0.3706684 0.2486116 -0.5381276 -0.805364 0.2486116 -0.6849051 0.6849068 0.2486115 0.8948727 0.3706687 0.2486116 0.1889648 -0.949992 0.2486116 -0.9686033 5.97905e-7 0.2486116 0.3706685 0.8948728 0.2486115 0.8053643 -0.5381271 0.2486116 -0.6849064 -0.6849056 0.2486117 -0.5381262 0.8053649 0.2486115 0.9499918 0.1889651 0.2486116 -3.77624e-7 -0.9686033 0.2486116 -0.9499917 0.1889657 0.2486115 0.684906 -0.6849058 0.2486116 -0.3706669 0.8948734 0.2486115 -0.8948724 0.3706694 0.2486116 0.7815639 -0.522224 0.3412331 0.6609364 -0.6609354 0.3554258 0.6646658 -0.6646649 0.3412331 -0.9219174 -0.18338 0.3412333 0.8684269 -0.3597146 0.3412337 -0.9399787 1.26504e-6 0.3412334 -0.921917 0.1833817 0.3412333 -0.8684262 0.3597156 0.341234 0.5222238 -0.7815638 0.3412336 -0.781563 0.522225 0.3412337 0.3597141 -0.868427 0.3412336 0.1833807 0.9219172 0.3412337 -0.6646648 0.6646659 0.3412331 0.1833804 -0.9219174 0.3412331 0.3597145 0.8684269 0.3412337 -0.5222229 0.7815645 0.3412333 -5.28827e-7 -0.9399784 0.3412341 0.5222246 0.7815638 0.3412326 -0.3597127 0.8684276 0.3412334 -0.1833812 -0.9219172 0.3412331 0.6646651 0.6646655 0.3412333 -0.1833801 0.9219173 0.3412338 -0.3597146 -0.8684268 0.3412335 0.7815637 0.5222244 0.3412332 0 0.939979 0.3412325 -0.5222246 -0.7815636 0.3412332 0.8684272 0.3597141 0.3412331 -0.6646654 -0.664665 0.3412337 0.9219172 0.1833807 0.3412334 -0.781564 -0.5222237 0.3412334 0.9399787 0 0.3412335 -0.868427 -0.3597139 0.3412339 0.3576958 -0.8635543 0.3554261 0.1844111 -0.9271012 0.3263067 0.1823515 -0.9167446 0.3554257 -0.8635536 0.3576971 0.3554266 0.5192938 -0.7771784 0.3554262 -0.7771778 0.5192947 0.3554261 0 0.9347047 0.3554255 0.1823518 0.9167442 0.3554266 -0.6609357 0.6609364 0.3554254 0.3576961 0.8635541 0.3554264 -0.5192929 0.7771793 0.3554258 -5.02704e-7 -0.934704 0.3554271 0.5192947 0.7771784 0.3554251 -0.3576943 0.863555 0.355426 -0.1823523 -0.9167443 0.355426 0.6609361 0.6609358 0.3554257 -0.1823512 0.9167443 0.3554265 -0.3576965 -0.8635541 0.3554261 0.7771785 0.5192941 0.3554257 -0.5192946 -0.7771781 0.3554257 0.8635544 0.357696 0.3554258 -0.6609362 -0.6609354 0.3554262 0.9167444 0.1823518 0.355426 -0.7771788 -0.5192934 0.3554258 0.9347046 2.66284e-7 0.3554258 -0.8635544 -0.3576954 0.3554264 0.9167445 -0.1823511 0.3554259 -0.9167446 -0.1823512 0.3554258 0.8635542 -0.3576959 0.3554262 -0.9347045 7.24192e-7 0.355426 0.7771787 -0.5192938 0.3554258 -0.9167444 0.1823524 0.3554258 -0.1844121 -0.9271008 0.3263073 -0.3599764 -0.8690595 0.3393416 -0.3617371 -0.8733101 0.3263065 0.3617368 0.87331 0.326307 -0.5251594 0.7859591 0.3263067 -4.32602e-7 -0.9452639 0.3263072 0.5251606 0.7859584 0.3263064 -0.3617359 0.8733105 0.3263067 0.6684027 0.6684024 0.3263068 -0.1844109 0.9271013 0.3263064 0.785959 0.52516 0.3263058 0 0.9452641 0.3263065 -0.5251612 -0.785958 0.3263065 0.8733101 0.3617366 0.3263067 -0.6684027 -0.6684025 0.3263066 0.9271014 0.1844118 0.3263057 -0.7859593 -0.5251595 0.3263062 0.9452639 0 0.3263069 -0.8733102 -0.3617364 0.3263071 0.9271012 -0.1844118 0.3263062 -0.927101 -0.1844108 0.326307 0.8733099 -0.361737 0.326307 -0.9452639 1.14588e-6 0.326307 0.7859584 -0.5251606 0.3263066 -0.9271008 0.184413 0.3263066 0.6684029 -0.6684024 0.3263065 -0.8733096 0.3617379 0.3263068 0.5251607 -0.7859581 0.3263073 -0.7859575 0.5251621 0.3263064 0.3617369 -0.87331 0.3263067 0.184412 0.9271011 0.3263063 -0.668402 0.668403 0.3263071 -0.6651498 -0.665149 0.3393415 -0.7733893 -0.5167618 0.367187 -0.7821338 -0.5226032 0.3393414 0.7821339 0.5226038 0.3393406 0 0.9406633 0.3393416 -0.5226052 -0.7821325 0.3393414 0.8690596 0.3599761 0.3393418 0.922589 0.1835144 0.3393408 0.9406631 0 0.3393421 -0.8690596 -0.3599758 0.3393421 0.922589 -0.1835141 0.3393411 -0.9225887 -0.1835135 0.3393419 0.8690594 -0.3599763 0.3393419 -0.940663 8.02216e-7 0.3393422 0.7821329 -0.5226044 0.3393415 -0.9225885 0.1835152 0.3393416 0.6651496 -0.6651493 0.3393413 -0.8690591 0.359977 0.3393419 0.5226047 -0.7821327 0.3393421 -0.7821323 0.5226056 0.3393414 0.3599764 -0.8690596 0.3393413 0.1835144 0.9225888 0.3393414 -0.6651489 0.6651495 0.3393422 0.1835136 -0.922589 0.3393414 0.3599762 0.8690593 0.3393421 -0.5226034 0.7821336 0.339342 -3.71396e-7 -0.940663 0.3393422 0.5226046 0.7821329 0.3393414 -0.3599752 0.8690599 0.3393417 -0.1835144 -0.9225883 0.3393425 0.6651496 0.665149 0.3393418 -0.1835133 0.922589 0.3393412 -0.9122755 -0.1814616 0.3671854 -0.9235488 8.95897e-7 0.3834811 -0.9301471 3.62214e-7 0.3671873 0.9301472 -2.04729e-7 0.3671869 -0.8593438 -0.3559516 0.3671879 0.9122751 -0.1814622 0.3671861 0.859345 -0.3559512 0.3671855 0.7733902 -0.5167613 0.3671858 -0.9122757 0.1814628 0.3671844 0.6577123 -0.6577143 0.3671872 -0.8593435 0.3559532 0.367187 0.516763 -0.7733888 0.3671866 -0.7733868 0.5167643 0.3671889 0.3559505 -0.8593441 0.3671881 0.181463 0.9122751 0.3671857 -0.6577135 0.6577143 0.3671852 0.1814622 -0.912275 0.3671864 0.3559526 0.8593438 0.3671864 -0.5167614 0.7733901 0.3671861 -2.88721e-7 -0.9301474 0.3671864 0.5167613 0.7733893 0.3671876 -0.3559502 0.8593447 0.3671868 -0.1814627 -0.9122748 0.3671867 0.6577109 0.657715 0.3671886 -0.1814619 0.9122752 0.3671861 -0.3559528 -0.8593439 0.3671864 0.7733896 0.516762 0.3671863 1.57484e-7 0.9301472 0.3671871 -0.5167616 -0.7733895 0.367187 0.859344 0.355952 0.3671869 -0.6577124 -0.6577134 0.3671886 0.9122758 0.181462 0.3671844 -0.8532471 0.3534281 0.3834814 -0.7792481 0.5206791 0.3488061 -0.7679002 0.5130982 0.3834834 0.8532488 -0.353426 0.3834797 0.7679039 -0.5130954 0.38348 -0.905804 0.1801759 0.3834785 0.6530463 -0.6530487 0.3834815 0.5130972 -0.7679024 0.3834806 0.3534255 -0.8532479 0.3834823 0.1801756 0.9058036 0.3834798 -0.6530478 0.6530484 0.3834793 0.180175 -0.9058034 0.3834805 0.353428 0.8532477 0.3834806 -0.5130954 0.7679037 0.3834801 -2.70151e-7 -0.9235489 0.3834806 0.5130956 0.767903 0.3834816 -0.3534251 0.8532486 0.383481 -0.1801754 -0.905803 0.3834809 0.6530448 0.6530493 0.3834829 -0.1801747 0.9058036 0.38348 -0.3534279 -0.8532476 0.3834805 0.7679032 0.513096 0.3834806 0 0.9235488 0.3834811 -0.5130959 -0.767903 0.383481 0.8532478 0.3534267 0.3834811 -0.6530467 -0.6530476 0.3834827 0.9058043 0.1801748 0.3834784 -0.7679031 -0.5130956 0.3834812 0.9235488 -4.15907e-7 0.3834811 -0.8532475 -0.3534265 0.383482 0.9058032 -0.1801753 0.3834807 -0.9058041 -0.1801742 0.3834792 -0.7792482 -0.520678 0.3488076 -0.8606447 -0.3564898 0.3636013 -0.8658555 -0.3586482 0.3488066 0.3586499 -0.8658547 0.3488065 0.1828374 0.919187 0.348806 -0.6626957 0.6626977 0.3488068 0.182837 -0.9191873 0.3488057 0.3586504 0.8658548 0.3488056 -0.5206773 0.7792493 0.3488063 -6.21743e-7 -0.9371946 0.3488071 0.5206772 0.7792491 0.3488066 -0.3586491 0.8658552 0.3488059 -0.182838 -0.9191872 0.3488056 0.6626973 0.6626962 0.3488067 -0.1828362 0.9191872 0.3488063 -0.3586502 -0.8658548 0.3488058 0.7792509 0.520676 0.3488044 0 0.9371951 0.348806 -0.5206779 -0.7792485 0.3488069 0.8658545 0.3586498 0.3488072 -0.6626976 -0.6626963 0.3488059 0.9191875 0.1828373 0.3488049 0.9371951 9.70334e-7 0.3488056 0.919187 -0.1828376 0.3488065 -0.9191876 -0.1828365 0.3488053 0.8658559 -0.3586486 0.3488048 -0.9371948 2.05513e-7 0.3488064 0.7792485 -0.5206778 0.348807 -0.9191864 0.1828385 0.3488072 0.6626971 -0.6626965 0.3488066 -0.8658555 0.3586493 0.3488051 0.5206773 -0.7792494 0.3488062 -0.9315548 4.81618e-7 0.363601 -0.691844 0.1376171 0.7088114 -0.9136549 0.1817384 0.3636015 0.9136552 -0.1817375 0.363601 -0.9136562 -0.1817356 0.3635993 0.8606452 -0.3564903 0.3635995 0.7745591 -0.5175444 0.3636015 0.658709 -0.6587084 0.3636012 -0.8606451 0.3564909 0.3635993 0.5175435 -0.7745601 0.3636007 -0.7745588 0.5175455 0.3636006 0.3564913 -0.8606442 0.363601 0.181737 0.9136554 0.3636007 -0.6587074 0.6587097 0.3636016 0.1817364 -0.9136559 0.3635999 0.3564918 0.8606443 0.3636003 -0.5175438 0.7745597 0.3636009 -6.51308e-7 -0.9315546 0.3636016 0.5175434 0.7745598 0.3636013 -0.3564909 0.8606446 0.3636003 -0.1817376 -0.9136555 0.3636 0.6587089 0.6587083 0.3636013 -0.1817358 0.9136556 0.3636009 -0.3564921 -0.8606442 0.3636 0.7745617 0.5175426 0.3635985 1.43487e-7 0.9315549 0.3636009 -0.5175446 -0.774559 0.3636013 0.8606439 0.3564913 0.3636018 -0.6587094 -0.6587084 0.3636004 0.913656 0.1817367 0.3635995 -0.7745583 -0.5175449 0.3636026 0.9315554 5.47747e-7 0.3635994 0.4987643 -0.4987643 0.7088501 -0.6517025 0.2699452 0.7088114 0.3918984 -0.586517 0.7088113 -0.5865166 0.3918991 0.7088113 0.269944 -0.651703 0.7088113 0.1376165 0.6918441 0.7088113 -0.4987913 0.4987923 0.7088113 0.1376051 -0.6917902 0.7088661 0.2699445 0.6517028 0.7088113 -0.3918975 0.5865176 0.7088114 -2.99204e-7 -0.7053592 0.7088501 0.3918766 0.5864848 0.7088501 -0.2699431 0.6517034 0.7088114 -0.1376166 -0.6918441 0.7088113 0.4987919 0.4987918 0.7088113 -0.1376156 0.6918443 0.7088113 -0.2699444 -0.6517028 0.7088113 0.5865172 0.3918982 0.7088113 0 0.7053982 0.7088113 -0.3918985 -0.5865169 0.7088113 0.6517029 0.2699444 0.7088113 -0.4987921 -0.4987915 0.7088113 0.6918441 0.1376164 0.7088113 -0.5865173 -0.3918979 0.7088113 0.7053982 3.19392e-7 0.7088113 -0.6516671 -0.2699289 0.7088501 0.6918442 -0.1376159 0.7088113 -0.6918442 -0.1376157 0.7088113 0.6516522 -0.2699229 0.7088661 -0.7053982 5.88354e-7 0.7088114 0.5864713 -0.3918678 0.7088661 0.4550097 -0.304023 0.8369804 0.3869743 -0.386972 0.836961 -0.5472611 1.58606e-6 0.8369619 -0.5367458 0.1067661 0.8369618 0.5055655 -0.209411 0.836989 -0.5367441 -0.1067664 0.8369628 0.5367025 -0.1067575 0.8369906 -0.5056055 -0.2094278 0.8369607 0.5472624 -1.79281e-7 0.8369612 -0.4550096 -0.3040228 0.8369806 -0.1051814 0.03190606 0.9939411 -0.06761795 0.006660103 0.9976891 -0.05992388 0.03203022 0.997689 0.5367465 0.1067653 0.8369615 -0.3869746 -0.3869722 0.8369607 -0.09711945 0.02946043 0.9948367 -0.3684083 0.159346 0.9159062 0.5056052 0.2094277 0.8369609 -0.3040409 -0.4550322 0.8369617 -0.0971226 0.02946162 0.9948363 -0.394862 0.07219016 0.9159 0.4550313 0.3040422 0.8369616 -0.2094296 -0.5056031 0.8369617 -0.1067656 0.536746 0.8369617 4.04829e-7 0.547262 0.8369614 0.3869733 0.386973 0.836961 -0.1067657 -0.5367465 0.8369613 -0.2094269 0.505604 0.8369618 0.3040435 0.4550307 0.8369615 6.71942e-7 -0.5472608 0.8369622 -0.3040412 0.4550339 0.8369606 0.2094169 0.5055761 0.8369812 0.1067576 -0.5367177 0.8369808 -0.105192 0.03190952 0.9939399 -0.3869741 0.3869722 0.8369609 0.1067647 0.5367473 0.8369609 0.2094117 -0.5055636 0.8369899 -0.4550294 0.3040441 0.8369621 0.3040416 -0.4550309 0.8369622 -0.5056063 0.2094275 0.8369603 4.13293e-7 0.8533241 0.5213809 0.326552 0.7883685 0.5213818 -0.4740796 0.7095146 0.5213806 3.81688e-7 -0.8533229 0.5213831 0.1664747 0.836928 0.5213808 -0.3265517 0.7883691 0.521381 -0.166475 -0.8369273 0.5213816 0.6033922 0.6033911 0.52138 -0.1664745 0.8369271 0.5213823 -0.3265532 -0.7883679 0.521382 0.7095143 0.4740804 0.5213802 -0.474079 -0.7095134 0.5213826 0.7883678 0.3265531 0.5213823 0.4740824 0.7095118 0.5213817 -0.6033946 -0.6033897 0.5213789 0.8369263 0.1664754 0.5213832 -0.7095137 -0.4740797 0.5213817 0.8533236 -2.09078e-7 0.5213817 -0.7883694 -0.3265523 0.5213801 0.8369265 -0.1664762 0.5213826 -0.8369273 -0.1664755 0.5213816 0.7883706 -0.326552 0.5213788 -0.8533235 1.66533e-6 0.521382 0.7095127 -0.4740807 0.5213822 -0.8369255 0.1664768 0.521384 0.6033926 -0.6033905 0.5213803 -0.7883695 0.3265529 0.5213797 0.4740808 -0.7095119 0.5213831 -0.7095093 0.4740835 0.5213841 0.3265527 -0.7883685 0.5213813 -0.6033929 0.6033906 0.5213797 0.1664743 -0.8369284 0.52138 5.12417e-7 0.5656014 0.8246788 0.1103435 0.5547329 0.8246793 5.77506e-7 0.167822 0.9858174 0.03274255 0.1645976 0.9858173 0.2164429 0.5225472 0.8246799 0.06422066 0.1550481 0.9858174 0.314231 0.47028 0.824679 0.09324187 0.1395394 0.9858168 0.3999391 0.3999407 0.8246795 0.1186648 0.1186685 0.9858177 0.4702817 0.3142305 0.8246784 0.1395357 0.09323716 0.9858178 0.5225456 0.2164462 0.82468 0.1550474 0.06422293 0.9858174 0.5547312 0.1103436 0.8246804 0.1646047 0.03274047 0.9858161 0.5656009 0 0.8246791 0.1678216 0 0.9858174 0.5547367 -0.1103435 0.8246766 0.1645926 -0.03274041 0.9858182 0.5225483 -0.2164461 0.8246784 0.1550461 -0.06422281 0.9858176 0.4702746 -0.3142326 0.8246815 0.1395379 -0.09323722 0.9858174 0.3999417 -0.3999401 0.8246785 0.1186738 -0.1186681 0.9858166 0.314233 -0.4702792 0.8246787 0.09323358 -0.1395397 0.9858175 0.2164456 -0.5225476 0.824679 0.06422221 -0.1550477 0.9858174 0.1103447 -0.5547331 0.824679 0.03273832 -0.1645975 0.9858174 -1.54347e-6 -0.5656006 0.8246794 -1.36727e-6 -0.1678222 0.9858173 -0.1103437 -0.5547336 0.8246788 -0.03274095 -0.1645982 0.9858172 -0.2164452 -0.5225474 0.8246791 -0.06422317 -0.1550477 0.9858173 -0.3142301 -0.4702796 0.8246796 -0.09323364 -0.1395392 0.9858176 -0.3999444 -0.3999396 0.8246775 -0.1186732 -0.1186683 0.9858167 -0.470274 -0.3142318 0.8246823 -0.1395315 -0.09323716 0.9858185 -0.5225458 -0.2164456 0.8246801 -0.1550448 -0.06422293 0.9858177 -0.5547379 -0.1103422 0.824676 -0.1645995 -0.03274023 0.985817 -0.5656037 4.96247e-7 0.8246772 -0.167824 1.97301e-7 0.985817 -0.4702783 0.3142315 0.8246799 -0.1395311 0.09323763 0.9858184 -0.3999427 0.3999404 0.8246778 -0.1186697 0.1186683 0.9858171 -0.314229 0.4702801 0.8246799 -0.09323418 0.1395396 0.9858174 -0.2164467 0.5225479 0.8246785 -0.06422281 0.1550475 0.9858173 -0.1103424 0.5547325 0.8246796 -0.03274047 0.1645977 0.9858173 - - - - - - - - - - 0.3996399 0.01698368 0.3746623 0 0.3996399 0 0.3746623 0.01698368 0.3496848 0 0.3746623 0 0.3496848 0.01698368 0.3247073 0 0.3496848 0 0.3247073 0.01698368 0.2997298 0 0.3247073 0 0.2997298 0.01698368 0.2747523 0 0.2997298 0 0.2747523 0.01698368 0.2497748 0 0.2747523 0 0.2497748 0.01698368 0.2247973 0 0.2497748 0 0.2247973 0.01698368 0.1998199 0 0.2247973 0 0.1998199 0.01698368 0.1748424 0 0.1998199 0 0.1748424 0.01698368 0.1498649 0 0.1748424 0 0.1498649 0.01698368 0.1248874 0 0.1498649 0 0.1248874 0.01698368 0.09990996 0 0.1248874 0 0.09990996 0.01698368 0.07493245 0 0.09990996 0 0.07493245 0.01698368 0.04995495 0 0.07493245 0 0.04995495 0.01698368 0.0249775 0 0.04995495 0 0.0249775 0.01698368 0 0 0.0249775 0 0.7992797 0.01698368 0.7743022 0 0.7992797 0 0.7743022 0.01698368 0.7493247 0 0.7743022 0 0.7493247 0.01698368 0.7243472 0 0.7493247 0 0.7243472 0.01698368 0.6993697 0 0.7243472 0 0.6993697 0.01698368 0.6743922 0 0.6993697 0 0.6743922 0.01698368 0.6494147 0 0.6743922 0 0.6494147 0.01698368 0.6244372 0 0.6494147 0 0.6244372 0.01698368 0.5994597 0 0.6244372 0 0.5994597 0.01698368 0.5744822 0 0.5994597 0 0.5744822 0.01698368 0.5495046 0 0.5744822 0 0.5495046 0.01698368 0.5245271 0 0.5495046 0 0.5245271 0.01698368 0.4995496 0 0.5245271 0 0.4995496 0.01698368 0.4745721 0 0.4995496 0 0.4745721 0.01698368 0.4495946 0 0.4745721 0 0.2997298 0.01698368 0.3247073 0.05879116 0.2997298 0.05879116 0.4495946 0.01698368 0.4246171 0 0.4495946 0 0.4246171 0.01698368 0.3996399 0 0.4246171 0 0.5031104 0.8793821 0.3605334 0.7056515 0.5342642 0.5630747 0.1998199 0.05879116 0.1748424 0.1369087 0.1748424 0.05879116 0.09990996 0.01698368 0.07493245 0.05879116 0.07493245 0.01698368 0.6494147 0.01698368 0.6743922 0.05879116 0.6494147 0.05879116 0.4495946 0.01698368 0.4246171 0.05879116 0.4246171 0.01698368 0.1998199 0.01698368 0.1748424 0.05879116 0.1748424 0.01698368 0.7493247 0.01698368 0.7743022 0.05879116 0.7493247 0.05879116 0.5495046 0.01698368 0.5245271 0.05879116 0.5245271 0.01698368 0.2997298 0.01698368 0.2747523 0.05879116 0.2747523 0.01698368 0.07493245 0.01698368 0.04995495 0.05879116 0.04995495 0.01698368 0.6494147 0.01698368 0.6244372 0.05879116 0.6244372 0.01698368 0.3746623 0.01698368 0.3996399 0.05879116 0.3746623 0.05879116 0.4246171 0.01698368 0.3996399 0.05879116 0.3996399 0.01698368 0.1748424 0.01698368 0.1498649 0.05879116 0.1498649 0.01698368 0.7493247 0.01698368 0.7243472 0.05879116 0.7243472 0.01698368 0.5245271 0.01698368 0.4995496 0.05879116 0.4995496 0.01698368 0.2747523 0.01698368 0.2497748 0.05879116 0.2497748 0.01698368 0.04995495 0.01698368 0.0249775 0.05879116 0.0249775 0.01698368 0.6244372 0.01698368 0.5994597 0.05879116 0.5994597 0.01698368 0.3746623 0.01698368 0.3496848 0.05879116 0.3496848 0.01698368 0.1498649 0.01698368 0.1248874 0.05879116 0.1248874 0.01698368 0.6993697 0.01698368 0.7243472 0.05879116 0.6993697 0.05879116 0.4745721 0.01698368 0.4995496 0.05879116 0.4745721 0.05879116 0.2497748 0.01698368 0.2247973 0.05879116 0.2247973 0.01698368 0.0249775 0.01698368 0 0.05879116 0 0.01698368 0.5744822 0.01698368 0.5994597 0.05879116 0.5744822 0.05879116 0.3247073 0.01698368 0.3496848 0.05879116 0.3247073 0.05879116 0.1248874 0.01698368 0.09990996 0.05879116 0.09990996 0.01698368 0.6993697 0.01698368 0.6743922 0.05879116 0.6743922 0.01698368 0.4495946 0.01698368 0.4745721 0.05879116 0.4495946 0.05879116 0.2247973 0.01698368 0.1998199 0.05879116 0.1998199 0.01698368 0.7992797 0.01698368 0.7743022 0.05879116 0.7743022 0.01698368 0.5495046 0.01698368 0.5744822 0.05879116 0.5495046 0.05879116 0.1248874 0.1369087 0.09990996 0.1441543 0.09990996 0.1369087 0.6494147 0.05879116 0.6244372 0.1369087 0.6244372 0.05879116 0.1748424 0.05879116 0.1498649 0.1369087 0.1498649 0.05879116 0.6244372 0.05879116 0.5994597 0.1369087 0.5994597 0.05879116 0.1498649 0.05879116 0.1248874 0.1369087 0.1248874 0.05879116 0.5994597 0.05879116 0.5744822 0.1369087 0.5744822 0.05879116 0.1248874 0.05879116 0.09990996 0.1369087 0.09990996 0.05879116 0.5744822 0.05879116 0.5495046 0.1369087 0.5495046 0.05879116 0.09990996 0.05879116 0.07493245 0.1369087 0.07493245 0.05879116 0.5495046 0.05879116 0.5245271 0.1369087 0.5245271 0.05879116 0.07493245 0.05879116 0.04995495 0.1369087 0.04995495 0.05879116 0.3996399 0.05879116 0.3746623 0.1369087 0.3746623 0.05879116 0.5245271 0.05879116 0.4995496 0.1369087 0.4995496 0.05879116 0.04995495 0.05879116 0.0249775 0.1369087 0.0249775 0.05879116 0.3746623 0.05879116 0.3496848 0.1369087 0.3496848 0.05879116 0.4995496 0.05879116 0.4745721 0.1369087 0.4745721 0.05879116 0.0249775 0.05879116 0 0.1369087 0 0.05879116 0.3496848 0.05879116 0.3247073 0.1369087 0.3247073 0.05879116 0.4745721 0.05879116 0.4495946 0.1369087 0.4495946 0.05879116 0.7992797 0.05879116 0.7743022 0.1369087 0.7743022 0.05879116 0.3247073 0.05879116 0.2997298 0.1369087 0.2997298 0.05879116 0.4495946 0.05879116 0.4246171 0.1369087 0.4246171 0.05879116 0.7743022 0.05879116 0.7493247 0.1369087 0.7493247 0.05879116 0.2997298 0.05879116 0.2747523 0.1369087 0.2747523 0.05879116 0.4246171 0.05879116 0.3996399 0.1369087 0.3996399 0.05879116 0.7493247 0.05879116 0.7243472 0.1369087 0.7243472 0.05879116 0.2747523 0.05879116 0.2497748 0.1369087 0.2497748 0.05879116 0.7243472 0.05879116 0.6993697 0.1369087 0.6993697 0.05879116 0.2497748 0.05879116 0.2247973 0.1369087 0.2247973 0.05879116 0.6993697 0.05879116 0.6743922 0.1369087 0.6743922 0.05879116 0.2247973 0.05879116 0.1998199 0.1369087 0.1998199 0.05879116 0.6743922 0.05879116 0.6494147 0.1369087 0.6494147 0.05879116 0.04995495 0.1441543 0.0249775 0.2251324 0.0249775 0.1441543 0.5744822 0.1369087 0.5495046 0.1441543 0.5495046 0.1369087 0.09990996 0.1369087 0.07493245 0.1441543 0.07493245 0.1369087 0.5245271 0.1369087 0.5495046 0.1441543 0.5245271 0.1441543 0.04995495 0.1369087 0.07493245 0.1441543 0.04995495 0.1441543 0.3746623 0.1369087 0.3996399 0.1441543 0.3746623 0.1441543 0.4995496 0.1369087 0.5245271 0.1441543 0.4995496 0.1441543 0.0249775 0.1369087 0.04995495 0.1441543 0.0249775 0.1441543 0.3746623 0.1369087 0.3496848 0.1441543 0.3496848 0.1369087 0.4995496 0.1369087 0.4745721 0.1441543 0.4745721 0.1369087 0.0249775 0.1369087 0 0.1441543 0 0.1369087 0.3496848 0.1369087 0.3247073 0.1441543 0.3247073 0.1369087 0.4745721 0.1369087 0.4495946 0.1441543 0.4495946 0.1369087 0.7992797 0.1369087 0.7743022 0.1441543 0.7743022 0.1369087 0.3247073 0.1369087 0.2997298 0.1441543 0.2997298 0.1369087 0.4246171 0.1369087 0.4495946 0.1441543 0.4246171 0.1441543 0.7743022 0.1369087 0.7493247 0.1441543 0.7493247 0.1369087 0.2997298 0.1369087 0.2747523 0.1441543 0.2747523 0.1369087 0.4246171 0.1369087 0.3996399 0.1441543 0.3996399 0.1369087 0.7493247 0.1369087 0.7243472 0.1441543 0.7243472 0.1369087 0.2747523 0.1369087 0.2497748 0.1441543 0.2497748 0.1369087 0.7243472 0.1369087 0.6993697 0.1441543 0.6993697 0.1369087 0.2497748 0.1369087 0.2247973 0.1441543 0.2247973 0.1369087 0.6993697 0.1369087 0.6743922 0.1441543 0.6743922 0.1369087 0.2247973 0.1369087 0.1998199 0.1441543 0.1998199 0.1369087 0.6743922 0.1369087 0.6494147 0.1441543 0.6494147 0.1369087 0.1998199 0.1369087 0.1748424 0.1441543 0.1748424 0.1369087 0.6244372 0.1369087 0.6494147 0.1441543 0.6244372 0.1441543 0.1748424 0.1369087 0.1498649 0.1441543 0.1498649 0.1369087 0.6244372 0.1369087 0.5994597 0.1441543 0.5994597 0.1369087 0.1248874 0.1369087 0.1498649 0.1441543 0.1248874 0.1441543 0.5744822 0.1369087 0.5994597 0.1441543 0.5744822 0.1441543 0.7743022 0.2251324 0.7493247 0.231727 0.7493247 0.2251324 0.3746623 0.1441543 0.3496848 0.2251324 0.3496848 0.1441543 0.4995496 0.1441543 0.4745721 0.2251324 0.4745721 0.1441543 0.0249775 0.1441543 0 0.2251324 0 0.1441543 0.3496848 0.1441543 0.3247073 0.2251324 0.3247073 0.1441543 0.4745721 0.1441543 0.4495946 0.2251324 0.4495946 0.1441543 0.7992797 0.1441543 0.7743022 0.2251324 0.7743022 0.1441543 0.3247073 0.1441543 0.2997298 0.2251324 0.2997298 0.1441543 0.4495946 0.1441543 0.4246171 0.2251324 0.4246171 0.1441543 0.7743022 0.1441543 0.7493247 0.2251324 0.7493247 0.1441543 0.2997298 0.1441543 0.2747523 0.2251324 0.2747523 0.1441543 0.4246171 0.1441543 0.3996399 0.2251324 0.3996399 0.1441543 0.7493247 0.1441543 0.7243472 0.2251324 0.7243472 0.1441543 0.2747523 0.1441543 0.2497748 0.2251324 0.2497748 0.1441543 0.7243472 0.1441543 0.6993697 0.2251324 0.6993697 0.1441543 0.2497748 0.1441543 0.2247973 0.2251324 0.2247973 0.1441543 0.6993697 0.1441543 0.6743922 0.2251324 0.6743922 0.1441543 0.2247973 0.1441543 0.1998199 0.2251324 0.1998199 0.1441543 0.6743922 0.1441543 0.6494147 0.2251324 0.6494147 0.1441543 0.1998199 0.1441543 0.1748424 0.2251324 0.1748424 0.1441543 0.6494147 0.1441543 0.6244372 0.2251324 0.6244372 0.1441543 0.1748424 0.1441543 0.1498649 0.2251324 0.1498649 0.1441543 0.6244372 0.1441543 0.5994597 0.2251324 0.5994597 0.1441543 0.1498649 0.1441543 0.1248874 0.2251324 0.1248874 0.1441543 0.5994597 0.1441543 0.5744822 0.2251324 0.5744822 0.1441543 0.1248874 0.1441543 0.09990996 0.2251324 0.09990996 0.1441543 0.5744822 0.1441543 0.5495046 0.2251324 0.5495046 0.1441543 0.09990996 0.1441543 0.07493245 0.2251324 0.07493245 0.1441543 0.5495046 0.1441543 0.5245271 0.2251324 0.5245271 0.1441543 0.07493245 0.1441543 0.04995495 0.2251324 0.04995495 0.1441543 0.3996399 0.1441543 0.3746623 0.2251324 0.3746623 0.1441543 0.5245271 0.1441543 0.4995496 0.2251324 0.4995496 0.1441543 0.6993697 0.231727 0.6743922 0.3131 0.6743922 0.231727 0.2997298 0.2251324 0.2747523 0.231727 0.2747523 0.2251324 0.4246171 0.2251324 0.3996399 0.231727 0.3996399 0.2251324 0.7493247 0.2251324 0.7243472 0.231727 0.7243472 0.2251324 0.2747523 0.2251324 0.2497748 0.231727 0.2497748 0.2251324 0.7243472 0.2251324 0.6993697 0.231727 0.6993697 0.2251324 0.2497748 0.2251324 0.2247973 0.231727 0.2247973 0.2251324 0.6743922 0.2251324 0.6993697 0.231727 0.6743922 0.231727 0.1998199 0.2251324 0.2247973 0.231727 0.1998199 0.231727 0.6494147 0.2251324 0.6743922 0.231727 0.6494147 0.231727 0.1998199 0.2251324 0.1748424 0.231727 0.1748424 0.2251324 0.6494147 0.2251324 0.6244372 0.231727 0.6244372 0.2251324 0.1748424 0.2251324 0.1498649 0.231727 0.1498649 0.2251324 0.5994597 0.2251324 0.6244372 0.231727 0.5994597 0.231727 0.1248874 0.2251324 0.1498649 0.231727 0.1248874 0.231727 0.5994597 0.2251324 0.5744822 0.231727 0.5744822 0.2251324 0.1248874 0.2251324 0.09990996 0.231727 0.09990996 0.2251324 0.5744822 0.2251324 0.5495046 0.231727 0.5495046 0.2251324 0.09990996 0.2251324 0.07493245 0.231727 0.07493245 0.2251324 0.5495046 0.2251324 0.5245271 0.231727 0.5245271 0.2251324 0.04995495 0.2251324 0.07493245 0.231727 0.04995495 0.231727 0.3996399 0.2251324 0.3746623 0.231727 0.3746623 0.2251324 0.4995496 0.2251324 0.5245271 0.231727 0.4995496 0.231727 0.0249775 0.2251324 0.04995495 0.231727 0.0249775 0.231727 0.3746623 0.2251324 0.3496848 0.231727 0.3496848 0.2251324 0.4995496 0.2251324 0.4745721 0.231727 0.4745721 0.2251324 0.0249775 0.2251324 0 0.231727 0 0.2251324 0.3496848 0.2251324 0.3247073 0.231727 0.3247073 0.2251324 0.4745721 0.2251324 0.4495946 0.231727 0.4495946 0.2251324 0.7992797 0.2251324 0.7743022 0.231727 0.7743022 0.2251324 0.3247073 0.2251324 0.2997298 0.231727 0.2997298 0.2251324 0.4246171 0.2251324 0.4495946 0.231727 0.4246171 0.231727 0.6244372 0.3131 0.5994597 0.3163982 0.5994597 0.3131 0.2247973 0.231727 0.1998199 0.3131 0.1998199 0.231727 0.6743922 0.231727 0.6494147 0.3131 0.6494147 0.231727 0.1998199 0.231727 0.1748424 0.3131 0.1748424 0.231727 0.6494147 0.231727 0.6244372 0.3131 0.6244372 0.231727 0.1748424 0.231727 0.1498649 0.3131 0.1498649 0.231727 0.6244372 0.231727 0.5994597 0.3131 0.5994597 0.231727 0.1498649 0.231727 0.1248874 0.3131 0.1248874 0.231727 0.5994597 0.231727 0.5744822 0.3131 0.5744822 0.231727 0.1248874 0.231727 0.09990996 0.3131 0.09990996 0.231727 0.5744822 0.231727 0.5495046 0.3131 0.5495046 0.231727 0.09990996 0.231727 0.07493245 0.3131 0.07493245 0.231727 0.5495046 0.231727 0.5245271 0.3131 0.5245271 0.231727 0.07493245 0.231727 0.04995495 0.3131 0.04995495 0.231727 0.3996399 0.231727 0.3746623 0.3131 0.3746623 0.231727 0.5245271 0.231727 0.4995496 0.3131 0.4995496 0.231727 0.04995495 0.231727 0.0249775 0.3131 0.0249775 0.231727 0.3746623 0.231727 0.3496848 0.3131 0.3496848 0.231727 0.4995496 0.231727 0.4745721 0.3131 0.4745721 0.231727 0.0249775 0.231727 0 0.3131 0 0.231727 0.3496848 0.231727 0.3247073 0.3131 0.3247073 0.231727 0.4745721 0.231727 0.4495946 0.3131 0.4495946 0.231727 0.7992797 0.231727 0.7743022 0.3131 0.7743022 0.231727 0.3247073 0.231727 0.2997298 0.3131 0.2997298 0.231727 0.4495946 0.231727 0.4246171 0.3131 0.4246171 0.231727 0.7743022 0.231727 0.7493247 0.3131 0.7493247 0.231727 0.2997298 0.231727 0.2747523 0.3131 0.2747523 0.231727 0.4246171 0.231727 0.3996399 0.3131 0.3996399 0.231727 0.7493247 0.231727 0.7243472 0.3131 0.7243472 0.231727 0.2747523 0.231727 0.2497748 0.3131 0.2497748 0.231727 0.7243472 0.231727 0.6993697 0.3131 0.6993697 0.231727 0.2497748 0.231727 0.2247973 0.3131 0.2247973 0.231727 0.5495046 0.3163982 0.5245271 0.3989562 0.5245271 0.3163982 0.1248874 0.3131 0.1498649 0.3163982 0.1248874 0.3163982 0.5744822 0.3131 0.5994597 0.3163982 0.5744822 0.3163982 0.09990996 0.3131 0.1248874 0.3163982 0.09990996 0.3163982 0.5495046 0.3131 0.5744822 0.3163982 0.5495046 0.3163982 0.09990996 0.3131 0.07493245 0.3163982 0.07493245 0.3131 0.5245271 0.3131 0.5495046 0.3163982 0.5245271 0.3163982 0.07493245 0.3131 0.04995495 0.3163982 0.04995495 0.3131 0.3996399 0.3131 0.3746623 0.3163982 0.3746623 0.3131 0.5245271 0.3131 0.4995496 0.3163982 0.4995496 0.3131 0.04995495 0.3131 0.0249775 0.3163982 0.0249775 0.3131 0.3496848 0.3131 0.3746623 0.3163982 0.3496848 0.3163982 0.4995496 0.3131 0.4745721 0.3163982 0.4745721 0.3131 0.0249775 0.3131 0 0.3163982 0 0.3131 0.3496848 0.3131 0.3247073 0.3163982 0.3247073 0.3131 0.4745721 0.3131 0.4495946 0.3163982 0.4495946 0.3131 0.7743022 0.3131 0.7992797 0.3163982 0.7743022 0.3163982 0.3247073 0.3131 0.2997298 0.3163982 0.2997298 0.3131 0.4495946 0.3131 0.4246171 0.3163982 0.4246171 0.3131 0.7493247 0.3131 0.7743022 0.3163982 0.7493247 0.3163982 0.2997298 0.3131 0.2747523 0.3163982 0.2747523 0.3131 0.4246171 0.3131 0.3996399 0.3163982 0.3996399 0.3131 0.7493247 0.3131 0.7243472 0.3163982 0.7243472 0.3131 0.2747523 0.3131 0.2497748 0.3163982 0.2497748 0.3131 0.7243472 0.3131 0.6993697 0.3163982 0.6993697 0.3131 0.2497748 0.3131 0.2247973 0.3163982 0.2247973 0.3131 0.6993697 0.3131 0.6743922 0.3163982 0.6743922 0.3131 0.2247973 0.3131 0.1998199 0.3163982 0.1998199 0.3131 0.6494147 0.3131 0.6743922 0.3163982 0.6494147 0.3163982 0.1998199 0.3131 0.1748424 0.3163982 0.1748424 0.3131 0.6494147 0.3131 0.6244372 0.3163982 0.6244372 0.3131 0.1748424 0.3131 0.1498649 0.3163982 0.1498649 0.3131 0.6743922 0.3989562 0.6494147 0.4047766 0.6494147 0.3989562 0.07493245 0.3163982 0.04995495 0.3989562 0.04995495 0.3163982 0.3996399 0.3163982 0.3746623 0.3989562 0.3746623 0.3163982 0.5245271 0.3163982 0.4995496 0.3989562 0.4995496 0.3163982 0.04995495 0.3163982 0.0249775 0.3989562 0.0249775 0.3163982 0.3746623 0.3163982 0.3496848 0.3989562 0.3496848 0.3163982 0.4995496 0.3163982 0.4745721 0.3989562 0.4745721 0.3163982 0.0249775 0.3163982 0 0.3989562 0 0.3163982 0.3496848 0.3163982 0.3247073 0.3989562 0.3247073 0.3163982 0.4745721 0.3163982 0.4495946 0.3989562 0.4495946 0.3163982 0.7992797 0.3163982 0.7743022 0.3989562 0.7743022 0.3163982 0.3247073 0.3163982 0.2997298 0.3989562 0.2997298 0.3163982 0.4495946 0.3163982 0.4246171 0.3989562 0.4246171 0.3163982 0.7743022 0.3163982 0.7493247 0.3989562 0.7493247 0.3163982 0.2997298 0.3163982 0.2747523 0.3989562 0.2747523 0.3163982 0.4246171 0.3163982 0.3996399 0.3989562 0.3996399 0.3163982 0.7493247 0.3163982 0.7243472 0.3989562 0.7243472 0.3163982 0.2747523 0.3163982 0.2497748 0.3989562 0.2497748 0.3163982 0.7243472 0.3163982 0.6993697 0.3989562 0.6993697 0.3163982 0.2497748 0.3163982 0.2247973 0.3989562 0.2247973 0.3163982 0.6993697 0.3163982 0.6743922 0.3989562 0.6743922 0.3163982 0.2247973 0.3163982 0.1998199 0.3989562 0.1998199 0.3163982 0.6743922 0.3163982 0.6494147 0.3989562 0.6494147 0.3163982 0.1998199 0.3163982 0.1748424 0.3989562 0.1748424 0.3163982 0.6494147 0.3163982 0.6244372 0.3989562 0.6244372 0.3163982 0.1748424 0.3163982 0.1498649 0.3989562 0.1498649 0.3163982 0.6244372 0.3163982 0.5994597 0.3989562 0.5994597 0.3163982 0.1498649 0.3163982 0.1248874 0.3989562 0.1248874 0.3163982 0.5994597 0.3163982 0.5744822 0.3989562 0.5744822 0.3163982 0.1248874 0.3163982 0.09990996 0.3989562 0.09990996 0.3163982 0.5744822 0.3163982 0.5495046 0.3989562 0.5495046 0.3163982 0.09990996 0.3163982 0.07493245 0.3989562 0.07493245 0.3163982 0.5994597 0.4047766 0.5744822 0.4849647 0.5744822 0.4047766 0.1998199 0.3989562 0.1748424 0.4047766 0.1748424 0.3989562 0.6244372 0.3989562 0.6494147 0.4047766 0.6244372 0.4047766 0.1748424 0.3989562 0.1498649 0.4047766 0.1498649 0.3989562 0.6244372 0.3989562 0.5994597 0.4047766 0.5994597 0.3989562 0.1498649 0.3989562 0.1248874 0.4047766 0.1248874 0.3989562 0.5994597 0.3989562 0.5744822 0.4047766 0.5744822 0.3989562 0.1248874 0.3989562 0.09990996 0.4047766 0.09990996 0.3989562 0.5495046 0.3989562 0.5744822 0.4047766 0.5495046 0.4047766 0.07493245 0.3989562 0.09990996 0.4047766 0.07493245 0.4047766 0.5495046 0.3989562 0.5245271 0.4047766 0.5245271 0.3989562 0.07493245 0.3989562 0.04995495 0.4047766 0.04995495 0.3989562 0.3996399 0.3989562 0.3746623 0.4047766 0.3746623 0.3989562 0.5245271 0.3989562 0.4995496 0.4047766 0.4995496 0.3989562 0.0249775 0.3989562 0.04995495 0.4047766 0.0249775 0.4047766 0.3746623 0.3989562 0.3496848 0.4047766 0.3496848 0.3989562 0.4995496 0.3989562 0.4745721 0.4047766 0.4745721 0.3989562 0.0249775 0.3989562 0 0.4047766 0 0.3989562 0.3247073 0.3989562 0.3496848 0.4047766 0.3247073 0.4047766 0.4495946 0.3989562 0.4745721 0.4047766 0.4495946 0.4047766 0.7992797 0.3989562 0.7743022 0.4047766 0.7743022 0.3989562 0.3247073 0.3989562 0.2997298 0.4047766 0.2997298 0.3989562 0.4246171 0.3989562 0.4495946 0.4047766 0.4246171 0.4047766 0.7743022 0.3989562 0.7493247 0.4047766 0.7493247 0.3989562 0.2997298 0.3989562 0.2747523 0.4047766 0.2747523 0.3989562 0.4246171 0.3989562 0.3996399 0.4047766 0.3996399 0.3989562 0.7493247 0.3989562 0.7243472 0.4047766 0.7243472 0.3989562 0.2747523 0.3989562 0.2497748 0.4047766 0.2497748 0.3989562 0.6993697 0.3989562 0.7243472 0.4047766 0.6993697 0.4047766 0.2497748 0.3989562 0.2247973 0.4047766 0.2247973 0.3989562 0.6743922 0.3989562 0.6993697 0.4047766 0.6743922 0.4047766 0.2247973 0.3989562 0.1998199 0.4047766 0.1998199 0.3989562 0.1248874 0.4047766 0.09990996 0.4849647 0.09990996 0.4047766 0.5744822 0.4047766 0.5495046 0.4849647 0.5495046 0.4047766 0.09990996 0.4047766 0.07493245 0.4849647 0.07493245 0.4047766 0.5495046 0.4047766 0.5245271 0.4849647 0.5245271 0.4047766 0.07493245 0.4047766 0.04995495 0.4849647 0.04995495 0.4047766 0.3996399 0.4047766 0.3746623 0.4849647 0.3746623 0.4047766 0.5245271 0.4047766 0.4995496 0.4849647 0.4995496 0.4047766 0.04995495 0.4047766 0.0249775 0.4849647 0.0249775 0.4047766 0.3746623 0.4047766 0.3496848 0.4849647 0.3496848 0.4047766 0.4995496 0.4047766 0.4745721 0.4849647 0.4745721 0.4047766 0.0249775 0.4047766 0 0.4849647 0 0.4047766 0.3496848 0.4047766 0.3247073 0.4849647 0.3247073 0.4047766 0.4745721 0.4047766 0.4495946 0.4849647 0.4495946 0.4047766 0.7992797 0.4047766 0.7743022 0.4849647 0.7743022 0.4047766 0.3247073 0.4047766 0.2997298 0.4849647 0.2997298 0.4047766 0.4495946 0.4047766 0.4246171 0.4849647 0.4246171 0.4047766 0.7743022 0.4047766 0.7493247 0.4849647 0.7493247 0.4047766 0.2997298 0.4047766 0.2747523 0.4849647 0.2747523 0.4047766 0.4246171 0.4047766 0.3996399 0.4849647 0.3996399 0.4047766 0.7493247 0.4047766 0.7243472 0.4849647 0.7243472 0.4047766 0.2747523 0.4047766 0.2497748 0.4849647 0.2497748 0.4047766 0.7243472 0.4047766 0.6993697 0.4849647 0.6993697 0.4047766 0.2497748 0.4047766 0.2247973 0.4849647 0.2247973 0.4047766 0.6993697 0.4047766 0.6743922 0.4849647 0.6743922 0.4047766 0.2247973 0.4047766 0.1998199 0.4849647 0.1998199 0.4047766 0.6743922 0.4047766 0.6494147 0.4849647 0.6494147 0.4047766 0.1998199 0.4047766 0.1748424 0.4849647 0.1748424 0.4047766 0.6494147 0.4047766 0.6244372 0.4849647 0.6244372 0.4047766 0.1748424 0.4047766 0.1498649 0.4849647 0.1498649 0.4047766 0.6244372 0.4047766 0.5994597 0.4849647 0.5994597 0.4047766 0.1498649 0.4047766 0.1248874 0.4849647 0.1248874 0.4047766 0.09990996 0.4849647 0.1248874 0.4849647 0.09990996 0.4849647 0.5744822 0.4849647 0.5994597 0.4849647 0.5744822 0.4849647 0.1248874 0.4849647 0.1498649 0.4849647 0.1248874 0.4849647 0.5994597 0.4849647 0.6244372 0.4849647 0.5994597 0.4849647 0.1498649 0.4849647 0.1748424 0.4849647 0.1498649 0.4849647 0.6244372 0.4849647 0.6494147 0.4849647 0.6244372 0.4849647 0.1748424 0.4849647 0.1998199 0.4849647 0.1748424 0.4849647 0.6494147 0.4849647 0.6743922 0.4849647 0.6494147 0.4849647 0.5495046 0.5025558 0.5744822 0.5025558 0.5495046 0.5025558 0.1998199 0.4849647 0.2247973 0.4849647 0.1998199 0.4849647 0.6743922 0.4849647 0.6993697 0.4849647 0.6743922 0.4849647 0.5495046 0.4958927 0.5495046 0.5025558 0.5495046 0.4958927 0.2247973 0.4849647 0.2497748 0.4849647 0.2247973 0.4849647 0.6993697 0.4849647 0.7243472 0.4849647 0.6993697 0.4849647 0.5744822 0.4958927 0.5495046 0.4958927 0.5744822 0.4958927 0.2497748 0.4849647 0.2747523 0.4849647 0.2497748 0.4849647 0.7243472 0.4849647 0.7493247 0.4849647 0.7243472 0.4849647 0.3996399 0.4849647 0.4246171 0.4849647 0.3996399 0.4849647 0.2747523 0.4849647 0.2997298 0.4849647 0.2747523 0.4849647 0.7493247 0.4849647 0.7743022 0.4849647 0.7493247 0.4849647 0.4246171 0.4849647 0.4495946 0.4849647 0.4246171 0.4849647 0.2997298 0.4849647 0.3247073 0.4849647 0.2997298 0.4849647 0.7743022 0.4849647 0.7992797 0.4849647 0.7743022 0.4849647 0.5744822 0.4958927 0.5495046 0.5025558 0.5495046 0.4958927 0.4495946 0.4849647 0.4745721 0.4849647 0.4495946 0.4849647 0.3247073 0.4849647 0.3496848 0.4849647 0.3247073 0.4849647 0 0.4849647 0.0249775 0.4849647 0 0.4849647 0.5744822 0.5025558 0.5744822 0.4958927 0.5744822 0.5025558 0.4745721 0.4849647 0.4995496 0.4849647 0.4745721 0.4849647 0.3496848 0.4849647 0.3746623 0.4849647 0.3496848 0.4849647 0.0249775 0.4849647 0.04995495 0.4849647 0.0249775 0.4849647 0.4995496 0.4849647 0.5245271 0.4849647 0.4995496 0.4849647 0.3746623 0.4849647 0.3996399 0.4849647 0.3746623 0.4849647 0.04995495 0.4849647 0.07493245 0.4849647 0.04995495 0.4849647 0.5245271 0.4849647 0.5495046 0.4849647 0.5245271 0.4849647 0.07493245 0.4849647 0.09990996 0.4849647 0.07493245 0.4849647 0.5495046 0.4849647 0.5744822 0.4849647 0.5495046 0.4849647 0.4246171 0.4849647 0.3996399 0.4892448 0.3996399 0.4849647 0.3746623 0.4849647 0.3496848 0.4892448 0.3496848 0.4849647 0.4995496 0.4849647 0.4745721 0.4892448 0.4745721 0.4849647 0.0249775 0.4849647 0 0.4892448 0 0.4849647 0.3996399 0.4849647 0.3746623 0.4892448 0.3746623 0.4849647 0.4745721 0.4849647 0.4495946 0.4892448 0.4495946 0.4849647 0.7992797 0.4849647 0.7743022 0.4892448 0.7743022 0.4849647 0.3247073 0.4849647 0.2997298 0.4892448 0.2997298 0.4849647 0.4495946 0.4849647 0.4246171 0.4892448 0.4246171 0.4849647 0.7743022 0.4849647 0.7493247 0.4892448 0.7493247 0.4849647 0.2997298 0.4849647 0.2747523 0.4892448 0.2747523 0.4849647 0.7243472 0.4849647 0.7493247 0.4892448 0.7243472 0.4892448 0.2747523 0.4849647 0.2497748 0.4892448 0.2497748 0.4849647 0.3496848 0.4849647 0.3247073 0.4892448 0.3247073 0.4849647 0.7243472 0.4849647 0.6993697 0.4892448 0.6993697 0.4849647 0.2497748 0.4849647 0.2247973 0.4892448 0.2247973 0.4849647 0.6993697 0.4849647 0.6743922 0.4892448 0.6743922 0.4849647 0.2247973 0.4849647 0.1998199 0.4892448 0.1998199 0.4849647 0.6494147 0.4849647 0.6743922 0.4892448 0.6494147 0.4892448 0.1748424 0.4849647 0.1998199 0.4892448 0.1748424 0.4892448 0.6244372 0.4849647 0.6494147 0.4892448 0.6244372 0.4892448 0.1748424 0.4849647 0.1498649 0.4892448 0.1498649 0.4849647 0.6244372 0.4849647 0.5994597 0.4892448 0.5994597 0.4849647 0.1498649 0.4849647 0.1248874 0.4892448 0.1248874 0.4849647 0.5994597 0.4849647 0.5744822 0.4892448 0.5744822 0.4849647 0.09990996 0.4849647 0.1248874 0.4892448 0.09990996 0.4892448 0.5744822 0.4849647 0.5495046 0.4892448 0.5495046 0.4849647 0.07493245 0.4849647 0.09990996 0.4892448 0.07493245 0.4892448 0.5245271 0.4849647 0.5495046 0.4892448 0.5245271 0.4892448 0.04995495 0.4849647 0.07493245 0.4892448 0.04995495 0.4892448 0.5245271 0.4849647 0.4995496 0.4892448 0.4995496 0.4849647 0.0249775 0.4849647 0.04995495 0.4892448 0.0249775 0.4892448 0.3746623 0.4892448 0.3996399 0.4958927 0.3746623 0.4958927 0.3746623 0.4958927 0.3996399 0.5025558 0.3746623 0.5025558 0.3496848 0.4892448 0.3746623 0.4958927 0.3496848 0.4958927 0.3496848 0.4958927 0.3746623 0.5025558 0.3496848 0.5025558 0.3496848 0.4892448 0.3247073 0.4958927 0.3247073 0.4892448 0.3496848 0.4958927 0.3247073 0.5025558 0.3247073 0.4958927 0.3247073 0.4892448 0.2997298 0.4958927 0.2997298 0.4892448 0.3247073 0.4958927 0.2997298 0.5025558 0.2997298 0.4958927 0.2997298 0.4892448 0.2747523 0.4958927 0.2747523 0.4892448 0.2997298 0.4958927 0.2747523 0.5025558 0.2747523 0.4958927 0.2747523 0.4892448 0.2497748 0.4958927 0.2497748 0.4892448 0.2747523 0.4958927 0.2497748 0.5025558 0.2497748 0.4958927 0.2497748 0.4892448 0.2247973 0.4958927 0.2247973 0.4892448 0.2497748 0.4958927 0.2247973 0.5025558 0.2247973 0.4958927 0.2247973 0.4892448 0.1998199 0.4958927 0.1998199 0.4892448 0.2247973 0.4958927 0.1998199 0.5025558 0.1998199 0.4958927 0.1998199 0.4892448 0.1748424 0.4958927 0.1748424 0.4892448 0.1998199 0.4958927 0.1748424 0.5025558 0.1748424 0.4958927 0.1748424 0.4892448 0.1498649 0.4958927 0.1498649 0.4892448 0.1498649 0.4958927 0.1748424 0.5025558 0.1498649 0.5025558 0.1248874 0.4892448 0.1498649 0.4958927 0.1248874 0.4958927 0.1248874 0.4958927 0.1498649 0.5025558 0.1248874 0.5025558 0.1248874 0.4892448 0.09990996 0.4958927 0.09990996 0.4892448 0.1248874 0.4958927 0.09990996 0.5025558 0.09990996 0.4958927 0.07493245 0.4892448 0.09990996 0.4958927 0.07493245 0.4958927 0.09990996 0.4958927 0.07493245 0.5025558 0.07493245 0.4958927 0.07493245 0.4892448 0.04995495 0.4958927 0.04995495 0.4892448 0.07493245 0.4958927 0.04995495 0.5025558 0.04995495 0.4958927 0.04995495 0.4892448 0.0249775 0.4958927 0.0249775 0.4892448 0.04995495 0.4958927 0.0249775 0.5025558 0.0249775 0.4958927 0 0.4892448 0.0249775 0.4958927 0 0.4958927 0 0.4958927 0.0249775 0.5025558 0 0.5025558 0.7743022 0.4892448 0.7992797 0.4958927 0.7743022 0.4958927 0.7743022 0.4958927 0.7992797 0.5025558 0.7743022 0.5025558 0.7743022 0.4892448 0.7493247 0.4958927 0.7493247 0.4892448 0.7743022 0.4958927 0.7493247 0.5025558 0.7493247 0.4958927 0.7493247 0.4892448 0.7243472 0.4958927 0.7243472 0.4892448 0.7493247 0.4958927 0.7243472 0.5025558 0.7243472 0.4958927 0.7243472 0.4892448 0.6993697 0.4958927 0.6993697 0.4892448 0.7243472 0.4958927 0.6993697 0.5025558 0.6993697 0.4958927 0.6743922 0.4892448 0.6993697 0.4958927 0.6743922 0.4958927 0.6743922 0.4958927 0.6993697 0.5025558 0.6743922 0.5025558 0.6743922 0.4892448 0.6494147 0.4958927 0.6494147 0.4892448 0.6743922 0.4958927 0.6494147 0.5025558 0.6494147 0.4958927 0.6494147 0.4892448 0.6244372 0.4958927 0.6244372 0.4892448 0.6494147 0.4958927 0.6244372 0.5025558 0.6244372 0.4958927 0.5994597 0.4892448 0.6244372 0.4958927 0.5994597 0.4958927 0.5994597 0.4958927 0.6244372 0.5025558 0.5994597 0.5025558 0.5744822 0.4892448 0.5994597 0.4958927 0.5744822 0.4958927 0.5744822 0.4958927 0.5994597 0.5025558 0.5744822 0.5025558 0.5744822 0.4892448 0.5495046 0.4958927 0.5495046 0.4892448 0.5495046 0.4892448 0.5245271 0.4958927 0.5245271 0.4892448 0.5495046 0.4958927 0.5245271 0.5025558 0.5245271 0.4958927 0.5245271 0.4892448 0.4995496 0.4958927 0.4995496 0.4892448 0.5245271 0.4958927 0.4995496 0.5025558 0.4995496 0.4958927 0.4995496 0.4892448 0.4745721 0.4958927 0.4745721 0.4892448 0.4745721 0.4958927 0.4995496 0.5025558 0.4745721 0.5025558 0.4495946 0.4892448 0.4745721 0.4958927 0.4495946 0.4958927 0.4745721 0.4958927 0.4495946 0.5025558 0.4495946 0.4958927 0.4246171 0.4892448 0.4495946 0.4958927 0.4246171 0.4958927 0.4246171 0.4958927 0.4495946 0.5025558 0.4246171 0.5025558 0.4246171 0.4892448 0.3996399 0.4958927 0.3996399 0.4892448 0.4246171 0.4958927 0.3996399 0.5025558 0.3996399 0.4958927 0.03434616 0.6542145 0.1552642 0.5549796 0.2544991 0.6758977 0.3996399 0.01698368 0.3746623 0.01698368 0.3746623 0 0.3746623 0.01698368 0.3496848 0.01698368 0.3496848 0 0.3496848 0.01698368 0.3247073 0.01698368 0.3247073 0 0.3247073 0.01698368 0.2997298 0.01698368 0.2997298 0 0.2997298 0.01698368 0.2747523 0.01698368 0.2747523 0 0.2747523 0.01698368 0.2497748 0.01698368 0.2497748 0 0.2497748 0.01698368 0.2247973 0.01698368 0.2247973 0 0.2247973 0.01698368 0.1998199 0.01698368 0.1998199 0 0.1998199 0.01698368 0.1748424 0.01698368 0.1748424 0 0.1748424 0.01698368 0.1498649 0.01698368 0.1498649 0 0.1498649 0.01698368 0.1248874 0.01698368 0.1248874 0 0.1248874 0.01698368 0.09990996 0.01698368 0.09990996 0 0.09990996 0.01698368 0.07493245 0.01698368 0.07493245 0 0.07493245 0.01698368 0.04995495 0.01698368 0.04995495 0 0.04995495 0.01698368 0.0249775 0.01698368 0.0249775 0 0.0249775 0.01698368 0 0.01698368 0 0 0.7992797 0.01698368 0.7743022 0.01698368 0.7743022 0 0.7743022 0.01698368 0.7493247 0.01698368 0.7493247 0 0.7493247 0.01698368 0.7243472 0.01698368 0.7243472 0 0.7243472 0.01698368 0.6993697 0.01698368 0.6993697 0 0.6993697 0.01698368 0.6743922 0.01698368 0.6743922 0 0.6743922 0.01698368 0.6494147 0.01698368 0.6494147 0 0.6494147 0.01698368 0.6244372 0.01698368 0.6244372 0 0.6244372 0.01698368 0.5994597 0.01698368 0.5994597 0 0.5994597 0.01698368 0.5744822 0.01698368 0.5744822 0 0.5744822 0.01698368 0.5495046 0.01698368 0.5495046 0 0.5495046 0.01698368 0.5245271 0.01698368 0.5245271 0 0.5245271 0.01698368 0.4995496 0.01698368 0.4995496 0 0.4995496 0.01698368 0.4745721 0.01698368 0.4745721 0 0.4745721 0.01698368 0.4495946 0.01698368 0.4495946 0 0.2997298 0.01698368 0.3247073 0.01698368 0.3247073 0.05879116 0.4495946 0.01698368 0.4246171 0.01698368 0.4246171 0 0.4246171 0.01698368 0.3996399 0.01698368 0.3996399 0 0.5342642 0.5630747 0.5648187 0.5691524 0.5936009 0.5810743 0.5936009 0.5810743 0.6195043 0.5983824 0.5342642 0.5630747 0.6195043 0.5983824 0.6415333 0.6204112 0.5342642 0.5630747 0.6415333 0.6204112 0.6588412 0.6463143 0.6707632 0.6750966 0.6707632 0.6750966 0.676841 0.7056516 0.6415333 0.6204112 0.676841 0.7056516 0.676841 0.7368051 0.6415333 0.6204112 0.676841 0.7368051 0.6707633 0.76736 0.6195043 0.8440744 0.6707633 0.76736 0.6588414 0.7961421 0.6195043 0.8440744 0.6588414 0.7961421 0.6415336 0.8220452 0.6195043 0.8440744 0.6195043 0.8440744 0.5936012 0.8613824 0.564819 0.8733044 0.564819 0.8733044 0.5342642 0.8793821 0.5031104 0.8793821 0.5031104 0.8793821 0.4725554 0.8733044 0.4437732 0.8613824 0.4437732 0.8613824 0.4178698 0.8440743 0.3958411 0.8220456 0.3958411 0.8220456 0.3785331 0.7961423 0.3666111 0.7673601 0.3666111 0.7673601 0.3605334 0.7368052 0.3605334 0.7056515 0.3605334 0.7056515 0.3666112 0.6750965 0.3785332 0.6463144 0.3785332 0.6463144 0.3958412 0.6204112 0.4178702 0.5983822 0.4178702 0.5983822 0.4437733 0.5810743 0.5342642 0.5630747 0.4437733 0.5810743 0.4725556 0.5691524 0.5342642 0.5630747 0.4725556 0.5691524 0.5031105 0.5630747 0.5342642 0.5630747 0.6195043 0.8440744 0.564819 0.8733044 0.5031104 0.8793821 0.5031104 0.8793821 0.4437732 0.8613824 0.3605334 0.7056515 0.4437732 0.8613824 0.3958411 0.8220456 0.3605334 0.7056515 0.3958411 0.8220456 0.3666111 0.7673601 0.3605334 0.7056515 0.3605334 0.7056515 0.3785332 0.6463144 0.5342642 0.5630747 0.3785332 0.6463144 0.4178702 0.5983822 0.5342642 0.5630747 0.5342642 0.5630747 0.6415333 0.6204112 0.676841 0.7368051 0.676841 0.7368051 0.6195043 0.8440744 0.5342642 0.5630747 0.6195043 0.8440744 0.5031104 0.8793821 0.5342642 0.5630747 0.1998199 0.05879116 0.1998199 0.1369087 0.1748424 0.1369087 0.09990996 0.01698368 0.09990996 0.05879116 0.07493245 0.05879116 0.6494147 0.01698368 0.6743922 0.01698368 0.6743922 0.05879116 0.4495946 0.01698368 0.4495946 0.05879116 0.4246171 0.05879116 0.1998199 0.01698368 0.1998199 0.05879116 0.1748424 0.05879116 0.7493247 0.01698368 0.7743022 0.01698368 0.7743022 0.05879116 0.5495046 0.01698368 0.5495046 0.05879116 0.5245271 0.05879116 0.2997298 0.01698368 0.2997298 0.05879116 0.2747523 0.05879116 0.07493245 0.01698368 0.07493245 0.05879116 0.04995495 0.05879116 0.6494147 0.01698368 0.6494147 0.05879116 0.6244372 0.05879116 0.3746623 0.01698368 0.3996399 0.01698368 0.3996399 0.05879116 0.4246171 0.01698368 0.4246171 0.05879116 0.3996399 0.05879116 0.1748424 0.01698368 0.1748424 0.05879116 0.1498649 0.05879116 0.7493247 0.01698368 0.7493247 0.05879116 0.7243472 0.05879116 0.5245271 0.01698368 0.5245271 0.05879116 0.4995496 0.05879116 0.2747523 0.01698368 0.2747523 0.05879116 0.2497748 0.05879116 0.04995495 0.01698368 0.04995495 0.05879116 0.0249775 0.05879116 0.6244372 0.01698368 0.6244372 0.05879116 0.5994597 0.05879116 0.3746623 0.01698368 0.3746623 0.05879116 0.3496848 0.05879116 0.1498649 0.01698368 0.1498649 0.05879116 0.1248874 0.05879116 0.6993697 0.01698368 0.7243472 0.01698368 0.7243472 0.05879116 0.4745721 0.01698368 0.4995496 0.01698368 0.4995496 0.05879116 0.2497748 0.01698368 0.2497748 0.05879116 0.2247973 0.05879116 0.0249775 0.01698368 0.0249775 0.05879116 0 0.05879116 0.5744822 0.01698368 0.5994597 0.01698368 0.5994597 0.05879116 0.3247073 0.01698368 0.3496848 0.01698368 0.3496848 0.05879116 0.1248874 0.01698368 0.1248874 0.05879116 0.09990996 0.05879116 0.6993697 0.01698368 0.6993697 0.05879116 0.6743922 0.05879116 0.4495946 0.01698368 0.4745721 0.01698368 0.4745721 0.05879116 0.2247973 0.01698368 0.2247973 0.05879116 0.1998199 0.05879116 0.7992797 0.01698368 0.7992797 0.05879116 0.7743022 0.05879116 0.5495046 0.01698368 0.5744822 0.01698368 0.5744822 0.05879116 0.1248874 0.1369087 0.1248874 0.1441543 0.09990996 0.1441543 0.6494147 0.05879116 0.6494147 0.1369087 0.6244372 0.1369087 0.1748424 0.05879116 0.1748424 0.1369087 0.1498649 0.1369087 0.6244372 0.05879116 0.6244372 0.1369087 0.5994597 0.1369087 0.1498649 0.05879116 0.1498649 0.1369087 0.1248874 0.1369087 0.5994597 0.05879116 0.5994597 0.1369087 0.5744822 0.1369087 0.1248874 0.05879116 0.1248874 0.1369087 0.09990996 0.1369087 0.5744822 0.05879116 0.5744822 0.1369087 0.5495046 0.1369087 0.09990996 0.05879116 0.09990996 0.1369087 0.07493245 0.1369087 0.5495046 0.05879116 0.5495046 0.1369087 0.5245271 0.1369087 0.07493245 0.05879116 0.07493245 0.1369087 0.04995495 0.1369087 0.3996399 0.05879116 0.3996399 0.1369087 0.3746623 0.1369087 0.5245271 0.05879116 0.5245271 0.1369087 0.4995496 0.1369087 0.04995495 0.05879116 0.04995495 0.1369087 0.0249775 0.1369087 0.3746623 0.05879116 0.3746623 0.1369087 0.3496848 0.1369087 0.4995496 0.05879116 0.4995496 0.1369087 0.4745721 0.1369087 0.0249775 0.05879116 0.0249775 0.1369087 0 0.1369087 0.3496848 0.05879116 0.3496848 0.1369087 0.3247073 0.1369087 0.4745721 0.05879116 0.4745721 0.1369087 0.4495946 0.1369087 0.7992797 0.05879116 0.7992797 0.1369087 0.7743022 0.1369087 0.3247073 0.05879116 0.3247073 0.1369087 0.2997298 0.1369087 0.4495946 0.05879116 0.4495946 0.1369087 0.4246171 0.1369087 0.7743022 0.05879116 0.7743022 0.1369087 0.7493247 0.1369087 0.2997298 0.05879116 0.2997298 0.1369087 0.2747523 0.1369087 0.4246171 0.05879116 0.4246171 0.1369087 0.3996399 0.1369087 0.7493247 0.05879116 0.7493247 0.1369087 0.7243472 0.1369087 0.2747523 0.05879116 0.2747523 0.1369087 0.2497748 0.1369087 0.7243472 0.05879116 0.7243472 0.1369087 0.6993697 0.1369087 0.2497748 0.05879116 0.2497748 0.1369087 0.2247973 0.1369087 0.6993697 0.05879116 0.6993697 0.1369087 0.6743922 0.1369087 0.2247973 0.05879116 0.2247973 0.1369087 0.1998199 0.1369087 0.6743922 0.05879116 0.6743922 0.1369087 0.6494147 0.1369087 0.04995495 0.1441543 0.04995495 0.2251324 0.0249775 0.2251324 0.5744822 0.1369087 0.5744822 0.1441543 0.5495046 0.1441543 0.09990996 0.1369087 0.09990996 0.1441543 0.07493245 0.1441543 0.5245271 0.1369087 0.5495046 0.1369087 0.5495046 0.1441543 0.04995495 0.1369087 0.07493245 0.1369087 0.07493245 0.1441543 0.3746623 0.1369087 0.3996399 0.1369087 0.3996399 0.1441543 0.4995496 0.1369087 0.5245271 0.1369087 0.5245271 0.1441543 0.0249775 0.1369087 0.04995495 0.1369087 0.04995495 0.1441543 0.3746623 0.1369087 0.3746623 0.1441543 0.3496848 0.1441543 0.4995496 0.1369087 0.4995496 0.1441543 0.4745721 0.1441543 0.0249775 0.1369087 0.0249775 0.1441543 0 0.1441543 0.3496848 0.1369087 0.3496848 0.1441543 0.3247073 0.1441543 0.4745721 0.1369087 0.4745721 0.1441543 0.4495946 0.1441543 0.7992797 0.1369087 0.7992797 0.1441543 0.7743022 0.1441543 0.3247073 0.1369087 0.3247073 0.1441543 0.2997298 0.1441543 0.4246171 0.1369087 0.4495946 0.1369087 0.4495946 0.1441543 0.7743022 0.1369087 0.7743022 0.1441543 0.7493247 0.1441543 0.2997298 0.1369087 0.2997298 0.1441543 0.2747523 0.1441543 0.4246171 0.1369087 0.4246171 0.1441543 0.3996399 0.1441543 0.7493247 0.1369087 0.7493247 0.1441543 0.7243472 0.1441543 0.2747523 0.1369087 0.2747523 0.1441543 0.2497748 0.1441543 0.7243472 0.1369087 0.7243472 0.1441543 0.6993697 0.1441543 0.2497748 0.1369087 0.2497748 0.1441543 0.2247973 0.1441543 0.6993697 0.1369087 0.6993697 0.1441543 0.6743922 0.1441543 0.2247973 0.1369087 0.2247973 0.1441543 0.1998199 0.1441543 0.6743922 0.1369087 0.6743922 0.1441543 0.6494147 0.1441543 0.1998199 0.1369087 0.1998199 0.1441543 0.1748424 0.1441543 0.6244372 0.1369087 0.6494147 0.1369087 0.6494147 0.1441543 0.1748424 0.1369087 0.1748424 0.1441543 0.1498649 0.1441543 0.6244372 0.1369087 0.6244372 0.1441543 0.5994597 0.1441543 0.1248874 0.1369087 0.1498649 0.1369087 0.1498649 0.1441543 0.5744822 0.1369087 0.5994597 0.1369087 0.5994597 0.1441543 0.7743022 0.2251324 0.7743022 0.231727 0.7493247 0.231727 0.3746623 0.1441543 0.3746623 0.2251324 0.3496848 0.2251324 0.4995496 0.1441543 0.4995496 0.2251324 0.4745721 0.2251324 0.0249775 0.1441543 0.0249775 0.2251324 0 0.2251324 0.3496848 0.1441543 0.3496848 0.2251324 0.3247073 0.2251324 0.4745721 0.1441543 0.4745721 0.2251324 0.4495946 0.2251324 0.7992797 0.1441543 0.7992797 0.2251324 0.7743022 0.2251324 0.3247073 0.1441543 0.3247073 0.2251324 0.2997298 0.2251324 0.4495946 0.1441543 0.4495946 0.2251324 0.4246171 0.2251324 0.7743022 0.1441543 0.7743022 0.2251324 0.7493247 0.2251324 0.2997298 0.1441543 0.2997298 0.2251324 0.2747523 0.2251324 0.4246171 0.1441543 0.4246171 0.2251324 0.3996399 0.2251324 0.7493247 0.1441543 0.7493247 0.2251324 0.7243472 0.2251324 0.2747523 0.1441543 0.2747523 0.2251324 0.2497748 0.2251324 0.7243472 0.1441543 0.7243472 0.2251324 0.6993697 0.2251324 0.2497748 0.1441543 0.2497748 0.2251324 0.2247973 0.2251324 0.6993697 0.1441543 0.6993697 0.2251324 0.6743922 0.2251324 0.2247973 0.1441543 0.2247973 0.2251324 0.1998199 0.2251324 0.6743922 0.1441543 0.6743922 0.2251324 0.6494147 0.2251324 0.1998199 0.1441543 0.1998199 0.2251324 0.1748424 0.2251324 0.6494147 0.1441543 0.6494147 0.2251324 0.6244372 0.2251324 0.1748424 0.1441543 0.1748424 0.2251324 0.1498649 0.2251324 0.6244372 0.1441543 0.6244372 0.2251324 0.5994597 0.2251324 0.1498649 0.1441543 0.1498649 0.2251324 0.1248874 0.2251324 0.5994597 0.1441543 0.5994597 0.2251324 0.5744822 0.2251324 0.1248874 0.1441543 0.1248874 0.2251324 0.09990996 0.2251324 0.5744822 0.1441543 0.5744822 0.2251324 0.5495046 0.2251324 0.09990996 0.1441543 0.09990996 0.2251324 0.07493245 0.2251324 0.5495046 0.1441543 0.5495046 0.2251324 0.5245271 0.2251324 0.07493245 0.1441543 0.07493245 0.2251324 0.04995495 0.2251324 0.3996399 0.1441543 0.3996399 0.2251324 0.3746623 0.2251324 0.5245271 0.1441543 0.5245271 0.2251324 0.4995496 0.2251324 0.6993697 0.231727 0.6993697 0.3131 0.6743922 0.3131 0.2997298 0.2251324 0.2997298 0.231727 0.2747523 0.231727 0.4246171 0.2251324 0.4246171 0.231727 0.3996399 0.231727 0.7493247 0.2251324 0.7493247 0.231727 0.7243472 0.231727 0.2747523 0.2251324 0.2747523 0.231727 0.2497748 0.231727 0.7243472 0.2251324 0.7243472 0.231727 0.6993697 0.231727 0.2497748 0.2251324 0.2497748 0.231727 0.2247973 0.231727 0.6743922 0.2251324 0.6993697 0.2251324 0.6993697 0.231727 0.1998199 0.2251324 0.2247973 0.2251324 0.2247973 0.231727 0.6494147 0.2251324 0.6743922 0.2251324 0.6743922 0.231727 0.1998199 0.2251324 0.1998199 0.231727 0.1748424 0.231727 0.6494147 0.2251324 0.6494147 0.231727 0.6244372 0.231727 0.1748424 0.2251324 0.1748424 0.231727 0.1498649 0.231727 0.5994597 0.2251324 0.6244372 0.2251324 0.6244372 0.231727 0.1248874 0.2251324 0.1498649 0.2251324 0.1498649 0.231727 0.5994597 0.2251324 0.5994597 0.231727 0.5744822 0.231727 0.1248874 0.2251324 0.1248874 0.231727 0.09990996 0.231727 0.5744822 0.2251324 0.5744822 0.231727 0.5495046 0.231727 0.09990996 0.2251324 0.09990996 0.231727 0.07493245 0.231727 0.5495046 0.2251324 0.5495046 0.231727 0.5245271 0.231727 0.04995495 0.2251324 0.07493245 0.2251324 0.07493245 0.231727 0.3996399 0.2251324 0.3996399 0.231727 0.3746623 0.231727 0.4995496 0.2251324 0.5245271 0.2251324 0.5245271 0.231727 0.0249775 0.2251324 0.04995495 0.2251324 0.04995495 0.231727 0.3746623 0.2251324 0.3746623 0.231727 0.3496848 0.231727 0.4995496 0.2251324 0.4995496 0.231727 0.4745721 0.231727 0.0249775 0.2251324 0.0249775 0.231727 0 0.231727 0.3496848 0.2251324 0.3496848 0.231727 0.3247073 0.231727 0.4745721 0.2251324 0.4745721 0.231727 0.4495946 0.231727 0.7992797 0.2251324 0.7992797 0.231727 0.7743022 0.231727 0.3247073 0.2251324 0.3247073 0.231727 0.2997298 0.231727 0.4246171 0.2251324 0.4495946 0.2251324 0.4495946 0.231727 0.6244372 0.3131 0.6244372 0.3163982 0.5994597 0.3163982 0.2247973 0.231727 0.2247973 0.3131 0.1998199 0.3131 0.6743922 0.231727 0.6743922 0.3131 0.6494147 0.3131 0.1998199 0.231727 0.1998199 0.3131 0.1748424 0.3131 0.6494147 0.231727 0.6494147 0.3131 0.6244372 0.3131 0.1748424 0.231727 0.1748424 0.3131 0.1498649 0.3131 0.6244372 0.231727 0.6244372 0.3131 0.5994597 0.3131 0.1498649 0.231727 0.1498649 0.3131 0.1248874 0.3131 0.5994597 0.231727 0.5994597 0.3131 0.5744822 0.3131 0.1248874 0.231727 0.1248874 0.3131 0.09990996 0.3131 0.5744822 0.231727 0.5744822 0.3131 0.5495046 0.3131 0.09990996 0.231727 0.09990996 0.3131 0.07493245 0.3131 0.5495046 0.231727 0.5495046 0.3131 0.5245271 0.3131 0.07493245 0.231727 0.07493245 0.3131 0.04995495 0.3131 0.3996399 0.231727 0.3996399 0.3131 0.3746623 0.3131 0.5245271 0.231727 0.5245271 0.3131 0.4995496 0.3131 0.04995495 0.231727 0.04995495 0.3131 0.0249775 0.3131 0.3746623 0.231727 0.3746623 0.3131 0.3496848 0.3131 0.4995496 0.231727 0.4995496 0.3131 0.4745721 0.3131 0.0249775 0.231727 0.0249775 0.3131 0 0.3131 0.3496848 0.231727 0.3496848 0.3131 0.3247073 0.3131 0.4745721 0.231727 0.4745721 0.3131 0.4495946 0.3131 0.7992797 0.231727 0.7992797 0.3131 0.7743022 0.3131 0.3247073 0.231727 0.3247073 0.3131 0.2997298 0.3131 0.4495946 0.231727 0.4495946 0.3131 0.4246171 0.3131 0.7743022 0.231727 0.7743022 0.3131 0.7493247 0.3131 0.2997298 0.231727 0.2997298 0.3131 0.2747523 0.3131 0.4246171 0.231727 0.4246171 0.3131 0.3996399 0.3131 0.7493247 0.231727 0.7493247 0.3131 0.7243472 0.3131 0.2747523 0.231727 0.2747523 0.3131 0.2497748 0.3131 0.7243472 0.231727 0.7243472 0.3131 0.6993697 0.3131 0.2497748 0.231727 0.2497748 0.3131 0.2247973 0.3131 0.5495046 0.3163982 0.5495046 0.3989562 0.5245271 0.3989562 0.1248874 0.3131 0.1498649 0.3131 0.1498649 0.3163982 0.5744822 0.3131 0.5994597 0.3131 0.5994597 0.3163982 0.09990996 0.3131 0.1248874 0.3131 0.1248874 0.3163982 0.5495046 0.3131 0.5744822 0.3131 0.5744822 0.3163982 0.09990996 0.3131 0.09990996 0.3163982 0.07493245 0.3163982 0.5245271 0.3131 0.5495046 0.3131 0.5495046 0.3163982 0.07493245 0.3131 0.07493245 0.3163982 0.04995495 0.3163982 0.3996399 0.3131 0.3996399 0.3163982 0.3746623 0.3163982 0.5245271 0.3131 0.5245271 0.3163982 0.4995496 0.3163982 0.04995495 0.3131 0.04995495 0.3163982 0.0249775 0.3163982 0.3496848 0.3131 0.3746623 0.3131 0.3746623 0.3163982 0.4995496 0.3131 0.4995496 0.3163982 0.4745721 0.3163982 0.0249775 0.3131 0.0249775 0.3163982 0 0.3163982 0.3496848 0.3131 0.3496848 0.3163982 0.3247073 0.3163982 0.4745721 0.3131 0.4745721 0.3163982 0.4495946 0.3163982 0.7743022 0.3131 0.7992797 0.3131 0.7992797 0.3163982 0.3247073 0.3131 0.3247073 0.3163982 0.2997298 0.3163982 0.4495946 0.3131 0.4495946 0.3163982 0.4246171 0.3163982 0.7493247 0.3131 0.7743022 0.3131 0.7743022 0.3163982 0.2997298 0.3131 0.2997298 0.3163982 0.2747523 0.3163982 0.4246171 0.3131 0.4246171 0.3163982 0.3996399 0.3163982 0.7493247 0.3131 0.7493247 0.3163982 0.7243472 0.3163982 0.2747523 0.3131 0.2747523 0.3163982 0.2497748 0.3163982 0.7243472 0.3131 0.7243472 0.3163982 0.6993697 0.3163982 0.2497748 0.3131 0.2497748 0.3163982 0.2247973 0.3163982 0.6993697 0.3131 0.6993697 0.3163982 0.6743922 0.3163982 0.2247973 0.3131 0.2247973 0.3163982 0.1998199 0.3163982 0.6494147 0.3131 0.6743922 0.3131 0.6743922 0.3163982 0.1998199 0.3131 0.1998199 0.3163982 0.1748424 0.3163982 0.6494147 0.3131 0.6494147 0.3163982 0.6244372 0.3163982 0.1748424 0.3131 0.1748424 0.3163982 0.1498649 0.3163982 0.6743922 0.3989562 0.6743922 0.4047766 0.6494147 0.4047766 0.07493245 0.3163982 0.07493245 0.3989562 0.04995495 0.3989562 0.3996399 0.3163982 0.3996399 0.3989562 0.3746623 0.3989562 0.5245271 0.3163982 0.5245271 0.3989562 0.4995496 0.3989562 0.04995495 0.3163982 0.04995495 0.3989562 0.0249775 0.3989562 0.3746623 0.3163982 0.3746623 0.3989562 0.3496848 0.3989562 0.4995496 0.3163982 0.4995496 0.3989562 0.4745721 0.3989562 0.0249775 0.3163982 0.0249775 0.3989562 0 0.3989562 0.3496848 0.3163982 0.3496848 0.3989562 0.3247073 0.3989562 0.4745721 0.3163982 0.4745721 0.3989562 0.4495946 0.3989562 0.7992797 0.3163982 0.7992797 0.3989562 0.7743022 0.3989562 0.3247073 0.3163982 0.3247073 0.3989562 0.2997298 0.3989562 0.4495946 0.3163982 0.4495946 0.3989562 0.4246171 0.3989562 0.7743022 0.3163982 0.7743022 0.3989562 0.7493247 0.3989562 0.2997298 0.3163982 0.2997298 0.3989562 0.2747523 0.3989562 0.4246171 0.3163982 0.4246171 0.3989562 0.3996399 0.3989562 0.7493247 0.3163982 0.7493247 0.3989562 0.7243472 0.3989562 0.2747523 0.3163982 0.2747523 0.3989562 0.2497748 0.3989562 0.7243472 0.3163982 0.7243472 0.3989562 0.6993697 0.3989562 0.2497748 0.3163982 0.2497748 0.3989562 0.2247973 0.3989562 0.6993697 0.3163982 0.6993697 0.3989562 0.6743922 0.3989562 0.2247973 0.3163982 0.2247973 0.3989562 0.1998199 0.3989562 0.6743922 0.3163982 0.6743922 0.3989562 0.6494147 0.3989562 0.1998199 0.3163982 0.1998199 0.3989562 0.1748424 0.3989562 0.6494147 0.3163982 0.6494147 0.3989562 0.6244372 0.3989562 0.1748424 0.3163982 0.1748424 0.3989562 0.1498649 0.3989562 0.6244372 0.3163982 0.6244372 0.3989562 0.5994597 0.3989562 0.1498649 0.3163982 0.1498649 0.3989562 0.1248874 0.3989562 0.5994597 0.3163982 0.5994597 0.3989562 0.5744822 0.3989562 0.1248874 0.3163982 0.1248874 0.3989562 0.09990996 0.3989562 0.5744822 0.3163982 0.5744822 0.3989562 0.5495046 0.3989562 0.09990996 0.3163982 0.09990996 0.3989562 0.07493245 0.3989562 0.5994597 0.4047766 0.5994597 0.4849647 0.5744822 0.4849647 0.1998199 0.3989562 0.1998199 0.4047766 0.1748424 0.4047766 0.6244372 0.3989562 0.6494147 0.3989562 0.6494147 0.4047766 0.1748424 0.3989562 0.1748424 0.4047766 0.1498649 0.4047766 0.6244372 0.3989562 0.6244372 0.4047766 0.5994597 0.4047766 0.1498649 0.3989562 0.1498649 0.4047766 0.1248874 0.4047766 0.5994597 0.3989562 0.5994597 0.4047766 0.5744822 0.4047766 0.1248874 0.3989562 0.1248874 0.4047766 0.09990996 0.4047766 0.5495046 0.3989562 0.5744822 0.3989562 0.5744822 0.4047766 0.07493245 0.3989562 0.09990996 0.3989562 0.09990996 0.4047766 0.5495046 0.3989562 0.5495046 0.4047766 0.5245271 0.4047766 0.07493245 0.3989562 0.07493245 0.4047766 0.04995495 0.4047766 0.3996399 0.3989562 0.3996399 0.4047766 0.3746623 0.4047766 0.5245271 0.3989562 0.5245271 0.4047766 0.4995496 0.4047766 0.0249775 0.3989562 0.04995495 0.3989562 0.04995495 0.4047766 0.3746623 0.3989562 0.3746623 0.4047766 0.3496848 0.4047766 0.4995496 0.3989562 0.4995496 0.4047766 0.4745721 0.4047766 0.0249775 0.3989562 0.0249775 0.4047766 0 0.4047766 0.3247073 0.3989562 0.3496848 0.3989562 0.3496848 0.4047766 0.4495946 0.3989562 0.4745721 0.3989562 0.4745721 0.4047766 0.7992797 0.3989562 0.7992797 0.4047766 0.7743022 0.4047766 0.3247073 0.3989562 0.3247073 0.4047766 0.2997298 0.4047766 0.4246171 0.3989562 0.4495946 0.3989562 0.4495946 0.4047766 0.7743022 0.3989562 0.7743022 0.4047766 0.7493247 0.4047766 0.2997298 0.3989562 0.2997298 0.4047766 0.2747523 0.4047766 0.4246171 0.3989562 0.4246171 0.4047766 0.3996399 0.4047766 0.7493247 0.3989562 0.7493247 0.4047766 0.7243472 0.4047766 0.2747523 0.3989562 0.2747523 0.4047766 0.2497748 0.4047766 0.6993697 0.3989562 0.7243472 0.3989562 0.7243472 0.4047766 0.2497748 0.3989562 0.2497748 0.4047766 0.2247973 0.4047766 0.6743922 0.3989562 0.6993697 0.3989562 0.6993697 0.4047766 0.2247973 0.3989562 0.2247973 0.4047766 0.1998199 0.4047766 0.1248874 0.4047766 0.1248874 0.4849647 0.09990996 0.4849647 0.5744822 0.4047766 0.5744822 0.4849647 0.5495046 0.4849647 0.09990996 0.4047766 0.09990996 0.4849647 0.07493245 0.4849647 0.5495046 0.4047766 0.5495046 0.4849647 0.5245271 0.4849647 0.07493245 0.4047766 0.07493245 0.4849647 0.04995495 0.4849647 0.3996399 0.4047766 0.3996399 0.4849647 0.3746623 0.4849647 0.5245271 0.4047766 0.5245271 0.4849647 0.4995496 0.4849647 0.04995495 0.4047766 0.04995495 0.4849647 0.0249775 0.4849647 0.3746623 0.4047766 0.3746623 0.4849647 0.3496848 0.4849647 0.4995496 0.4047766 0.4995496 0.4849647 0.4745721 0.4849647 0.0249775 0.4047766 0.0249775 0.4849647 0 0.4849647 0.3496848 0.4047766 0.3496848 0.4849647 0.3247073 0.4849647 0.4745721 0.4047766 0.4745721 0.4849647 0.4495946 0.4849647 0.7992797 0.4047766 0.7992797 0.4849647 0.7743022 0.4849647 0.3247073 0.4047766 0.3247073 0.4849647 0.2997298 0.4849647 0.4495946 0.4047766 0.4495946 0.4849647 0.4246171 0.4849647 0.7743022 0.4047766 0.7743022 0.4849647 0.7493247 0.4849647 0.2997298 0.4047766 0.2997298 0.4849647 0.2747523 0.4849647 0.4246171 0.4047766 0.4246171 0.4849647 0.3996399 0.4849647 0.7493247 0.4047766 0.7493247 0.4849647 0.7243472 0.4849647 0.2747523 0.4047766 0.2747523 0.4849647 0.2497748 0.4849647 0.7243472 0.4047766 0.7243472 0.4849647 0.6993697 0.4849647 0.2497748 0.4047766 0.2497748 0.4849647 0.2247973 0.4849647 0.6993697 0.4047766 0.6993697 0.4849647 0.6743922 0.4849647 0.2247973 0.4047766 0.2247973 0.4849647 0.1998199 0.4849647 0.6743922 0.4047766 0.6743922 0.4849647 0.6494147 0.4849647 0.1998199 0.4047766 0.1998199 0.4849647 0.1748424 0.4849647 0.6494147 0.4047766 0.6494147 0.4849647 0.6244372 0.4849647 0.1748424 0.4047766 0.1748424 0.4849647 0.1498649 0.4849647 0.6244372 0.4047766 0.6244372 0.4849647 0.5994597 0.4849647 0.1498649 0.4047766 0.1498649 0.4849647 0.1248874 0.4849647 0.09990996 0.4849647 0.1248874 0.4849647 0.1248874 0.4849647 0.5744822 0.4849647 0.5994597 0.4849647 0.5994597 0.4849647 0.1248874 0.4849647 0.1498649 0.4849647 0.1498649 0.4849647 0.5994597 0.4849647 0.6244372 0.4849647 0.6244372 0.4849647 0.1498649 0.4849647 0.1748424 0.4849647 0.1748424 0.4849647 0.6244372 0.4849647 0.6494147 0.4849647 0.6494147 0.4849647 0.1748424 0.4849647 0.1998199 0.4849647 0.1998199 0.4849647 0.6494147 0.4849647 0.6743922 0.4849647 0.6743922 0.4849647 0.5495046 0.5025558 0.5744822 0.5025558 0.5744822 0.5025558 0.1998199 0.4849647 0.2247973 0.4849647 0.2247973 0.4849647 0.6743922 0.4849647 0.6993697 0.4849647 0.6993697 0.4849647 0.5495046 0.4958927 0.5495046 0.5025558 0.5495046 0.5025558 0.2247973 0.4849647 0.2497748 0.4849647 0.2497748 0.4849647 0.6993697 0.4849647 0.7243472 0.4849647 0.7243472 0.4849647 0.5744822 0.4958927 0.5495046 0.4958927 0.5495046 0.4958927 0.2497748 0.4849647 0.2747523 0.4849647 0.2747523 0.4849647 0.7243472 0.4849647 0.7493247 0.4849647 0.7493247 0.4849647 0.3996399 0.4849647 0.4246171 0.4849647 0.4246171 0.4849647 0.2747523 0.4849647 0.2997298 0.4849647 0.2997298 0.4849647 0.7493247 0.4849647 0.7743022 0.4849647 0.7743022 0.4849647 0.4246171 0.4849647 0.4495946 0.4849647 0.4495946 0.4849647 0.2997298 0.4849647 0.3247073 0.4849647 0.3247073 0.4849647 0.7743022 0.4849647 0.7992797 0.4849647 0.7992797 0.4849647 0.5744822 0.4958927 0.5744822 0.5025558 0.5495046 0.5025558 0.4495946 0.4849647 0.4745721 0.4849647 0.4745721 0.4849647 0.3247073 0.4849647 0.3496848 0.4849647 0.3496848 0.4849647 0 0.4849647 0.0249775 0.4849647 0.0249775 0.4849647 0.5744822 0.5025558 0.5744822 0.4958927 0.5744822 0.4958927 0.4745721 0.4849647 0.4995496 0.4849647 0.4995496 0.4849647 0.3496848 0.4849647 0.3746623 0.4849647 0.3746623 0.4849647 0.0249775 0.4849647 0.04995495 0.4849647 0.04995495 0.4849647 0.4995496 0.4849647 0.5245271 0.4849647 0.5245271 0.4849647 0.3746623 0.4849647 0.3996399 0.4849647 0.3996399 0.4849647 0.04995495 0.4849647 0.07493245 0.4849647 0.07493245 0.4849647 0.5245271 0.4849647 0.5495046 0.4849647 0.5495046 0.4849647 0.07493245 0.4849647 0.09990996 0.4849647 0.09990996 0.4849647 0.5495046 0.4849647 0.5744822 0.4849647 0.5744822 0.4849647 0.4246171 0.4849647 0.4246171 0.4892448 0.3996399 0.4892448 0.3746623 0.4849647 0.3746623 0.4892448 0.3496848 0.4892448 0.4995496 0.4849647 0.4995496 0.4892448 0.4745721 0.4892448 0.0249775 0.4849647 0.0249775 0.4892448 0 0.4892448 0.3996399 0.4849647 0.3996399 0.4892448 0.3746623 0.4892448 0.4745721 0.4849647 0.4745721 0.4892448 0.4495946 0.4892448 0.7992797 0.4849647 0.7992797 0.4892448 0.7743022 0.4892448 0.3247073 0.4849647 0.3247073 0.4892448 0.2997298 0.4892448 0.4495946 0.4849647 0.4495946 0.4892448 0.4246171 0.4892448 0.7743022 0.4849647 0.7743022 0.4892448 0.7493247 0.4892448 0.2997298 0.4849647 0.2997298 0.4892448 0.2747523 0.4892448 0.7243472 0.4849647 0.7493247 0.4849647 0.7493247 0.4892448 0.2747523 0.4849647 0.2747523 0.4892448 0.2497748 0.4892448 0.3496848 0.4849647 0.3496848 0.4892448 0.3247073 0.4892448 0.7243472 0.4849647 0.7243472 0.4892448 0.6993697 0.4892448 0.2497748 0.4849647 0.2497748 0.4892448 0.2247973 0.4892448 0.6993697 0.4849647 0.6993697 0.4892448 0.6743922 0.4892448 0.2247973 0.4849647 0.2247973 0.4892448 0.1998199 0.4892448 0.6494147 0.4849647 0.6743922 0.4849647 0.6743922 0.4892448 0.1748424 0.4849647 0.1998199 0.4849647 0.1998199 0.4892448 0.6244372 0.4849647 0.6494147 0.4849647 0.6494147 0.4892448 0.1748424 0.4849647 0.1748424 0.4892448 0.1498649 0.4892448 0.6244372 0.4849647 0.6244372 0.4892448 0.5994597 0.4892448 0.1498649 0.4849647 0.1498649 0.4892448 0.1248874 0.4892448 0.5994597 0.4849647 0.5994597 0.4892448 0.5744822 0.4892448 0.09990996 0.4849647 0.1248874 0.4849647 0.1248874 0.4892448 0.5744822 0.4849647 0.5744822 0.4892448 0.5495046 0.4892448 0.07493245 0.4849647 0.09990996 0.4849647 0.09990996 0.4892448 0.5245271 0.4849647 0.5495046 0.4849647 0.5495046 0.4892448 0.04995495 0.4849647 0.07493245 0.4849647 0.07493245 0.4892448 0.5245271 0.4849647 0.5245271 0.4892448 0.4995496 0.4892448 0.0249775 0.4849647 0.04995495 0.4849647 0.04995495 0.4892448 0.3746623 0.4892448 0.3996399 0.4892448 0.3996399 0.4958927 0.3746623 0.4958927 0.3996399 0.4958927 0.3996399 0.5025558 0.3496848 0.4892448 0.3746623 0.4892448 0.3746623 0.4958927 0.3496848 0.4958927 0.3746623 0.4958927 0.3746623 0.5025558 0.3496848 0.4892448 0.3496848 0.4958927 0.3247073 0.4958927 0.3496848 0.4958927 0.3496848 0.5025558 0.3247073 0.5025558 0.3247073 0.4892448 0.3247073 0.4958927 0.2997298 0.4958927 0.3247073 0.4958927 0.3247073 0.5025558 0.2997298 0.5025558 0.2997298 0.4892448 0.2997298 0.4958927 0.2747523 0.4958927 0.2997298 0.4958927 0.2997298 0.5025558 0.2747523 0.5025558 0.2747523 0.4892448 0.2747523 0.4958927 0.2497748 0.4958927 0.2747523 0.4958927 0.2747523 0.5025558 0.2497748 0.5025558 0.2497748 0.4892448 0.2497748 0.4958927 0.2247973 0.4958927 0.2497748 0.4958927 0.2497748 0.5025558 0.2247973 0.5025558 0.2247973 0.4892448 0.2247973 0.4958927 0.1998199 0.4958927 0.2247973 0.4958927 0.2247973 0.5025558 0.1998199 0.5025558 0.1998199 0.4892448 0.1998199 0.4958927 0.1748424 0.4958927 0.1998199 0.4958927 0.1998199 0.5025558 0.1748424 0.5025558 0.1748424 0.4892448 0.1748424 0.4958927 0.1498649 0.4958927 0.1498649 0.4958927 0.1748424 0.4958927 0.1748424 0.5025558 0.1248874 0.4892448 0.1498649 0.4892448 0.1498649 0.4958927 0.1248874 0.4958927 0.1498649 0.4958927 0.1498649 0.5025558 0.1248874 0.4892448 0.1248874 0.4958927 0.09990996 0.4958927 0.1248874 0.4958927 0.1248874 0.5025558 0.09990996 0.5025558 0.07493245 0.4892448 0.09990996 0.4892448 0.09990996 0.4958927 0.09990996 0.4958927 0.09990996 0.5025558 0.07493245 0.5025558 0.07493245 0.4892448 0.07493245 0.4958927 0.04995495 0.4958927 0.07493245 0.4958927 0.07493245 0.5025558 0.04995495 0.5025558 0.04995495 0.4892448 0.04995495 0.4958927 0.0249775 0.4958927 0.04995495 0.4958927 0.04995495 0.5025558 0.0249775 0.5025558 0 0.4892448 0.0249775 0.4892448 0.0249775 0.4958927 0 0.4958927 0.0249775 0.4958927 0.0249775 0.5025558 0.7743022 0.4892448 0.7992797 0.4892448 0.7992797 0.4958927 0.7743022 0.4958927 0.7992797 0.4958927 0.7992797 0.5025558 0.7743022 0.4892448 0.7743022 0.4958927 0.7493247 0.4958927 0.7743022 0.4958927 0.7743022 0.5025558 0.7493247 0.5025558 0.7493247 0.4892448 0.7493247 0.4958927 0.7243472 0.4958927 0.7493247 0.4958927 0.7493247 0.5025558 0.7243472 0.5025558 0.7243472 0.4892448 0.7243472 0.4958927 0.6993697 0.4958927 0.7243472 0.4958927 0.7243472 0.5025558 0.6993697 0.5025558 0.6743922 0.4892448 0.6993697 0.4892448 0.6993697 0.4958927 0.6743922 0.4958927 0.6993697 0.4958927 0.6993697 0.5025558 0.6743922 0.4892448 0.6743922 0.4958927 0.6494147 0.4958927 0.6743922 0.4958927 0.6743922 0.5025558 0.6494147 0.5025558 0.6494147 0.4892448 0.6494147 0.4958927 0.6244372 0.4958927 0.6494147 0.4958927 0.6494147 0.5025558 0.6244372 0.5025558 0.5994597 0.4892448 0.6244372 0.4892448 0.6244372 0.4958927 0.5994597 0.4958927 0.6244372 0.4958927 0.6244372 0.5025558 0.5744822 0.4892448 0.5994597 0.4892448 0.5994597 0.4958927 0.5744822 0.4958927 0.5994597 0.4958927 0.5994597 0.5025558 0.5744822 0.4892448 0.5744822 0.4958927 0.5495046 0.4958927 0.5495046 0.4892448 0.5495046 0.4958927 0.5245271 0.4958927 0.5495046 0.4958927 0.5495046 0.5025558 0.5245271 0.5025558 0.5245271 0.4892448 0.5245271 0.4958927 0.4995496 0.4958927 0.5245271 0.4958927 0.5245271 0.5025558 0.4995496 0.5025558 0.4995496 0.4892448 0.4995496 0.4958927 0.4745721 0.4958927 0.4745721 0.4958927 0.4995496 0.4958927 0.4995496 0.5025558 0.4495946 0.4892448 0.4745721 0.4892448 0.4745721 0.4958927 0.4745721 0.4958927 0.4745721 0.5025558 0.4495946 0.5025558 0.4246171 0.4892448 0.4495946 0.4892448 0.4495946 0.4958927 0.4246171 0.4958927 0.4495946 0.4958927 0.4495946 0.5025558 0.4246171 0.4892448 0.4246171 0.4958927 0.3996399 0.4958927 0.4246171 0.4958927 0.4246171 0.5025558 0.3996399 0.5025558 0.2544991 0.6758977 0.250269 0.6971641 0.2419711 0.7171968 0.2419711 0.7171968 0.2299247 0.7352257 0.2544991 0.6758977 0.2299247 0.7352257 0.2145924 0.750558 0.2544991 0.6758977 0.2145924 0.750558 0.1965636 0.7626045 0.1765308 0.7709023 0.1765308 0.7709023 0.1552644 0.7751325 0.1335811 0.7751326 0.1335811 0.7751326 0.1123147 0.7709025 0.09228205 0.7626047 0.09228205 0.7626047 0.07425326 0.7505582 0.05892074 0.7352259 0.05892074 0.7352259 0.04687428 0.717197 0.03434616 0.6542145 0.04687428 0.717197 0.03857636 0.6971642 0.03434616 0.6542145 0.03857636 0.6971642 0.03434622 0.6758978 0.03434616 0.6542145 0.03434616 0.6542145 0.03857636 0.6329479 0.0468741 0.6129153 0.0468741 0.6129153 0.05892068 0.5948864 0.07425302 0.579554 0.07425302 0.579554 0.09228175 0.5675076 0.1123145 0.5592097 0.1123145 0.5592097 0.1335811 0.5549795 0.07425302 0.579554 0.1335811 0.5549795 0.1552642 0.5549796 0.07425302 0.579554 0.1552642 0.5549796 0.1765305 0.5592097 0.1965634 0.5675076 0.1965634 0.5675076 0.2145923 0.579554 0.2299247 0.5948864 0.2299247 0.5948864 0.2419711 0.6129152 0.2502689 0.632948 0.2502689 0.632948 0.2544991 0.6542144 0.2544991 0.6758977 0.2145924 0.750558 0.1765308 0.7709023 0.2544991 0.6758977 0.1765308 0.7709023 0.1335811 0.7751326 0.2544991 0.6758977 0.1335811 0.7751326 0.09228205 0.7626047 0.03434616 0.6542145 0.09228205 0.7626047 0.05892074 0.7352259 0.03434616 0.6542145 0.03434616 0.6542145 0.0468741 0.6129153 0.1552642 0.5549796 0.0468741 0.6129153 0.07425302 0.579554 0.1552642 0.5549796 0.1552642 0.5549796 0.1965634 0.5675076 0.2299247 0.5948864 0.2299247 0.5948864 0.2502689 0.632948 0.1552642 0.5549796 0.2502689 0.632948 0.2544991 0.6758977 0.1552642 0.5549796 0.2544991 0.6758977 0.1335811 0.7751326 0.03434616 0.6542145 - - - - - - - - - - - - - - -

1 0 0 2 1 1 0 2 2 3 3 3 4 4 4 2 1 5 5 5 6 6 6 7 4 4 8 7 7 9 8 8 10 6 6 11 9 9 12 10 10 13 8 8 14 11 11 15 12 12 16 10 10 17 13 13 18 14 14 19 12 12 20 15 15 21 16 16 22 14 14 23 17 17 24 18 18 25 16 16 26 19 19 27 20 20 28 18 18 29 21 21 30 22 22 31 20 20 32 23 23 33 24 24 34 22 22 35 25 25 36 26 26 37 24 24 38 27 27 39 28 28 40 26 26 41 29 29 42 30 30 43 28 28 44 31 31 45 32 32 46 30 30 47 33 33 48 34 34 49 32 32 50 35 35 51 36 36 52 34 34 53 37 37 54 38 38 55 36 36 56 39 39 57 40 40 58 38 38 59 41 41 60 42 42 61 40 40 62 43 43 63 44 44 64 42 42 65 45 45 66 46 46 67 44 44 68 47 47 69 48 48 70 46 46 71 49 49 72 50 50 73 48 48 74 51 51 75 52 52 76 50 50 77 53 53 78 54 54 79 52 52 80 55 55 81 56 56 82 54 54 83 57 57 84 58 58 85 56 56 86 59 59 87 60 60 88 58 58 89 9 9 90 67 61 91 68 62 92 61 63 93 62 64 94 60 60 95 63 65 96 0 2 97 62 64 98 30 30 99 46 46 100 62 64 101 72 66 102 105 67 103 73 68 104 25 25 105 77 69 106 27 27 107 45 45 108 85 70 109 86 71 110 61 63 111 95 72 112 63 65 113 17 17 114 73 68 115 19 19 116 37 37 117 81 73 118 82 74 119 53 53 120 91 75 121 55 55 122 9 9 123 69 76 124 11 11 125 27 27 126 78 77 127 29 29 128 45 45 129 87 78 130 47 47 131 3 3 132 65 79 133 64 80 134 63 65 135 65 79 136 1 0 137 19 19 138 74 81 139 21 21 140 37 37 141 83 82 142 39 39 143 55 55 144 92 83 145 57 57 146 11 11 147 70 84 148 13 13 149 29 29 150 79 85 151 31 31 152 47 47 153 88 86 154 49 49 155 3 3 156 66 87 157 5 5 158 21 21 159 75 88 160 23 23 161 41 41 162 83 82 163 84 89 164 59 59 165 92 83 166 93 90 167 13 13 168 71 91 169 15 15 170 31 31 171 80 92 172 33 33 173 51 51 174 88 86 175 89 93 176 7 7 177 66 87 178 67 61 179 23 23 180 76 94 181 25 25 182 41 41 183 85 70 184 43 43 185 61 63 186 93 90 187 94 95 188 15 15 189 72 66 190 17 17 191 33 33 192 81 73 193 35 35 194 53 53 195 89 93 196 90 96 197 107 97 198 140 98 199 108 99 200 86 71 201 119 100 202 87 78 203 73 68 204 106 101 205 74 81 206 87 78 207 120 102 208 88 86 209 74 81 210 107 97 211 75 88 212 88 86 213 121 103 214 89 93 215 75 88 216 108 99 217 76 94 218 89 93 219 122 104 220 90 96 221 76 94 222 109 105 223 77 69 224 90 96 225 123 106 226 91 75 227 77 69 228 110 107 229 78 77 230 65 79 231 96 108 232 64 80 233 91 75 234 124 109 235 92 83 236 78 77 237 111 110 238 79 85 239 64 80 240 98 111 241 66 87 242 92 83 243 125 112 244 93 90 245 79 85 246 112 113 247 80 92 248 66 87 249 99 114 250 67 61 251 93 90 252 126 115 253 94 95 254 80 92 255 113 116 256 81 73 257 67 61 258 100 117 259 68 62 260 94 95 261 127 118 262 95 72 263 81 73 264 114 119 265 82 74 266 68 62 267 101 120 268 69 76 269 95 72 270 97 121 271 65 79 272 82 74 273 115 122 274 83 82 275 69 76 276 102 123 277 70 84 278 83 82 279 116 124 280 84 89 281 70 84 282 103 125 283 71 91 284 84 89 285 117 126 286 85 70 287 71 91 288 104 127 289 72 66 290 85 70 291 118 128 292 86 71 293 142 129 294 175 130 295 143 131 296 121 103 297 154 132 298 122 104 299 108 99 300 141 133 301 109 105 302 123 106 303 154 132 304 155 134 305 110 107 306 141 133 307 142 129 308 96 108 309 129 135 310 128 136 311 124 109 312 155 134 313 156 137 314 111 110 315 142 129 316 143 131 317 96 108 318 130 138 319 98 111 320 124 109 321 157 139 322 125 112 323 111 110 324 144 140 325 112 113 326 98 111 327 131 141 328 99 114 329 125 112 330 158 142 331 126 115 332 112 113 333 145 143 334 113 116 335 99 114 336 132 144 337 100 117 338 127 118 339 158 142 340 159 145 341 113 116 342 146 146 343 114 119 344 100 117 345 133 147 346 101 120 347 127 118 348 129 135 349 97 121 350 114 119 351 147 148 352 115 122 353 101 120 354 134 149 355 102 123 356 115 122 357 148 150 358 116 124 359 102 123 360 135 151 361 103 125 362 116 124 363 149 152 364 117 126 365 103 125 366 136 153 367 104 127 368 117 126 369 150 154 370 118 128 371 104 127 372 137 155 373 105 67 374 119 100 375 150 154 376 151 156 377 105 67 378 138 157 379 106 101 380 119 100 381 152 158 382 120 102 383 107 97 384 138 157 385 139 159 386 121 103 387 152 158 388 153 160 389 177 161 390 210 162 391 178 163 392 128 136 393 162 164 394 130 138 395 156 137 396 189 165 397 157 139 398 143 131 399 176 166 400 144 140 401 130 138 402 163 167 403 131 141 404 157 139 405 190 168 406 158 142 407 144 140 408 177 161 409 145 143 410 131 141 411 164 169 412 132 144 413 158 142 414 191 170 415 159 145 416 145 143 417 178 163 418 146 146 419 132 144 420 165 171 421 133 147 422 159 145 423 161 172 424 129 135 425 146 146 426 179 173 427 147 148 428 133 147 429 166 174 430 134 149 431 147 148 432 180 175 433 148 150 434 134 149 435 167 176 436 135 151 437 148 150 438 181 177 439 149 152 440 135 151 441 168 178 442 136 153 443 149 152 444 182 179 445 150 154 446 136 153 447 169 180 448 137 155 449 150 154 450 183 181 451 151 156 452 137 155 453 170 182 454 138 157 455 151 156 456 184 183 457 152 158 458 138 157 459 171 184 460 139 159 461 152 158 462 185 185 463 153 160 464 139 159 465 172 186 466 140 98 467 153 160 468 186 187 469 154 132 470 140 98 471 173 188 472 141 133 473 154 132 474 187 189 475 155 134 476 141 133 477 174 190 478 142 129 479 129 135 480 160 191 481 128 136 482 155 134 483 188 192 484 156 137 485 212 193 486 245 194 487 213 195 488 164 169 489 197 196 490 165 171 491 191 170 492 193 197 493 161 172 494 178 163 495 211 198 496 179 173 497 165 171 498 198 199 499 166 174 500 179 173 501 212 193 502 180 175 503 166 174 504 199 200 505 167 176 506 181 177 507 212 193 508 213 195 509 168 178 510 199 200 511 200 201 512 182 179 513 213 195 514 214 202 515 168 178 516 201 203 517 169 180 518 182 179 519 215 204 520 183 181 521 169 180 522 202 205 523 170 182 524 184 183 525 215 204 526 216 206 527 171 184 528 202 205 529 203 207 530 184 183 531 217 208 532 185 185 533 171 184 534 204 209 535 172 186 536 185 185 537 218 210 538 186 187 539 172 186 540 205 211 541 173 188 542 186 187 543 219 212 544 187 189 545 174 190 546 205 211 547 206 213 548 161 172 549 192 214 550 160 191 551 188 192 552 219 212 553 220 215 554 175 130 555 206 213 556 207 216 557 160 191 558 194 217 559 162 164 560 188 192 561 221 218 562 189 165 563 175 130 564 208 219 565 176 166 566 162 164 567 195 220 568 163 167 569 189 165 570 222 221 571 190 168 572 176 166 573 209 222 574 177 161 575 163 167 576 196 223 577 164 169 578 191 170 579 222 221 580 223 224 581 247 225 582 280 226 583 248 227 584 199 200 585 232 228 586 200 201 587 213 195 588 246 229 589 214 202 590 200 201 591 233 230 592 201 203 593 214 202 594 247 225 595 215 204 596 201 203 597 234 231 598 202 205 599 215 204 600 248 227 601 216 206 602 202 205 603 235 232 604 203 207 605 216 206 606 249 233 607 217 208 608 203 207 609 236 234 610 204 209 611 217 208 612 250 235 613 218 210 614 204 209 615 237 236 616 205 211 617 218 210 618 251 237 619 219 212 620 205 211 621 238 238 622 206 213 623 193 197 624 224 239 625 192 214 626 219 212 627 252 240 628 220 215 629 206 213 630 239 241 631 207 216 632 192 214 633 226 242 634 194 217 635 220 215 636 253 243 637 221 218 638 207 216 639 240 244 640 208 219 641 194 217 642 227 245 643 195 220 644 221 218 645 254 246 646 222 221 647 208 219 648 241 247 649 209 222 650 195 220 651 228 248 652 196 223 653 222 221 654 255 249 655 223 224 656 209 222 657 242 250 658 210 162 659 196 223 660 229 251 661 197 196 662 223 224 663 225 252 664 193 197 665 210 162 666 243 253 667 211 198 668 197 196 669 230 254 670 198 199 671 211 198 672 244 255 673 212 193 674 198 199 675 231 256 676 199 200 677 282 257 678 315 258 679 283 259 680 235 232 681 266 260 682 267 261 683 249 233 684 280 226 685 281 262 686 236 234 687 267 261 688 268 263 689 250 235 690 281 262 691 282 257 692 236 234 693 269 264 694 237 236 695 251 237 696 282 257 697 283 259 698 237 236 699 270 265 700 238 238 701 225 252 702 256 266 703 224 239 704 251 237 705 284 267 706 252 240 707 238 238 708 271 268 709 239 241 710 226 242 711 256 266 712 258 269 713 252 240 714 285 270 715 253 243 716 239 241 717 272 271 718 240 244 719 226 242 720 259 272 721 227 245 722 253 243 723 286 273 724 254 246 725 241 247 726 272 271 727 273 274 728 227 245 729 260 275 730 228 248 731 254 246 732 287 276 733 255 249 734 242 250 735 273 274 736 274 277 737 228 248 738 261 278 739 229 251 740 255 249 741 257 279 742 225 252 743 242 250 744 275 280 745 243 253 746 229 251 747 262 281 748 230 254 749 243 253 750 276 282 751 244 255 752 230 254 753 263 283 754 231 256 755 244 255 756 277 284 757 245 194 758 231 256 759 264 285 760 232 228 761 246 229 762 277 284 763 278 286 764 232 228 765 265 287 766 233 230 767 246 229 768 279 288 769 247 225 770 233 230 771 266 260 772 234 231 773 309 289 774 342 290 775 310 291 776 269 264 777 302 292 778 270 265 779 257 279 780 288 293 781 256 266 782 283 259 783 316 294 784 284 267 785 270 265 786 303 295 787 271 268 788 256 266 789 290 296 790 258 269 791 284 267 792 317 297 793 285 270 794 271 268 795 304 298 796 272 271 797 258 269 798 291 299 799 259 272 800 285 270 801 318 300 802 286 273 803 272 271 804 305 301 805 273 274 806 259 272 807 292 302 808 260 275 809 286 273 810 319 303 811 287 276 812 273 274 813 306 304 814 274 277 815 260 275 816 293 305 817 261 278 818 287 276 819 289 306 820 257 279 821 274 277 822 307 307 823 275 280 824 261 278 825 294 308 826 262 281 827 275 280 828 308 309 829 276 282 830 262 281 831 295 310 832 263 283 833 276 282 834 309 289 835 277 284 836 263 283 837 296 311 838 264 285 839 277 284 840 310 291 841 278 286 842 264 285 843 297 312 844 265 287 845 278 286 846 311 313 847 279 288 848 265 287 849 298 314 850 266 260 851 279 288 852 312 315 853 280 226 854 266 260 855 299 316 856 267 261 857 280 226 858 313 317 859 281 262 860 267 261 861 300 318 862 268 263 863 281 262 864 314 319 865 282 257 866 268 263 867 301 320 868 269 264 869 344 321 870 377 322 871 345 323 872 296 311 873 329 324 874 297 312 875 311 313 876 342 290 877 343 325 878 297 312 879 330 326 880 298 314 881 311 313 882 344 321 883 312 315 884 298 314 885 331 327 886 299 316 887 312 315 888 345 323 889 313 317 890 299 316 891 332 328 892 300 318 893 314 319 894 345 323 895 346 329 896 301 320 897 332 328 898 333 330 899 314 319 900 347 331 901 315 258 902 301 320 903 334 332 904 302 292 905 289 306 906 320 333 907 288 293 908 315 258 909 348 334 910 316 294 911 303 295 912 334 332 913 335 335 914 288 293 915 322 336 916 290 296 917 316 294 918 349 337 919 317 297 920 303 295 921 336 338 922 304 298 923 291 299 924 322 336 925 323 339 926 318 300 927 349 337 928 350 340 929 304 298 930 337 341 931 305 301 932 291 299 933 324 342 934 292 302 935 319 303 936 350 340 937 351 343 938 305 301 939 338 344 940 306 304 941 292 302 942 325 345 943 293 305 944 319 303 945 321 346 946 289 306 947 306 304 948 339 347 949 307 307 950 293 305 951 326 348 952 294 308 953 308 309 954 339 347 955 340 349 956 294 308 957 327 350 958 295 310 959 309 289 960 340 349 961 341 351 962 295 310 963 328 352 964 296 311 965 331 327 966 364 353 967 332 328 968 345 323 969 378 354 970 346 329 971 332 328 972 365 355 973 333 330 974 346 329 975 379 356 976 347 331 977 333 330 978 366 357 979 334 332 980 321 346 981 352 358 982 320 333 983 347 331 984 380 359 985 348 334 986 334 332 987 367 360 988 335 335 989 320 333 990 354 361 991 322 336 992 348 334 993 381 362 994 349 337 995 335 335 996 368 363 997 336 338 998 322 336 999 355 364 1000 323 339 1001 349 337 1002 382 365 1003 350 340 1004 336 338 1005 369 366 1006 337 341 1007 323 339 1008 356 367 1009 324 342 1010 350 340 1011 383 368 1012 351 343 1013 337 341 1014 370 369 1015 338 344 1016 324 342 1017 357 370 1018 325 345 1019 351 343 1020 353 371 1021 321 346 1022 338 344 1023 371 372 1024 339 347 1025 325 345 1026 358 373 1027 326 348 1028 339 347 1029 372 374 1030 340 349 1031 326 348 1032 359 375 1033 327 350 1034 340 349 1035 373 376 1036 341 351 1037 327 350 1038 360 377 1039 328 352 1040 341 351 1041 374 378 1042 342 290 1043 328 352 1044 361 379 1045 329 324 1046 342 290 1047 375 380 1048 343 325 1049 329 324 1050 362 381 1051 330 326 1052 343 325 1053 376 382 1054 344 321 1055 330 326 1056 363 383 1057 331 327 1058 364 353 1059 399 384 1060 400 385 1061 377 322 1062 412 386 1063 413 387 1064 363 383 1065 398 388 1066 399 384 1067 376 382 1068 411 389 1069 412 386 1070 362 381 1071 397 390 1072 398 388 1073 375 380 1074 410 391 1075 411 389 1076 361 379 1077 396 392 1078 397 390 1079 374 378 1080 409 393 1081 410 391 1082 386 394 1083 497 395 1084 500 396 1085 360 377 1086 395 397 1087 396 392 1088 373 376 1089 408 398 1090 409 393 1091 387 399 1092 500 396 1093 498 400 1094 359 375 1095 394 401 1096 395 397 1097 372 374 1098 407 402 1099 408 398 1100 385 403 1101 498 400 1102 495 404 1103 358 373 1104 393 405 1105 394 401 1106 371 372 1107 406 406 1108 407 402 1109 353 371 1110 419 407 1111 389 408 1112 357 370 1113 392 409 1114 393 405 1115 370 369 1116 405 410 1117 406 406 1118 383 368 1119 418 411 1120 419 407 1121 356 367 1122 391 412 1123 392 409 1124 369 366 1125 404 413 1126 405 410 1127 385 403 1128 386 394 1129 387 399 1130 382 365 1131 417 414 1132 418 411 1133 355 364 1134 390 415 1135 391 412 1136 368 363 1137 403 416 1138 404 413 1139 384 417 1140 495 404 1141 497 395 1142 381 362 1143 416 418 1144 417 414 1145 354 361 1146 388 419 1147 390 415 1148 367 360 1149 402 420 1150 403 416 1151 380 359 1152 415 421 1153 416 418 1154 352 358 1155 389 408 1156 388 419 1157 366 357 1158 401 422 1159 402 420 1160 379 356 1161 414 423 1162 415 421 1163 365 355 1164 400 385 1165 401 422 1166 378 354 1167 413 387 1168 414 423 1169 419 407 1170 422 424 1171 389 408 1172 388 419 1173 427 425 1174 390 415 1175 416 418 1176 508 426 1177 417 414 1178 403 416 1179 469 427 1180 404 413 1181 389 408 1182 421 428 1183 388 419 1184 417 414 1185 511 429 1186 418 411 1187 404 413 1188 472 430 1189 405 410 1190 391 412 1191 433 431 1192 392 409 1193 418 411 1194 514 432 1195 419 407 1196 405 410 1197 475 433 1198 406 406 1199 392 409 1200 436 434 1201 393 405 1202 407 402 1203 475 433 1204 478 435 1205 393 405 1206 439 436 1207 394 401 1208 390 415 1209 430 437 1210 391 412 1211 407 402 1212 481 438 1213 408 398 1214 394 401 1215 442 439 1216 395 397 1217 408 398 1218 484 440 1219 409 393 1220 395 397 1221 445 441 1222 396 392 1223 410 391 1224 484 440 1225 487 442 1226 397 390 1227 445 441 1228 448 443 1229 411 389 1230 487 442 1231 490 444 1232 397 390 1233 451 445 1234 398 388 1235 411 389 1236 493 446 1237 412 386 1238 398 388 1239 454 447 1240 399 384 1241 412 386 1242 496 448 1243 413 387 1244 400 385 1245 454 447 1246 457 449 1247 413 387 1248 499 450 1249 414 423 1250 401 422 1251 457 449 1252 460 451 1253 415 421 1254 499 450 1255 502 452 1256 402 420 1257 460 451 1258 463 453 1259 415 421 1260 505 454 1261 416 418 1262 403 416 1263 463 453 1264 466 455 1265 421 428 1266 423 456 1267 420 457 1268 420 457 1269 425 458 1270 424 459 1271 427 425 1272 420 457 1273 426 460 1274 426 460 1275 424 459 1276 428 461 1277 427 425 1278 429 462 1279 430 437 1280 426 460 1281 431 463 1282 429 462 1283 430 437 1284 432 464 1285 433 431 1286 429 462 1287 434 465 1288 432 464 1289 433 431 1290 435 466 1291 436 434 1292 432 464 1293 437 467 1294 435 466 1295 436 434 1296 438 468 1297 439 436 1298 435 466 1299 440 469 1300 438 468 1301 439 436 1302 441 470 1303 442 439 1304 438 468 1305 443 471 1306 441 470 1307 442 439 1308 444 472 1309 445 441 1310 441 470 1311 446 473 1312 444 472 1313 445 441 1314 447 474 1315 448 443 1316 444 472 1317 449 475 1318 447 474 1319 448 443 1320 450 476 1321 451 445 1322 450 476 1323 449 475 1324 452 477 1325 454 447 1326 450 476 1327 453 478 1328 453 478 1329 452 477 1330 455 479 1331 454 447 1332 456 480 1333 457 449 1334 453 478 1335 458 481 1336 456 480 1337 460 451 1338 456 480 1339 459 482 1340 456 480 1341 461 483 1342 459 482 1343 460 451 1344 462 484 1345 463 453 1346 459 482 1347 464 485 1348 462 484 1349 463 453 1350 465 486 1351 466 455 1352 462 484 1353 467 487 1354 465 486 1355 469 427 1356 465 486 1357 468 488 1358 468 488 1359 467 487 1360 470 489 1361 472 430 1362 468 488 1363 471 490 1364 471 490 1365 470 489 1366 473 491 1367 472 430 1368 474 492 1369 475 433 1370 471 490 1371 476 493 1372 474 492 1373 475 433 1374 477 494 1375 478 435 1376 474 492 1377 479 495 1378 477 494 1379 478 435 1380 480 496 1381 481 438 1382 477 494 1383 482 497 1384 480 496 1385 484 440 1386 480 496 1387 483 498 1388 483 498 1389 482 497 1390 485 499 1391 484 440 1392 486 500 1393 487 442 1394 483 498 1395 488 501 1396 486 500 1397 487 442 1398 489 502 1399 490 444 1400 486 500 1401 491 503 1402 489 502 1403 493 446 1404 489 502 1405 492 504 1406 492 504 1407 491 503 1408 494 505 1409 496 448 1410 492 504 1411 495 404 1412 495 404 1413 494 505 1414 497 395 1415 496 448 1416 498 400 1417 499 450 1418 499 450 1419 501 506 1420 502 452 1421 498 400 1422 503 507 1423 501 506 1424 502 452 1425 504 508 1426 505 454 1427 501 506 1428 506 509 1429 504 508 1430 505 454 1431 507 510 1432 508 426 1433 507 510 1434 506 509 1435 509 511 1436 511 429 1437 507 510 1438 510 512 1439 507 510 1440 512 513 1441 510 512 1442 514 432 1443 510 512 1444 513 514 1445 513 514 1446 512 513 1447 515 515 1448 514 432 1449 423 456 1450 422 424 1451 513 514 1452 425 458 1453 423 456 1454 476 493 1455 452 477 1456 428 461 1457 1 0 1458 3 3 1459 2 1 1460 3 3 1461 5 5 1462 4 4 1463 5 5 1464 7 7 1465 6 6 1466 7 7 1467 9 9 1468 8 8 1469 9 9 1470 11 11 1471 10 10 1472 11 11 1473 13 13 1474 12 12 1475 13 13 1476 15 15 1477 14 14 1478 15 15 1479 17 17 1480 16 16 1481 17 17 1482 19 19 1483 18 18 1484 19 19 1485 21 21 1486 20 20 1487 21 21 1488 23 23 1489 22 22 1490 23 23 1491 25 25 1492 24 24 1493 25 25 1494 27 27 1495 26 26 1496 27 27 1497 29 29 1498 28 28 1499 29 29 1500 31 31 1501 30 30 1502 31 31 1503 33 33 1504 32 32 1505 33 33 1506 35 35 1507 34 34 1508 35 35 1509 37 37 1510 36 36 1511 37 37 1512 39 39 1513 38 38 1514 39 39 1515 41 41 1516 40 40 1517 41 41 1518 43 43 1519 42 42 1520 43 43 1521 45 45 1522 44 44 1523 45 45 1524 47 47 1525 46 46 1526 47 47 1527 49 49 1528 48 48 1529 49 49 1530 51 51 1531 50 50 1532 51 51 1533 53 53 1534 52 52 1535 53 53 1536 55 55 1537 54 54 1538 55 55 1539 57 57 1540 56 56 1541 57 57 1542 59 59 1543 58 58 1544 59 59 1545 61 63 1546 60 60 1547 9 9 1548 7 7 1549 67 61 1550 61 63 1551 63 65 1552 62 64 1553 63 65 1554 1 0 1555 0 2 1556 62 64 1557 0 2 1558 2 1 1559 2 1 1560 4 4 1561 62 64 1562 4 4 1563 6 6 1564 62 64 1565 6 6 1566 8 8 1567 10 10 1568 10 10 1569 12 12 1570 6 6 1571 12 12 1572 14 14 1573 6 6 1574 14 14 1575 16 16 1576 22 22 1577 16 16 1578 18 18 1579 22 22 1580 18 18 1581 20 20 1582 22 22 1583 22 22 1584 24 24 1585 26 26 1586 26 26 1587 28 28 1588 30 30 1589 30 30 1590 32 32 1591 34 34 1592 34 34 1593 36 36 1594 38 38 1595 38 38 1596 40 40 1597 42 42 1598 42 42 1599 44 44 1600 46 46 1601 46 46 1602 48 48 1603 50 50 1604 50 50 1605 52 52 1606 54 54 1607 54 54 1608 56 56 1609 62 64 1610 56 56 1611 58 58 1612 62 64 1613 58 58 1614 60 60 1615 62 64 1616 22 22 1617 26 26 1618 30 30 1619 30 30 1620 34 34 1621 46 46 1622 34 34 1623 38 38 1624 46 46 1625 38 38 1626 42 42 1627 46 46 1628 46 46 1629 50 50 1630 62 64 1631 50 50 1632 54 54 1633 62 64 1634 62 64 1635 6 6 1636 14 14 1637 14 14 1638 22 22 1639 62 64 1640 22 22 1641 30 30 1642 62 64 1643 72 66 1644 104 127 1645 105 67 1646 25 25 1647 76 94 1648 77 69 1649 45 45 1650 43 43 1651 85 70 1652 61 63 1653 94 95 1654 95 72 1655 17 17 1656 72 66 1657 73 68 1658 37 37 1659 35 35 1660 81 73 1661 53 53 1662 90 96 1663 91 75 1664 9 9 1665 68 62 1666 69 76 1667 27 27 1668 77 69 1669 78 77 1670 45 45 1671 86 71 1672 87 78 1673 3 3 1674 1 0 1675 65 79 1676 63 65 1677 95 72 1678 65 79 1679 19 19 1680 73 68 1681 74 81 1682 37 37 1683 82 74 1684 83 82 1685 55 55 1686 91 75 1687 92 83 1688 11 11 1689 69 76 1690 70 84 1691 29 29 1692 78 77 1693 79 85 1694 47 47 1695 87 78 1696 88 86 1697 3 3 1698 64 80 1699 66 87 1700 21 21 1701 74 81 1702 75 88 1703 41 41 1704 39 39 1705 83 82 1706 59 59 1707 57 57 1708 92 83 1709 13 13 1710 70 84 1711 71 91 1712 31 31 1713 79 85 1714 80 92 1715 51 51 1716 49 49 1717 88 86 1718 7 7 1719 5 5 1720 66 87 1721 23 23 1722 75 88 1723 76 94 1724 41 41 1725 84 89 1726 85 70 1727 61 63 1728 59 59 1729 93 90 1730 15 15 1731 71 91 1732 72 66 1733 33 33 1734 80 92 1735 81 73 1736 53 53 1737 51 51 1738 89 93 1739 107 97 1740 139 159 1741 140 98 1742 86 71 1743 118 128 1744 119 100 1745 73 68 1746 105 67 1747 106 101 1748 87 78 1749 119 100 1750 120 102 1751 74 81 1752 106 101 1753 107 97 1754 88 86 1755 120 102 1756 121 103 1757 75 88 1758 107 97 1759 108 99 1760 89 93 1761 121 103 1762 122 104 1763 76 94 1764 108 99 1765 109 105 1766 90 96 1767 122 104 1768 123 106 1769 77 69 1770 109 105 1771 110 107 1772 65 79 1773 97 121 1774 96 108 1775 91 75 1776 123 106 1777 124 109 1778 78 77 1779 110 107 1780 111 110 1781 64 80 1782 96 108 1783 98 111 1784 92 83 1785 124 109 1786 125 112 1787 79 85 1788 111 110 1789 112 113 1790 66 87 1791 98 111 1792 99 114 1793 93 90 1794 125 112 1795 126 115 1796 80 92 1797 112 113 1798 113 116 1799 67 61 1800 99 114 1801 100 117 1802 94 95 1803 126 115 1804 127 118 1805 81 73 1806 113 116 1807 114 119 1808 68 62 1809 100 117 1810 101 120 1811 95 72 1812 127 118 1813 97 121 1814 82 74 1815 114 119 1816 115 122 1817 69 76 1818 101 120 1819 102 123 1820 83 82 1821 115 122 1822 116 124 1823 70 84 1824 102 123 1825 103 125 1826 84 89 1827 116 124 1828 117 126 1829 71 91 1830 103 125 1831 104 127 1832 85 70 1833 117 126 1834 118 128 1835 142 129 1836 174 190 1837 175 130 1838 121 103 1839 153 160 1840 154 132 1841 108 99 1842 140 98 1843 141 133 1844 123 106 1845 122 104 1846 154 132 1847 110 107 1848 109 105 1849 141 133 1850 96 108 1851 97 121 1852 129 135 1853 124 109 1854 123 106 1855 155 134 1856 111 110 1857 110 107 1858 142 129 1859 96 108 1860 128 136 1861 130 138 1862 124 109 1863 156 137 1864 157 139 1865 111 110 1866 143 131 1867 144 140 1868 98 111 1869 130 138 1870 131 141 1871 125 112 1872 157 139 1873 158 142 1874 112 113 1875 144 140 1876 145 143 1877 99 114 1878 131 141 1879 132 144 1880 127 118 1881 126 115 1882 158 142 1883 113 116 1884 145 143 1885 146 146 1886 100 117 1887 132 144 1888 133 147 1889 127 118 1890 159 145 1891 129 135 1892 114 119 1893 146 146 1894 147 148 1895 101 120 1896 133 147 1897 134 149 1898 115 122 1899 147 148 1900 148 150 1901 102 123 1902 134 149 1903 135 151 1904 116 124 1905 148 150 1906 149 152 1907 103 125 1908 135 151 1909 136 153 1910 117 126 1911 149 152 1912 150 154 1913 104 127 1914 136 153 1915 137 155 1916 119 100 1917 118 128 1918 150 154 1919 105 67 1920 137 155 1921 138 157 1922 119 100 1923 151 156 1924 152 158 1925 107 97 1926 106 101 1927 138 157 1928 121 103 1929 120 102 1930 152 158 1931 177 161 1932 209 222 1933 210 162 1934 128 136 1935 160 191 1936 162 164 1937 156 137 1938 188 192 1939 189 165 1940 143 131 1941 175 130 1942 176 166 1943 130 138 1944 162 164 1945 163 167 1946 157 139 1947 189 165 1948 190 168 1949 144 140 1950 176 166 1951 177 161 1952 131 141 1953 163 167 1954 164 169 1955 158 142 1956 190 168 1957 191 170 1958 145 143 1959 177 161 1960 178 163 1961 132 144 1962 164 169 1963 165 171 1964 159 145 1965 191 170 1966 161 172 1967 146 146 1968 178 163 1969 179 173 1970 133 147 1971 165 171 1972 166 174 1973 147 148 1974 179 173 1975 180 175 1976 134 149 1977 166 174 1978 167 176 1979 148 150 1980 180 175 1981 181 177 1982 135 151 1983 167 176 1984 168 178 1985 149 152 1986 181 177 1987 182 179 1988 136 153 1989 168 178 1990 169 180 1991 150 154 1992 182 179 1993 183 181 1994 137 155 1995 169 180 1996 170 182 1997 151 156 1998 183 181 1999 184 183 2000 138 157 2001 170 182 2002 171 184 2003 152 158 2004 184 183 2005 185 185 2006 139 159 2007 171 184 2008 172 186 2009 153 160 2010 185 185 2011 186 187 2012 140 98 2013 172 186 2014 173 188 2015 154 132 2016 186 187 2017 187 189 2018 141 133 2019 173 188 2020 174 190 2021 129 135 2022 161 172 2023 160 191 2024 155 134 2025 187 189 2026 188 192 2027 212 193 2028 244 255 2029 245 194 2030 164 169 2031 196 223 2032 197 196 2033 191 170 2034 223 224 2035 193 197 2036 178 163 2037 210 162 2038 211 198 2039 165 171 2040 197 196 2041 198 199 2042 179 173 2043 211 198 2044 212 193 2045 166 174 2046 198 199 2047 199 200 2048 181 177 2049 180 175 2050 212 193 2051 168 178 2052 167 176 2053 199 200 2054 182 179 2055 181 177 2056 213 195 2057 168 178 2058 200 201 2059 201 203 2060 182 179 2061 214 202 2062 215 204 2063 169 180 2064 201 203 2065 202 205 2066 184 183 2067 183 181 2068 215 204 2069 171 184 2070 170 182 2071 202 205 2072 184 183 2073 216 206 2074 217 208 2075 171 184 2076 203 207 2077 204 209 2078 185 185 2079 217 208 2080 218 210 2081 172 186 2082 204 209 2083 205 211 2084 186 187 2085 218 210 2086 219 212 2087 174 190 2088 173 188 2089 205 211 2090 161 172 2091 193 197 2092 192 214 2093 188 192 2094 187 189 2095 219 212 2096 175 130 2097 174 190 2098 206 213 2099 160 191 2100 192 214 2101 194 217 2102 188 192 2103 220 215 2104 221 218 2105 175 130 2106 207 216 2107 208 219 2108 162 164 2109 194 217 2110 195 220 2111 189 165 2112 221 218 2113 222 221 2114 176 166 2115 208 219 2116 209 222 2117 163 167 2118 195 220 2119 196 223 2120 191 170 2121 190 168 2122 222 221 2123 247 225 2124 279 288 2125 280 226 2126 199 200 2127 231 256 2128 232 228 2129 213 195 2130 245 194 2131 246 229 2132 200 201 2133 232 228 2134 233 230 2135 214 202 2136 246 229 2137 247 225 2138 201 203 2139 233 230 2140 234 231 2141 215 204 2142 247 225 2143 248 227 2144 202 205 2145 234 231 2146 235 232 2147 216 206 2148 248 227 2149 249 233 2150 203 207 2151 235 232 2152 236 234 2153 217 208 2154 249 233 2155 250 235 2156 204 209 2157 236 234 2158 237 236 2159 218 210 2160 250 235 2161 251 237 2162 205 211 2163 237 236 2164 238 238 2165 193 197 2166 225 252 2167 224 239 2168 219 212 2169 251 237 2170 252 240 2171 206 213 2172 238 238 2173 239 241 2174 192 214 2175 224 239 2176 226 242 2177 220 215 2178 252 240 2179 253 243 2180 207 216 2181 239 241 2182 240 244 2183 194 217 2184 226 242 2185 227 245 2186 221 218 2187 253 243 2188 254 246 2189 208 219 2190 240 244 2191 241 247 2192 195 220 2193 227 245 2194 228 248 2195 222 221 2196 254 246 2197 255 249 2198 209 222 2199 241 247 2200 242 250 2201 196 223 2202 228 248 2203 229 251 2204 223 224 2205 255 249 2206 225 252 2207 210 162 2208 242 250 2209 243 253 2210 197 196 2211 229 251 2212 230 254 2213 211 198 2214 243 253 2215 244 255 2216 198 199 2217 230 254 2218 231 256 2219 282 257 2220 314 319 2221 315 258 2222 235 232 2223 234 231 2224 266 260 2225 249 233 2226 248 227 2227 280 226 2228 236 234 2229 235 232 2230 267 261 2231 250 235 2232 249 233 2233 281 262 2234 236 234 2235 268 263 2236 269 264 2237 251 237 2238 250 235 2239 282 257 2240 237 236 2241 269 264 2242 270 265 2243 225 252 2244 257 279 2245 256 266 2246 251 237 2247 283 259 2248 284 267 2249 238 238 2250 270 265 2251 271 268 2252 226 242 2253 224 239 2254 256 266 2255 252 240 2256 284 267 2257 285 270 2258 239 241 2259 271 268 2260 272 271 2261 226 242 2262 258 269 2263 259 272 2264 253 243 2265 285 270 2266 286 273 2267 241 247 2268 240 244 2269 272 271 2270 227 245 2271 259 272 2272 260 275 2273 254 246 2274 286 273 2275 287 276 2276 242 250 2277 241 247 2278 273 274 2279 228 248 2280 260 275 2281 261 278 2282 255 249 2283 287 276 2284 257 279 2285 242 250 2286 274 277 2287 275 280 2288 229 251 2289 261 278 2290 262 281 2291 243 253 2292 275 280 2293 276 282 2294 230 254 2295 262 281 2296 263 283 2297 244 255 2298 276 282 2299 277 284 2300 231 256 2301 263 283 2302 264 285 2303 246 229 2304 245 194 2305 277 284 2306 232 228 2307 264 285 2308 265 287 2309 246 229 2310 278 286 2311 279 288 2312 233 230 2313 265 287 2314 266 260 2315 309 289 2316 341 351 2317 342 290 2318 269 264 2319 301 320 2320 302 292 2321 257 279 2322 289 306 2323 288 293 2324 283 259 2325 315 258 2326 316 294 2327 270 265 2328 302 292 2329 303 295 2330 256 266 2331 288 293 2332 290 296 2333 284 267 2334 316 294 2335 317 297 2336 271 268 2337 303 295 2338 304 298 2339 258 269 2340 290 296 2341 291 299 2342 285 270 2343 317 297 2344 318 300 2345 272 271 2346 304 298 2347 305 301 2348 259 272 2349 291 299 2350 292 302 2351 286 273 2352 318 300 2353 319 303 2354 273 274 2355 305 301 2356 306 304 2357 260 275 2358 292 302 2359 293 305 2360 287 276 2361 319 303 2362 289 306 2363 274 277 2364 306 304 2365 307 307 2366 261 278 2367 293 305 2368 294 308 2369 275 280 2370 307 307 2371 308 309 2372 262 281 2373 294 308 2374 295 310 2375 276 282 2376 308 309 2377 309 289 2378 263 283 2379 295 310 2380 296 311 2381 277 284 2382 309 289 2383 310 291 2384 264 285 2385 296 311 2386 297 312 2387 278 286 2388 310 291 2389 311 313 2390 265 287 2391 297 312 2392 298 314 2393 279 288 2394 311 313 2395 312 315 2396 266 260 2397 298 314 2398 299 316 2399 280 226 2400 312 315 2401 313 317 2402 267 261 2403 299 316 2404 300 318 2405 281 262 2406 313 317 2407 314 319 2408 268 263 2409 300 318 2410 301 320 2411 344 321 2412 376 382 2413 377 322 2414 296 311 2415 328 352 2416 329 324 2417 311 313 2418 310 291 2419 342 290 2420 297 312 2421 329 324 2422 330 326 2423 311 313 2424 343 325 2425 344 321 2426 298 314 2427 330 326 2428 331 327 2429 312 315 2430 344 321 2431 345 323 2432 299 316 2433 331 327 2434 332 328 2435 314 319 2436 313 317 2437 345 323 2438 301 320 2439 300 318 2440 332 328 2441 314 319 2442 346 329 2443 347 331 2444 301 320 2445 333 330 2446 334 332 2447 289 306 2448 321 346 2449 320 333 2450 315 258 2451 347 331 2452 348 334 2453 303 295 2454 302 292 2455 334 332 2456 288 293 2457 320 333 2458 322 336 2459 316 294 2460 348 334 2461 349 337 2462 303 295 2463 335 335 2464 336 338 2465 291 299 2466 290 296 2467 322 336 2468 318 300 2469 317 297 2470 349 337 2471 304 298 2472 336 338 2473 337 341 2474 291 299 2475 323 339 2476 324 342 2477 319 303 2478 318 300 2479 350 340 2480 305 301 2481 337 341 2482 338 344 2483 292 302 2484 324 342 2485 325 345 2486 319 303 2487 351 343 2488 321 346 2489 306 304 2490 338 344 2491 339 347 2492 293 305 2493 325 345 2494 326 348 2495 308 309 2496 307 307 2497 339 347 2498 294 308 2499 326 348 2500 327 350 2501 309 289 2502 308 309 2503 340 349 2504 295 310 2505 327 350 2506 328 352 2507 331 327 2508 363 383 2509 364 353 2510 345 323 2511 377 322 2512 378 354 2513 332 328 2514 364 353 2515 365 355 2516 346 329 2517 378 354 2518 379 356 2519 333 330 2520 365 355 2521 366 357 2522 321 346 2523 353 371 2524 352 358 2525 347 331 2526 379 356 2527 380 359 2528 334 332 2529 366 357 2530 367 360 2531 320 333 2532 352 358 2533 354 361 2534 348 334 2535 380 359 2536 381 362 2537 335 335 2538 367 360 2539 368 363 2540 322 336 2541 354 361 2542 355 364 2543 349 337 2544 381 362 2545 382 365 2546 336 338 2547 368 363 2548 369 366 2549 323 339 2550 355 364 2551 356 367 2552 350 340 2553 382 365 2554 383 368 2555 337 341 2556 369 366 2557 370 369 2558 324 342 2559 356 367 2560 357 370 2561 351 343 2562 383 368 2563 353 371 2564 338 344 2565 370 369 2566 371 372 2567 325 345 2568 357 370 2569 358 373 2570 339 347 2571 371 372 2572 372 374 2573 326 348 2574 358 373 2575 359 375 2576 340 349 2577 372 374 2578 373 376 2579 327 350 2580 359 375 2581 360 377 2582 341 351 2583 373 376 2584 374 378 2585 328 352 2586 360 377 2587 361 379 2588 342 290 2589 374 378 2590 375 380 2591 329 324 2592 361 379 2593 362 381 2594 343 325 2595 375 380 2596 376 382 2597 330 326 2598 362 381 2599 363 383 2600 364 353 2601 363 383 2602 399 384 2603 377 322 2604 376 382 2605 412 386 2606 363 383 2607 362 381 2608 398 388 2609 376 382 2610 375 380 2611 411 389 2612 362 381 2613 361 379 2614 397 390 2615 375 380 2616 374 378 2617 410 391 2618 361 379 2619 360 377 2620 396 392 2621 374 378 2622 373 376 2623 409 393 2624 386 394 2625 384 417 2626 497 395 2627 360 377 2628 359 375 2629 395 397 2630 373 376 2631 372 374 2632 408 398 2633 387 399 2634 386 394 2635 500 396 2636 359 375 2637 358 373 2638 394 401 2639 372 374 2640 371 372 2641 407 402 2642 385 403 2643 387 399 2644 498 400 2645 358 373 2646 357 370 2647 393 405 2648 371 372 2649 370 369 2650 406 406 2651 353 371 2652 383 368 2653 419 407 2654 357 370 2655 356 367 2656 392 409 2657 370 369 2658 369 366 2659 405 410 2660 383 368 2661 382 365 2662 418 411 2663 356 367 2664 355 364 2665 391 412 2666 369 366 2667 368 363 2668 404 413 2669 385 403 2670 384 417 2671 386 394 2672 382 365 2673 381 362 2674 417 414 2675 355 364 2676 354 361 2677 390 415 2678 368 363 2679 367 360 2680 403 416 2681 384 417 2682 385 403 2683 495 404 2684 381 362 2685 380 359 2686 416 418 2687 354 361 2688 352 358 2689 388 419 2690 367 360 2691 366 357 2692 402 420 2693 380 359 2694 379 356 2695 415 421 2696 352 358 2697 353 371 2698 389 408 2699 366 357 2700 365 355 2701 401 422 2702 379 356 2703 378 354 2704 414 423 2705 365 355 2706 364 353 2707 400 385 2708 378 354 2709 377 322 2710 413 387 2711 419 407 2712 514 432 2713 422 424 2714 388 419 2715 421 428 2716 427 425 2717 416 418 2718 505 454 2719 508 426 2720 403 416 2721 466 455 2722 469 427 2723 389 408 2724 422 424 2725 421 428 2726 417 414 2727 508 426 2728 511 429 2729 404 413 2730 469 427 2731 472 430 2732 391 412 2733 430 437 2734 433 431 2735 418 411 2736 511 429 2737 514 432 2738 405 410 2739 472 430 2740 475 433 2741 392 409 2742 433 431 2743 436 434 2744 407 402 2745 406 406 2746 475 433 2747 393 405 2748 436 434 2749 439 436 2750 390 415 2751 427 425 2752 430 437 2753 407 402 2754 478 435 2755 481 438 2756 394 401 2757 439 436 2758 442 439 2759 408 398 2760 481 438 2761 484 440 2762 395 397 2763 442 439 2764 445 441 2765 410 391 2766 409 393 2767 484 440 2768 397 390 2769 396 392 2770 445 441 2771 411 389 2772 410 391 2773 487 442 2774 397 390 2775 448 443 2776 451 445 2777 411 389 2778 490 444 2779 493 446 2780 398 388 2781 451 445 2782 454 447 2783 412 386 2784 493 446 2785 496 448 2786 400 385 2787 399 384 2788 454 447 2789 413 387 2790 496 448 2791 499 450 2792 401 422 2793 400 385 2794 457 449 2795 415 421 2796 414 423 2797 499 450 2798 402 420 2799 401 422 2800 460 451 2801 415 421 2802 502 452 2803 505 454 2804 403 416 2805 402 420 2806 463 453 2807 421 428 2808 422 424 2809 423 456 2810 420 457 2811 423 456 2812 425 458 2813 427 425 2814 421 428 2815 420 457 2816 426 460 2817 420 457 2818 424 459 2819 427 425 2820 426 460 2821 429 462 2822 426 460 2823 428 461 2824 431 463 2825 430 437 2826 429 462 2827 432 464 2828 429 462 2829 431 463 2830 434 465 2831 433 431 2832 432 464 2833 435 466 2834 432 464 2835 434 465 2836 437 467 2837 436 434 2838 435 466 2839 438 468 2840 435 466 2841 437 467 2842 440 469 2843 439 436 2844 438 468 2845 441 470 2846 438 468 2847 440 469 2848 443 471 2849 442 439 2850 441 470 2851 444 472 2852 441 470 2853 443 471 2854 446 473 2855 445 441 2856 444 472 2857 447 474 2858 444 472 2859 446 473 2860 449 475 2861 448 443 2862 447 474 2863 450 476 2864 450 476 2865 447 474 2866 449 475 2867 454 447 2868 451 445 2869 450 476 2870 453 478 2871 450 476 2872 452 477 2873 454 447 2874 453 478 2875 456 480 2876 453 478 2877 455 479 2878 458 481 2879 460 451 2880 457 449 2881 456 480 2882 456 480 2883 458 481 2884 461 483 2885 460 451 2886 459 482 2887 462 484 2888 459 482 2889 461 483 2890 464 485 2891 463 453 2892 462 484 2893 465 486 2894 462 484 2895 464 485 2896 467 487 2897 469 427 2898 466 455 2899 465 486 2900 468 488 2901 465 486 2902 467 487 2903 472 430 2904 469 427 2905 468 488 2906 471 490 2907 468 488 2908 470 489 2909 472 430 2910 471 490 2911 474 492 2912 471 490 2913 473 491 2914 476 493 2915 475 433 2916 474 492 2917 477 494 2918 474 492 2919 476 493 2920 479 495 2921 478 435 2922 477 494 2923 480 496 2924 477 494 2925 479 495 2926 482 497 2927 484 440 2928 481 438 2929 480 496 2930 483 498 2931 480 496 2932 482 497 2933 484 440 2934 483 498 2935 486 500 2936 483 498 2937 485 499 2938 488 501 2939 487 442 2940 486 500 2941 489 502 2942 486 500 2943 488 501 2944 491 503 2945 493 446 2946 490 444 2947 489 502 2948 492 504 2949 489 502 2950 491 503 2951 496 448 2952 493 446 2953 492 504 2954 495 404 2955 492 504 2956 494 505 2957 496 448 2958 495 404 2959 498 400 2960 499 450 2961 498 400 2962 501 506 2963 498 400 2964 500 396 2965 503 507 2966 502 452 2967 501 506 2968 504 508 2969 501 506 2970 503 507 2971 506 509 2972 505 454 2973 504 508 2974 507 510 2975 507 510 2976 504 508 2977 506 509 2978 511 429 2979 508 426 2980 507 510 2981 507 510 2982 509 511 2983 512 513 2984 514 432 2985 511 429 2986 510 512 2987 513 514 2988 510 512 2989 512 513 2990 514 432 2991 513 514 2992 423 456 2993 513 514 2994 515 515 2995 425 458 2996 428 461 2997 424 459 2998 425 458 2999 425 458 3000 515 515 3001 428 461 3002 515 515 3003 512 513 3004 428 461 3005 512 513 3006 509 511 3007 506 509 3008 506 509 3009 503 507 3010 500 396 3011 500 396 3012 497 395 3013 494 505 3014 494 505 3015 491 503 3016 488 501 3017 488 501 3018 485 499 3019 476 493 3020 485 499 3021 482 497 3022 476 493 3023 482 497 3024 479 495 3025 476 493 3026 476 493 3027 473 491 3028 470 489 3029 470 489 3030 467 487 3031 464 485 3032 464 485 3033 461 483 3034 458 481 3035 458 481 3036 455 479 3037 464 485 3038 455 479 3039 452 477 3040 464 485 3041 452 477 3042 449 475 3043 446 473 3044 446 473 3045 443 471 3046 440 469 3047 440 469 3048 437 467 3049 434 465 3050 434 465 3051 431 463 3052 428 461 3053 512 513 3054 506 509 3055 428 461 3056 506 509 3057 500 396 3058 428 461 3059 500 396 3060 494 505 3061 476 493 3062 494 505 3063 488 501 3064 476 493 3065 476 493 3066 470 489 3067 452 477 3068 470 489 3069 464 485 3070 452 477 3071 452 477 3072 446 473 3073 440 469 3074 440 469 3075 434 465 3076 452 477 3077 434 465 3078 428 461 3079 452 477 3080 428 461 3081 500 396 3082 476 493 3083

-
-
-
-
- - - - 0 0.6372222 0 0 -0.6372222 0 0 0 0 0 0.637 0 0 0 0 1 - - - - - - - - - - - - - - - -
\ No newline at end of file diff --git a/urc_gazebo/urdf/models/barrel/model.config b/urc_gazebo/urdf/models/barrel/model.config deleted file mode 100644 index 989f99ca..00000000 --- a/urc_gazebo/urdf/models/barrel/model.config +++ /dev/null @@ -1,17 +0,0 @@ - - - - Barrel - 1.0 - model.sdf - - - Oswin So - oswinso@gmail.com - - - - A model of a traffic barrel - - - diff --git a/urc_gazebo/urdf/models/barrel/model.sdf b/urc_gazebo/urdf/models/barrel/model.sdf deleted file mode 100644 index fb3f9b66..00000000 --- a/urc_gazebo/urdf/models/barrel/model.sdf +++ /dev/null @@ -1,50 +0,0 @@ - - - - - 1 - - 500 - - 51.2096 - 51.2096 - 25 - 0 - 0 - 0 - - - - - - model://barrel/meshes/barrel.dae - 1 1 1 - - - 10 - - - - - - - - - - - - - - - - - model://barrel/meshes/barrel.dae - 1 1 1 - - - - 0 - 0 - - - diff --git a/urc_gazebo/urdf/models/desert_surface/materials/scripts/desert.material b/urc_gazebo/urdf/models/desert_surface/materials/scripts/desert.material deleted file mode 100644 index 35844d4f..00000000 --- a/urc_gazebo/urdf/models/desert_surface/materials/scripts/desert.material +++ /dev/null @@ -1,18 +0,0 @@ -material Gazebo/Desert -{ - technique - { - pass - { - ambient 0.8 0.8 0.8 1.0 - diffuse 0.8 0.8 0.8 1.0 - specular 0.01 0.01 0.01 1.0 2.0 - texture_unit - { - texture mars_texture.jpg - filtering trilinear - scale 0.02 0.02 - } - } - } -} \ No newline at end of file diff --git a/urc_gazebo/urdf/models/desert_surface/materials/textures/mars_texture.jpg b/urc_gazebo/urdf/models/desert_surface/materials/textures/mars_texture.jpg deleted file mode 100644 index 2a151eec..00000000 Binary files a/urc_gazebo/urdf/models/desert_surface/materials/textures/mars_texture.jpg and /dev/null differ diff --git a/urc_gazebo/urdf/models/desert_surface/model.config b/urc_gazebo/urdf/models/desert_surface/model.config deleted file mode 100644 index 71386645..00000000 --- a/urc_gazebo/urdf/models/desert_surface/model.config +++ /dev/null @@ -1,16 +0,0 @@ - - - - Desert Plane - 1.0 - model.sdf - - - Matthew Hannay - mhannay3@gatech.edu - - - - A desert surface - - diff --git a/urc_gazebo/urdf/models/desert_surface/model.sdf b/urc_gazebo/urdf/models/desert_surface/model.sdf deleted file mode 100644 index 2f81ec8e..00000000 --- a/urc_gazebo/urdf/models/desert_surface/model.sdf +++ /dev/null @@ -1,40 +0,0 @@ - - - - true - - - - - 0 0 1 - 100 100 - - - - - - 100 - 50 - - - - - - false - - - 0 0 1 - 100 100 - - - - - - - - - diff --git a/urc_gazebo/urdf/models/marsyard2022_terrain/dem/marsyard2022_terrain_hm.tif b/urc_gazebo/urdf/models/marsyard2022_terrain/dem/marsyard2022_terrain_hm.tif deleted file mode 100644 index b2ae7f16..00000000 Binary files a/urc_gazebo/urdf/models/marsyard2022_terrain/dem/marsyard2022_terrain_hm.tif and /dev/null differ diff --git a/urc_gazebo/urdf/models/marsyard2022_terrain/dem/marsyard2022_terrain_texture.png b/urc_gazebo/urdf/models/marsyard2022_terrain/dem/marsyard2022_terrain_texture.png deleted file mode 100644 index ae011a28..00000000 Binary files a/urc_gazebo/urdf/models/marsyard2022_terrain/dem/marsyard2022_terrain_texture.png and /dev/null differ diff --git a/urc_gazebo/urdf/models/marsyard2022_terrain/model.config b/urc_gazebo/urdf/models/marsyard2022_terrain/model.config deleted file mode 100644 index c06eec1b..00000000 --- a/urc_gazebo/urdf/models/marsyard2022_terrain/model.config +++ /dev/null @@ -1,12 +0,0 @@ - - - - Marsyard 2022 terrain - 1.0 - model.sdf - - - marsyard terrain model - - - \ No newline at end of file diff --git a/urc_gazebo/urdf/models/marsyard2022_terrain/model.sdf b/urc_gazebo/urdf/models/marsyard2022_terrain/model.sdf deleted file mode 100644 index daa3c212..00000000 --- a/urc_gazebo/urdf/models/marsyard2022_terrain/model.sdf +++ /dev/null @@ -1,39 +0,0 @@ - - - - - 0 0 0 0 0 0 - true - - - - - - - model://marsyard2022_terrain/dem/marsyard2022_terrain_hm.tif - 0 0 0 - 50 50 4.820803273566 - - - - - - - - false - model://marsyard2022_terrain/dem/marsyard2022_terrain_hm.tif - 0 0 0 - 50 50 4.820803273566 - - model://marsyard2022_terrain/dem/marsyard2022_terrain_texture.png - file://media/materials/textures/flat_normal.png - 50 - - - - - - - - - \ No newline at end of file diff --git a/urc_gazebo/urdf/models/sun/model.config b/urc_gazebo/urdf/models/sun/model.config deleted file mode 100644 index d71e0325..00000000 --- a/urc_gazebo/urdf/models/sun/model.config +++ /dev/null @@ -1,16 +0,0 @@ - - - - Sun - 1.0 - model.sdf - - - Nate Koenig - nate@osrfoundation.org - - - - A directional light for the sun. - - \ No newline at end of file diff --git a/urc_gazebo/urdf/models/sun/model.sdf b/urc_gazebo/urdf/models/sun/model.sdf deleted file mode 100644 index fe27d377..00000000 --- a/urc_gazebo/urdf/models/sun/model.sdf +++ /dev/null @@ -1,16 +0,0 @@ - - - - true - 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 - - \ No newline at end of file diff --git a/urc_gazebo/urdf/worlds/nav2_world.sdf b/urc_gazebo/urdf/worlds/nav2_world.sdf deleted file mode 100644 index 1914cb58..00000000 --- a/urc_gazebo/urdf/worlds/nav2_world.sdf +++ /dev/null @@ -1,243 +0,0 @@ - - - - - 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 - - 0 - 0 - 0 - - - - 1 - - - - - 0 0 1 - 100 100 - - - - - - 100 - 50 - - - - - - - - - - - 10 - - - 0 - - - 0 0 1 - 100 100 - - - - - - - 0 - 0 - 0 - - - 0 0 -9.8 - 6e-06 2.3e-05 -4.2e-05 - - - 0.001 - 1 - 1000 - - - 0.4 0.4 0.4 1 - 0.7 0.7 0.7 1 - 1 - - - - EARTH_WGS84 - 0 - 0 - 0 - 0 - - - 1.51271 -0.181418 0.5 0 -0 0 - - - 1 - - 0.166667 - 0 - 0 - 0.166667 - 0 - 0.166667 - - 0 0 0 0 -0 0 - - - - - 1 1 1 - - - 10 - - - - - - - - - - - - - - - - - 1 1 1 - - - - - - - 0 - 0 - 0 - - - - -1.89496 2.36764 0.5 0 -0 0 - - - 1 - - 0.1 - 0 - 0 - 0.1 - 0 - 0.1 - - 0 0 0 0 -0 0 - - - - - 0.5 - - - 10 - - - - - - - - - - - - - - - - - 0.5 - - - - - - - 0 - 0 - 0 - - - - 0 0 - 0 0 - 1626668720 808592627 - 0 - - 0 0 0 0 -0 0 - 1 1 1 - - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 1.51272 -0.181418 0.499995 0 1e-05 0 - 1 1 1 - - 1.51272 -0.181418 0.499995 0 1e-05 0 - 0 0 0 0 -0 0 - 0.010615 -0.006191 -9.78231 0.012424 0.021225 1.8e-05 - 0.010615 -0.006191 -9.78231 0 -0 0 - - - - -0.725833 1.36206 0.5 0 -0 0 - 1 1 1 - - -0.944955 1.09802 0.5 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 0 0 10 0 -0 0 - - - - - 3.17226 -5.10401 6.58845 0 0.739643 2.19219 - orbit - perspective - - - - \ No newline at end of file diff --git a/urc_gazebo/urdf/worlds/urc_world.world b/urc_gazebo/urdf/worlds/urc_world.world deleted file mode 100644 index e9048ebe..00000000 --- a/urc_gazebo/urdf/worlds/urc_world.world +++ /dev/null @@ -1,60 +0,0 @@ - - - - - 0 0 100 0 0 0.01 - 1 1 1 1 - 0.1 0.1 0.1 1 - 1 - -0.2 -1.0 -1.0 - - - - model://marsyard2022_terrain - - - - 0 0 - 0 0 - 1626668720 808592627 - 0 - - 0 0 10 0 -0 0 - - - - - - 3.17226 -5.10401 6.58845 0 0.739643 2.19219 - orbit - perspective - - - - 0 0 -9.8 - - 6e-06 2.3e-05 -4.2e-05 - - - - - 0.001 - 1 - 1000 - - - - 0.6 0.6 0.6 1.0 - true - false - - - - EARTH_WGS84 - 0 - 0 - 0 - 0 - - - \ No newline at end of file diff --git a/urc_hw_description/urdf/arm.xacro b/urc_hw_description/urdf/arm.xacro index 56778045..0dcec6e0 100644 --- a/urc_hw_description/urdf/arm.xacro +++ b/urc_hw_description/urdf/arm.xacro @@ -13,14 +13,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/spine_collision.STL" /> @@ -40,14 +40,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/shoulder_collision.STL" /> @@ -69,14 +69,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/bicep_collision.STL" /> @@ -98,14 +98,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/elbow_collision.STL" /> @@ -127,14 +127,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/wrist_collision.STL" /> @@ -156,14 +156,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/claw_collision.STL" /> @@ -185,14 +185,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/rightgripper_collision.STL" /> @@ -214,14 +214,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/leftgripper_collision.STL" /> diff --git a/urc_hw_description/urdf/drivebase.xacro b/urc_hw_description/urdf/drivebase.xacro index 34d0ede5..24776679 100644 --- a/urc_hw_description/urdf/drivebase.xacro +++ b/urc_hw_description/urdf/drivebase.xacro @@ -13,14 +13,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/base_link_collision.STL" /> @@ -38,14 +38,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/rightrocker_collision.STL" /> @@ -70,14 +70,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/leftrocker_collision.STL" /> @@ -102,14 +102,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/rightbogie_collision.STL" /> @@ -132,14 +132,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/leftbogie_collision.STL" /> diff --git a/urc_gazebo/urdf/meshes/collision/base_link_collision.STL b/urc_hw_description/urdf/meshes/collision/base_link_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/base_link_collision.STL rename to urc_hw_description/urdf/meshes/collision/base_link_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/bicep_collision.STL b/urc_hw_description/urdf/meshes/collision/bicep_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/bicep_collision.STL rename to urc_hw_description/urdf/meshes/collision/bicep_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/claw_collision.STL b/urc_hw_description/urdf/meshes/collision/claw_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/claw_collision.STL rename to urc_hw_description/urdf/meshes/collision/claw_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/elbow_collision.STL b/urc_hw_description/urdf/meshes/collision/elbow_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/elbow_collision.STL rename to urc_hw_description/urdf/meshes/collision/elbow_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/finger.obj b/urc_hw_description/urdf/meshes/collision/finger.obj similarity index 100% rename from urc_gazebo/urdf/meshes/collision/finger.obj rename to urc_hw_description/urdf/meshes/collision/finger.obj diff --git a/urc_gazebo/urdf/meshes/collision/hand.obj b/urc_hw_description/urdf/meshes/collision/hand.obj similarity index 100% rename from urc_gazebo/urdf/meshes/collision/hand.obj rename to urc_hw_description/urdf/meshes/collision/hand.obj diff --git a/urc_gazebo/urdf/meshes/collision/left_center_wheel_collision.STL b/urc_hw_description/urdf/meshes/collision/left_center_wheel_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/left_center_wheel_collision.STL rename to urc_hw_description/urdf/meshes/collision/left_center_wheel_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/left_front_wheel_collision.STL b/urc_hw_description/urdf/meshes/collision/left_front_wheel_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/left_front_wheel_collision.STL rename to urc_hw_description/urdf/meshes/collision/left_front_wheel_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/left_rear_wheel_collision.STL b/urc_hw_description/urdf/meshes/collision/left_rear_wheel_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/left_rear_wheel_collision.STL rename to urc_hw_description/urdf/meshes/collision/left_rear_wheel_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/leftbogie_collision.STL b/urc_hw_description/urdf/meshes/collision/leftbogie_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/leftbogie_collision.STL rename to urc_hw_description/urdf/meshes/collision/leftbogie_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/leftgripper_collision.STL b/urc_hw_description/urdf/meshes/collision/leftgripper_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/leftgripper_collision.STL rename to urc_hw_description/urdf/meshes/collision/leftgripper_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/leftrocker_collision.STL b/urc_hw_description/urdf/meshes/collision/leftrocker_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/leftrocker_collision.STL rename to urc_hw_description/urdf/meshes/collision/leftrocker_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/link0.obj b/urc_hw_description/urdf/meshes/collision/link0.obj similarity index 100% rename from urc_gazebo/urdf/meshes/collision/link0.obj rename to urc_hw_description/urdf/meshes/collision/link0.obj diff --git a/urc_gazebo/urdf/meshes/collision/link1.obj b/urc_hw_description/urdf/meshes/collision/link1.obj similarity index 100% rename from urc_gazebo/urdf/meshes/collision/link1.obj rename to urc_hw_description/urdf/meshes/collision/link1.obj diff --git a/urc_gazebo/urdf/meshes/collision/link2.obj b/urc_hw_description/urdf/meshes/collision/link2.obj similarity index 100% rename from urc_gazebo/urdf/meshes/collision/link2.obj rename to urc_hw_description/urdf/meshes/collision/link2.obj diff --git a/urc_gazebo/urdf/meshes/collision/link3.obj b/urc_hw_description/urdf/meshes/collision/link3.obj similarity index 100% rename from urc_gazebo/urdf/meshes/collision/link3.obj rename to urc_hw_description/urdf/meshes/collision/link3.obj diff --git a/urc_gazebo/urdf/meshes/collision/link4.obj b/urc_hw_description/urdf/meshes/collision/link4.obj similarity index 100% rename from urc_gazebo/urdf/meshes/collision/link4.obj rename to urc_hw_description/urdf/meshes/collision/link4.obj diff --git a/urc_gazebo/urdf/meshes/collision/link5.obj b/urc_hw_description/urdf/meshes/collision/link5.obj similarity index 100% rename from urc_gazebo/urdf/meshes/collision/link5.obj rename to urc_hw_description/urdf/meshes/collision/link5.obj diff --git a/urc_gazebo/urdf/meshes/collision/link6.mtl b/urc_hw_description/urdf/meshes/collision/link6.mtl similarity index 100% rename from urc_gazebo/urdf/meshes/collision/link6.mtl rename to urc_hw_description/urdf/meshes/collision/link6.mtl diff --git a/urc_gazebo/urdf/meshes/collision/link6.obj b/urc_hw_description/urdf/meshes/collision/link6.obj similarity index 100% rename from urc_gazebo/urdf/meshes/collision/link6.obj rename to urc_hw_description/urdf/meshes/collision/link6.obj diff --git a/urc_gazebo/urdf/meshes/collision/link7.obj b/urc_hw_description/urdf/meshes/collision/link7.obj similarity index 100% rename from urc_gazebo/urdf/meshes/collision/link7.obj rename to urc_hw_description/urdf/meshes/collision/link7.obj diff --git a/urc_gazebo/urdf/meshes/collision/right_center_wheel_collision.STL b/urc_hw_description/urdf/meshes/collision/right_center_wheel_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/right_center_wheel_collision.STL rename to urc_hw_description/urdf/meshes/collision/right_center_wheel_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/right_front_wheel_collision.STL b/urc_hw_description/urdf/meshes/collision/right_front_wheel_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/right_front_wheel_collision.STL rename to urc_hw_description/urdf/meshes/collision/right_front_wheel_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/right_rear_wheel_collision.STL b/urc_hw_description/urdf/meshes/collision/right_rear_wheel_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/right_rear_wheel_collision.STL rename to urc_hw_description/urdf/meshes/collision/right_rear_wheel_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/rightbogie_collision.STL b/urc_hw_description/urdf/meshes/collision/rightbogie_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/rightbogie_collision.STL rename to urc_hw_description/urdf/meshes/collision/rightbogie_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/rightgripper_collision.STL b/urc_hw_description/urdf/meshes/collision/rightgripper_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/rightgripper_collision.STL rename to urc_hw_description/urdf/meshes/collision/rightgripper_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/rightrocker_collision.STL b/urc_hw_description/urdf/meshes/collision/rightrocker_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/rightrocker_collision.STL rename to urc_hw_description/urdf/meshes/collision/rightrocker_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/shoulder_collision.STL b/urc_hw_description/urdf/meshes/collision/shoulder_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/shoulder_collision.STL rename to urc_hw_description/urdf/meshes/collision/shoulder_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/spine_collision.STL b/urc_hw_description/urdf/meshes/collision/spine_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/spine_collision.STL rename to urc_hw_description/urdf/meshes/collision/spine_collision.STL diff --git a/urc_gazebo/urdf/meshes/collision/wrist_collision.STL b/urc_hw_description/urdf/meshes/collision/wrist_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/collision/wrist_collision.STL rename to urc_hw_description/urdf/meshes/collision/wrist_collision.STL diff --git a/urc_gazebo/urdf/meshes/old/base_link.STL b/urc_hw_description/urdf/meshes/old/base_link.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/base_link.STL rename to urc_hw_description/urdf/meshes/old/base_link.STL diff --git a/urc_gazebo/urdf/meshes/old/base_link_collision.STL b/urc_hw_description/urdf/meshes/old/base_link_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/base_link_collision.STL rename to urc_hw_description/urdf/meshes/old/base_link_collision.STL diff --git a/urc_gazebo/urdf/meshes/old/bicep.STL b/urc_hw_description/urdf/meshes/old/bicep.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/bicep.STL rename to urc_hw_description/urdf/meshes/old/bicep.STL diff --git a/urc_gazebo/urdf/meshes/old/bicep_collision.STL b/urc_hw_description/urdf/meshes/old/bicep_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/bicep_collision.STL rename to urc_hw_description/urdf/meshes/old/bicep_collision.STL diff --git a/urc_gazebo/urdf/meshes/old/claw.STL b/urc_hw_description/urdf/meshes/old/claw.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/claw.STL rename to urc_hw_description/urdf/meshes/old/claw.STL diff --git a/urc_gazebo/urdf/meshes/old/claw_collision.STL b/urc_hw_description/urdf/meshes/old/claw_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/claw_collision.STL rename to urc_hw_description/urdf/meshes/old/claw_collision.STL diff --git a/urc_gazebo/urdf/meshes/old/elbow.STL b/urc_hw_description/urdf/meshes/old/elbow.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/elbow.STL rename to urc_hw_description/urdf/meshes/old/elbow.STL diff --git a/urc_gazebo/urdf/meshes/old/elbow_collision.STL b/urc_hw_description/urdf/meshes/old/elbow_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/elbow_collision.STL rename to urc_hw_description/urdf/meshes/old/elbow_collision.STL diff --git a/urc_gazebo/urdf/meshes/old/forearm.STL b/urc_hw_description/urdf/meshes/old/forearm.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/forearm.STL rename to urc_hw_description/urdf/meshes/old/forearm.STL diff --git a/urc_gazebo/urdf/meshes/old/forearm_collision.STL b/urc_hw_description/urdf/meshes/old/forearm_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/forearm_collision.STL rename to urc_hw_description/urdf/meshes/old/forearm_collision.STL diff --git a/urc_gazebo/urdf/meshes/old/leftgripper.STL b/urc_hw_description/urdf/meshes/old/leftgripper.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/leftgripper.STL rename to urc_hw_description/urdf/meshes/old/leftgripper.STL diff --git a/urc_gazebo/urdf/meshes/old/leftgripper_collision.STL b/urc_hw_description/urdf/meshes/old/leftgripper_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/leftgripper_collision.STL rename to urc_hw_description/urdf/meshes/old/leftgripper_collision.STL diff --git a/urc_gazebo/urdf/meshes/old/rightgripper.STL b/urc_hw_description/urdf/meshes/old/rightgripper.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/rightgripper.STL rename to urc_hw_description/urdf/meshes/old/rightgripper.STL diff --git a/urc_gazebo/urdf/meshes/old/rightgripper_collision.STL b/urc_hw_description/urdf/meshes/old/rightgripper_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/rightgripper_collision.STL rename to urc_hw_description/urdf/meshes/old/rightgripper_collision.STL diff --git a/urc_gazebo/urdf/meshes/old/shoulder.STL b/urc_hw_description/urdf/meshes/old/shoulder.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/shoulder.STL rename to urc_hw_description/urdf/meshes/old/shoulder.STL diff --git a/urc_gazebo/urdf/meshes/old/shoulder_collision.STL b/urc_hw_description/urdf/meshes/old/shoulder_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/shoulder_collision.STL rename to urc_hw_description/urdf/meshes/old/shoulder_collision.STL diff --git a/urc_gazebo/urdf/meshes/old/wrist.STL b/urc_hw_description/urdf/meshes/old/wrist.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/wrist.STL rename to urc_hw_description/urdf/meshes/old/wrist.STL diff --git a/urc_gazebo/urdf/meshes/old/wrist_collision.STL b/urc_hw_description/urdf/meshes/old/wrist_collision.STL similarity index 100% rename from urc_gazebo/urdf/meshes/old/wrist_collision.STL rename to urc_hw_description/urdf/meshes/old/wrist_collision.STL diff --git a/urc_gazebo/urdf/meshes/visual/base_link.STL b/urc_hw_description/urdf/meshes/visual/base_link.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/base_link.STL rename to urc_hw_description/urdf/meshes/visual/base_link.STL diff --git a/urc_gazebo/urdf/meshes/visual/bicep.STL b/urc_hw_description/urdf/meshes/visual/bicep.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/bicep.STL rename to urc_hw_description/urdf/meshes/visual/bicep.STL diff --git a/urc_gazebo/urdf/meshes/visual/claw.STL b/urc_hw_description/urdf/meshes/visual/claw.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/claw.STL rename to urc_hw_description/urdf/meshes/visual/claw.STL diff --git a/urc_gazebo/urdf/meshes/visual/colors.png b/urc_hw_description/urdf/meshes/visual/colors.png similarity index 100% rename from urc_gazebo/urdf/meshes/visual/colors.png rename to urc_hw_description/urdf/meshes/visual/colors.png diff --git a/urc_gazebo/urdf/meshes/visual/elbow.STL b/urc_hw_description/urdf/meshes/visual/elbow.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/elbow.STL rename to urc_hw_description/urdf/meshes/visual/elbow.STL diff --git a/urc_gazebo/urdf/meshes/visual/finger.mtl b/urc_hw_description/urdf/meshes/visual/finger.mtl similarity index 100% rename from urc_gazebo/urdf/meshes/visual/finger.mtl rename to urc_hw_description/urdf/meshes/visual/finger.mtl diff --git a/urc_gazebo/urdf/meshes/visual/finger.obj b/urc_hw_description/urdf/meshes/visual/finger.obj similarity index 100% rename from urc_gazebo/urdf/meshes/visual/finger.obj rename to urc_hw_description/urdf/meshes/visual/finger.obj diff --git a/urc_gazebo/urdf/meshes/visual/hand.mtl b/urc_hw_description/urdf/meshes/visual/hand.mtl similarity index 100% rename from urc_gazebo/urdf/meshes/visual/hand.mtl rename to urc_hw_description/urdf/meshes/visual/hand.mtl diff --git a/urc_gazebo/urdf/meshes/visual/hand.obj b/urc_hw_description/urdf/meshes/visual/hand.obj similarity index 100% rename from urc_gazebo/urdf/meshes/visual/hand.obj rename to urc_hw_description/urdf/meshes/visual/hand.obj diff --git a/urc_gazebo/urdf/meshes/visual/left_center_wheel.STL b/urc_hw_description/urdf/meshes/visual/left_center_wheel.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/left_center_wheel.STL rename to urc_hw_description/urdf/meshes/visual/left_center_wheel.STL diff --git a/urc_gazebo/urdf/meshes/visual/left_front_wheel.STL b/urc_hw_description/urdf/meshes/visual/left_front_wheel.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/left_front_wheel.STL rename to urc_hw_description/urdf/meshes/visual/left_front_wheel.STL diff --git a/urc_gazebo/urdf/meshes/visual/left_rear_wheel.STL b/urc_hw_description/urdf/meshes/visual/left_rear_wheel.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/left_rear_wheel.STL rename to urc_hw_description/urdf/meshes/visual/left_rear_wheel.STL diff --git a/urc_gazebo/urdf/meshes/visual/leftbogie.STL b/urc_hw_description/urdf/meshes/visual/leftbogie.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/leftbogie.STL rename to urc_hw_description/urdf/meshes/visual/leftbogie.STL diff --git a/urc_gazebo/urdf/meshes/visual/leftgripper.STL b/urc_hw_description/urdf/meshes/visual/leftgripper.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/leftgripper.STL rename to urc_hw_description/urdf/meshes/visual/leftgripper.STL diff --git a/urc_gazebo/urdf/meshes/visual/leftrocker.STL b/urc_hw_description/urdf/meshes/visual/leftrocker.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/leftrocker.STL rename to urc_hw_description/urdf/meshes/visual/leftrocker.STL diff --git a/urc_gazebo/urdf/meshes/visual/link1.mtl b/urc_hw_description/urdf/meshes/visual/link1.mtl similarity index 100% rename from urc_gazebo/urdf/meshes/visual/link1.mtl rename to urc_hw_description/urdf/meshes/visual/link1.mtl diff --git a/urc_gazebo/urdf/meshes/visual/link1.obj b/urc_hw_description/urdf/meshes/visual/link1.obj similarity index 100% rename from urc_gazebo/urdf/meshes/visual/link1.obj rename to urc_hw_description/urdf/meshes/visual/link1.obj diff --git a/urc_gazebo/urdf/meshes/visual/link2.mtl b/urc_hw_description/urdf/meshes/visual/link2.mtl similarity index 100% rename from urc_gazebo/urdf/meshes/visual/link2.mtl rename to urc_hw_description/urdf/meshes/visual/link2.mtl diff --git a/urc_gazebo/urdf/meshes/visual/link2.obj b/urc_hw_description/urdf/meshes/visual/link2.obj similarity index 100% rename from urc_gazebo/urdf/meshes/visual/link2.obj rename to urc_hw_description/urdf/meshes/visual/link2.obj diff --git a/urc_gazebo/urdf/meshes/visual/link3.mtl b/urc_hw_description/urdf/meshes/visual/link3.mtl similarity index 100% rename from urc_gazebo/urdf/meshes/visual/link3.mtl rename to urc_hw_description/urdf/meshes/visual/link3.mtl diff --git a/urc_gazebo/urdf/meshes/visual/link3.obj b/urc_hw_description/urdf/meshes/visual/link3.obj similarity index 100% rename from urc_gazebo/urdf/meshes/visual/link3.obj rename to urc_hw_description/urdf/meshes/visual/link3.obj diff --git a/urc_gazebo/urdf/meshes/visual/link4.mtl b/urc_hw_description/urdf/meshes/visual/link4.mtl similarity index 100% rename from urc_gazebo/urdf/meshes/visual/link4.mtl rename to urc_hw_description/urdf/meshes/visual/link4.mtl diff --git a/urc_gazebo/urdf/meshes/visual/link4.obj b/urc_hw_description/urdf/meshes/visual/link4.obj similarity index 100% rename from urc_gazebo/urdf/meshes/visual/link4.obj rename to urc_hw_description/urdf/meshes/visual/link4.obj diff --git a/urc_gazebo/urdf/meshes/visual/link5.mtl b/urc_hw_description/urdf/meshes/visual/link5.mtl similarity index 100% rename from urc_gazebo/urdf/meshes/visual/link5.mtl rename to urc_hw_description/urdf/meshes/visual/link5.mtl diff --git a/urc_gazebo/urdf/meshes/visual/link5.obj b/urc_hw_description/urdf/meshes/visual/link5.obj similarity index 100% rename from urc_gazebo/urdf/meshes/visual/link5.obj rename to urc_hw_description/urdf/meshes/visual/link5.obj diff --git a/urc_gazebo/urdf/meshes/visual/link6.mtl b/urc_hw_description/urdf/meshes/visual/link6.mtl similarity index 100% rename from urc_gazebo/urdf/meshes/visual/link6.mtl rename to urc_hw_description/urdf/meshes/visual/link6.mtl diff --git a/urc_gazebo/urdf/meshes/visual/link6.obj b/urc_hw_description/urdf/meshes/visual/link6.obj similarity index 100% rename from urc_gazebo/urdf/meshes/visual/link6.obj rename to urc_hw_description/urdf/meshes/visual/link6.obj diff --git a/urc_gazebo/urdf/meshes/visual/right_center_wheel.STL b/urc_hw_description/urdf/meshes/visual/right_center_wheel.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/right_center_wheel.STL rename to urc_hw_description/urdf/meshes/visual/right_center_wheel.STL diff --git a/urc_gazebo/urdf/meshes/visual/right_front_wheel.STL b/urc_hw_description/urdf/meshes/visual/right_front_wheel.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/right_front_wheel.STL rename to urc_hw_description/urdf/meshes/visual/right_front_wheel.STL diff --git a/urc_gazebo/urdf/meshes/visual/right_rear_wheel.STL b/urc_hw_description/urdf/meshes/visual/right_rear_wheel.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/right_rear_wheel.STL rename to urc_hw_description/urdf/meshes/visual/right_rear_wheel.STL diff --git a/urc_gazebo/urdf/meshes/visual/rightbogie.STL b/urc_hw_description/urdf/meshes/visual/rightbogie.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/rightbogie.STL rename to urc_hw_description/urdf/meshes/visual/rightbogie.STL diff --git a/urc_gazebo/urdf/meshes/visual/rightgripper.STL b/urc_hw_description/urdf/meshes/visual/rightgripper.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/rightgripper.STL rename to urc_hw_description/urdf/meshes/visual/rightgripper.STL diff --git a/urc_gazebo/urdf/meshes/visual/rightrocker.STL b/urc_hw_description/urdf/meshes/visual/rightrocker.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/rightrocker.STL rename to urc_hw_description/urdf/meshes/visual/rightrocker.STL diff --git a/urc_gazebo/urdf/meshes/visual/shoulder.STL b/urc_hw_description/urdf/meshes/visual/shoulder.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/shoulder.STL rename to urc_hw_description/urdf/meshes/visual/shoulder.STL diff --git a/urc_gazebo/urdf/meshes/visual/spine.STL b/urc_hw_description/urdf/meshes/visual/spine.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/spine.STL rename to urc_hw_description/urdf/meshes/visual/spine.STL diff --git a/urc_gazebo/urdf/meshes/visual/visualShapeBench.json_0.json b/urc_hw_description/urdf/meshes/visual/visualShapeBench.json_0.json similarity index 100% rename from urc_gazebo/urdf/meshes/visual/visualShapeBench.json_0.json rename to urc_hw_description/urdf/meshes/visual/visualShapeBench.json_0.json diff --git a/urc_gazebo/urdf/meshes/visual/wrist.STL b/urc_hw_description/urdf/meshes/visual/wrist.STL similarity index 100% rename from urc_gazebo/urdf/meshes/visual/wrist.STL rename to urc_hw_description/urdf/meshes/visual/wrist.STL diff --git a/urc_hw_description/urdf/panda.urdf b/urc_hw_description/urdf/panda.urdf index f2c8d815..b26a17c9 100644 --- a/urc_hw_description/urdf/panda.urdf +++ b/urc_hw_description/urdf/panda.urdf @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@ - + @@ -39,13 +39,13 @@ - + - + @@ -66,13 +66,13 @@ - + - + @@ -93,7 +93,7 @@ - + @@ -101,7 +101,7 @@ - + @@ -121,13 +121,13 @@ - + - + @@ -148,13 +148,13 @@ - + - + @@ -175,13 +175,13 @@ - + - + @@ -202,13 +202,13 @@ - + - + @@ -247,13 +247,13 @@ - + - + @@ -273,13 +273,13 @@ - + - + @@ -301,14 +301,14 @@ - + - + @@ -422,7 +422,7 @@ - $(find urc_gazebo)/urdf/config/Panda_params.yaml + $(find urc_hw_description)/urdf/config/Panda_params.yaml diff --git a/urc_hw_description/urdf/walli_drivebase.xacro b/urc_hw_description/urdf/walli_drivebase.xacro index 09c5c8c6..f69759cd 100644 --- a/urc_hw_description/urdf/walli_drivebase.xacro +++ b/urc_hw_description/urdf/walli_drivebase.xacro @@ -13,14 +13,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/base_link_collision.STL" /> @@ -34,14 +34,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/rightrocker_collision.STL" /> @@ -65,7 +65,7 @@ + filename="file://$(find urc_hw_description)/urdf/meshes/visual/right_rear_wheel.STL" /> @@ -76,7 +76,7 @@ + filename="file://$(find urc_hw_description)/urdf/meshes/collision/right_rear_wheel_collision.STL" /> @@ -106,14 +106,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/rightbogie_collision.STL" /> @@ -135,7 +135,7 @@ + filename="file://$(find urc_hw_description)/urdf/meshes/visual/right_front_wheel.STL" /> @@ -146,7 +146,7 @@ + filename="file://$(find urc_hw_description)/urdf/meshes/collision/right_rear_wheel_collision.STL" /> @@ -185,7 +185,7 @@ + filename="file://$(find urc_hw_description)/urdf/meshes/visual/right_center_wheel.STL" /> @@ -196,7 +196,7 @@ + filename="file://$(find urc_hw_description)/urdf/meshes/collision/right_center_wheel_collision.STL" /> @@ -226,14 +226,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/leftrocker_collision.STL" /> @@ -255,7 +255,7 @@ + filename="file://$(find urc_hw_description)/urdf/meshes/visual/left_rear_wheel.STL" /> @@ -266,7 +266,7 @@ + filename="file://$(find urc_hw_description)/urdf/meshes/collision/left_rear_wheel_collision.STL" /> @@ -296,14 +296,14 @@ - + + filename="file://$(find urc_hw_description)/urdf/meshes/collision/leftbogie_collision.STL" /> @@ -325,7 +325,7 @@ + filename="file://$(find urc_hw_description)/urdf/meshes/visual/left_front_wheel.STL" /> @@ -336,7 +336,7 @@ + filename="file://$(find urc_hw_description)/urdf/meshes/collision/left_front_wheel_collision.STL" /> @@ -367,7 +367,7 @@ + filename="file://$(find urc_hw_description)/urdf/meshes/visual/left_center_wheel.STL" /> @@ -378,7 +378,7 @@ + filename="file://$(find urc_hw_description)/urdf/meshes/collision/left_center_wheel_collision.STL" /> diff --git a/urc_imu/README.md b/urc_imu/README.md deleted file mode 100644 index 9cee6a13..00000000 --- a/urc_imu/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# URC IMU -This node is responsible for transmitting serial IMU messages over the ROS2 network. - -[config/imu_serial_driver.yaml](config/imu_serial_driver.yaml) defines the configuration for the serial driver. -[launch/imu_serial_driver.launch.py](launch/imu_serial_driver.launch.py) is the launch file for the serial driver node. -[src/driver.py](src/driver.py) defines the main serial driver. -[src/parser.py](src/parser.py) helps to driver by parsing serial information. -[src/nodes/imu_serial_driver.py](src/nodes/imu_serial_driver.py) is the source of the rospy serial driver node. \ No newline at end of file diff --git a/urc_imu/config/imu_serial_driver.yaml b/urc_imu/config/imu_serial_driver.yaml deleted file mode 100644 index d6140aff..00000000 --- a/urc_imu/config/imu_serial_driver.yaml +++ /dev/null @@ -1,7 +0,0 @@ -imu_driver: - ros__parameters: - port: "/dev/ttyACM0" - baud: 115200 - frame_id: "gps" - time_ref_source: "gps" - useRMC: False diff --git a/urc_imu/launch/imu_serial_driver.launch.py b/urc_imu/launch/imu_serial_driver.launch.py deleted file mode 100644 index c4dc5b8a..00000000 --- a/urc_imu/launch/imu_serial_driver.launch.py +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 2018 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. - -""" A simple launch file for the imu_serial_driver node. """ - -import os -import sys - -from ament_index_python.packages import get_package_share_directory -from launch import LaunchDescription, LaunchService -from launch_ros import actions - - -def generate_launch_description(): - """Generate a launch description for a single serial driver.""" - config_file = os.path.join( - get_package_share_directory("imu_driver"), - "config", "imu_serial_driver.yaml") - driver_node = actions.Node( - package='imu_driver', - executable='imu_serial_driver', - output='screen', - parameters=[config_file]) - - return LaunchDescription([driver_node]) - - -def main(argv): - ld = generate_launch_description() - ls = LaunchService() - ls.include_launch_description(ld) - return ls.run() - - -if __name__ == '__main__': - main(sys.argv) diff --git a/urc_imu/package.xml b/urc_imu/package.xml deleted file mode 100644 index 577d772f..00000000 --- a/urc_imu/package.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - imu_driver - 2.0.1 - - Package to parse IMU strings and publish a very simple IMU message. - - Ed Venator - BSD - http://ros.org/wiki/nmea_navsat_driver - Eric Perko - Steven Martin - geometry_msgs - std_msgs - nmea_msgs - rclpy - sensor_msgs - python3-numpy - python3-serial - tf_transformations - - python3-pytest - - - ament_python - - diff --git a/urc_imu/resource/imu_driver b/urc_imu/resource/imu_driver deleted file mode 100644 index e69de29b..00000000 diff --git a/urc_imu/setup.cfg b/urc_imu/setup.cfg deleted file mode 100644 index a7104b44..00000000 --- a/urc_imu/setup.cfg +++ /dev/null @@ -1,10 +0,0 @@ -[develop] -script_dir=$base/lib/imu_driver - -[install] -install_scripts=$base/lib/imu_driver - -[pycodestyle] -max-line-length = 120 -statistics = True -show-pep8 = True diff --git a/urc_imu/setup.py b/urc_imu/setup.py deleted file mode 100644 index 49bb6508..00000000 --- a/urc_imu/setup.py +++ /dev/null @@ -1,40 +0,0 @@ -from glob import glob -import os -from setuptools import setup - -PACKAGE_NAME = "imu_driver" -SHARE_DIR = os.path.join("share", PACKAGE_NAME) - -setup( - name=PACKAGE_NAME, - version='2.0.1', - packages=["libimu_driver", "libimu_driver.nodes"], - data_files=[ - ('share/ament_index/resource_index/packages', - ['resource/' + PACKAGE_NAME]), - ('share/' + PACKAGE_NAME, ['package.xml']), - (os.path.join(SHARE_DIR, "launch"), - glob(os.path.join("launch", "*.launch.py"))), - (os.path.join(SHARE_DIR, "config"), - glob(os.path.join("config", "*.yaml")))], - package_dir={'': 'src', }, - py_modules=[], - zip_safe=True, - install_requires=['setuptools', - 'pyserial', - 'numpy', - 'pyyaml'], - author='Eric Perko', - maintainer='Ed Venator', - keywords=['ROS2'], - description='Package to parse IMU strings' + - 'and publish a very simple GPS message.', - license='BSD', - entry_points={ - 'console_scripts': [ - 'imu_serial_driver = libimu_driver.nodes.imu_serial_driver:main', - 'imu_topic_driver = libimu_driver.nodes.imu_topic_driver:main', - 'imu_topic_serial_reader = libimu_driver.nodes.' + - 'imu_topic_serial_reader:main'], - } -) diff --git a/urc_imu/src/libimu_driver/__init__.py b/urc_imu/src/libimu_driver/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/urc_imu/src/libimu_driver/checksum_utils.py b/urc_imu/src/libimu_driver/checksum_utils.py deleted file mode 100644 index eb1b25b4..00000000 --- a/urc_imu/src/libimu_driver/checksum_utils.py +++ /dev/null @@ -1,48 +0,0 @@ -# Software License Agreement (BSD License) -# -# Copyright (c) 2013, Eric Perko -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the names of the authors nor the names of their -# affiliated organizations may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - - -# Check the NMEA sentence checksum. Return True if passes and False if failed -def check_imu_checksum(imu_sentence): - return True # (for now) - split_sentence = imu_sentence.split('*') - if len(split_sentence) != 2: - # No checksum bytes were found... improperly formatted/incomplete NMEA data? - return False - transmitted_checksum = split_sentence[1].strip() - - # Remove the $ at the front - data_to_checksum = split_sentence[0][1:] - checksum = 0 - for c in data_to_checksum: - checksum ^= ord(c) - return ("%02X" % checksum) == transmitted_checksum.upper() diff --git a/urc_imu/src/libimu_driver/driver.py b/urc_imu/src/libimu_driver/driver.py deleted file mode 100644 index d6c3f357..00000000 --- a/urc_imu/src/libimu_driver/driver.py +++ /dev/null @@ -1,51 +0,0 @@ -from rclpy.node import Node -from sensor_msgs.msg import Imu -from std_msgs.msg import Int32 -from libimu_driver.checksum_utils import check_imu_checksum -import re - - -class Ros2IMUDriver(Node): - def __init__(self): - super().__init__('imu_driver') - - self.imu_pub = self.create_publisher(Imu, '/imu', 10) - self.yaw_pub = self.create_publisher(Int32, '/yaw', 10) - - # Returns True if we successfully did something with the passed in - def add_sentence(self, imu_string, frame_id, timestamp=None): - if not check_imu_checksum(imu_string): - self.get_logger().warn("Received a sentence with" - " an invalid checksum. " - "Sentence was: %s" % imu_string) - return False - - # self.get_logger().info("Sentence received: %s" % imu_string) - things = re.findall(r"-?[0-9]?[0-9]?[0-9]\.[0-9][0-9]", str(imu_string)) - current_imu = Imu() - current_yaw = Int32() - current_imu.orientation.x = float(things[0]) - current_imu.orientation.y = float(things[1]) - current_imu.orientation.z = float(things[2]) - current_imu.orientation.w = float(things[3]) - current_yaw.data = int(float(things[4])) - current_imu.linear_acceleration.x = float(things[5]) - current_imu.linear_acceleration.y = float(things[6]) - current_imu.linear_acceleration.z = float(things[7]) - current_imu.angular_velocity.x = float(things[8]) - current_imu.angular_velocity.y = float(things[9]) - current_imu.angular_velocity.z = float(things[10]) - if len(things) > 11: - print("Too many items received in IMU driver message!") - self.imu_pub.publish(current_imu) - self.yaw_pub.publish(current_yaw) - - return True - - """Helper method for getting the frame_id with the correct TF prefix""" - def get_frame_id(self): - frame_id = self.declare_parameter('frame_id', 'gps').value - prefix = self.declare_parameter('tf_prefix', '').value - if len(prefix): - return '%s/%s' % (prefix, frame_id) - return frame_id diff --git a/urc_imu/src/libimu_driver/nodes/__init__.py b/urc_imu/src/libimu_driver/nodes/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/urc_imu/src/libimu_driver/nodes/imu_serial_driver.py b/urc_imu/src/libimu_driver/nodes/imu_serial_driver.py deleted file mode 100755 index cd21203f..00000000 --- a/urc_imu/src/libimu_driver/nodes/imu_serial_driver.py +++ /dev/null @@ -1,75 +0,0 @@ -# Software License Agreement (BSD License) -# -# Copyright (c) 2013, Eric Perko -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the names of the authors nor the names of their -# affiliated organizations may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - -import serial - -import rclpy - -from libimu_driver.driver import Ros2IMUDriver - - -def main(args=None): - rclpy.init(args=args) - - driver = Ros2IMUDriver() - frame_id = driver.get_frame_id() - - serial_port = driver.declare_parameter('port', '/dev/ttyACM0').value - serial_baud = driver.declare_parameter('baud', 115200).value - - try: - IMU = serial.Serial(port=serial_port, baudrate=serial_baud, timeout=2) - driver.get_logger().info( - "Successfully connected to {0} at {1}.".format( - serial_port, serial_baud)) - try: - while rclpy.ok(): - data = IMU.readline().strip() - try: - if isinstance(data, bytes): - data = data.decode("utf-8") - driver.add_sentence(data, frame_id) - except ValueError as e: - driver.get_logger().warn( - "Value error, likely due to missing fields in the" - "IMU message. Error was: %s. Please report this " - "issue at github.com/ros-drivers/nmea_navsat_driver," - " including a bag file " - "with the NMEA sentences that caused it." % e) - - except Exception as e: - driver.get_logger().error("Ros error: {0}".format(e)) - IMU.close() # Close GPS serial port - except serial.SerialException as ex: - driver.get_logger().fatal( - "Could not open serial port: I/O " - "error({0}): {1}".format(ex.errno, ex.strerror)) diff --git a/urc_imu/src/libimu_driver/nodes/imu_topic_driver.py b/urc_imu/src/libimu_driver/nodes/imu_topic_driver.py deleted file mode 100755 index 9fc70373..00000000 --- a/urc_imu/src/libimu_driver/nodes/imu_topic_driver.py +++ /dev/null @@ -1,69 +0,0 @@ -# Software License Agreement (BSD License) -# -# Copyright (c) 2013, Eric Perko -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the names of the authors nor the names of their -# affiliated organizations may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - - -from functools import partial - -from nmea_msgs.msg import Sentence -import rclpy - -from libimu_driver.driver import Ros2IMUDriver - - -def imu_sentence_callback(imu_sentence, driver): - try: - driver.add_sentence(imu_sentence.sentence, - frame_id=imu_sentence.header.frame_id, - timestamp=imu_sentence.header.stamp) - except ValueError as e: - rclpy.get_logger().warn( - "Value error, likely due to missing fields in the IMU message. " - "Error was: %s. " - "Please report this issue at " - "github.com/ros-drivers/nmea_navsat_driver, " - "including a bag file with " - "the IMU sentences that caused it." % e) - - -def main(args=None): - rclpy.init(args=args) - - driver = Ros2IMUDriver() - driver.get_frame_id() - - driver.create_subscription( - Sentence, 'imu_sentence', partial( - imu_sentence_callback, driver=driver), 10) - - rclpy.spin(driver) - - rclpy.shutdown() diff --git a/urc_imu/src/libimu_driver/nodes/imu_topic_serial_reader.py b/urc_imu/src/libimu_driver/nodes/imu_topic_serial_reader.py deleted file mode 100755 index 99a70f3f..00000000 --- a/urc_imu/src/libimu_driver/nodes/imu_topic_serial_reader.py +++ /dev/null @@ -1,72 +0,0 @@ -# Software License Agreement (BSD License) -# -# Copyright (c) 2013, Eric Perko -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the names of the authors nor the names of their -# affiliated organizations may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - -import serial - -from nmea_msgs.msg import Sentence -import rclpy - -from libimu_driver.driver import Ros2IMUDriver - - -def main(args=None): - rclpy.init(args=args) - - driver = Ros2IMUDriver() - - nmea_pub = driver.create_publisher(Sentence, "nmea_sentence", 10) - - serial_port = driver.declare_parameter('port', '/dev/ttyACM0').value - serial_baud = driver.declare_parameter('baud', 115200).value - - # Get the frame_id - frame_id = driver.get_frame_id() - - try: - IMU = serial.Serial(port=serial_port, baudrate=serial_baud, timeout=2) - try: - while rclpy.ok(): - data = IMU.readline().strip() - - sentence = Sentence() - sentence.header.stamp = driver.get_clock().now().to_msg() - sentence.header.frame_id = frame_id - sentence.sentence = data.decode("ascii") - nmea_pub.publish(sentence) - - except Exception as e: - driver.get_logger().error("Ros error: {0}".format(e)) - IMU.close() # Close GPS serial port - except serial.SerialException as ex: - driver.get_logger().fatal("Could not open serial port" - ": I/O error({0}): {1}".format( - ex.errno, ex.strerror)) diff --git a/urc_manipulation/CMakeLists.txt b/urc_manipulation/CMakeLists.txt deleted file mode 100644 index febc2bf9..00000000 --- a/urc_manipulation/CMakeLists.txt +++ /dev/null @@ -1,99 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -project(urc_manipulation) - -include(../cmake/default_settings.cmake) - -# find dependencies -find_package(ament_cmake REQUIRED) -find_package(rclcpp REQUIRED) -find_package(rclcpp_components REQUIRED) -find_package(sensor_msgs REQUIRED) -find_package(geometry_msgs REQUIRED) -find_package(std_srvs REQUIRED) -find_package(moveit_msgs REQUIRED) -find_package(control_msgs REQUIRED) -find_package(moveit_servo REQUIRED) - - -include_directories( - include -) - -# Library creation -add_library(${PROJECT_NAME} SHARED - src/joy_to_servo_pub.cpp - src/arm_rt_server.cpp -) - -set(dependencies - rclcpp - rclcpp_components - sensor_msgs - geometry_msgs - std_srvs - moveit_msgs - control_msgs - moveit_servo -) - -ament_target_dependencies(${PROJECT_NAME} - ${dependencies} -) - -# Node registration -rclcpp_components_register_node( - ${PROJECT_NAME} - PLUGIN "joy_to_servo_pub::JoyToServoPub" - EXECUTABLE ${PROJECT_NAME}_JoyToServoPub -) - -rclcpp_components_register_node( - ${PROJECT_NAME} - PLUGIN "urc_manipulation::ArmRTServer" - EXECUTABLE ${PROJECT_NAME}_ArmRT -) - -add_executable(arm_servo src/servo_node.cpp) -target_include_directories(arm_servo PUBLIC - $ - $) -target_compile_features(arm_servo PUBLIC c_std_99 cxx_std_17) # Require C99 and C++17 -ament_target_dependencies( - arm_servo - ${dependencies} -) -install(TARGETS arm_servo - DESTINATION lib/${PROJECT_NAME}) - -# Install launch files. -install( - DIRECTORY - launch - config - DESTINATION share/${PROJECT_NAME}/ -) - -# Install library -install(TARGETS - ${PROJECT_NAME} - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - RUNTIME DESTINATION lib/${PROJECT_NAME} -) - -if(BUILD_TESTING) - find_package(ament_lint_auto REQUIRED) - # the following line skips the copyright linker - set(ament_cmake_copyright_FOUND TRUE) - # the following line skips cpplint (only works in a git repo) - set(ament_cmake_cpplint_FOUND TRUE) - - ament_lint_auto_find_test_dependencies() -endif() - -ament_export_include_directories(include) - -ament_export_libraries(${PROJECT_NAME}) -ament_export_dependencies(${dependencies}) - -ament_package() diff --git a/urc_manipulation/config/joy_to_servo_pub_params.yaml b/urc_manipulation/config/joy_to_servo_pub_params.yaml deleted file mode 100644 index 1524baed..00000000 --- a/urc_manipulation/config/joy_to_servo_pub_params.yaml +++ /dev/null @@ -1,5 +0,0 @@ -joy_to_servo_pub: - ros__parameters: - joy_topic: "/joy" - twist_topic: "/servo_node/delta_twist_cmds" - base_frame_id: "base_link" # Will need to change to the arm's actual base frame diff --git a/urc_manipulation/include/arm_rt_server.hpp b/urc_manipulation/include/arm_rt_server.hpp deleted file mode 100644 index 67b0e93f..00000000 --- a/urc_manipulation/include/arm_rt_server.hpp +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef INCLUDE_ARM_RT_SERVER_HPP__ -#define INCLUDE_ARM_RT_SERVER_HPP__ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "map" -#include "thread" - -#include "rclcpp/rclcpp.hpp" - -#include "std_srvs/srv/trigger.hpp" -#include "std_srvs/srv/set_bool.hpp" -#include "moveit_servo/servo.h" -#include "moveit/planning_scene_monitor/planning_scene_monitor.h" -#include "geometry_msgs/msg/twist_stamped.hpp" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace urc_manipulation -{ - -enum ControlMode -{ - POSE, - TWIST, - IDLE -}; -class ArmRTServer : public rclcpp::Node -{ -public: - ArmRTServer(const rclcpp::NodeOptions & options); - -private: - ControlMode mode = ControlMode::TWIST; - ControlMode desired_mode_ = ControlMode::TWIST; - std::atomic_bool pose_tracking_pause = false; - std::atomic_bool pose_tracking_stop = false; - std::mutex mode_lock; - geometry_msgs::msg::PoseStamped current_pose_target_; - - rclcpp::Rate::SharedPtr update_freq; - std::array config_parameters; - - std::shared_ptr node_; - std::unique_ptr servo_; - std::unique_ptr pose_tracking_; - std::shared_ptr move_group_node_; - std::shared_ptr move_group_node_executor_; - std::shared_ptr move_group_; - - std::shared_ptr tf_buffer_; - std::shared_ptr planning_scene_monitor_; - rclcpp::Subscription::SharedPtr pose_target_subscriber_; - rclcpp::Publisher::SharedPtr pose_target_publisher_; - rclcpp::Publisher::SharedPtr control_status_publisher_; - rclcpp::Publisher::SharedPtr current_pose_publisher_; - - /** \brief Start the servo loop. Must be called once to begin Servoing. */ - void startServo( - const std::shared_ptr & request, - const std::shared_ptr & response); - rclcpp::Service::SharedPtr start_servo_service_; - - /** \brief Stop the servo loop. This involves more overhead than pauseCB, e.g. it clears the planning scene monitor. - * We recommend using pauseCB/unpauseCB if you will resume the Servo loop soon. - */ - void stopServo( - const std::shared_ptr & request, - const std::shared_ptr & response); - rclcpp::Service::SharedPtr stop_servo_service_; - - /** \brief Pause the servo loop but continue monitoring joint state so we can resume easily. */ - void pauseServo( - const std::shared_ptr & request, - const std::shared_ptr & response); - rclcpp::Service::SharedPtr pause_servo_service_; - - /** \brief Resume the servo loop after pauseCB has been called. */ - void unpauseServo( - const std::shared_ptr & request, - const std::shared_ptr & response); - rclcpp::Service::SharedPtr unpause_servo_service_; - - /** \brief Switch servoing control mode. Only being effective during idle state. - * True for twist, false for pose tracking. - */ - void switchMode( - const std::shared_ptr & request, - const std::shared_ptr & response); - rclcpp::Service::SharedPtr swtich_mode_service; - - void moveToPoseUpdate(); -}; - -} // namespace urc_manipulation - -#endif /* INCLUDE_ARM_RT_SERVER_HPP__ */ diff --git a/urc_manipulation/include/joy_to_servo_pub.hpp b/urc_manipulation/include/joy_to_servo_pub.hpp deleted file mode 100644 index ebcb411e..00000000 --- a/urc_manipulation/include/joy_to_servo_pub.hpp +++ /dev/null @@ -1,92 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace joy_to_servo_pub -{ - -// For XBOX 1 controller -enum Axis -{ - LEFT_STICK_X = 0, - LEFT_STICK_Y = 1, - LEFT_TRIGGER = 2, - RIGHT_STICK_X = 3, - RIGHT_STICK_Y = 4, - RIGHT_TRIGGER = 5, - D_PAD_X = 6, - D_PAD_Y = 7 -}; - -enum Button -{ - A = 0, - B = 1, - X = 2, - Y = 3, - LEFT_BUMPER = 4, - RIGHT_BUMPER = 5, - CHANGE_VIEW = 6, - MENU = 7, - HOME = 8, - LEFT_STICK_CLICK = 9, - RIGHT_STICK_CLICK = 10 -}; - -class JoyToServoPub : public rclcpp::Node -{ -public: - /** \brief // This converts a joystick axes and buttons array to a TwistStamped message - * @param axes The vector of continuous controller joystick axes - * @param buttons The vector of discrete controller button values - * @param twist A TwistStamped message to update in prep for publishing - */ - bool convertJoyToCmd( - const std::vector & axes, const std::vector & buttons, - std::unique_ptr & twist, - std::unique_ptr & joint); - - JoyToServoPub(const rclcpp::NodeOptions & options); - ~JoyToServoPub() override; - void joyCB(const sensor_msgs::msg::Joy::ConstSharedPtr & msg); - - void updateCmdFrame(std::string & frame_name, const std::vector & buttons); - -private: - rclcpp::Subscription::SharedPtr joy_sub_; - rclcpp::Publisher::SharedPtr twist_pub_; - rclcpp::Publisher::SharedPtr joint_pub_; - rclcpp::Publisher::SharedPtr collision_pub_; - rclcpp::Client::SharedPtr servo_start_client_; - - std::string frame_to_publish_; - std::thread collision_pub_thread_; - - std::string joy_topic; - std::string twist_topic; - std::string joint_topic; - std::string base_frame_id; - std::string eef_frame_id; - - - // Some axes have offsets (e.g. the default trigger position is 1.0 not 0) - // This will map the default values for the axes - std::map AXIS_DEFAULTS = {{LEFT_TRIGGER, 1.0}, {RIGHT_TRIGGER, 1.0}}; - std::map BUTTON_DEFAULTS; - -}; // class JoyToServoPub - -} diff --git a/urc_manipulation/launch/arm_controls.launch.py b/urc_manipulation/launch/arm_controls.launch.py deleted file mode 100644 index e5655625..00000000 --- a/urc_manipulation/launch/arm_controls.launch.py +++ /dev/null @@ -1,94 +0,0 @@ -import os - -from launch import LaunchDescription - -from ament_index_python.packages import get_package_share_directory -from launch_ros.actions import Node - -from launch_ros.actions import ComposableNodeContainer -from launch_ros.descriptions import ComposableNode - -from moveit_configs_utils import MoveItConfigsBuilder - -# Note: Joint Trajectory controllers are initialized in simulation.launch.py -# The same goes for the Joint State Broadcaster. - - -def generate_launch_description(): - arm_moveit_pkg_path = get_package_share_directory("urc_arm_moveit_config") - - moveit_config = ( - MoveItConfigsBuilder("urc_arm") - .robot_description(file_path="config/walli_arm.urdf.xacro") - .robot_description_semantic(file_path="config/walli_arm.srdf") - .trajectory_execution(file_path="config/moveit_controllers.yaml") - .robot_description_kinematics(file_path="config/kinematics.yaml") - .planning_scene_monitor( - publish_robot_description=True, publish_robot_description_semantic=True - ) - .planning_pipelines(pipelines=["ompl"]) - .to_moveit_configs() - ) - - # Get parameters for the Servo node - servo_yaml = os.path.join( - arm_moveit_pkg_path, "/config/walli_arm_simulated_config.yaml" - ) - servo_params = {"moveit_servo": servo_yaml} - - # Launch as much as possible in components - container = ComposableNodeContainer( - name="urc_manipulation_container", - namespace="/", - package="rclcpp_components", - executable="component_container_mt", - composable_node_descriptions=[ - # Example of launching Servo as a node component - # Assuming ROS2 intraprocess communications works well, this is a more efficient way. - # ComposableNode( - # package="moveit_servo", - # plugin="moveit_servo::ServoServer", - # name="servo_server", - # parameters=[ - # servo_params, - # moveit_config.robot_description, - # moveit_config.robot_description_semantic, - # ], - # ), - ComposableNode( - package="tf2_ros", - plugin="tf2_ros::StaticTransformBroadcasterNode", - name="static_tf2_broadcaster", - # check if child frame id and base link are correct - parameters=[ - {"child_frame_id": "/leftgripper", "frame_id": "/arm_base_link"} - ], - ), - ComposableNode( - package="urc_manipulation", - plugin="joy_to_servo_pub::JoyToServoPub", - name="controller_to_servo_node", - ), - ComposableNode( - package="joy", - plugin="joy::Joy", - name="joy_node", - ), - ], - output="screen", - ) - - # Standalone arm control node. Could be necessary if servo runs on different PC - arm_controls_node = Node( - package="urc_manipulation", - executable="servo_node_main", - output="screen", - parameters=[ - servo_params, - moveit_config.robot_description, - moveit_config.robot_description_semantic, - moveit_config.robot_description_kinematics, - ], - ) - - return LaunchDescription([arm_controls_node, container]) diff --git a/urc_manipulation/package.xml b/urc_manipulation/package.xml deleted file mode 100644 index fc17b29a..00000000 --- a/urc_manipulation/package.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - urc_manipulation - 0.0.0 - Package for controlling any manipulation devices on the rover. - matthewhannay - MIT - - ament_cmake - moveit_common - - controller_manager - controller_manager_msgs - control_msgs - control_toolbox - rclcpp - rclcpp_components - sensor_msgs - geometry_msgs - std_srvs - moveit_msgs - moveit_core - moveit_ros_planning_interface - pluginlib - std_msgs - tf2_eigen - trajectory_msgs - pinocchio - moveit_servo - - moveit_ros - gripper_controllers - joint_state_broadcaster - joint_trajectory_controller - joy - robot_state_publisher - tf2_ros - moveit_configs_utils - launch_param_builder - - - ament_lint_auto - ament_lint_common - urc_arm_moveit_config - - - ament_cmake - - \ No newline at end of file diff --git a/urc_manipulation/src/arm_rt_server.cpp b/urc_manipulation/src/arm_rt_server.cpp deleted file mode 100644 index 6c66c379..00000000 --- a/urc_manipulation/src/arm_rt_server.cpp +++ /dev/null @@ -1,285 +0,0 @@ -#include "arm_rt_server.hpp" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace urc_manipulation -{ -ArmRTServer::ArmRTServer(const rclcpp::NodeOptions & options) -: rclcpp::Node("arm_rt_server", options), - node_{std::make_shared("servo_node", options)} -// , move_group_node_{ std::make_shared("move_group_node", options) } -{ - RCLCPP_INFO(get_logger(), "Servo node starting..."); - if (!options.use_intra_process_comms()) { - RCLCPP_WARN_STREAM( - get_logger(), - "Intra-process communication is disabled, consider enabling it by adding: " - "\nextra_arguments=[{'use_intra_process_comms' : True}]\nto the Servo composable node " - "in the launch file"); - } - - declare_parameter("arm_planning_group", "arm"); - - // Set up services for interacting with Servo - start_servo_service_ = node_->create_service( - "~/start_servo", [this](const std::shared_ptr & request, - const std::shared_ptr & response) { - return startServo(request, response); - }); - stop_servo_service_ = node_->create_service( - "~/stop_servo", [this](const std::shared_ptr & request, - const std::shared_ptr & response) { - return stopServo(request, response); - }); - pause_servo_service_ = node_->create_service( - "~/pause_servo", [this](const std::shared_ptr & request, - const std::shared_ptr & response) { - return pauseServo(request, response); - }); - unpause_servo_service_ = node_->create_service( - "~/unpause_servo", [this](const std::shared_ptr & request, - const std::shared_ptr & response) { - return unpauseServo(request, response); - }); - swtich_mode_service = node_->create_service( - "~/switch_mode", [this](const std::shared_ptr & request, - const std::shared_ptr & response) { - return switchMode(request, response); - }); - - pose_target_subscriber_ = node_->create_subscription( - "~/pose_target_cmds", rclcpp::SystemDefaultsQoS(), - [this](const geometry_msgs::msg::PoseStamped::SharedPtr msg) {current_pose_target_ = *msg;}); - pose_target_publisher_ = - node_->create_publisher( - "/target_pose", - rclcpp::SystemDefaultsQoS()); - - control_status_publisher_ = - node_->create_publisher("~/control_status", rclcpp::SystemDefaultsQoS()); - current_pose_publisher_ = - node_->create_publisher( - "~/current_pose", - rclcpp::SystemDefaultsQoS()); - - // Can set robot_description name from parameters - std::string robot_description_name = "robot_description"; - node_->get_parameter_or("robot_description_name", robot_description_name, robot_description_name); - - // Get the servo parameters - auto servo_parameters = moveit_servo::ServoParameters::makeServoParameters(node_); - if (servo_parameters == nullptr) { - RCLCPP_ERROR(get_logger(), "Failed to load the servo parameters"); - throw std::runtime_error("Failed to load the servo parameters"); - } - - // Set up planning_scene_monitor - planning_scene_monitor_ = std::make_shared( - node_, robot_description_name, "planning_scene_monitor"); - planning_scene_monitor_->startStateMonitor(servo_parameters->joint_topic); - planning_scene_monitor_->startSceneMonitor(servo_parameters->monitored_planning_scene_topic); - planning_scene_monitor_->setPlanningScenePublishingFrequency(25); - planning_scene_monitor_->getStateMonitor()->enableCopyDynamics(true); - planning_scene_monitor_->startPublishingPlanningScene( - planning_scene_monitor::PlanningSceneMonitor::UPDATE_SCENE, - std::string(node_->get_fully_qualified_name()) + - "/publish_planning_scene"); - // If the planning scene monitor in servo is the primary one we provide /get_planning_scene service so RViz displays - // or secondary planning scene monitors can fetch the scene, otherwise we request the planning scene from the - // primary planning scene monitor (e.g. move_group) - if (servo_parameters->is_primary_planning_scene_monitor) { - planning_scene_monitor_->providePlanningSceneService(); - } else { - planning_scene_monitor_->requestPlanningSceneState(); - } - std::cout << servo_parameters->ee_frame_name << std::endl; - - double update_freq_value = get_parameter_or("update_freq", 30.0); - update_freq = std::make_shared(update_freq_value); - config_parameters[0] = get_parameter_or("position_err_tolerance_meters", 0.01); - config_parameters[1] = get_parameter_or("velocity_err_tolerance_meters", 0.05); - config_parameters[2] = get_parameter_or("angular_err_tolerance_radians", 0.0349); - - // Create threads - std::thread( - [this]() { - for (;; ) { - auto msg = std_msgs::msg::Int8(); - switch (mode) { - case POSE: - msg.data = 1; - break; - case TWIST: - msg.data = 2; - break; - default: - msg.data = 0; - } - control_status_publisher_->publish(msg); - update_freq->sleep(); - } - }).detach(); - - // Create Servo - servo_ = std::make_unique(node_, servo_parameters, planning_scene_monitor_); - servo_->setPaused(false); - RCLCPP_INFO(get_logger(), "Servo node has started."); - pose_tracking_ = std::make_unique( - node_, servo_parameters, - planning_scene_monitor_); - pose_tracking_->stopMotion(); - pose_tracking_pause = true; - RCLCPP_INFO(get_logger(), "Pose tracking node has started."); -} - -void ArmRTServer::startServo( - const std::shared_ptr & /* unused */, - const std::shared_ptr & response) -{ - std::unique_lock lock(mode_lock); - if (mode != IDLE) { - RCLCPP_WARN(get_logger(), "RT Control has already started!"); - response->success = false; - response->message = "RT Control has already started!"; - return; - } - - pose_tracking_->stopMotion(); - servo_->setPaused(true); - - if (desired_mode_ == ControlMode::POSE) { - mode = ControlMode::POSE; - pose_tracking_->resetTargetPose(); - pose_tracking_pause = false; - pose_tracking_stop = false; - std::thread([this]() {moveToPoseUpdate();}).detach(); - } else if (desired_mode_ == ControlMode::TWIST) { - mode = ControlMode::TWIST; - servo_->setPaused(false); - servo_->start(); - } - mode_lock.unlock(); - response->success = true; -} - -void ArmRTServer::stopServo( - const std::shared_ptr & /* unused */, - const std::shared_ptr & response) -{ - std::unique_lock lock(mode_lock); - mode = IDLE; - - servo_->setPaused(true); - pose_tracking_stop = true; - pose_tracking_->stopMotion(); - response->success = true; -} - -void ArmRTServer::pauseServo( - const std::shared_ptr & /* unused */, - const std::shared_ptr & response) -{ - std::unique_lock lock(mode_lock); - if (desired_mode_ == ControlMode::POSE) { - servo_->setPaused(true); - } else if (desired_mode_ == ControlMode::TWIST) { - pose_tracking_pause = true; - } - - mode = ControlMode::IDLE; - response->success = true; -} - -void ArmRTServer::unpauseServo( - const std::shared_ptr & /* unused */, - const std::shared_ptr & response) -{ - std::unique_lock lock(mode_lock); - if (desired_mode_ == ControlMode::POSE) { - servo_->setPaused(false); - } else if (desired_mode_ == ControlMode::TWIST) { - pose_tracking_pause = false; - } else { - RCLCPP_WARN(get_logger(), "Invalid desired mode!"); - response->success = false; - return; - } - - mode = desired_mode_; - response->success = true; -} - -void ArmRTServer::switchMode( - const std::shared_ptr & request, - const std::shared_ptr & response) -{ - std::unique_lock lock(mode_lock); - if (request->data) { - desired_mode_ = ControlMode::POSE; - } else { - desired_mode_ = ControlMode::TWIST; - } - response->success = true; -} - -void ArmRTServer::moveToPoseUpdate() -{ - for (;; ) { - if (mode != POSE) { - break; - } - - if (pose_tracking_stop) { - RCLCPP_INFO(get_logger(), "Stop flag see. Stopping..."); - pose_tracking_stop = false; - break; - } - - if (!pose_tracking_pause) { - geometry_msgs::msg::TransformStamped current_ee_tf; - pose_tracking_->getCommandFrameTransform(current_ee_tf); - - current_pose_target_.header.frame_id = current_ee_tf.header.frame_id; - current_pose_target_.header.stamp = node_->get_clock()->now(); - - pose_target_publisher_->publish(current_pose_target_); - pose_tracking_->moveToPose( - Eigen::Vector3d(config_parameters[0], config_parameters[0], config_parameters[0]), - config_parameters[2], 1.0); - } - - update_freq->sleep(); - } -} - -} // namespace urc_manipulation - -#include "rclcpp_components/register_node_macro.hpp" -RCLCPP_COMPONENTS_REGISTER_NODE(urc_manipulation::ArmRTServer); diff --git a/urc_manipulation/src/joy_to_servo_pub.cpp b/urc_manipulation/src/joy_to_servo_pub.cpp deleted file mode 100644 index 87f436cd..00000000 --- a/urc_manipulation/src/joy_to_servo_pub.cpp +++ /dev/null @@ -1,144 +0,0 @@ -#include "joy_to_servo_pub.hpp" -#include -#include - -namespace joy_to_servo_pub -{ - -JoyToServoPub::JoyToServoPub(const rclcpp::NodeOptions & options) -: Node("arm_driver", options) -{ - declare_parameter("joy_topic", "/joy"); - get_parameter("joy_topic", joy_topic); - - declare_parameter("twist_topic", "/servo_node/delta_twist_cmds"); - get_parameter("twist_topic", twist_topic); - - declare_parameter("joint_topic", "/servo_node/delta_joint_cmds"); - get_parameter("joint_topic", joint_topic); - - declare_parameter("base_frame_id", "arm_base_link"); - get_parameter("base_frame_id", base_frame_id); - - declare_parameter("eef_frame_id", "leftgripper"); - get_parameter("eef_frame_id", eef_frame_id); - - // Setup pub/sub - joy_sub_ = create_subscription( - joy_topic, rclcpp::SystemDefaultsQoS(), - [this](const sensor_msgs::msg::Joy::ConstSharedPtr & msg) {return joyCB(msg);}); - - twist_pub_ = create_publisher( - twist_topic, - rclcpp::SystemDefaultsQoS()); - joint_pub_ = this->create_publisher( - joint_topic, - rclcpp::SystemDefaultsQoS()); - collision_pub_ = create_publisher( - "/planning_scene", - rclcpp::SystemDefaultsQoS()); - - // Create a service client to start the ServoNode - servo_start_client_ = create_client("/servo_node/start_servo"); - servo_start_client_->wait_for_service(std::chrono::seconds(1)); - servo_start_client_->async_send_request(std::make_shared()); - - // Load the collision scene asynchronously - collision_pub_thread_ = std::thread( - [this]() { - rclcpp::sleep_for(std::chrono::seconds(3)); - moveit_msgs::msg::PlanningSceneWorld psw; - - auto ps = std::make_unique(); - ps->world = psw; - ps->is_diff = true; - collision_pub_->publish(std::move(ps)); - }); -} - -JoyToServoPub::~JoyToServoPub() -{ - if (collision_pub_thread_.joinable()) { - collision_pub_thread_.join(); - } -} - -bool JoyToServoPub::convertJoyToCmd( - const std::vector & axes, const std::vector & buttons, - std::unique_ptr & twist, - std::unique_ptr & joint) -{ - // Give joint jogging priority because it is only buttons - // If any joint jog command is requested, we are only publishing joint commands - if (buttons[A] || buttons[B] || buttons[X] || buttons[Y] || axes[D_PAD_X] || axes[D_PAD_Y]) { - // Map the D_PAD to the proximal joints - joint->joint_names.push_back("shoulderjoint"); - joint->velocities.push_back(axes[D_PAD_X]); - joint->joint_names.push_back("bicepjoint"); - joint->velocities.push_back(axes[D_PAD_Y]); - - // Map the diamond to the distal joints - joint->joint_names.push_back("leftgripper"); - joint->velocities.push_back(buttons[B] - buttons[X]); - joint->joint_names.push_back("clawjoint"); - joint->velocities.push_back(buttons[Y] - buttons[A]); - return false; - } - - // The bread and butter: map buttons to twist commands - twist->twist.linear.z = axes[RIGHT_STICK_Y]; - twist->twist.linear.y = axes[RIGHT_STICK_X]; - - double lin_x_right = -0.5 * (axes[RIGHT_TRIGGER] - AXIS_DEFAULTS.at(RIGHT_TRIGGER)); - double lin_x_left = 0.5 * (axes[LEFT_TRIGGER] - AXIS_DEFAULTS.at(LEFT_TRIGGER)); - twist->twist.linear.x = lin_x_right + lin_x_left; - - twist->twist.angular.y = axes[LEFT_STICK_Y]; - twist->twist.angular.x = axes[LEFT_STICK_X]; - - double roll_positive = buttons[RIGHT_BUMPER]; - double roll_negative = -1 * (buttons[LEFT_BUMPER]); - twist->twist.angular.z = roll_positive + roll_negative; - - return true; -} - -/** \brief // This should update the frame_to_publish_ as needed for changing command frame via controller - * @param frame_name Set the command frame to this - * @param buttons The vector of discrete controller button values - */ -void JoyToServoPub::updateCmdFrame(std::string & frame_name, const std::vector & buttons) -{ - if (buttons[CHANGE_VIEW] && frame_name == eef_frame_id) { - frame_name = base_frame_id; - } else if (buttons[MENU] && frame_name == base_frame_id) { - frame_name = eef_frame_id; - } -} - -void JoyToServoPub::joyCB(const sensor_msgs::msg::Joy::ConstSharedPtr & msg) -{ - // Create the messages we might publish - auto twist_msg = std::make_unique(); - auto joint_msg = std::make_unique(); - - // This call updates the frame for twist commands - updateCmdFrame(frame_to_publish_, msg->buttons); - - // Convert the joystick message to Twist or JointJog and publish - if (convertJoyToCmd(msg->axes, msg->buttons, twist_msg, joint_msg)) { - // publish the TwistStamped - twist_msg->header.frame_id = frame_to_publish_; - twist_msg->header.stamp = this->now(); - twist_pub_->publish(std::move(twist_msg)); - } else { - // publish the JointJog - joint_msg->header.stamp = this->now(); - joint_msg->header.frame_id = "elbowjoint"; - joint_pub_->publish(std::move(joint_msg)); - } -} - -} // namespace joy_to_servo_pub - -RCLCPP_COMPONENTS_REGISTER_NODE(joy_to_servo_pub::JoyToServoPub) diff --git a/urc_manipulation/src/servo_node.cpp b/urc_manipulation/src/servo_node.cpp deleted file mode 100644 index 2287d544..00000000 --- a/urc_manipulation/src/servo_node.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "moveit_servo/servo_node.h" -#include -#include - -int main(int argc, char * argv[]) -{ - rclcpp::init(argc, argv); - - rclcpp::NodeOptions options; - - auto servo_node = std::make_shared(options); - auto logger = std::make_unique(rclcpp::get_logger("Servo")); - RCLCPP_INFO(*logger, "Starting Servo Node!"); - - rclcpp::spin(servo_node->get_node_base_interface()); - - rclcpp::shutdown(); -} diff --git a/urc_platform/config/camera_params.yaml b/urc_platform/config/camera_params.yaml deleted file mode 100644 index 43f9007a..00000000 --- a/urc_platform/config/camera_params.yaml +++ /dev/null @@ -1,11 +0,0 @@ -camera: - ros__parameters: - video_device: "/dev/cam" - image_width: 640 - image_height: 480 - pixel_format: "mjepg" - io_method: "mmap" - camera_frame_id: "camera" - framerate: 30 - camera_info_url: "" - camera_name: "" \ No newline at end of file diff --git a/urc_platform/config/motor_controller_params.yaml b/urc_platform/config/motor_controller_params.yaml deleted file mode 100644 index 60634c72..00000000 --- a/urc_platform/config/motor_controller_params.yaml +++ /dev/null @@ -1,17 +0,0 @@ -motor_controller: - ros__parameters: - ip_addr: "192.168.8.150" - port: 8443 - battery_alpha: 0.9 - min_battery_voltage: 23.5 - p_l: 0.0 - p_r: 0.0 - d_l: 0.0 - d_r: 0.0 - i_r: 0.0 - i_l: 0.0 - kv_l: 32.0 - kv_r: 32.0 - watchdog_delay: 3.0 - frequency: 10.0 - log_period: 5.0 \ No newline at end of file diff --git a/urc_platform/include/motor_controller.hpp b/urc_platform/include/motor_controller.hpp deleted file mode 100644 index b81ee305..00000000 --- a/urc_platform/include/motor_controller.hpp +++ /dev/null @@ -1,74 +0,0 @@ -#ifndef MOTOR_CONTROLLER_ROS_WRAPPER -#define MOTOR_CONTROLLER_ROS_WRAPPER - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace motor_controller -{ - -class MotorControllerWrapper : public rclcpp::Node -{ -public: - explicit MotorControllerWrapper(const rclcpp::NodeOptions & options); - -private: - class MotorControllerDriver - { -private: - int port_; - std::string ip_addr_server_; - boost::asio::io_service io_service_; - std::unique_ptr sock_; - boost::asio::ip::udp::endpoint client_endpoint_; - boost::asio::ip::udp::endpoint server_endpoint_; - -public: - MotorControllerDriver(std::string ip_addr_server, int port); - void start(); - void stop(); - void motorsEnable(); - void motorsDisable(); - void motorsSleep(); - int available() {return sock_->available();} - bool getEncoderTicks(DriveEncodersMessage & message); - bool setSpeed(RequestMessage & message); - int getPortNumber(); - }; - - std::unique_ptr driver; - rclcpp::Publisher::SharedPtr _enc_pub; - rclcpp::Subscription::SharedPtr _motor_sub; - rclcpp::TimerBase::SharedPtr timer_; - double publish_encoder_ticks_frequency_; - - const int ENCODER_CPR = 2048; - const float WHEEL_RADIUS = 0.170; - const float VEL_TO_COUNTS_FACTOR = ENCODER_CPR / (2 * M_PI * WHEEL_RADIUS); - const int QPPR = 15562; - const float MAX_SPEED = QPPR / VEL_TO_COUNTS_FACTOR; - const float MIN_SPEED = -1 * MAX_SPEED; - - void publishEncoderTicks(); - void sendSpeed(const urc_msgs::msg::VelocityPair & vel); - int velocityToCounts(float vel) {return (int)(vel * VEL_TO_COUNTS_FACTOR);} - float countsToVelocity(int counts) {return counts / VEL_TO_COUNTS_FACTOR;} -}; - -} - -#endif diff --git a/urc_platform/launch/camera.launch.py b/urc_platform/launch/camera.launch.py deleted file mode 100644 index 887c8e29..00000000 --- a/urc_platform/launch/camera.launch.py +++ /dev/null @@ -1,24 +0,0 @@ -from launch import LaunchDescription -from launch.substitutions import PathJoinSubstitution -from launch_ros.actions import Node -from launch_ros.substitutions import FindPackageShare - - -def generate_launch_description(): - - # this node should produce both a uncompressed and compressed version of the image - # pub topics: - # ~/image_raw - # ~/image_raw/compressed - camera_node = Node( - package="usb_cam", - executable="usb_cam_node_exe", - output="screen", - parameters=[ - PathJoinSubstitution( - [FindPackageShare("urc_platform"), "config", "camera_params.yaml"] - ) - ], - ) - - return LaunchDescription([camera_node]) diff --git a/urc_platform/launch/motor_controller.launch.py b/urc_platform/launch/motor_controller.launch.py deleted file mode 100644 index e04bc462..00000000 --- a/urc_platform/launch/motor_controller.launch.py +++ /dev/null @@ -1,28 +0,0 @@ -from launch import LaunchDescription -from launch.substitutions import PathJoinSubstitution -from launch_ros.actions import Node -from launch_ros.substitutions import FindPackageShare - - -def generate_launch_description(): - - motor_controller_node = Node( - package="urc_platform", - executable="urc_platform_MotorController", - output="screen", - parameters=[ - PathJoinSubstitution( - [ - FindPackageShare("urc_platform"), - "config", - "motor_controller_params.yaml", - ] - ) - ], - remappings=[ - ("/motor_controller/encoders", "/encoders"), - ("/motor_controller/motors", "/motors"), - ], - ) - - return LaunchDescription([motor_controller_node]) diff --git a/urc_platform/src/motor_controller.cpp b/urc_platform/src/motor_controller.cpp deleted file mode 100644 index 4cca3c45..00000000 --- a/urc_platform/src/motor_controller.cpp +++ /dev/null @@ -1,126 +0,0 @@ -#include "motor_controller.hpp" - -namespace motor_controller -{ - -namespace ip = boost::asio::ip; - -MotorControllerWrapper::MotorControllerDriver::MotorControllerDriver( - std::string ip_addr_server, - int port) -{ - this->ip_addr_server_ = ip_addr_server; - this->port_ = port; - this->client_endpoint_.address(ip::address_v4::from_string(ip_addr_server)); - this->client_endpoint_.port(port); - this->server_endpoint_.address(ip::address_v4::from_string("192.168.8.167")); - this->server_endpoint_.port(port); - this->sock_ = std::make_unique(io_service_, client_endpoint_); -} - -bool MotorControllerWrapper::MotorControllerDriver::getEncoderTicks(DriveEncodersMessage & message) -{ - size_t bytes_read; - uint8_t buffer[256]; - boost::system::error_code error; - ip::udp::endpoint sender_endpoint; - - bytes_read = sock_->receive_from(boost::asio::buffer(buffer), sender_endpoint); - - message = DriveEncodersMessage_init_zero; - pb_istream_t istream = pb_istream_from_buffer(buffer, bytes_read); - bool status = pb_decode(&istream, DriveEncodersMessage_fields, &message); - - return status; -} - -bool MotorControllerWrapper::MotorControllerDriver::setSpeed(RequestMessage & message) -{ - uint8_t buffer[256]; - size_t response_length; - - pb_ostream_t ostream = pb_ostream_from_buffer(buffer, sizeof(buffer)); - bool status = pb_encode(&ostream, RequestMessage_fields, &message); - response_length = ostream.bytes_written; - - sock_->send_to(boost::asio::buffer(buffer), server_endpoint_); - - return status; -} - -int MotorControllerWrapper::MotorControllerDriver::getPortNumber() -{ - return this->port_; -} - -MotorControllerWrapper::MotorControllerWrapper(const rclcpp::NodeOptions & options) -: rclcpp::Node("motor_controller", options) -{ - std::string ip_addr_server_ = declare_parameter("ip_addr"); - int port_ = declare_parameter("port"); - publish_encoder_ticks_frequency_ = declare_parameter("frequency"); - - driver = std::make_unique(ip_addr_server_, port_); - - _enc_pub = create_publisher( - "~/encoders", - rclcpp::SystemDefaultsQoS()); - - _motor_sub = create_subscription( - "~/motors", - rclcpp::SystemDefaultsQoS(), - [this](const urc_msgs::msg::VelocityPair vel) {sendSpeed(vel);} - ); - - timer_ = this->create_wall_timer( - std::chrono::duration(1.0 / publish_encoder_ticks_frequency_), - [this]() {publishEncoderTicks();} - ); -} - -void MotorControllerWrapper::publishEncoderTicks() -{ - if (driver->available()) { - DriveEncodersMessage ticks; - bool success = driver->getEncoderTicks(ticks); - - if (!success) { - RCLCPP_WARN(this->get_logger(), "Decoding Failed"); - } else { - urc_msgs::msg::VelocityPair encoder_msg; - encoder_msg.left_velocity = ticks.leftSpeed; - encoder_msg.right_velocity = ticks.rightSpeed; - encoder_msg.duration = ticks.timestamp; - encoder_msg.header.stamp = this->get_clock()->now(); - - _enc_pub->publish(encoder_msg); - } - } - -} - -void MotorControllerWrapper::sendSpeed(const urc_msgs::msg::VelocityPair & vel) -{ - - RequestMessage requestMessage; - requestMessage.requestSpeed = true; - requestMessage.requestDiagnostics = false; - requestMessage.leftSpeed = - velocityToCounts( - std::clamp( - static_cast(vel.left_velocity), MIN_SPEED, - MAX_SPEED)); - requestMessage.rightSpeed = - velocityToCounts( - std::clamp( - static_cast(vel.right_velocity), MIN_SPEED, - MAX_SPEED)); - requestMessage.duration = 1500; - requestMessage.timestamp = (int32_t) this->get_clock()->now().seconds(); - - bool success = driver->setSpeed(requestMessage); -} - -} - -RCLCPP_COMPONENTS_REGISTER_NODE(motor_controller::MotorControllerWrapper) diff --git a/urc_scripts/package.xml b/urc_scripts/package.xml deleted file mode 100644 index 90d64c07..00000000 --- a/urc_scripts/package.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - urc_scripts - 0.0.0 - TODO: Package description - keseterg - TODO: License declaration - - ament_copyright - ament_flake8 - ament_pep257 - python3-pytest - - - ament_python - - diff --git a/urc_scripts/resource/urc_scripts b/urc_scripts/resource/urc_scripts deleted file mode 100644 index e69de29b..00000000 diff --git a/urc_scripts/setup.cfg b/urc_scripts/setup.cfg deleted file mode 100644 index 47880801..00000000 --- a/urc_scripts/setup.cfg +++ /dev/null @@ -1,4 +0,0 @@ -[develop] -script_dir=$base/lib/urc_scripts -[install] -install_scripts=$base/lib/urc_scripts diff --git a/urc_scripts/setup.py b/urc_scripts/setup.py deleted file mode 100644 index 2d1a4f97..00000000 --- a/urc_scripts/setup.py +++ /dev/null @@ -1,26 +0,0 @@ -from setuptools import find_packages, setup - -package_name = "urc_scripts" - -setup( - name=package_name, - version="0.0.0", - packages=find_packages(exclude=["test"]), - data_files=[ - ("share/ament_index/resource_index/packages", ["resource/" + package_name]), - ("share/" + package_name, ["package.xml"]), - ], - install_requires=["setuptools"], - zip_safe=True, - maintainer="keseterg", - maintainer_email="zhiwan13579@126.com", - description="TODO: Package description", - license="TODO: License declaration", - tests_require=["pytest"], - entry_points={ - "console_scripts": [ - "test_joint = urc_scripts.test_joint:main", - "joy_drive = urc_scripts.joy_drive:main", - ], - }, -) diff --git a/urc_scripts/test/test_copyright.py b/urc_scripts/test/test_copyright.py deleted file mode 100644 index ceffe896..00000000 --- a/urc_scripts/test/test_copyright.py +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2015 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. - -from ament_copyright.main import main -import pytest - - -# Remove the `skip` decorator once the source file(s) have a copyright header -@pytest.mark.skip( - reason="No copyright header has been placed in the generated source file." -) -@pytest.mark.copyright -@pytest.mark.linter -def test_copyright(): - rc = main(argv=[".", "test"]) - assert rc == 0, "Found errors" diff --git a/urc_scripts/test/test_flake8.py b/urc_scripts/test/test_flake8.py deleted file mode 100644 index ee79f31a..00000000 --- a/urc_scripts/test/test_flake8.py +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 2017 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. - -from ament_flake8.main import main_with_errors -import pytest - - -@pytest.mark.flake8 -@pytest.mark.linter -def test_flake8(): - rc, errors = main_with_errors(argv=[]) - assert rc == 0, "Found %d code style errors / warnings:\n" % len( - errors - ) + "\n".join(errors) diff --git a/urc_scripts/urc_scripts/__init__.py b/urc_scripts/urc_scripts/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/urc_scripts/urc_scripts/joy_drive.py b/urc_scripts/urc_scripts/joy_drive.py deleted file mode 100644 index 05026518..00000000 --- a/urc_scripts/urc_scripts/joy_drive.py +++ /dev/null @@ -1,145 +0,0 @@ -import rclpy -from rclpy.publisher import Publisher -from rclpy.subscription import Subscription -from rclpy.node import Node -from rclpy.parameter import Parameter -from rcl_interfaces.msg import SetParametersResult -from geometry_msgs.msg import TwistStamped -from sensor_msgs.msg import Joy - - -class JoyDrive(Node): - """ - Use joystick to command the drivetrain. - - Args: - Node (_type_): node from ros2. - """ - - def __init__(self): - super().__init__("joy_drive") - - # declare parameters - self.declare_parameter("max_linear_velocity_ms", 0.0) - self.declare_parameter("max_angular_velocity_radians", 0.0) - self.declare_parameter("joy_command_topic", "/joy") - self.declare_parameter("cmd_vel_topic", "/cmd_vel") - self.declare_parameter("target_axes", [1, 3]) - self.declare_parameter("invert_linear_velocity", False) - self.declare_parameter("invert_angular_velocity", False) - - # get parameters - self.max_linear = ( - self.get_parameter("max_linear_velocity_ms") - .get_parameter_value() - .double_value - ) - self.max_angular = ( - self.get_parameter("max_angular_velocity_radians") - .get_parameter_value() - .double_value - ) - self.joy_command_topic = ( - self.get_parameter("joy_command_topic").get_parameter_value().string_value - ) - self.cmd_vel_topic = ( - self.get_parameter("cmd_vel_topic").get_parameter_value().string_value - ) - self.op_axes = ( - self.get_parameter("target_axes").get_parameter_value().integer_array_value - ) - self.inv_linvel = ( - self.get_parameter("invert_linear_velocity") - .get_parameter_value() - .double_value - ) - self.inv_angvel = ( - self.get_parameter("invert_angular_velocity") - .get_parameter_value() - .double_value - ) - - # register dynamic parameter callbacks - self.add_on_set_parameters_callback(self.on_param_update) - - self.curr_twist = TwistStamped() - self.joy_msg_subscriber: Subscription = self.create_subscription( - Joy, self.joy_command_topic, self.update_vel_target, 10 - ) - self.cmd_vel_publisher: Publisher = self.create_publisher( - TwistStamped, self.cmd_vel_topic, 10 - ) - - self.get_logger().info("Joy Drive Started.") - self.get_logger().info( - f"Default Settings: [linear velocity {self.max_linear} m/s]," - + f"[angular velocity {self.max_angular} rad/s]" - ) - - def update_vel_target(self, msg: Joy): - """Update velocity target for the drivetrain. - - Args: - msg (Joy): joy message from the controller. - """ - self.curr_twist.twist.linear.x = ( - msg.axes[self.op_axes[0]] * self.max_linear * (-1 if self.inv_linvel else 1) - ) - self.curr_twist.twist.angular.z = ( - msg.axes[self.op_axes[1]] - * self.max_angular - * (-1 if self.inv_angvel else 1) - ) - self.curr_twist.header.stamp = self.get_clock().now().to_msg() - - self.cmd_vel_publisher.publish(self.curr_twist) - - def on_param_update(self, params: list[Parameter]) -> SetParametersResult: - """When parameter is updated. - - Args: - params (list[Parameter]): list of updated parameters - - Returns: - SetParametersResult: result for setting the parameters. - """ - result = SetParametersResult() - - for param in params: - if param.name == "max_linear_velocity_ms": - self.max_linear = param.get_parameter_value().double_value - self.get_logger().info(f"Max linvel updated to {self.max_linear} m/s.") - if param.name == "max_angular_velocity_radians": - self.max_angular = param.get_parameter_value().double_value - self.get_logger().info( - f"Max angvel updated to {self.max_angular} rad/s." - ) - if param.name == "target_axes": - self.op_axes = param.get_parameter_value().integer_array_value - self.get_logger().info(f"Axies has be configured to {self.op_axes}.") - if param.name == "invert_linear_vel": - self.inv_linvel = param.get_parameter_value().bool_value - self.get_logger().info(f"Linear velocity inversion: {self.inv_linvel}") - if param.name == "invert_angular_vel": - self.inv_angvel = param.get_parameter_value().bool_value - self.get_logger().info(f"Angular velocity inversion: {self.inv_angvel}") - result.successful = True - return result - - -def main(args=None): - """Entry function - - Args: - args (_type_, optional): Arguments. Defaults to None. - """ - rclpy.init(args=args) - node = JoyDrive() - while rclpy.ok(): - rclpy.spin_once(node) - node.destroy_node() - rclpy.shutdown() - - -if __name__ == "__main__": - main() diff --git a/urc_scripts/urc_scripts/test_joint.py b/urc_scripts/urc_scripts/test_joint.py deleted file mode 100644 index 15cff4c2..00000000 --- a/urc_scripts/urc_scripts/test_joint.py +++ /dev/null @@ -1,112 +0,0 @@ -import rclpy -import numpy as np -from rclpy.publisher import Publisher -from rclpy.subscription import Subscription -from rclpy.client import Client -from rclpy.action import ActionClient -from rclpy.node import Node -from geometry_msgs.msg import Twist -from sensor_msgs.msg import Joy -from std_srvs.srv import Trigger -from control_msgs.action import GripperCommand - - -def rpy_to_quaternion(roll, pitch, yaw): - """ - Convert Roll-Pitch-Yaw (RPY) angles to quaternion. - - Parameters: - roll (float): Roll angle in radians. - pitch (float): Pitch angle in radians. - yaw (float): Yaw angle in radians. - - Returns: - numpy.array: Quaternion in the form [w, x, y, z]. - """ - cy = np.cos(yaw * 0.5) - sy = np.sin(yaw * 0.5) - cr = np.cos(roll * 0.5) - sr = np.sin(roll * 0.5) - cp = np.cos(pitch * 0.5) - sp = np.sin(pitch * 0.5) - - qw = cy * cr * cp + sy * sr * sp - qx = cy * sr * cp - sy * cr * sp - qy = cy * cr * sp + sy * sr * cp - qz = sy * cr * cp - cy * sr * sp - - return qw, qx, qy, qz - - -# Example usage - - -class TestJoint(Node): - def __init__(self): - super().__init__("ff") - self.joy_subscriber: Subscription = self.create_subscription( - Joy, "/joy", self.pub, 10 - ) - self.cmd_twist_publisher: Publisher = self.create_publisher( - Twist, "/cmd_twist", 10 - ) - self.start_servo_service_request: Client = self.create_client( - Trigger, "/arm_rt_pinocchio/start_servo" - ) - self.stop_servo_service_request: Client = self.create_client( - Trigger, "/arm_rt_pinocchio/stop_servo" - ) - self.left_gripper_action_client: ActionClient = ActionClient( - self, GripperCommand, "/gripper_controller_left/gripper_cmd" - ) - self.right_gripper_action_client: ActionClient = ActionClient( - self, GripperCommand, "/gripper_controller_right/gripper_cmd" - ) - self.previous_open = False - - def pub(self, msg: Joy): - t = Twist() - t.linear.x = msg.axes[1] * 0.30 - t.linear.y = msg.axes[0] * 0.30 - - if msg.buttons[4] == 1: - t.linear.z = 0.10 - elif msg.buttons[5] == 1: - t.linear.z = -0.10 - else: - t.linear.z = 0.0 - - # t.angular.z = msg.axes[2] * 0.5 - t.angular.y = msg.axes[3] * 0.2 - - self.cmd_twist_publisher.publish(t) - - if msg.buttons[1] == 1: - self.start_servo_service_request.call_async(Trigger.Request()) - if msg.buttons[2] == 1: - self.stop_servo_service_request.call_async(Trigger.Request()) - - if msg.buttons[3] == 1 and not self.previous_open: - target = GripperCommand.Goal() - target.command.position = 1.0 - self.previous_open = True - self.left_gripper_action_client.send_goal_async(target) - self.right_gripper_action_client.send_goal_async(target) - elif msg.buttons[3] == 0 and self.previous_open: - target = GripperCommand.Goal() - target.command.position = -0.40 - self.previous_open = False - self.left_gripper_action_client.send_goal_async(target) - self.right_gripper_action_client.send_goal_async(target) - - -def main(args=None): - rclpy.init(args=args) - node = TestJoint() - rclpy.spin(node) - node.destroy_node() - rclpy.shutdown() - - -if __name__ == "__main__": - main()