diff --git a/Dockerfile b/Dockerfile index b7e4002..9f8e282 100644 --- a/Dockerfile +++ b/Dockerfile @@ -39,6 +39,7 @@ python3-pip \ python3-testresources \ gedit \ + gimp \ ros-noetic-rosserial \ ros-noetic-rosserial-arduino \ ros-noetic-urg-node \ diff --git a/src/.vscode/settings.json b/src/.vscode/settings.json new file mode 100644 index 0000000..0db5873 --- /dev/null +++ b/src/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "cmake.configureOnOpen": true +} \ No newline at end of file diff --git a/src/ZLAC8015D_python/.gitignore b/src/ZLAC8015D_python/.gitignore deleted file mode 100644 index b08ba21..0000000 --- a/src/ZLAC8015D_python/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -build/ -dist/ -zlac8015d.egg-info/ -__pycache__/ - diff --git a/src/ZLAC8015D_python/examples/__pycache__/ZLAC8015D.cpython-38.pyc b/src/ZLAC8015D_python/examples/__pycache__/ZLAC8015D.cpython-38.pyc new file mode 100644 index 0000000..3fb1cf2 --- /dev/null +++ b/src/ZLAC8015D_python/examples/__pycache__/ZLAC8015D.cpython-38.pyc Binary files differ diff --git a/src/junk/tsukuba2022/config/gps_parameters.yaml b/src/junk/tsukuba2022/config/gps_parameters.yaml deleted file mode 100644 index 38970f9..0000000 --- a/src/junk/tsukuba2022/config/gps_parameters.yaml +++ /dev/null @@ -1,37 +0,0 @@ -# maintainer:kbkn/mori -# -# name of the port that connects to gps device -dev_name: /dev/sensors/rtkgps -# directory of the file where waypoints will be saved -output_file: /home/ubuntu/catkin_ws/src/igvc2022/config/gps_waypoints/gps_waypoints.yaml -#output_file: /home/ubuntu/catkin_ws/src/igvc2022/config/gps_waypoints/qualification_waypoints.yaml -# country_id: 0, then Japan -# country_id: 1, then USA -country_id: 0 -# true north is 0 degrees, clockwise angle -azimuth: 180 -# latitude and longitude information given by the organizer at IGVC -# - - latitude(1) -# - longitude(1) -# - - latitude(2) -# - longitude(2) -# ............ -latitude_longitude: - - - 42.66792770 - - -83.21932764 - - - 42.66807663 - - -83.21935915 - - - 42.66812064 - - -83.21936060 - - - 42.66826972 - - -83.21934030 - - -# - - 42.66826972 -# - -83,21934030 -# - - 42.66812064 -# - -83.21936060 -# - - 42.66807663 -# - -83.21935915 -# - - 42.66792770 -# - -83.21932764 diff --git a/src/junk/tsukuba2022/config/gps_waypoints/gps_waypoints.yaml b/src/junk/tsukuba2022/config/gps_waypoints/gps_waypoints.yaml deleted file mode 100644 index 1de4c59..0000000 --- a/src/junk/tsukuba2022/config/gps_waypoints/gps_waypoints.yaml +++ /dev/null @@ -1,17 +0,0 @@ -waypoints: - - point: - x: 23.832395277342513 - y: -39.51859423889264 - z: 0 - - point: - x: 7.288423107180874 - y: -42.101774823056566 - z: 0 - - point: - x: 2.399529025831852 - y: -42.22065671153237 - z: 0 - - point: - x: -14.161232871434652 - y: -40.556537994560074 - z: 0 diff --git a/src/junk/tsukuba2022/config/gps_waypoints/gps_waypoints_north.yaml b/src/junk/tsukuba2022/config/gps_waypoints/gps_waypoints_north.yaml deleted file mode 100644 index ff46ecf..0000000 --- a/src/junk/tsukuba2022/config/gps_waypoints/gps_waypoints_north.yaml +++ /dev/null @@ -1,17 +0,0 @@ -waypoints: - - point: - x: 18.6965 - y: 41.0993 - z: 0 - - point: - x: 4.5435 - y: 41.0993 - z: 0 - - point: - x: -5.1435 - y: 41.0993 - z: 0 - - point: - x: -19.2965 - y: 41.0993 - z: 0 diff --git a/src/junk/tsukuba2022/config/gps_waypoints/gps_waypoints_simulation.yaml b/src/junk/tsukuba2022/config/gps_waypoints/gps_waypoints_simulation.yaml deleted file mode 100644 index 01d3b85..0000000 --- a/src/junk/tsukuba2022/config/gps_waypoints/gps_waypoints_simulation.yaml +++ /dev/null @@ -1,17 +0,0 @@ -waypoints: - - point: - x: 15.799 - y: 30.600 - z: 0 - - point: - x: 4.700 - y: 30.142 - z: 0 - - point: - x: -4.420 - y: 30.514 - z: 0 - - point: - x: -15.912 - y: 30.702 - z: 0 diff --git a/src/junk/tsukuba2022/config/gps_waypoints/gps_waypoints_simulation_reverse.yaml b/src/junk/tsukuba2022/config/gps_waypoints/gps_waypoints_simulation_reverse.yaml deleted file mode 100644 index 9897947..0000000 --- a/src/junk/tsukuba2022/config/gps_waypoints/gps_waypoints_simulation_reverse.yaml +++ /dev/null @@ -1,17 +0,0 @@ -waypoints: - - point: - x: -15.799 - y: -30.600 - z: 0 - - point: - x: -4.700 - y: -30.142 - z: 0 - - point: - x: 4.420 - y: -30.514 - z: 0 - - point: - x: 15.912 - y: -30.702 - z: 0 diff --git a/src/junk/tsukuba2022/config/gps_waypoints/gps_waypoints_south.yaml b/src/junk/tsukuba2022/config/gps_waypoints/gps_waypoints_south.yaml deleted file mode 100644 index f08bc57..0000000 --- a/src/junk/tsukuba2022/config/gps_waypoints/gps_waypoints_south.yaml +++ /dev/null @@ -1,17 +0,0 @@ -waypoints: - - point: - x: 19.2965 - y: -41.0993 - z: 0 - - point: - x: 5.1435 - y: -41.0993 - z: 0 - - point: - x: -4.5435 - y: -41.0993 - z: 0 - - point: - x: -18.6965 - y: -41.0993 - z: 0 diff --git a/src/junk/tsukuba2022/config/gps_waypoints/qualification_waypoints.yaml b/src/junk/tsukuba2022/config/gps_waypoints/qualification_waypoints.yaml deleted file mode 100644 index de097ab..0000000 --- a/src/junk/tsukuba2022/config/gps_waypoints/qualification_waypoints.yaml +++ /dev/null @@ -1,17 +0,0 @@ -waypoints: - - point: - x: 7.058685 - y: 0.5 - z: 0 - - point: - x: 14.117370781974484 - y: 1 - z: 0 - - point: - x: 14.117370781974484 - y: -2.1647149478696024 - z: 0 - - point: - x: -258532440.12709326 - y: 18422863.225660857 - z: 0 diff --git a/src/junk/tsukuba2022/config/igvc_robot_control.yaml b/src/junk/tsukuba2022/config/igvc_robot_control.yaml deleted file mode 100644 index bb3afc4..0000000 --- a/src/junk/tsukuba2022/config/igvc_robot_control.yaml +++ /dev/null @@ -1,43 +0,0 @@ -joint_state_controller: - type: joint_state_controller/JointStateController - publish_rate: 100 - -igvc_robot: - type : "diff_drive_controller/DiffDriveController" - left_wheel : 'right_wheel_hinge' - right_wheel : 'left_wheel_hinge' - publish_rate: 100 - - enable_odom_tf: false - - pose_covariance_diagonal : [0.00001, 0.00001, 1000000000000.0, 1000000000000.0, 1000000000000.0, 0.001] - twist_covariance_diagonal: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] - - # Wheel separation and radius multipliers - wheel_separation_multiplier: 1.0 # default: 1.0 - wheel_radius_multiplier : 1.0 # default: 1.0 - - # Velocity commands timeout [s], default 0.5 - cmd_vel_timeout: 1.0 - - # Base frame_id - base_frame_id: base_link - - # Velocity and acceleration limits - # Whenever a min_* is unspecified, default to -max_* - linear: - x: - has_velocity_limits : true - max_velocity : 0.8 # m/s - min_velocity : -0.8 # m/s - has_acceleration_limits: true - max_acceleration : 0.8 # m/s^2 - min_acceleration : -0.8 # m/s^2 - angular: - z: - has_velocity_limits : true - max_velocity : 0.4 # rad/s - min_velocity : -0.4 # rad/s - has_acceleration_limits: true - max_acceleration : 0.3 # rad/s^2 - min_acceleration : -0.3 # rad/s^2 diff --git a/src/junk/tsukuba2022/config/igvc_robot_control_sim.yaml b/src/junk/tsukuba2022/config/igvc_robot_control_sim.yaml deleted file mode 100644 index cb6b6b3..0000000 --- a/src/junk/tsukuba2022/config/igvc_robot_control_sim.yaml +++ /dev/null @@ -1,45 +0,0 @@ -joint_state_controller: - type: joint_state_controller/JointStateController - publish_rate: 100 - -igvc_robot: - #type: "icart_mini_controller/ICartMiniController" - type : "diff_drive_controller/DiffDriveController" - left_wheel : 'left_wheel_hinge' - right_wheel : 'right_wheel_hinge' - publish_rate: 100 - - enable_odom_tf: false - - #pose_covariance_diagonal : [0.00001, 0.00001, 1000000000000.0, 1000000000000.0, 1000000000000.0, 0.001] - #twist_covariance_diagonal: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] - pose_covariance_diagonal : [0.01, 0.01, 10000.0, 10000.0, 10000.0, 10.0] - twist_covariance_diagonal: [0.01, 0.01, 10000.0, 10000.0, 10000.0, 10.0] - - # Wheel separation and radius multipliers - wheel_separation_multiplier: 1.0 # default: 1.0 - wheel_radius_multiplier : 1.0 # default: 1.0 - - # Velocity commands timeout [s], default 0.5 - cmd_vel_timeout: 1.0 - - # Base frame_id - base_frame_id: base_link - - # Velocity and acceleration limits - # Whenever a min_* is unspecified, default to -max_* - linear: - x: - has_velocity_limits : false - #max_velocity : 0.9 # m/s - #min_velocity : -0.9 # m/s - has_acceleration_limits: true - max_acceleration : 1.5 # m/s^2 - min_acceleration : -1.5 # m/s^2 - angular: - z: - has_velocity_limits : false - #max_velocity : 0.5 # rad/s - has_acceleration_limits: false - #max_acceleration : 1.5 # rad/s^2 - diff --git a/src/junk/tsukuba2022/urdf/igvc_robot.gazebo b/src/junk/tsukuba2022/urdf/igvc_robot.gazebo deleted file mode 100644 index f32242a..0000000 --- a/src/junk/tsukuba2022/urdf/igvc_robot.gazebo +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - igvc_robot/cmd_vel - igvc_robot/odom - base_link - odom - world - - true - false - false - - true - - true - - 30 - left_wheel_hinge - right_wheel_hinge - 0.670 - 0.192 - 1 - 10 - na - false - - - - - - - Gazebo/Black - - - - - 5.0 - 5.0 - 1000000.0 - 100.0 - 0.001 - 1.0 - - - - - 5.0 - 5.0 - 1000000.0 - 100.0 - 0.001 - 1.0 - - - - - 0.0 - 0.0 - - - - 0.0 - 0.0 - - - diff --git a/src/junk/tsukuba2022/urdf/igvc_robot.xacro b/src/junk/tsukuba2022/urdf/igvc_robot.xacro deleted file mode 100644 index 513d453..0000000 --- a/src/junk/tsukuba2022/urdf/igvc_robot.xacro +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - left_wheel - base_link - - - - - - - - - - - - - - - - - - - - - - - - - - - - right_wheel - base_link - - - - - - - transmission_interface/SimpleTransmission - - VelocityJointInterface - - - VelocityJointInterface - 1 - - - - - transmission_interface/SimpleTransmission - - VelocityJointInterface - - - VelocityJointInterface - 1 - - - - diff --git a/src/junk/tsukuba2022/urdf/igvc_robot_cp.urdf b/src/junk/tsukuba2022/urdf/igvc_robot_cp.urdf deleted file mode 100644 index 3ecfca1..0000000 --- a/src/junk/tsukuba2022/urdf/igvc_robot_cp.urdf +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - left_wheel - base_link - - - - - - - - - - - - - - - - - - - - - - - - - - - - right_wheel - base_link - - - - - - - transmission_interface/SimpleTransmission - - VelocityJointInterface - - - VelocityJointInterface - 1 - - - - - transmission_interface/SimpleTransmission - - VelocityJointInterface - - - VelocityJointInterface - 1 - - - diff --git a/src/junk/tsukuba2022/urdf/sensors/camera.urdf.xacro b/src/junk/tsukuba2022/urdf/sensors/camera.urdf.xacro deleted file mode 100644 index 9326083..0000000 --- a/src/junk/tsukuba2022/urdf/sensors/camera.urdf.xacro +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 30.0 - - 0 0 0 0 ${PI/2} 0 - 3.1415 - - R8G8B8 - 800 - 800 - - - 0.01 - 100 - - - stereographic - 1 - 1.5707 - 512 - - - - - true - 0.0 - cv_camera - image_raw - camera_info - camera_link - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - - - Gazebo/DarkGray - - - - - - diff --git a/src/multi_map_manager b/src/multi_map_manager new file mode 160000 index 0000000..be33d6f --- /dev/null +++ b/src/multi_map_manager @@ -0,0 +1 @@ +Subproject commit be33d6fd2acd8330cf28e36821bdf07f12491006 diff --git a/src/tsukuba2022/config/elecom_joy.yaml b/src/tsukuba2022/config/elecom_joy.yaml index de1c032..7e15b8e 100644 --- a/src/tsukuba2022/config/elecom_joy.yaml +++ b/src/tsukuba2022/config/elecom_joy.yaml @@ -1,9 +1,12 @@ axis_linear: 1 scale_linear: 0.4 #0.4 -scale_linear_turbo: 0.8 #0.8 +scale_linear_turbo: 0.7 #0.8 axis_angular: 0 -scale_angular: 0.5 #0.9 +scale_angular: 0.4 #0.5 #0.9 -enable_button: 8 # L1 shoulder button -enable_turbo_button: 9 # R1 shoulder button +enable_button: 9 # R1 shoulder button +enable_turbo_button: 6 # L2 shoulder button + +#enable_button: 8 # L1 shoulder button +#enable_turbo_button: 9 # R1 shoulder button diff --git a/src/tsukuba2022/config/initial_pose_tsukuba_L.yaml b/src/tsukuba2022/config/initial_pose_tsukuba_L.yaml new file mode 100644 index 0000000..781b411 --- /dev/null +++ b/src/tsukuba2022/config/initial_pose_tsukuba_L.yaml @@ -0,0 +1,7 @@ +# initial pose config +initial_pose_x: 0.0 +initial_pose_y: 3.97 +initial_pose_a: 0.0 +initial_cov_xx: 0.065 +initial_cov_yy: 0.065 +initial_cov_aa: 0.065 diff --git a/src/tsukuba2022/config/initial_pose_tsukuba_R.yaml b/src/tsukuba2022/config/initial_pose_tsukuba_R.yaml new file mode 100644 index 0000000..7d8e1aa --- /dev/null +++ b/src/tsukuba2022/config/initial_pose_tsukuba_R.yaml @@ -0,0 +1,7 @@ +# initial pose config +initial_pose_x: 0.0 +initial_pose_y: 0.0 +initial_pose_a: 0.0 +initial_cov_xx: 0.065 +initial_cov_yy: 0.065 +initial_cov_aa: 0.065 diff --git a/src/tsukuba2022/config/ucom_joy.yaml b/src/tsukuba2022/config/ucom_joy.yaml new file mode 100644 index 0000000..eda59d0 --- /dev/null +++ b/src/tsukuba2022/config/ucom_joy.yaml @@ -0,0 +1,16 @@ +axis_linear: 1 +scale_linear: 0.4 +scale_linear_turbo: 0.8 + +axis_angular: 0 +scale_angular: 0.4 +scale_angular_turbo: 0.8 + +enable_button: 4 # L1 shoulder button +enable_turbo_button: 5 # R1 shoulder button + + +# Buttons: 1 2 3 4 L1 L2 R1 R2 +# | +# V +# Number: 0 1 2 3 4 6 5 7 diff --git a/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa.yaml b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa.yaml new file mode 100644 index 0000000..36b429f --- /dev/null +++ b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa.yaml @@ -0,0 +1,42 @@ +waypoints: +- point: {x: 4.8992, y: 0.0763934, z: 0, vel: 1, rad: 1, stop: false, tandem_start: 1} +- point: {x: 11.652461, y: -0.129326, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 18.50064, y: -0.394513, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 26.176818, y: -0.880348, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 34.8965, y: -2.35386, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 42.74376, y: -4.864187, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 50.031271, y: -5.398604, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 53.749972, y: -1.656516, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 53.386011, y: 7.822806, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 53.036211, y: 19.482823, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.5512, y: 29.5179, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.298734, y: 41.727943, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 52.211059, y: 51.67593, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 49.235726, y: 54.096163, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 42.641821, y: 54.284997, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 34.675792, y: 54.519292, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 27.002736, y: 54.553319, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 17.764658, y: 54.404576, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 9.777545, y: 54.521176, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 4.894381, y: 53.341228, z: 0, vel: 1, rad: 1, stop: true} +- point: {x: 6.111871, y: 50.909564, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 8.203443, y: 46.825564, z: 0.0, vel: 0.3, rad: 1, stop: false} +- point: {x: 9.780651, y: 43.44464, z: 0, vel: 0.3, rad: 1, stop: false} +- point: {x: 11.737483, y: 38.721254, z: 0.0, vel: 0.3, rad: 1, stop: false} +- point: {x: 13.626837, y: 35.04376, z: 0.0, vel: 0.3, rad: 1, stop: false} +- point: {x: 15.516192, y: 31.163835, z: 0, vel: 0.3, rad: 1, stop: false} +- point: {x: 16.966946, y: 28.39728, z: 0, vel: 0.3, rad: 1, stop: false} +- point: {x: 18.965779, y: 24.446008, z: 0.0, vel: 0.3, rad: 1, stop: false} +- point: {x: 20.795431, y: 20.289953, z: 0, vel: 0.3, rad: 1, stop: false} +- point: {x: 22.735394, y: 16.325682, z: 0, vel: 0.3, rad: 1, stop: false} +- point: {x: 24.462339, y: 11.892483, z: 0, vel: 0.3, rad: 1, stop: false} +- point: {x: 26.65534, y: 6.438096, z: 0.0, vel: 0.3, rad: 1, stop: false} +- point: {x: 29.017033, y: 2.277017, z: 0, vel: 0.3, rad: 1, stop: false} +- point: {x: 28.707936, y: -0.820241, z: 0, vel: 0.3, rad: 1, stop: false} +- point: {x: 20.64444, y: -0.449118, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 9.342051, y: 0.900421, z: 0, vel: 1, rad: 1, stop: false, tandem_end: 1} +finish_pose: + header: {seq: 0, stamp: 1663209268.6905353, frame_id: map} + pose: + position: {x: -0.0241434, y: 1.60681, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.9999953885138714, w: 0.0030369311798953413} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_1-2.yaml b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_1-2.yaml new file mode 100644 index 0000000..cda43da --- /dev/null +++ b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_1-2.yaml @@ -0,0 +1,33 @@ +waypoints: +- point: {x: 4.8992, y: 0.0763934, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 11.025331, y: -0.023422, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 18.50064, y: -0.394513, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 26.176818, y: -0.880348, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 34.8965, y: -2.35386, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 42.74376, y: -4.864187, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 50.530069, y: -5.066462, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 53.505717, y: -1.933611, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 53.2674, y: 7.98859, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 53.0977, y: 20.0885, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.5512, y: 29.5179, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.298734, y: 41.727943, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 52.033145, y: 52.371588, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 50, y: 54.5, z: 0, vel: 1, rad: 1, stop: true, change_map: true} +- point: {x: 44.457458, y: 54.265651, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 38.331208, y: 54.17344, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 30.568212, y: 54.0757, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 22.183928, y: 53.966732, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 14.496347, y: 53.725704, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 6.34269, y: 53.623967, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -0.732295, y: 53.479098, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -3.648502, y: 50.77132, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -3.260954, y: 43.319186, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -2.632884, y: 33.104345, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -2.248518, y: 23.345314, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -2.22096, y: 11.492785, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -2.253471, y: 0.890283, z: 0.0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 1663209268.6905353, frame_id: map} + pose: + position: {x: 1.084303876129681, y: -1.5445686660287592, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.012634000199744012, w: 0.9999201878344856} diff --git a/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_1.yaml b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_1.yaml new file mode 100644 index 0000000..3747829 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_1.yaml @@ -0,0 +1,19 @@ +waypoints: +- point: {x: 4.8992, y: 0.0763934, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 11.025331, y: -0.023422, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 18.50064, y: -0.394513, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 26.176818, y: -0.880348, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 34.8965, y: -2.35386, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 42.74376, y: -4.864187, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 50.3905, y: -5.337696, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 53.505717, y: -1.933611, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 53.2674, y: 7.98859, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 53.0977, y: 20.0885, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.5512, y: 29.5179, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.298734, y: 41.727943, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 52.033145, y: 52.371588, z: 0.0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 1663209268.6905353, frame_id: map} + pose: + position: {x: 50, y: 54.5, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.9999953885138714, w: 0.0030369311798953413} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_1109.yaml b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_1109.yaml new file mode 100644 index 0000000..989189e --- /dev/null +++ b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_1109.yaml @@ -0,0 +1,46 @@ +waypoints: +- point: {x: 7.08627, y: -0.250988, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 15.6821, y: -0.496924, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 23.7637, y: -0.952438, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 29.0862, y: -1.5478, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 37.9975, y: -3.79624, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 49.740296, y: -5.030009, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 53.387223, y: -1.962999, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 53.0937, y: 4.84613, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 53.1208, y: 15.9712, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.9231, y: 23.9035, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.8191, y: 30.6399, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.4754, y: 37.4937, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.491397, y: 43.642536, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.428564, y: 50.443692, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 49.8563, y: 53.7376, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 42.150786, y: 54.123517, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 34.711161, y: 54.310677, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 27.224745, y: 54.404257, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 19.78512, y: 54.357467, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 11.877594, y: 54.310677, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 5.40638, y: 52.606, z: 0, vel: 1, rad: 1, stop: true} +- point: {x: 6.851567, y: 49.302385, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 8.366118, y: 45.793883, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 9.943652, y: 42.303169, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 12.682168, y: 36.812018, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 14.954459, y: 32.003984, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 16.0829, y: 29.5877, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 17.81952, y: 25.746953, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 19.531971, y: 21.92687, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 21.244422, y: 18.436106, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 22.759282, y: 15.11, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 24.037871, y: 12.029397, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 25.494666, y: 8.970128, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 26.974545, y: 6.61361, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 27.979409, y: 4.678389, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 28.8439, y: 2.58357, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 28.3414, y: 0.479003, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 25.5834, y: -0.68715, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 19.321898, y: -0.694822, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 11.290472, y: -0.317507, z: 0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 1667998750.2863405, frame_id: map} + pose: + position: {x: 0.0648544, y: 0.00733662, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.999998523619772, w: 0.0017183591814064413} diff --git a/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_2.yaml b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_2.yaml new file mode 100644 index 0000000..7d432c8 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_2.yaml @@ -0,0 +1,19 @@ +waypoints: +- point: {x: 4.8992, y: 0.0763934, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 11.025331, y: -0.023422, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 18.787577, y: -0.169002, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 27.171158, y: -0.322829, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 34.862517, y: -0.322829, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 43.015357, y: -0.476656, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 50.091407, y: -0.55357, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 53.091037, y: 2.061492, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.93721, y: 9.52211, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.629555, y: 19.751617, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.5512, y: 29.5179, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.895084, y: 41.365471, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 53.259834, y: 51.961747, z: 0.0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 1663209268.6905353, frame_id: map} + pose: + position: {x: 50, y: 54.5, z: 0} + orientation: {x: 0, y: 0, z: 0.999995, w: 0.00303693} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_inv.yaml b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_inv.yaml new file mode 100644 index 0000000..6acc83e --- /dev/null +++ b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_inv.yaml @@ -0,0 +1,41 @@ +waypoints: +- point: {x: 8.659451, y: -0.080267, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 20.64444, y: -0.449118, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 28.707936, y: -0.820241, z: 0, vel: 0.3, rad: 1, stop: false} +- point: {x: 29.017033, y: 2.277017, z: 0, vel: 0.3, rad: 1, stop: false} +- point: {x: 26.65534, y: 6.438096, z: 0.0, vel: 0.2, rad: 1, stop: false} +- point: {x: 24.462339, y: 11.892483, z: 0, vel: 0.2, rad: 1, stop: false} +- point: {x: 22.735394, y: 16.325682, z: 0, vel: 0.2, rad: 1, stop: false} +- point: {x: 20.795431, y: 20.289953, z: 0, vel: 0.2, rad: 1, stop: false} +- point: {x: 18.965779, y: 24.446008, z: 0.0, vel: 0.2, rad: 1, stop: false} +- point: {x: 16.966946, y: 28.39728, z: 0, vel: 0.2, rad: 1, stop: false} +- point: {x: 15.516192, y: 31.163835, z: 0, vel: 0.2, rad: 1, stop: false} +- point: {x: 13.626837, y: 35.04376, z: 0.0, vel: 0.2, rad: 1, stop: false} +- point: {x: 11.737483, y: 38.721254, z: 0.0, vel: 0.2, rad: 1, stop: false} +- point: {x: 9.780651, y: 43.44464, z: 0, vel: 0.2, rad: 1, stop: false} +- point: {x: 6.111871, y: 50.909564, z: 0, vel: 0.2, rad: 1, stop: false} +- point: {x: 5.480287, y: 53.484484, z: 0, vel: 1, rad: 1, stop: true} +- point: {x: 8.259034, y: 55.866488, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 17.577555, y: 55.427821, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 27.002736, y: 54.553319, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 34.675792, y: 54.519292, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 42.641821, y: 54.284997, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 50.041638, y: 54.187374, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.033145, y: 52.371588, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 52.298734, y: 41.727943, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 52.5512, y: 29.5179, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 53.0977, y: 20.0885, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 53.2674, y: 7.98859, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 53.505717, y: -1.933611, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 50.031271, y: -5.398604, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 42.74376, y: -4.864187, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 34.8965, y: -2.35386, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 26.176818, y: -0.880348, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 17.894184, y: -0.500027, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 11.025331, y: -0.023422, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 4.8992, y: 0.0763934, z: 0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 1663209268.6905353, frame_id: map} + pose: + position: {x: 0.0, y: 0.0, z: 0} + orientation: {x: 0, y: 0, z: 1, w: 0} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_sim.yaml b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_sim.yaml new file mode 100644 index 0000000..33c7c83 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_sim.yaml @@ -0,0 +1,23 @@ +waypoints: +- point: {x: 3.876438, y: 0.067258, z: 0.00511169, vel: 1, rad: 1, stop: false} +- point: {x: 10.24828, y: 0.067258, z: -0.00192642, vel: 1, rad: 1, stop: false} +- point: {x: 14.343374, y: 0.067258, z: 0.00251579, vel: 1, rad: 1, stop: false} +- point: {x: 15.695671, y: 1.465396, z: 0.0, vel: 1.0, rad: 1.0, stop: false} +- point: {x: 15.731122, y: 6.432358, z: 0.00242996, vel: 1, rad: 1, stop: false} +- point: {x: 15.770729, y: 11.224717, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 15.840833, y: 15.530818, z: 0.0023098, vel: 1, rad: 1, stop: false} +- point: {x: 14.381574, y: 17.020638, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 9.36751, y: 17.0985, z: 0.00177956, vel: 1, rad: 1, stop: false} +- point: {x: 4.640448, y: 17.165799, z: 0.000879288, vel: 1, rad: 1, stop: false} +- point: {x: 3.318711, y: 15.828782, z: 0.0, vel: 1, rad: 1, stop: true} +- point: {x: 4.72936, y: 13.403, z: 0.00301743, vel: 1, rad: 1, stop: false} +- point: {x: 6.72777, y: 10.9204, z: 0.00507927, vel: 1, rad: 1, stop: false} +- point: {x: 8.047505, y: 8.46548, z: 0.00030899, vel: 1, rad: 1, stop: false} +- point: {x: 9.32663, y: 6.47157, z: 0.00183296, vel: 1, rad: 1, stop: false} +- point: {x: 11.210933, y: 3.520583, z: 0.00384521, vel: 1, rad: 1, stop: false} +- point: {x: 10.872753, y: 0.465013, z: 0.00480747, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 113.132, frame_id: map} + pose: + position: {x: 9.27349, y: 0.143879, z: 0} + orientation: {x: 0, y: 0, z: 0.999983, w: 0.00578372} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_sim_1-2.yaml b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_sim_1-2.yaml new file mode 100644 index 0000000..36e3c7f --- /dev/null +++ b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_sim_1-2.yaml @@ -0,0 +1,25 @@ +waypoints: +- point: {x: 1.91548, y: -0.0550663, z: 0, vel: 1, rad: 1, stop: false, change_map: true} +- point: {x: 9.79794, y: 0.02867, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 13.9369, y: 0.0678324, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 15.700148, y: 1.386101, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 15.837027, y: 5.446853, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 15.882653, y: 9.416352, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 15.973906, y: 13.477104, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 15.6479, y: 16.8488, z: 0, vel: 1, rad: 1, stop: true} +- point: {x: 12.649069, y: 16.968348, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 9.385235, y: 16.95799, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 5.662998, y: 16.946178, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 3.134879, y: 16.223039, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 4.868725, y: 13.373368, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 6.50457, y: 11.50272, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 7.484275, y: 9.79152, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 8.585662, y: 7.884585, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 9.694664, y: 5.982185, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 11.19084, y: 3.638886, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 11.307752, y: 1.466401, z: 0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 85.975, frame_id: map} + pose: + position: {x: 10.569600461613387, y: -0.02156870555503687, z: 0} + orientation: {x: -0.0, y: 0.0, z: -0.9998723389797014, w: 0.01597828974768534} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_sim_1.yaml b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_sim_1.yaml new file mode 100644 index 0000000..3141008 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_sim_1.yaml @@ -0,0 +1,13 @@ +waypoints: +- point: {x: 4.91548, y: -0.0550663, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 9.79794, y: 0.02867, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 13.9369, y: 0.0678324, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 15.700148, y: 1.386101, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 15.837027, y: 5.446853, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 15.882653, y: 9.416352, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 15.973906, y: 13.477104, z: 0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 59.85, frame_id: map} + pose: + position: {x: 15.6479, y: 16.8488, z: 0} + orientation: {x: 0, y: 0, z: 0.999942, w: 0.010754} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_sim_2.yaml b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_sim_2.yaml new file mode 100644 index 0000000..af7e887 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_sim_2.yaml @@ -0,0 +1,17 @@ +waypoints: +- point: {x: 2.583187, y: -0.004932, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 5.847038, y: -0.004932, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 9.569294, y: -0.004932, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 12.099695, y: 0.710181, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 10.3749, y: 3.56534, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 8.745, y: 5.44117, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 7.77073, y: 7.15547, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 6.6754, y: 9.06589, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 5.57244, y: 10.9718, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 4.083708, y: 13.319835, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 3.97369, y: 15.49268, z: 0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 85.975, frame_id: map} + pose: + position: {x: 4.71656, y: 16.9783, z: 0} + orientation: {x: 0, y: 0, z: 0.0143918, w: 0.999896} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_sim_tandem.yaml b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_sim_tandem.yaml new file mode 100644 index 0000000..d045698 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/nakaniwa/waypoints_nakaniwa_sim_tandem.yaml @@ -0,0 +1,25 @@ +waypoints: +- point: {x: 4.491795, y: 0.687617, z: 0.00511169, vel: 0.3, rad: 0.5, stop: false, tandem_start: 1} +- point: {x: 6.850828, y: 0.674796, z: 0.0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 9.179548, y: 0.571663, z: 0.0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 11.982831, y: 0.380964, z: -0.00192642, vel: 0.3, rad: 0.5, stop: false, tandem_end: 1} +- point: {x: 14.343374, y: 0.067258, z: 0.00251579, vel: 1, rad: 1, stop: false} +- point: {x: 15.793538, y: 2.133248, z: 0.0, vel: 0.4, rad: 0.5, stop: false} +- point: {x: 15.731122, y: 6.432358, z: 0.00242996, vel: 1, rad: 1, stop: false, tandem_start: 2} +- point: {x: 15.770729, y: 11.224717, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 15.840833, y: 15.530818, z: 0.0023098, vel: 1, rad: 1, stop: false} +- point: {x: 14.381574, y: 17.020638, z: 0.0, vel: 0.4, rad: 1, stop: false, tandem_end: 2} +- point: {x: 9.36751, y: 17.0985, z: 0.00177956, vel: 1, rad: 1, stop: false} +- point: {x: 4.640448, y: 17.165799, z: 0.000879288, vel: 1, rad: 1, stop: false} +- point: {x: 3.099067, y: 16.356373, z: 0.0, vel: 1, rad: 1, stop: true} +- point: {x: 4.72936, y: 13.403, z: 0.00301743, vel: 1, rad: 1, stop: false} +- point: {x: 6.72777, y: 10.9204, z: 0.00507927, vel: 1, rad: 1, stop: false} +- point: {x: 8.047505, y: 8.46548, z: 0.00030899, vel: 1, rad: 1, stop: false} +- point: {x: 9.32663, y: 6.47157, z: 0.00183296, vel: 1, rad: 1, stop: false} +- point: {x: 11.210933, y: 3.520583, z: 0.00384521, vel: 1, rad: 1, stop: false} +- point: {x: 11.044868, y: 0.845988, z: 0.00480747, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 113.132, frame_id: map} + pose: + position: {x: 3.878206, y: 0.178377, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.9998780115811825, w: 0.015619281560321212} diff --git a/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_1_L_old.yaml b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_1_L_old.yaml new file mode 100644 index 0000000..83f1755 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_1_L_old.yaml @@ -0,0 +1,49 @@ +waypoints: +- point: {x: 5.211877, y: 3.87158, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 18.219589, y: 3.771521, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 33.428608, y: 3.371284, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 46.74171, y: 2.551006, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 55.9006, y: 1.6036, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 60.305, y: -4.48562, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 65.3182, y: -15.6003, z: 0.0, vel: 1.0, rad: 0.5, stop: false} +- point: {x: 70.8621, y: -15.9114, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 75.3498, y: -15.8108, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 78.170232, y: -15.925524, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 79.972636, y: -16.851907, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 81.760122, y: -18.473545, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 83.827534, y: -19.279364, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 88.102759, y: -19.979617, z: 0, vel: 1, rad: 0.5, stop: false} +- point: {x: 87.898391, y: -10.591395, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 87.55817, y: -2.142565, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 87.078986, y: 2.818376, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 79.982437, y: 2.845343, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 69.5118, y: 0.541712, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 62.208, y: -5.61149, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 58.7626, y: -8.91244, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 55.7271, y: -10.4897, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 47.8533, y: -10.6475, z: 0.0, vel: 1, rad: 0.5, stop: false} +- point: {x: 45.7889, y: -11.658, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 42.9629, y: -12.1382, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 34.9496, y: -12.2287, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 34.424937, y: -15.259358, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 33.437802, y: -17.67943, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 31.686434, y: -18.921309, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 26.267135, y: -18.924958, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: 22.563169, y: -18.795965, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 20.2475, y: -18.8274, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 17.633732, y: -18.935307, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 13.621507, y: -18.616877, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 6.8739, y: -18.5676, z: 0.0, vel: 1, rad: 0.5, stop: false} +- point: {x: 4.66837, y: -25.1465, z: 0.0, vel: 1, rad: 0.6, stop: false} +- point: {x: 0.810068, y: -26.158161, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -4.47588, y: -26.158161, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -11.258451, y: -25.839731, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -17.276789, y: -25.776045, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -24.036949, y: -25.721442, z: 0.0, vel: 1, rad: 0.4, stop: true} +- point: {x: -35.6457, y: -29.3766, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -38.5361, y: -30.6251, z: 0.0, vel: 1, rad: 1.0, stop: false} +finish_pose: + header: {seq: 0, stamp: 1663386810.6123521, frame_id: map} + pose: + position: {x: -43.5257, y: -31.2852, z: 0} + orientation: {x: 0, y: 0, z: 0.999988, w: 0.00484186} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_1_R.yaml b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_1_R.yaml new file mode 100644 index 0000000..f148508 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_1_R.yaml @@ -0,0 +1,66 @@ +waypoints: +- point: {x: 4.09724, y: 0.504168, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 16.659, y: 1.14789, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 20.5776, y: 1.30268, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 28.2563, y: 1.64634, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 38.1161, y: 1.91456, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 48.2937, y: 1.73542, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 55.5451, y: 1.66404, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 58.0735, y: 0.128874, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 61.313, y: -6.31239, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 64.9454, y: -14.2518, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 67.6144, y: -15.4014, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 70.316, y: -15.5441, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 74.2391, y: -15.3596, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 77.357, y: -15.2531, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 79.101358, y: -15.32212, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 80.470272, y: -16.227709, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 81.691765, y: -17.449202, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 83.0514, y: -18.1883, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 85.4238, y: -18.5438, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 87.9159, y: -17.5321, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 88.2617, y: -15.0813, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 88.16, y: -10.9362, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 88.0087, y: -6.39951, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 87.8094, y: -2.38376, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 87.683, y: 3.18917, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 84.1737, y: 4.69392, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 80.0329, y: 4.54753, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 74.1995, y: 2.24651, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 69.9941, y: -0.0748514, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 63.1423, y: -4.43719, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 59.449401, y: -7.597903, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 55.4954, y: -9.77409, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 51.7554, y: -10.206, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 48.1474, y: -10.3002, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 46.051, y: -11.3614, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 42.5089, y: -11.9516, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 37.4443, y: -12.0861, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 35.2285, y: -12.1586, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 33.8879, y: -14.2313, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 33.7788, y: -17.3731, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 32.519273, y: -19.091731, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 28.243205, y: -19.061404, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 23.785178, y: -19.00075, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 21.2425, y: -18.9706, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 19.1694, y: -19.0082, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 17.5523, y: -18.9316, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 15.426, y: -18.7627, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 12.495, y: -18.5628, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 10.0156, y: -18.6638, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 7.32172, y: -18.6572, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 6.06788, y: -21.9222, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 5.40629, y: -26.6174, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 0.550092, y: -27.6913, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -5.94073, y: -28.0941, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -10.5427, y: -28.3094, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -16.6638, y: -28.2209, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -23.255, y: -28.019, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -34.563433, y: -33.284636, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -43.9865, y: -35.5365, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -49.5035, y: -37.0547, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666489211.5504568, frame_id: map} + pose: + position: {x: -59.2588, y: -38.328, z: 0} + orientation: {x: 0, y: 0, z: -0.999995, w: 0.00302894} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_1_R_old.yaml b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_1_R_old.yaml new file mode 100644 index 0000000..6ce0d75 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_1_R_old.yaml @@ -0,0 +1,49 @@ +waypoints: +- point: {x: 5.24883, y: 0.299301, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 20.2006, y: 1.69447, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 33.5002, y: 2.08246, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 47.3383, y: 2.15765, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 55.9006, y: 1.6036, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 60.305, y: -4.48562, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 65.3182, y: -15.6003, z: 0.0, vel: 1.0, rad: 0.5, stop: false} +- point: {x: 70.8621, y: -15.9114, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 75.3498, y: -15.8108, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 78.170232, y: -15.925524, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 79.972636, y: -16.851907, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 81.760122, y: -18.473545, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 83.827534, y: -19.279364, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 88.102759, y: -19.979617, z: 0, vel: 1, rad: 0.5, stop: false} +- point: {x: 87.898391, y: -10.591395, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 87.55817, y: -2.142565, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 87.078986, y: 2.818376, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 79.982437, y: 2.845343, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 69.5118, y: 0.541712, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 62.208, y: -5.61149, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 58.7626, y: -8.91244, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 55.7271, y: -10.4897, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 47.8533, y: -10.6475, z: 0.0, vel: 1, rad: 0.5, stop: false} +- point: {x: 45.7889, y: -11.658, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 42.9629, y: -12.1382, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 34.9496, y: -12.2287, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 34.424937, y: -15.259358, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 33.437802, y: -17.67943, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 31.686434, y: -18.921309, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 26.267135, y: -18.924958, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: 22.563169, y: -18.795965, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 20.2475, y: -18.8274, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 17.633732, y: -18.935307, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 13.621507, y: -18.616877, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 6.8739, y: -18.5676, z: 0.0, vel: 1, rad: 0.5, stop: false} +- point: {x: 4.66837, y: -25.1465, z: 0.0, vel: 1, rad: 0.6, stop: false} +- point: {x: 0.810068, y: -26.158161, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -4.47588, y: -26.158161, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -11.258451, y: -25.839731, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -17.276789, y: -25.776045, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -24.036949, y: -25.721442, z: 0.0, vel: 1, rad: 0.4, stop: true} +- point: {x: -35.6457, y: -29.3766, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -38.5361, y: -30.6251, z: 0.0, vel: 1, rad: 1.0, stop: false} +finish_pose: + header: {seq: 0, stamp: 1663386810.6123521, frame_id: map} + pose: + position: {x: -43.5257, y: -31.2852, z: 0} + orientation: {x: 0, y: 0, z: 0.999988, w: 0.00484186} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_2.yaml b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_2.yaml new file mode 100644 index 0000000..c6e6846 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_2.yaml @@ -0,0 +1,52 @@ +waypoints: +- point: {x: 25.8755, y: -0.754454, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 34.6275, y: -2.4586, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 38.7199, y: -2.80717, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 43.5024, y: -3.07042, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 48.6483, y: -3.56015, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 57.8412, y: -4.27504, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 65.4202, y: -4.657, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 72.4979, y: -5.18633, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 79.2305, y: -6.12557, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 84.8009, y: -6.3656, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 96.1326, y: -5.3315, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 102.449, y: -5.66648, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 110.774, y: -6.70261, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 115.777, y: -6.9343, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 122.472, y: -7.13072, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 130.1, y: -7.24474, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 137.627, y: -7.46852, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 145.63, y: -7.68487, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 151.553, y: -10.0288, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 158.992, y: -10.2927, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 166.027, y: -10.6959, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 173.288, y: -11.2635, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 179.294, y: -11.8377, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 185.173, y: -9.25373, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 188.271, y: -15.8407, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 188.96, y: -20.1209, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 188.574, y: -25.0721, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 188.142, y: -33.2484, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 187.684, y: -41.1688, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 187.52, y: -46.0992, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 187.224, y: -50.3032, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 186.892, y: -56.5383, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 186.574, y: -59.9935, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 186.416, y: -64.167, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 186.131, y: -71.68, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 185.923, y: -75.403, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 185.881, y: -81.3765, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 187.493, y: -83.6783, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 187.478, y: -86.2267, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 187.489, y: -88.625, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 187.794, y: -90.6803, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 187.721, y: -92.1342, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 189.082, y: -94.6175, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 203.146, y: -95.4712, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 205.842, y: -92.7138, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 206.793, y: -82.6605, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666494610.986847688, frame_id: map} + pose: + position: {x: 209.525, y: -82.5591, z: 0} + orientation: {x: 0, y: 0, z: -0.00454468, w: 0.99999} diff --git a/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_3.yaml b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_3.yaml new file mode 100644 index 0000000..eba0950 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_3.yaml @@ -0,0 +1,87 @@ +waypoints: +- point: {x: 9.77702, y: -9.35124, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 11.0658, y: -15.3721, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 12.2397, y: -21.8151, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 12.841, y: -28.787, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 13.5362, y: -34.6672, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 14.3203, y: -39.4139, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 14.8336, y: -42.912, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 16.0212, y: -50.3347, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 16.6069, y: -55.1182, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 17.7161, y: -62.4678, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 18.7441, y: -68.329, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 20.1344, y: -77.0584, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 21.1453, y: -82.7435, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 19.4133, y: -87.5299, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 20.4862, y: -95.2313, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 21.2146, y: -99.9, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 22.0481, y: -106.871, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 23.0157, y: -113.055, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 24.3563, y: -122.811, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 25.7573, y: -128.975, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 26.3403, y: -132.192, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 28.631, y: -143.115, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 30.081, y: -151.275, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 30.999, y: -156.742, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 32.6453, y: -165.493, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 33.3496, y: -169.194, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 33.9911, y: -173.797, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 36.1009, y: -183.85, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 37.9232, y: -191.819, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 39.1094, y: -199.932, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 40.4152, y: -207.271, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 41.3608, y: -213.691, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 42.1209, y: -216.883, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 42.5918, y: -220.04, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 42.6284, y: -223.072, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 43.2545, y: -226.003, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 44.2281, y: -230.068, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 45.8753, y: -234.581, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 47.2838, y: -239.107, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 47.2662, y: -243.955, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 48.0188, y: -248.266, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 48.8606, y: -253.776, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 50.5381, y: -258.264, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 51.8096, y: -261.134, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 52.6463, y: -265.871, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 52.221, y: -270.229, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 48.8503, y: -271.519, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 43.8426, y: -272.184, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 39.2682, y: -273.269, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 35.2283, y: -273.832, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 30.6588, y: -274.219, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 26.9984, y: -273.45, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 25.1512, y: -269.419, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 24.1466, y: -264.346, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 24.386, y: -257.993, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 20.2687, y: -252.105, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 19.0443, y: -245.94, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 17.9814, y: -240.87, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 16.776, y: -234.487, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 15.7553, y: -227.874, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 14.1257, y: -220.482, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 13.0743, y: -215.375, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 11.755, y: -209.173, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 10.5923, y: -204.519, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 9.87295, y: -198.553, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 9.11476, y: -194.507, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 8.91155, y: -191.779, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 7.20587, y: -185.409, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 5.90841, y: -179.699, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 4.12515, y: -172.833, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 3.1091, y: -168.22, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 2.38034, y: -163.933, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 1.38153, y: -159.197, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 0.119742, y: -153.103, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -0.393062, y: -149.66, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -1.18737, y: -145.401, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -1.86761, y: -142.314, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -2.30478, y: -137.676, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -1.78932, y: -134.716, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -4.34085, y: -131.96, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -12.8035, y: -132.725, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666496150.059657956, frame_id: map} + pose: + position: {x: -19.9693, y: -132.988, z: 0} + orientation: {x: 0, y: 0, z: -0.999956, w: 0.00936597} diff --git a/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_4.yaml b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_4.yaml new file mode 100644 index 0000000..ede11fe --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_4.yaml @@ -0,0 +1,62 @@ +waypoints: +- point: {x: 7.14972, y: -0.315182, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 10.3538, y: -0.510438, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 15.5411, y: -0.573815, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 18.8931, y: -0.582, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 22.8075, y: -0.435714, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 28.7923, y: -0.533493, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 35.8201, y: -0.684123, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 40.2679, y: -0.340193, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 45.5056, y: -0.304914, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 50.9425, y: -0.54716, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 54.5277, y: -0.483903, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 58.5744, y: -0.507125, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 63.8344, y: -0.859115, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 67.3995, y: -0.828122, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 69.8457, y: 0.288451, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 70.721, y: 2.9897, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 70.1687, y: 7.70261, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 70.6521, y: 12.0621, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 69.9683, y: 16.0807, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 69.8528, y: 20.1514, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 70.479, y: 23.6696, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 69.6673, y: 27.993, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 69.4136, y: 32.6076, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 69.1523, y: 36.6777, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 68.8278, y: 40.3373, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 68.595, y: 43.5503, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 68.7169, y: 49.7022, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 68.7101, y: 54.4083, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 68.4521, y: 60.4691, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 68.2843, y: 64.5411, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 67.9655, y: 69.4042, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 67.7815, y: 74.0209, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 67.5966, y: 78.9085, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 66.9799, y: 83.9478, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 66.5875, y: 94.5983, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 66.4498, y: 97.9412, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 65.7457, y: 103.531, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 65.459, y: 106.51, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 65.1596, y: 111.812, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 65.0902, y: 115.071, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 64.8377, y: 118.623, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 64.6613, y: 121.972, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 65.2866, y: 125.367, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 65.5679, y: 129.76, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 63.9927, y: 134.744, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 63.6274, y: 139.304, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 64.9389, y: 143.907, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 64.8441, y: 148.163, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 64.7443, y: 159.546, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 63.4807, y: 170.914, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 63.1126, y: 174.395, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 62.4113, y: 183.773, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 62.214, y: 189.498, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 60.3272, y: 194.661, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 60.0819, y: 201.621, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 61.8948, y: 207.946, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666497569.751569181, frame_id: map} + pose: + position: {x: 64.4583, y: 211.689, z: 0} + orientation: {x: 0, y: 0, z: 0.0137001, w: 0.999906} diff --git a/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_5.yaml b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_5.yaml new file mode 100644 index 0000000..c0d9e9d --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_5.yaml @@ -0,0 +1,37 @@ +waypoints: +- point: {x: 9.67825, y: 0.140065, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 17.3371, y: 0.964738, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 22.2638, y: 1.19774, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 25.6939, y: 1.36643, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 29.2721, y: 1.63943, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 33.1001, y: 1.66546, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 37.392, y: 1.57617, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 42.2553, y: 1.78286, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 46.1511, y: 1.94883, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 50.6625, y: 2.52083, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 54.483, y: 3.18138, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 61.0413, y: 4.44718, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 65.8479, y: 5.15023, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 72.7584, y: 6.25933, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 76.4122, y: 6.60277, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 80.9786, y: 6.91495, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 84.9715, y: 7.33446, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 88.3644, y: 7.20248, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 91.8132, y: 7.2966, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 96.4995, y: 7.06355, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 100.587, y: 6.83167, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 105.284, y: 7.29065, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 109.932, y: 6.8314, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 115.424, y: 7.17386, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 120.288, y: 8.25665, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 125.027, y: 8.92041, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 130.261, y: 9.92347, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 134.854, y: 10.9632, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 138.074, y: 11.7053, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 142.746, y: 12.4801, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 149.677, y: 10.0145, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666498137.866959073, frame_id: map} + pose: + position: {x: 151.792, y: 5.67301, z: 0} + orientation: {x: 0, y: 0, z: -0.714715, w: 0.699416} diff --git a/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_6.yaml b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_6.yaml new file mode 100644 index 0000000..74bb75e --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_6.yaml @@ -0,0 +1,51 @@ +waypoints: +- point: {x: 12.3608, y: -0.92216, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 15.4534, y: -1.04998, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 19.4052, y: -1.06136, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 23.5709, y: -0.858102, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 28.1856, y: -0.485379, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 32.033, y: -0.147614, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 37.4806, y: 0.418054, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 41.9788, y: 0.893304, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 47.2871, y: 1.46116, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 51.7951, y: 1.95933, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 64.0978, y: 2.10117, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 72.2475, y: 2.10815, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 77.8338, y: 0.927688, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 83.0616, y: -0.0943923, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 87.2669, y: -1.07207, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 91.6959, y: -2.45559, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 97.2278, y: -3.94248, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 101.121, y: -5.05808, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 105.941, y: -6.06026, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 111.333, y: -7.54676, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 118.078, y: -8.93664, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 122.978, y: -9.98193, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 126.469, y: -10.275, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 132.043, y: -11.1487, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 135.322, y: -11.4126, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 139.918, y: -11.7221, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 144.738, y: -12.0389, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 149.754, y: -12.0621, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 157.113, y: -12.0096, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 162.104, y: -12.7223, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 165.132, y: -11.3643, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 170.579, y: -10.1581, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 175.503, y: -8.53377, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 179.798, y: -7.26169, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 183.702, y: -5.88755, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 189.276, y: -3.86218, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 192.534, y: -2.38185, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 196.568, y: -0.608021, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 200.949, y: 1.09074, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 206.363, y: 3.15913, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 209.229, y: 5.09364, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 210.481, y: 7.34948, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 212.823, y: 9.60237, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 215.445, y: 8.90903, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 216.261, y: 7.00336, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666498996.671352770, frame_id: map} + pose: + position: {x: 216.61, y: 6.4212, z: 0} + orientation: {x: 0, y: 0, z: -0.6611, w: 0.750298} diff --git a/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_7.yaml b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_7.yaml new file mode 100644 index 0000000..994f8f4 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_7.yaml @@ -0,0 +1,75 @@ +waypoints: +- point: {x: 5.3636, y: 0.0904167, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 11.5044, y: 0.465055, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 16.699, y: 1.24866, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 23.9469, y: 1.59342, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 27.3978, y: 1.22125, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 32.4584, y: -0.0330052, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 36.0657, y: -0.64817, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 39.5796, y: -0.823233, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 42.4722, y: -1.34653, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 45.0522, y: -1.65752, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 48.1285, y: -1.83046, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 53.9909, y: -2.0272, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 57.7505, y: -1.83758, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 60.1686, y: -1.97482, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 63.4809, y: -2.7043, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 67.0506, y: -3.58838, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 69.8787, y: -4.38322, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 74.9754, y: -6.00409, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 78.2539, y: -6.97766, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 85.92, y: -8.20992, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 91.0165, y: -9.25405, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 95.6054, y: -9.6805, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 99.7147, y: -9.56832, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 103.149, y: -9.34752, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 106.116, y: -7.88057, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 109.569, y: -6.06586, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 112.919, y: -3.91319, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 116.502, y: -2.12353, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 119.759, y: 0.0310771, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 123.029, y: 2.09065, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 127.212, y: 4.48471, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 130.763, y: 6.50064, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 134.614, y: 8.44767, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 137.107, y: 9.20638, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 140.624, y: 10.5317, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 143.961, y: 10.5781, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 147.346, y: 9.77895, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 150.397, y: 8.73421, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 154.66, y: 7.48929, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 158.342, y: 6.02823, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 162.934, y: 4.55966, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 166.195, y: 3.45894, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 169.993, y: 2.04407, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 173.566, y: 0.878988, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 177.541, y: -0.293789, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 182.438, y: -1.74787, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 185.46, y: -2.76484, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 188.404, y: -3.36537, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 194.471, y: -4.88014, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 199.113, y: -5.33859, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 202.886, y: -5.88745, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 206.441, y: -7.31497, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 208.486, y: -10.3279, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 209.529, y: -14.663, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 210.145, y: -18.5102, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 210.708, y: -21.7332, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 210.066, y: -26.0123, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 208.603, y: -31.8163, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 208.456, y: -36.4555, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 207.626, y: -43.7698, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 206.67, y: -49.5498, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 205.592, y: -54.7511, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 204.77, y: -59.0512, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 206.924, y: -64.381, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 208.642, y: -68.1098, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 210.39, y: -72.1318, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 212.264, y: -75.1983, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 216.875, y: -77.5158, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 225.351, y: -80.4098, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666500443.482085479, frame_id: map} + pose: + position: {x: 227.771, y: -78.1322, z: 0} + orientation: {x: 0, y: 0, z: 0.560178, w: 0.828372} diff --git a/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_8.yaml b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_8.yaml new file mode 100644 index 0000000..e1c9832 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/raw/waypoints_tsukuba_8.yaml @@ -0,0 +1,34 @@ +waypoints: +- point: {x: 9.46913, y: 0.529765, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 14.9492, y: 0.871575, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 19.6856, y: 0.632644, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 24.9351, y: 0.233624, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 28.0122, y: -0.0124286, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 32.0594, y: -0.17328, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 35.7966, y: -0.423632, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 39.5993, y: -0.453472, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 43.7265, y: -1.00715, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 46.9868, y: -1.03966, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 50.4449, y: -1.17954, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 54.2481, y: -1.22557, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 57.7555, y: -1.21769, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 62.8625, y: -1.11575, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 66.7316, y: -1.22341, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 71.0413, y: -1.23109, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 75.7319, y: -1.16161, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 79.8398, y: -1.10049, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 83.0448, y: -1.1651, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 88.495, y: -0.986142, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 92.5278, y: -1.03608, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 96.6576, y: -0.955216, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 103.025, y: -0.811471, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 109.671, y: -1.51092, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 113.289, y: -2.87296, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 117.055, y: -6.03892, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 121.485, y: -8.93011, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 127.634, y: -9.38217, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666500880.699932195, frame_id: map} + pose: + position: {x: 127.665, y: -9.34744, z: 0} + orientation: {x: 0, y: 0, z: -0.0112674, w: 0.999937} diff --git a/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_1_L_old.yaml b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_1_L_old.yaml new file mode 100644 index 0000000..83f1755 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_1_L_old.yaml @@ -0,0 +1,49 @@ +waypoints: +- point: {x: 5.211877, y: 3.87158, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 18.219589, y: 3.771521, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 33.428608, y: 3.371284, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 46.74171, y: 2.551006, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 55.9006, y: 1.6036, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 60.305, y: -4.48562, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 65.3182, y: -15.6003, z: 0.0, vel: 1.0, rad: 0.5, stop: false} +- point: {x: 70.8621, y: -15.9114, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 75.3498, y: -15.8108, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 78.170232, y: -15.925524, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 79.972636, y: -16.851907, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 81.760122, y: -18.473545, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 83.827534, y: -19.279364, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 88.102759, y: -19.979617, z: 0, vel: 1, rad: 0.5, stop: false} +- point: {x: 87.898391, y: -10.591395, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 87.55817, y: -2.142565, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 87.078986, y: 2.818376, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 79.982437, y: 2.845343, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 69.5118, y: 0.541712, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 62.208, y: -5.61149, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 58.7626, y: -8.91244, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 55.7271, y: -10.4897, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 47.8533, y: -10.6475, z: 0.0, vel: 1, rad: 0.5, stop: false} +- point: {x: 45.7889, y: -11.658, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 42.9629, y: -12.1382, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 34.9496, y: -12.2287, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 34.424937, y: -15.259358, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 33.437802, y: -17.67943, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 31.686434, y: -18.921309, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 26.267135, y: -18.924958, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: 22.563169, y: -18.795965, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 20.2475, y: -18.8274, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 17.633732, y: -18.935307, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 13.621507, y: -18.616877, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 6.8739, y: -18.5676, z: 0.0, vel: 1, rad: 0.5, stop: false} +- point: {x: 4.66837, y: -25.1465, z: 0.0, vel: 1, rad: 0.6, stop: false} +- point: {x: 0.810068, y: -26.158161, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -4.47588, y: -26.158161, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -11.258451, y: -25.839731, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -17.276789, y: -25.776045, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -24.036949, y: -25.721442, z: 0.0, vel: 1, rad: 0.4, stop: true} +- point: {x: -35.6457, y: -29.3766, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -38.5361, y: -30.6251, z: 0.0, vel: 1, rad: 1.0, stop: false} +finish_pose: + header: {seq: 0, stamp: 1663386810.6123521, frame_id: map} + pose: + position: {x: -43.5257, y: -31.2852, z: 0} + orientation: {x: 0, y: 0, z: 0.999988, w: 0.00484186} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_1_R.yaml b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_1_R.yaml new file mode 100644 index 0000000..f148508 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_1_R.yaml @@ -0,0 +1,66 @@ +waypoints: +- point: {x: 4.09724, y: 0.504168, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 16.659, y: 1.14789, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 20.5776, y: 1.30268, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 28.2563, y: 1.64634, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 38.1161, y: 1.91456, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 48.2937, y: 1.73542, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 55.5451, y: 1.66404, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 58.0735, y: 0.128874, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 61.313, y: -6.31239, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 64.9454, y: -14.2518, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 67.6144, y: -15.4014, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 70.316, y: -15.5441, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 74.2391, y: -15.3596, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 77.357, y: -15.2531, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 79.101358, y: -15.32212, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 80.470272, y: -16.227709, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 81.691765, y: -17.449202, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 83.0514, y: -18.1883, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 85.4238, y: -18.5438, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 87.9159, y: -17.5321, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 88.2617, y: -15.0813, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 88.16, y: -10.9362, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 88.0087, y: -6.39951, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 87.8094, y: -2.38376, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 87.683, y: 3.18917, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 84.1737, y: 4.69392, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 80.0329, y: 4.54753, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 74.1995, y: 2.24651, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 69.9941, y: -0.0748514, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 63.1423, y: -4.43719, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 59.449401, y: -7.597903, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 55.4954, y: -9.77409, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 51.7554, y: -10.206, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 48.1474, y: -10.3002, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 46.051, y: -11.3614, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 42.5089, y: -11.9516, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 37.4443, y: -12.0861, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 35.2285, y: -12.1586, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 33.8879, y: -14.2313, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 33.7788, y: -17.3731, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 32.519273, y: -19.091731, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 28.243205, y: -19.061404, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 23.785178, y: -19.00075, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 21.2425, y: -18.9706, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 19.1694, y: -19.0082, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 17.5523, y: -18.9316, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 15.426, y: -18.7627, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 12.495, y: -18.5628, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 10.0156, y: -18.6638, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 7.32172, y: -18.6572, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 6.06788, y: -21.9222, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 5.40629, y: -26.6174, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 0.550092, y: -27.6913, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -5.94073, y: -28.0941, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -10.5427, y: -28.3094, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -16.6638, y: -28.2209, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -23.255, y: -28.019, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -34.563433, y: -33.284636, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -43.9865, y: -35.5365, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -49.5035, y: -37.0547, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666489211.5504568, frame_id: map} + pose: + position: {x: -59.2588, y: -38.328, z: 0} + orientation: {x: 0, y: 0, z: -0.999995, w: 0.00302894} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_1_R_old.yaml b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_1_R_old.yaml new file mode 100644 index 0000000..6ce0d75 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_1_R_old.yaml @@ -0,0 +1,49 @@ +waypoints: +- point: {x: 5.24883, y: 0.299301, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 20.2006, y: 1.69447, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 33.5002, y: 2.08246, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 47.3383, y: 2.15765, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 55.9006, y: 1.6036, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 60.305, y: -4.48562, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 65.3182, y: -15.6003, z: 0.0, vel: 1.0, rad: 0.5, stop: false} +- point: {x: 70.8621, y: -15.9114, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 75.3498, y: -15.8108, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 78.170232, y: -15.925524, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 79.972636, y: -16.851907, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 81.760122, y: -18.473545, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 83.827534, y: -19.279364, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 88.102759, y: -19.979617, z: 0, vel: 1, rad: 0.5, stop: false} +- point: {x: 87.898391, y: -10.591395, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 87.55817, y: -2.142565, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 87.078986, y: 2.818376, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 79.982437, y: 2.845343, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 69.5118, y: 0.541712, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 62.208, y: -5.61149, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 58.7626, y: -8.91244, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 55.7271, y: -10.4897, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: 47.8533, y: -10.6475, z: 0.0, vel: 1, rad: 0.5, stop: false} +- point: {x: 45.7889, y: -11.658, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 42.9629, y: -12.1382, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 34.9496, y: -12.2287, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 34.424937, y: -15.259358, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 33.437802, y: -17.67943, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 31.686434, y: -18.921309, z: 0.0, vel: 0.6, rad: 0.5, stop: false} +- point: {x: 26.267135, y: -18.924958, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: 22.563169, y: -18.795965, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 20.2475, y: -18.8274, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 17.633732, y: -18.935307, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 13.621507, y: -18.616877, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 6.8739, y: -18.5676, z: 0.0, vel: 1, rad: 0.5, stop: false} +- point: {x: 4.66837, y: -25.1465, z: 0.0, vel: 1, rad: 0.6, stop: false} +- point: {x: 0.810068, y: -26.158161, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -4.47588, y: -26.158161, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -11.258451, y: -25.839731, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -17.276789, y: -25.776045, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -24.036949, y: -25.721442, z: 0.0, vel: 1, rad: 0.4, stop: true} +- point: {x: -35.6457, y: -29.3766, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -38.5361, y: -30.6251, z: 0.0, vel: 1, rad: 1.0, stop: false} +finish_pose: + header: {seq: 0, stamp: 1663386810.6123521, frame_id: map} + pose: + position: {x: -43.5257, y: -31.2852, z: 0} + orientation: {x: 0, y: 0, z: 0.999988, w: 0.00484186} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_2.yaml b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_2.yaml new file mode 100644 index 0000000..6ca2dad --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_2.yaml @@ -0,0 +1,54 @@ +waypoints: +- point: {x: -65.997293, y: -37.687546, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -74.861316, y: -36.722816, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -78.968532, y: -36.718417, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -83.75627, y: -36.856869, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -88.925109, y: -36.80009, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -98.145582, y: -36.858084, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -105.729932, y: -37.112591, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -112.827094, y: -37.178238, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -119.614722, y: -36.806496, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -125.185643, y: -37.034113, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -136.390826, y: -39.014177, z: 0, vel: 1, rad: 1, stop: true} +- point: {x: -143.746931, y: -39.051802, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -151.30381, y: -38.555669, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -156.31217, y: -38.560155, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -163.008984, y: -38.679659, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -170.633876, y: -38.925466, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -178.163055, y: -39.056873, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -186.167354, y: -39.218148, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -192.881547, y: -39.462594, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -200.031648, y: -39.834995, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -207.181748, y: -40.058435, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -213.661526, y: -40.132915, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -220.588186, y: -40.207396, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -226.546603, y: -39.313633, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -229.63807, y: -33.11418, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.035577, y: -28.839193, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -229.883482, y: -23.875298, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -229.988601, y: -15.877496, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.178122, y: -8.422993, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.051775, y: -2.990049, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.178122, y: 1.27418, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.241296, y: 7.591556, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.462404, y: 12.392761, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.683512, y: 18.141574, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.841447, y: 23.321822, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.999381, y: 28.028267, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -231.094142, y: 32.45043, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -231.346837, y: 34.819446, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -231.504771, y: 37.283223, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -231.796547, y: 39.658066, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -232.198126, y: 41.696698, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -232.193767, y: 43.152423, z: 0, vel: 1, rad: 1, stop: true} +- point: {x: -233.670353, y: 45.568782, z: 0, vel: 1, rad: 1, stop: true} +- point: {x: -247.582493, y: 45.495812, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -249.667227, y: 42.842514, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -249.58826, y: 38.815187, z: 0.0, vel: 0.5, rad: 0.8, stop: false} +- point: {x: -249.58826, y: 34.993174, z: 0.0, vel: 0.5, rad: 1.0, stop: false} +- point: {x: -250.797814, y: 32.789915, z: 0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666494610.9868476, frame_id: map} + pose: + position: {x: -253.53662, y: 32.560985, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.9998286937687794, w: 0.018509000962138693} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_3.yaml b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_3.yaml new file mode 100644 index 0000000..97b1ca9 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_3.yaml @@ -0,0 +1,84 @@ +waypoints: +- point: {x: -261.084644, y: 25.106299, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -267.210686, y: 24.487174, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -273.714157, y: 24.216942, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -280.73943, y: 24.197371, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -286.660415, y: 24.152768, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -291.464542, y: 23.895203, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -296.726097, y: 23.847767, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -302.632906, y: 23.786238, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -309.031948, y: 24.093884, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -315.554049, y: 24.216942, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -323.552852, y: 23.724708, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -331.613184, y: 24.216942, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -340.011637, y: 24.599054, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -347.787399, y: 24.612969, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -352.512079, y: 24.544178, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -359.531152, y: 24.693069, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -365.78969, y: 24.599191, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -375.637301, y: 24.635168, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -381.936604, y: 24.109348, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -385.203509, y: 23.981651, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -396.339447, y: 23.239943, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -404.622009, y: 22.94455, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -410.163652, y: 22.799583, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -419.058847, y: 22.392409, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -422.821955, y: 22.212243, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -427.469435, y: 22.220317, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -437.718629, y: 21.536149, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -445.864096, y: 20.845416, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -454.063252, y: 20.804665, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -461.51272, y: 20.53732, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -468.001867, y: 20.498208, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -472.69976, y: 20.525187, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -477.467957, y: 20.554061, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -482.298323, y: 20.463658, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -487.774427, y: 20.217541, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -493.619706, y: 20.032953, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -498.726634, y: 19.663778, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -503.833562, y: 19.356131, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -508.741607, y: 18.673968, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -513.419998, y: 17.640137, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -516.439528, y: 16.782203, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -521.246972, y: 16.615719, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -525.502768, y: 17.645885, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -526.633659, y: 21.449477, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -526.503166, y: 29.100927, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -526.695646, y: 34.975355, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -526.440251, y: 39.554096, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -526.129355, y: 42.504156, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -524.196191, y: 44.731497, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -519.615433, y: 45.109725, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -514.026067, y: 45.614029, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -508.394676, y: 45.950231, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -502.972033, y: 46.055406, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -496.687764, y: 46.175181, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -491.509825, y: 46.328779, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -485.014307, y: 46.391466, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -478.324903, y: 46.231843, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -470.761459, y: 46.534443, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -465.549122, y: 46.670207, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -459.211722, y: 46.876885, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -454.425711, y: 47.201971, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -448.426259, y: 46.859625, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -444.309972, y: 46.893574, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -440.607855, y: 46.916813, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -435.018004, y: 47.17072, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -429.261022, y: 47.925421, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -423.587605, y: 48.177573, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -417.376215, y: 48.176948, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -413.027875, y: 48.139494, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -408.190001, y: 48.288813, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -401.96904, y: 48.457892, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -396.058063, y: 48.456337, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -390.998677, y: 48.514533, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -386.356163, y: 48.128242, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -383.533166, y: 47.099655, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -380.370965, y: 49.126063, z: 0, vel: 1, rad: 1, stop: true} +- point: {x: -379.63396, y: 57.591197, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -379.460435, y: 62.156356, z: 0.0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666496150.059658, frame_id: map} + pose: + position: {x: -378.673846, y: 64.77052, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.6808672023427723, w: 0.732406890173711} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_4.yaml b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_4.yaml new file mode 100644 index 0000000..9a2178c --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_4.yaml @@ -0,0 +1,46 @@ +waypoints: +- point: {x: -380.394722, y: 71.704364, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -380.214226, y: 74.909309, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -380.174742, y: 80.096846, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -380.181996, y: 83.448848, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -380.34631, y: 87.362533, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -380.276098, y: 93.34772, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -380.157839, y: 100.376139, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -380.522252, y: 104.822308, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -380.581655, y: 110.05979, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -380.364453, y: 115.497748, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -380.444223, y: 119.082618, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -380.43964, y: 123.129382, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -380.111881, y: 128.390948, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -380.159295, y: 131.955867, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -381.287123, y: 134.396899, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -383.992375, y: 135.259747, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -388.240759, y: 134.995005, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -393.400367, y: 134.825837, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -400.431366, y: 134.823649, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -408.792642, y: 134.648237, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -420.662145, y: 134.765178, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -432.473178, y: 134.706708, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -444.927386, y: 134.414356, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -456.212185, y: 134.531297, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -468.607922, y: 134.355885, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -476.796732, y: 134.546887, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -484.746706, y: 134.580717, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -492.121576, y: 134.580717, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -498.177089, y: 134.343909, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -504.37423, y: 134.191459, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -510.083633, y: 134.360627, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -518.709842, y: 134.262488, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -528.658445, y: 134.741938, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -538.607047, y: 134.80187, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -547.3726, y: 134.60292, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -556.681108, y: 134.401655, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -566.392145, y: 134.351338, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -575.345194, y: 134.114445, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -582.962469, y: 134.19548, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -588.930261, y: 136.027109, z: 0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666497569.7515693, frame_id: map} + pose: + position: {x: -592.510885943929, y: 138.8129128736552, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.6952399520376623, w: 0.718777718832929} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_5.yaml b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_5.yaml new file mode 100644 index 0000000..9a6f186 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_5.yaml @@ -0,0 +1,29 @@ +waypoints: +- point: {x: 9.67825, y: 0.140065, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 17.3371, y: 0.964738, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 22.2638, y: 1.19774, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 29.724292, y: 1.413955, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 37.392, y: 1.57617, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 46.1511, y: 1.94883, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 54.483, y: 3.18138, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 61.0413, y: 4.44718, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 65.8479, y: 5.15023, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 72.7584, y: 6.25933, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 79.928854, y: 6.845006, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 86.860325, y: 7.222229, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 93.508878, y: 7.175076, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 99.591598, y: 7.175076, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 105.284, y: 7.29065, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 110.955438, y: 7.363687, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 117.038157, y: 8.118133, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 123.403793, y: 8.778273, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 128.684914, y: 9.768483, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 133.588812, y: 10.900152, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 138.074, y: 11.7053, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 142.746, y: 12.4801, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 149.677, y: 10.0145, z: 0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666498137.866959, frame_id: map} + pose: + position: {x: 151.43617, y: 6.019831, z: 0} + orientation: {x: -0.0, y: 0.0, z: -0.6687790883343118, w: 0.743461183254867} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_6.yaml b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_6.yaml new file mode 100644 index 0000000..ebbeead --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_6.yaml @@ -0,0 +1,39 @@ +waypoints: +- point: {x: 17.276014, y: -0.886464, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 24.757274, y: -0.566752, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 32.033, y: -0.147614, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 41.9788, y: 0.893304, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 51.932791, y: 1.799117, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 61.140496, y: 2.182771, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 69.580892, y: 2.182771, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 76.870325, y: 1.223635, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 82.816967, y: 0.328442, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 87.2669, y: -1.07207, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 93.239578, y: -2.676851, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 100.081414, y: -4.595122, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 105.941, y: -6.06026, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 111.333, y: -7.54676, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 118.078, y: -8.93664, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 126.937219, y: -10.66965, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 134.674249, y: -11.500901, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 142.667048, y: -11.75667, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 149.754, y: -12.0621, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 157.113, y: -12.0096, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 162.104, y: -12.7223, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 165.132, y: -11.3643, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 170.579, y: -10.1581, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 176.876229, y: -8.048012, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 183.702, y: -5.88755, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 190.432016, y: -3.508102, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 196.568, y: -0.608021, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 200.949, y: 1.09074, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 205.714248, y: 2.758253, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 209.229, y: 5.09364, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 210.481, y: 7.34948, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 212.823, y: 9.60237, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 215.445, y: 8.90903, z: 0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666498996.6713529, frame_id: map} + pose: + position: {x: 216.76727, y: 6.666979, z: 0} + orientation: {x: -0.0, y: 0.0, z: -0.4444870197741531, w: 0.8957852919379128} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_7.yaml b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_7.yaml new file mode 100644 index 0000000..3db6ccf --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_7.yaml @@ -0,0 +1,72 @@ +waypoints: +- point: {x: 5.3636, y: 0.0904167, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 11.5044, y: 0.465055, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 16.699, y: 1.24866, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 23.9469, y: 1.59342, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 27.3978, y: 1.22125, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 32.4584, y: -0.0330052, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 36.0657, y: -0.64817, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 39.5796, y: -0.823233, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 45.0522, y: -1.65752, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 51.70582, y: -1.967532, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 58.020918, y: -2.126736, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 63.4809, y: -2.7043, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 69.324413, y: -4.780138, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 74.312809, y: -6.531384, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 79.301206, y: -7.433541, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 85.92, y: -8.20992, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 91.0165, y: -9.25405, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 95.6054, y: -9.6805, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 99.7147, y: -9.56832, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 103.149, y: -9.34752, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 106.116, y: -7.88057, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 109.569, y: -6.06586, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 112.919, y: -3.91319, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 116.502, y: -2.12353, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 119.759, y: 0.0310771, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 123.029, y: 2.09065, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 127.212, y: 4.48471, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 130.763, y: 6.50064, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 134.614, y: 8.44767, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 137.107, y: 9.20638, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 140.624, y: 10.5317, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 143.961, y: 10.5781, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 147.346, y: 9.77895, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 150.397, y: 8.73421, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 154.66, y: 7.48929, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 158.342, y: 6.02823, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 162.934, y: 4.55966, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 166.195, y: 3.45894, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 169.993, y: 2.04407, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 173.566, y: 0.878988, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 177.541, y: -0.293789, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 182.438, y: -1.74787, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 185.46, y: -2.76484, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 188.404, y: -3.36537, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 194.471, y: -4.88014, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 199.113, y: -5.33859, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 202.886, y: -5.88745, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 206.441, y: -7.31497, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 208.486, y: -10.3279, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 209.529, y: -14.663, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 210.145, y: -18.5102, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 210.708, y: -21.7332, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 210.066, y: -26.0123, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 208.603, y: -31.8163, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 208.456, y: -36.4555, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 207.626, y: -43.7698, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 206.67, y: -49.5498, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 205.592, y: -54.7511, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 204.77, y: -59.0512, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 206.924, y: -64.381, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 208.642, y: -68.1098, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 210.39, y: -72.1318, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 212.264, y: -75.1983, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 216.875, y: -77.5158, z: 0, vel: 1, rad: 1, stop: true} +- point: {x: 225.351, y: -80.4098, z: 0, vel: 1, rad: 0.5, stop: false} +- point: {x: 227.891984, y: -77.714962, z: 0.0, vel: 1, rad: 0.5, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666500443.4820855, frame_id: map} + pose: + position: {x: 227.823711, y: -74.164762, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.5788893188481334, w: 0.815406129804985} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_8.yaml b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_8.yaml new file mode 100644 index 0000000..151c793 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_8.yaml @@ -0,0 +1,25 @@ +waypoints: +- point: {x: 14.9492, y: 0.871575, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 19.6856, y: 0.632644, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 24.9351, y: 0.233624, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 32.0594, y: -0.17328, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 39.5993, y: -0.453472, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 46.9868, y: -1.03966, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 54.2481, y: -1.22557, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 62.8625, y: -1.11575, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 71.0413, y: -1.23109, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 79.8398, y: -1.10049, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 88.495, y: -0.986142, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 96.6576, y: -0.955216, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 103.025, y: -0.811471, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 109.904315, y: -1.289815, z: 0, vel: 1, rad: 0.5, stop: false} +- point: {x: 116.139361, y: -5.100952, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 121.485, y: -8.93011, z: 0, vel: 1, rad: 1, stop: true} +- point: {x: 127.70905, y: -9.380839, z: 0.0, vel: 1, rad: 1, stop: true} +- point: {x: 142.110378, y: -9.242956, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 145.37988, y: -11.044519, z: 0.0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666500880.699932, frame_id: map} + pose: + position: {x: 145.605235, y: -14.406034, z: 0} + orientation: {x: -0.0, y: 0.0, z: -0.7071067811865476, w: 0.7071067811865476} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_9.yaml b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_9.yaml new file mode 100644 index 0000000..f481ebf --- /dev/null +++ b/src/tsukuba2022/config/waypoints/tsukuba/waypoints_tsukuba_9.yaml @@ -0,0 +1,38 @@ +waypoints: +- point: {x: -229.450346, y: 36.265549, z: 0, vel: 1, rad: 1.0, stop: false} +- point: {x: -229.478325, y: 31.425174, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -229.310451, y: 25.941282, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -229.03066, y: 19.841851, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -228.806828, y: 14.413916, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -228.918744, y: 9.097898, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -228.862786, y: 2.382928, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -228.638954, y: -3.324797, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -228.471079, y: -9.704018, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -228.582996, y: -16.139198, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -228.610975, y: -22.714273, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -228.694912, y: -28.505935, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -228.582996, y: -35.66857, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -224.442097, y: -42.943121, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -215.376887, y: -42.719289, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -207.207007, y: -42.215666, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -198.92521, y: -42.159708, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -190.643414, y: -41.712043, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -182.361617, y: -41.320337, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -173.072575, y: -41.264379, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -164.566946, y: -40.872672, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -154.886197, y: -40.536923, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -148.115269, y: -40.64884, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -142.295628, y: -40.984588, z: 0.0, vel: 1, rad: 1, stop: true} +- point: {x: -135.300868, y: -40.480965, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -127.019071, y: -40.592881, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -118.28961, y: -40.201175, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -109.672065, y: -40.201175, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -100.718771, y: -40.033301, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -90.926106, y: -39.529678, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -81.077483, y: -39.641594, z: 0.0, vel: 1, rad: 1.0, stop: false} +- point: {x: -72.236106, y: -39.361804, z: 0.0, vel: 1, rad: 1.0, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666500880.699932, frame_id: map} + pose: + position: {x: -66.953131, y: -39.658873, z: 0} + orientation: {x: -0.0, y: 0.0, z: -0.020647941737949912, w: 0.9997868085256908} \ No newline at end of file diff --git a/src/tsukuba2022/config/waypoints/waypoints.yaml b/src/tsukuba2022/config/waypoints/waypoints.yaml index 33c7c83..a3c9691 100644 --- a/src/tsukuba2022/config/waypoints/waypoints.yaml +++ b/src/tsukuba2022/config/waypoints/waypoints.yaml @@ -1,23 +1,8 @@ waypoints: -- point: {x: 3.876438, y: 0.067258, z: 0.00511169, vel: 1, rad: 1, stop: false} -- point: {x: 10.24828, y: 0.067258, z: -0.00192642, vel: 1, rad: 1, stop: false} -- point: {x: 14.343374, y: 0.067258, z: 0.00251579, vel: 1, rad: 1, stop: false} -- point: {x: 15.695671, y: 1.465396, z: 0.0, vel: 1.0, rad: 1.0, stop: false} -- point: {x: 15.731122, y: 6.432358, z: 0.00242996, vel: 1, rad: 1, stop: false} -- point: {x: 15.770729, y: 11.224717, z: 0.0, vel: 1, rad: 1, stop: false} -- point: {x: 15.840833, y: 15.530818, z: 0.0023098, vel: 1, rad: 1, stop: false} -- point: {x: 14.381574, y: 17.020638, z: 0.0, vel: 1, rad: 1, stop: false} -- point: {x: 9.36751, y: 17.0985, z: 0.00177956, vel: 1, rad: 1, stop: false} -- point: {x: 4.640448, y: 17.165799, z: 0.000879288, vel: 1, rad: 1, stop: false} -- point: {x: 3.318711, y: 15.828782, z: 0.0, vel: 1, rad: 1, stop: true} -- point: {x: 4.72936, y: 13.403, z: 0.00301743, vel: 1, rad: 1, stop: false} -- point: {x: 6.72777, y: 10.9204, z: 0.00507927, vel: 1, rad: 1, stop: false} -- point: {x: 8.047505, y: 8.46548, z: 0.00030899, vel: 1, rad: 1, stop: false} -- point: {x: 9.32663, y: 6.47157, z: 0.00183296, vel: 1, rad: 1, stop: false} -- point: {x: 11.210933, y: 3.520583, z: 0.00384521, vel: 1, rad: 1, stop: false} -- point: {x: 10.872753, y: 0.465013, z: 0.00480747, vel: 1, rad: 1, stop: false} +- point: {x: 2.66587, y: 0.0700625, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 8.1709, y: 0.357594, z: 0, vel: 1, rad: 0.8, stop: false} finish_pose: - header: {seq: 0, stamp: 113.132, frame_id: map} - pose: - position: {x: 9.27349, y: 0.143879, z: 0} - orientation: {x: 0, y: 0, z: 0.999983, w: 0.00578372} \ No newline at end of file + header: {seq: 0, stamp: 1668580166.701891002, frame_id: map} + pose: + position: {x: 10.2119, y: 0.455358, z: 0} + orientation: {x: 0, y: 0, z: -0.999671, w: 0.0256456} diff --git a/src/tsukuba2022/config/waypoints/waypoints_202211160629.yaml b/src/tsukuba2022/config/waypoints/waypoints_202211160629.yaml new file mode 100644 index 0000000..a3c9691 --- /dev/null +++ b/src/tsukuba2022/config/waypoints/waypoints_202211160629.yaml @@ -0,0 +1,8 @@ +waypoints: +- point: {x: 2.66587, y: 0.0700625, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 8.1709, y: 0.357594, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1668580166.701891002, frame_id: map} + pose: + position: {x: 10.2119, y: 0.455358, z: 0} + orientation: {x: 0, y: 0, z: -0.999671, w: 0.0256456} diff --git a/src/tsukuba2022/launch/buildmap_from_bag.launch b/src/tsukuba2022/launch/buildmap_from_bag.launch index bd635a5..a232c79 100644 --- a/src/tsukuba2022/launch/buildmap_from_bag.launch +++ b/src/tsukuba2022/launch/buildmap_from_bag.launch @@ -2,9 +2,16 @@ + + + + + + + @@ -14,6 +21,18 @@ + + + + + + + + + + + + diff --git a/src/tsukuba2022/launch/buildmap_teleop_joy.launch b/src/tsukuba2022/launch/buildmap_teleop_joy.launch index acdc48d..fbb359d 100644 --- a/src/tsukuba2022/launch/buildmap_teleop_joy.launch +++ b/src/tsukuba2022/launch/buildmap_teleop_joy.launch @@ -7,7 +7,7 @@ - + @@ -40,6 +40,6 @@ - + diff --git a/src/tsukuba2022/launch/motor.launch b/src/tsukuba2022/launch/motor.launch index e41ec65..feb8d78 100644 --- a/src/tsukuba2022/launch/motor.launch +++ b/src/tsukuba2022/launch/motor.launch @@ -1,27 +1,22 @@ - - + - - - - - - - + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/tsukuba2022/launch/sensors.launch b/src/tsukuba2022/launch/sensors.launch new file mode 100644 index 0000000..fee8690 --- /dev/null +++ b/src/tsukuba2022/launch/sensors.launch @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/tsukuba2022/launch/start.launch b/src/tsukuba2022/launch/start.launch index 6c5fd1e..e85ef9e 100644 --- a/src/tsukuba2022/launch/start.launch +++ b/src/tsukuba2022/launch/start.launch @@ -1,140 +1,31 @@ - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - + + + + + + + + diff --git a/src/tsukuba2022/launch/start_sim.launch b/src/tsukuba2022/launch/start_sim.launch index a0d655f..58eea84 100644 --- a/src/tsukuba2022/launch/start_sim.launch +++ b/src/tsukuba2022/launch/start_sim.launch @@ -12,6 +12,7 @@ + @@ -22,25 +23,16 @@ + - - - - - - - + + - - - - - - + @@ -55,6 +47,7 @@ + @@ -63,5 +56,4 @@ - diff --git a/src/tsukuba2022/launch/teleop_joy.launch b/src/tsukuba2022/launch/teleop_joy.launch index 8b8fe08..1500d19 100644 --- a/src/tsukuba2022/launch/teleop_joy.launch +++ b/src/tsukuba2022/launch/teleop_joy.launch @@ -1,7 +1,7 @@ - + @@ -9,7 +9,7 @@ - + diff --git a/src/tsukuba2022/launch/waypoint_navigation.launch b/src/tsukuba2022/launch/waypoint_navigation.launch index a896ca9..07c43b5 100644 --- a/src/tsukuba2022/launch/waypoint_navigation.launch +++ b/src/tsukuba2022/launch/waypoint_navigation.launch @@ -1,26 +1,27 @@ - - - - - - + + + + + + - - - - - - - - + + + + + + + + + @@ -28,20 +29,26 @@ + + - - - - + + + + + + + + - + diff --git a/src/tsukuba2022/launch/waypoint_navigation_emcl.launch b/src/tsukuba2022/launch/waypoint_navigation_emcl.launch new file mode 100644 index 0000000..34aff0e --- /dev/null +++ b/src/tsukuba2022/launch/waypoint_navigation_emcl.launch @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/tsukuba2022/launch/waypoint_navigation_multi.launch b/src/tsukuba2022/launch/waypoint_navigation_multi.launch new file mode 100644 index 0000000..4d004e5 --- /dev/null +++ b/src/tsukuba2022/launch/waypoint_navigation_multi.launch @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/tsukuba2022/maps/cpmap.sh b/src/tsukuba2022/maps/cpmap.sh new file mode 100755 index 0000000..a06cd76 --- /dev/null +++ b/src/tsukuba2022/maps/cpmap.sh @@ -0,0 +1,2 @@ +cp $1.pgm $2.pgm +cp $1.yaml $2.yaml diff --git a/src/tsukuba2022/maps/mymap.pgm b/src/tsukuba2022/maps/mymap.pgm index 7bedc78..f75a562 100644 --- a/src/tsukuba2022/maps/mymap.pgm +++ b/src/tsukuba2022/maps/mymap.pgm Binary files differ diff --git a/src/tsukuba2022/maps/mymap.yaml b/src/tsukuba2022/maps/mymap.yaml index ca6f07f..9dd3917 100644 --- a/src/tsukuba2022/maps/mymap.yaml +++ b/src/tsukuba2022/maps/mymap.yaml @@ -1,6 +1,6 @@ image: /home/ubuntu/catkin_ws/src/tsukuba2022/maps/mymap.pgm -resolution: 0.050000 -origin: [-60.000000, -60.000000, 0.000000] +resolution: 0.100000 +origin: [-50.000000, -50.000000, 0.000000] negate: 0 occupied_thresh: 0.65 free_thresh: 0.196 diff --git a/src/tsukuba2022/maps/mymap_202211160629.pgm b/src/tsukuba2022/maps/mymap_202211160629.pgm new file mode 100644 index 0000000..f75a562 --- /dev/null +++ b/src/tsukuba2022/maps/mymap_202211160629.pgm Binary files differ diff --git a/src/tsukuba2022/maps/mymap_202211160629.yaml b/src/tsukuba2022/maps/mymap_202211160629.yaml new file mode 100644 index 0000000..9dd3917 --- /dev/null +++ b/src/tsukuba2022/maps/mymap_202211160629.yaml @@ -0,0 +1,7 @@ +image: /home/ubuntu/catkin_ws/src/tsukuba2022/maps/mymap.pgm +resolution: 0.100000 +origin: [-50.000000, -50.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/nakaniwa/merged-nakaniwa_1-2.pgm b/src/tsukuba2022/maps/nakaniwa/merged-nakaniwa_1-2.pgm new file mode 100644 index 0000000..0ae09cc --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/merged-nakaniwa_1-2.pgm Binary files differ diff --git a/src/tsukuba2022/maps/nakaniwa/merged-nakaniwa_1-2.yaml b/src/tsukuba2022/maps/nakaniwa/merged-nakaniwa_1-2.yaml new file mode 100644 index 0000000..579dfdb --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/merged-nakaniwa_1-2.yaml @@ -0,0 +1,6 @@ +image: /home/ubuntu/catkin_ws/src/tsukuba2022/maps/nakaniwa/merged-nakaniwa_1-2.pgm +resolution: 0.05 +origin: [-50.0, -50.3947385034915, 0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa.pgm b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa.pgm new file mode 100644 index 0000000..86ebccd --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa.pgm Binary files differ diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa.yaml b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa.yaml new file mode 100644 index 0000000..c152407 --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa.yaml @@ -0,0 +1,7 @@ +image: ./mymap_nakaniwa.pgm +resolution: 0.050000 +origin: [-60.000000, -60.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_1.pgm b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_1.pgm new file mode 100644 index 0000000..ae968dc --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_1.pgm Binary files differ diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_1.yaml b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_1.yaml new file mode 100644 index 0000000..234dc89 --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_1.yaml @@ -0,0 +1,7 @@ +image: /home/ubuntu/catkin_ws/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_1.pgm +resolution: 0.050000 +origin: [-50.000000, -50.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_1109.pgm b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_1109.pgm new file mode 100644 index 0000000..60586df --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_1109.pgm Binary files differ diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_1109.yaml b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_1109.yaml new file mode 100644 index 0000000..4b2b14e --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_1109.yaml @@ -0,0 +1,7 @@ +image: ./mymap_nakaniwa_1109.pgm +resolution: 0.100000 +origin: [-50.000000, -50.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_2.pgm b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_2.pgm new file mode 100644 index 0000000..73d7b42 --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_2.pgm Binary files differ diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_2.yaml b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_2.yaml new file mode 100644 index 0000000..9b6f2d2 --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_2.yaml @@ -0,0 +1,7 @@ +image: /home/ubuntu/catkin_ws/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_2.pgm +resolution: 0.050000 +origin: [-50.000000, -50.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim.pgm b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim.pgm new file mode 100644 index 0000000..7bedc78 --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim.pgm Binary files differ diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim.yaml b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim.yaml new file mode 100644 index 0000000..2f6898c --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim.yaml @@ -0,0 +1,7 @@ +image: ./mymap_nakaniwa_sim.pgm +resolution: 0.050000 +origin: [-60.000000, -60.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim_1.pgm b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim_1.pgm new file mode 100644 index 0000000..78798d3 --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim_1.pgm Binary files differ diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim_1.yaml b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim_1.yaml new file mode 100644 index 0000000..565c916 --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim_1.yaml @@ -0,0 +1,7 @@ +image: ./mymap_nakaniwa_sim_1.pgm +resolution: 0.050000 +origin: [-60.000000, -60.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim_2.pgm b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim_2.pgm new file mode 100644 index 0000000..e897525 --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim_2.pgm Binary files differ diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim_2.yaml b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim_2.yaml new file mode 100644 index 0000000..901cd59 --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_sim_2.yaml @@ -0,0 +1,7 @@ +image: ./mymap_nakaniwa_sim_2.pgm +resolution: 0.050000 +origin: [-60.000000, -60.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_trim.pgm b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_trim.pgm new file mode 100644 index 0000000..4361968 --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_trim.pgm Binary files differ diff --git a/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_trim.yaml b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_trim.yaml new file mode 100644 index 0000000..80ce244 --- /dev/null +++ b/src/tsukuba2022/maps/nakaniwa/mymap_nakaniwa_trim.yaml @@ -0,0 +1,6 @@ +image: ./mymap_nakaniwa_trim.pgm +resolution: 0.05 +origin: [28.170469620170707, -28.544742473573685, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/maps/setmap.sh b/src/tsukuba2022/maps/setmap.sh new file mode 100755 index 0000000..d89f860 --- /dev/null +++ b/src/tsukuba2022/maps/setmap.sh @@ -0,0 +1,2 @@ +cp $1.pgm mymap.pgm +cp $1.yaml mymap.yaml diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_1.pgm b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_1.pgm new file mode 100644 index 0000000..fd554ed --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_1.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_1.yaml b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_1.yaml new file mode 100644 index 0000000..6074276 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_1.yaml @@ -0,0 +1,7 @@ +image: ./mymap_tsukuba_1.pgm +resolution: 0.100000 +origin: [-110.800000, -78.800000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_2.pgm b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_2.pgm new file mode 100644 index 0000000..dbdb838 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_2.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_2.yaml b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_2.yaml new file mode 100644 index 0000000..4dd51ac --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_2.yaml @@ -0,0 +1,6 @@ +image: ./mymap_tsukuba_2.pgm +resolution: 0.1 +origin: [-288.3931311734531, -87.22861015928352, 0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_3.pgm b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_3.pgm new file mode 100644 index 0000000..bea8647 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_3.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_3.yaml b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_3.yaml new file mode 100644 index 0000000..75422f2 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_3.yaml @@ -0,0 +1,6 @@ +image: ./mymap_tsukuba_3.pgm +resolution: 0.1 +origin: [-550.6649715593369, -29.044654528977503, 0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_4.pgm b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_4.pgm new file mode 100644 index 0000000..208247f --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_4.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_4.yaml b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_4.yaml new file mode 100644 index 0000000..57d92e9 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_4.yaml @@ -0,0 +1,6 @@ +image: ./mymap_tsukuba_4.pgm +resolution: 0.1 +origin: [-606.5557738478564, 58.956719886505816, 0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_5.pgm b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_5.pgm new file mode 100644 index 0000000..03d2701 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_5.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_5.yaml b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_5.yaml new file mode 100644 index 0000000..96f9ed2 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_5.yaml @@ -0,0 +1,7 @@ +image: ./mymap_tsukuba_5.pgm +resolution: 0.100000 +origin: [-50.000000, -50.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_6.pgm b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_6.pgm new file mode 100644 index 0000000..1f599d6 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_6.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_6.yaml b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_6.yaml new file mode 100644 index 0000000..17122d6 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_6.yaml @@ -0,0 +1,7 @@ +image: ./mymap_tsukuba_6.pgm +resolution: 0.100000 +origin: [-50.000000, -50.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_7.pgm b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_7.pgm new file mode 100644 index 0000000..17b4003 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_7.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_7.yaml b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_7.yaml new file mode 100644 index 0000000..6cd3e5a --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_7.yaml @@ -0,0 +1,7 @@ +image: ./mymap_tsukuba_7.pgm +resolution: 0.100000 +origin: [-50.000000, -117.200000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_8.pgm b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_8.pgm new file mode 100644 index 0000000..2020802 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_8.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_8.yaml b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_8.yaml new file mode 100644 index 0000000..4291203 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/edited/mymap_tsukuba_8.yaml @@ -0,0 +1,7 @@ +image: ./mymap_tsukuba_8.pgm +resolution: 0.100000 +origin: [-50.000000, -66.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/tsukuba/old/mymap_tsukuba_1_old.pgm b/src/tsukuba2022/maps/tsukuba/old/mymap_tsukuba_1_old.pgm new file mode 100644 index 0000000..5fb1a07 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/old/mymap_tsukuba_1_old.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/old/mymap_tsukuba_1_old.yaml b/src/tsukuba2022/maps/tsukuba/old/mymap_tsukuba_1_old.yaml new file mode 100644 index 0000000..3233096 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/old/mymap_tsukuba_1_old.yaml @@ -0,0 +1,7 @@ +image: ./mymap_tsukuba_1_edited.pgm +resolution: 0.050000 +origin: [-82.400000, -74.400000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/tsukuba/old/mymap_tsukuba_1_old_edited.pgm b/src/tsukuba2022/maps/tsukuba/old/mymap_tsukuba_1_old_edited.pgm new file mode 100644 index 0000000..97bd1d5 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/old/mymap_tsukuba_1_old_edited.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_1.pgm b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_1.pgm new file mode 100644 index 0000000..3e42d70 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_1.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_1.yaml b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_1.yaml new file mode 100644 index 0000000..6074276 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_1.yaml @@ -0,0 +1,7 @@ +image: ./mymap_tsukuba_1.pgm +resolution: 0.100000 +origin: [-110.800000, -78.800000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_2.pgm b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_2.pgm new file mode 100644 index 0000000..a733b2a --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_2.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_2.yaml b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_2.yaml new file mode 100644 index 0000000..c208466 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_2.yaml @@ -0,0 +1,7 @@ +image: ./mymap_tsukuba_2.pgm +resolution: 0.100000 +origin: [-50.000000, -146.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_3.pgm b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_3.pgm new file mode 100644 index 0000000..bdbc38a --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_3.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_3.yaml b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_3.yaml new file mode 100644 index 0000000..11084f6 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_3.yaml @@ -0,0 +1,7 @@ +image: ./mymap_tsukuba_3.pgm +resolution: 0.100000 +origin: [-62.800000, -315.600000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_4.pgm b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_4.pgm new file mode 100644 index 0000000..bfc561a --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_4.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_4.yaml b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_4.yaml new file mode 100644 index 0000000..b70cf11 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_4.yaml @@ -0,0 +1,7 @@ +image: ./mymap_tsukuba_4.pgm +resolution: 0.100000 +origin: [-50.000000, -50.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_5.pgm b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_5.pgm new file mode 100644 index 0000000..a5479fd --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_5.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_5.yaml b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_5.yaml new file mode 100644 index 0000000..96f9ed2 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_5.yaml @@ -0,0 +1,7 @@ +image: ./mymap_tsukuba_5.pgm +resolution: 0.100000 +origin: [-50.000000, -50.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_6.pgm b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_6.pgm new file mode 100644 index 0000000..99f13fd --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_6.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_6.yaml b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_6.yaml new file mode 100644 index 0000000..17122d6 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_6.yaml @@ -0,0 +1,7 @@ +image: ./mymap_tsukuba_6.pgm +resolution: 0.100000 +origin: [-50.000000, -50.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_7.pgm b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_7.pgm new file mode 100644 index 0000000..be01057 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_7.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_7.yaml b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_7.yaml new file mode 100644 index 0000000..6cd3e5a --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_7.yaml @@ -0,0 +1,7 @@ +image: ./mymap_tsukuba_7.pgm +resolution: 0.100000 +origin: [-50.000000, -117.200000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_8.pgm b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_8.pgm new file mode 100644 index 0000000..3c177e4 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_8.pgm Binary files differ diff --git a/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_8.yaml b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_8.yaml new file mode 100644 index 0000000..4291203 --- /dev/null +++ b/src/tsukuba2022/maps/tsukuba/raw/mymap_tsukuba_8.yaml @@ -0,0 +1,7 @@ +image: ./mymap_tsukuba_8.pgm +resolution: 0.100000 +origin: [-50.000000, -66.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/src/tsukuba2022/multimaps/nakaniwa/map0.pgm b/src/tsukuba2022/multimaps/nakaniwa/map0.pgm new file mode 100644 index 0000000..df54984 --- /dev/null +++ b/src/tsukuba2022/multimaps/nakaniwa/map0.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/nakaniwa/map0.yaml b/src/tsukuba2022/multimaps/nakaniwa/map0.yaml new file mode 100644 index 0000000..a512b8c --- /dev/null +++ b/src/tsukuba2022/multimaps/nakaniwa/map0.yaml @@ -0,0 +1,6 @@ +image: ./map0.pgm +resolution: 0.05 +origin: [-50.0, -50.0, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/nakaniwa/map1.pgm b/src/tsukuba2022/multimaps/nakaniwa/map1.pgm new file mode 100644 index 0000000..27281a6 --- /dev/null +++ b/src/tsukuba2022/multimaps/nakaniwa/map1.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/nakaniwa/map1.yaml b/src/tsukuba2022/multimaps/nakaniwa/map1.yaml new file mode 100644 index 0000000..3a4d442 --- /dev/null +++ b/src/tsukuba2022/multimaps/nakaniwa/map1.yaml @@ -0,0 +1,6 @@ +image: ./map1.pgm +resolution: 0.05 +origin: [-47.831295, -50.394739, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/nakaniwa/merged_map.pgm b/src/tsukuba2022/multimaps/nakaniwa/merged_map.pgm new file mode 100644 index 0000000..0c59c4c --- /dev/null +++ b/src/tsukuba2022/multimaps/nakaniwa/merged_map.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/nakaniwa/merged_map.yaml b/src/tsukuba2022/multimaps/nakaniwa/merged_map.yaml new file mode 100644 index 0000000..5e0cd83 --- /dev/null +++ b/src/tsukuba2022/multimaps/nakaniwa/merged_map.yaml @@ -0,0 +1,6 @@ +image: ./merged_map.pgm +resolution: 0.05 +origin: [-50.0, -50.39473899999999, 0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/nakaniwa/waypoints.yaml b/src/tsukuba2022/multimaps/nakaniwa/waypoints.yaml new file mode 100644 index 0000000..463830a --- /dev/null +++ b/src/tsukuba2022/multimaps/nakaniwa/waypoints.yaml @@ -0,0 +1,33 @@ +waypoints: +- point: {x: 4.8992, y: 0.0763934, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 11.025331, y: -0.023422, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 18.50064, y: -0.394513, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 26.176818, y: -0.880348, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 34.8965, y: -2.35386, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 42.74376, y: -4.864187, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 50.530069, y: -5.066462, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 53.505717, y: -1.933611, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 53.2674, y: 7.98859, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 53.0977, y: 20.0885, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.5512, y: 29.5179, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 52.298734, y: 41.727943, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 52.033145, y: 52.371588, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 50, y: 54.5, z: 0, vel: 1, rad: 1, stop: true, change_map: 1} +- point: {x: 44.457458, y: 54.265651, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 38.331208, y: 54.17344, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 30.568212, y: 54.0757, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 22.183928, y: 53.966732, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 14.496347, y: 53.725704, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 6.34269, y: 53.623967, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -0.732295, y: 53.479098, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -3.648502, y: 50.77132, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -3.260954, y: 43.319186, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -2.632884, y: 33.104345, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -2.248518, y: 23.345314, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -2.22096, y: 11.492785, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -2.253471, y: 0.890283, z: 0.0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 1663209268.6905353, frame_id: map} + pose: + position: {x: 1.084303876129681, y: -1.5445686660287592, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.012634000199744012, w: 0.9999201878344856} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/nakaniwa_sim/map0.pgm b/src/tsukuba2022/multimaps/nakaniwa_sim/map0.pgm new file mode 100644 index 0000000..2f5060c --- /dev/null +++ b/src/tsukuba2022/multimaps/nakaniwa_sim/map0.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/nakaniwa_sim/map0.yaml b/src/tsukuba2022/multimaps/nakaniwa_sim/map0.yaml new file mode 100644 index 0000000..a47e244 --- /dev/null +++ b/src/tsukuba2022/multimaps/nakaniwa_sim/map0.yaml @@ -0,0 +1,6 @@ +image: /home/ubuntu/catkin_ws/src/tsukuba2022/multimaps/nakaniwa_sim/map0.pgm +resolution: 0.05 +origin: [-60.0, -60.0, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/nakaniwa_sim/map1.pgm b/src/tsukuba2022/multimaps/nakaniwa_sim/map1.pgm new file mode 100644 index 0000000..4d2389a --- /dev/null +++ b/src/tsukuba2022/multimaps/nakaniwa_sim/map1.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/nakaniwa_sim/map1.yaml b/src/tsukuba2022/multimaps/nakaniwa_sim/map1.yaml new file mode 100644 index 0000000..71a1f95 --- /dev/null +++ b/src/tsukuba2022/multimaps/nakaniwa_sim/map1.yaml @@ -0,0 +1,6 @@ +image: /home/ubuntu/catkin_ws/src/tsukuba2022/multimaps/nakaniwa_sim/map1.pgm +resolution: 0.05 +origin: [-45.050354, -43.236632, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map0.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba/map0.pgm new file mode 100644 index 0000000..54804db --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map0.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map0.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/map0.yaml new file mode 100644 index 0000000..def5cbe --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map0.yaml @@ -0,0 +1,6 @@ +image: ./map0.pgm +resolution: 0.1 +origin: [-110.8, -78.8, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map1.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba/map1.pgm new file mode 100644 index 0000000..06cbc76 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map1.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map1.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/map1.yaml new file mode 100644 index 0000000..1aeb63f --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map1.yaml @@ -0,0 +1,6 @@ +image: ./map1.pgm +resolution: 0.1 +origin: [-288.393131, -87.22861, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map2.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba/map2.pgm new file mode 100644 index 0000000..5ea407d --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map2.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map2.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/map2.yaml new file mode 100644 index 0000000..68c44ff --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map2.yaml @@ -0,0 +1,6 @@ +image: ./map2.pgm +resolution: 0.1 +origin: [-549.081788, -28.869566, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map3.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba/map3.pgm new file mode 100644 index 0000000..9aca87b --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map3.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map3.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/map3.yaml new file mode 100644 index 0000000..3afef19 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map3.yaml @@ -0,0 +1,6 @@ +image: ./map3.pgm +resolution: 0.1 +origin: [-602.157905, 58.832836, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map4.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba/map4.pgm new file mode 100644 index 0000000..7b3b926 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map4.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map4.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/map4.yaml new file mode 100644 index 0000000..375dcca --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map4.yaml @@ -0,0 +1,6 @@ +image: ./map4.pgm +resolution: 0.1 +origin: [-657.166625, 78.101689, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map5.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba/map5.pgm new file mode 100644 index 0000000..1e2877f --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map5.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map5.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/map5.yaml new file mode 100644 index 0000000..34a70da --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map5.yaml @@ -0,0 +1,6 @@ +image: ./map5.pgm +resolution: 0.1 +origin: [-636.88789, 228.367456, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map6.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba/map6.pgm new file mode 100644 index 0000000..5f3b43f --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map6.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map6.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/map6.yaml new file mode 100644 index 0000000..fa0a194 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map6.yaml @@ -0,0 +1,6 @@ +image: ./map6.pgm +resolution: 0.1 +origin: [-494.929449, 7.12399, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map7.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba/map7.pgm new file mode 100644 index 0000000..b18ad55 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map7.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/map7.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/map7.yaml new file mode 100644 index 0000000..6a019c7 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/map7.yaml @@ -0,0 +1,6 @@ +image: ./map7.pgm +resolution: 0.1 +origin: [-426.580826, -17.472845, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/merged_map_1-8.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba/merged_map_1-8.pgm new file mode 100644 index 0000000..e8e8688 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/merged_map_1-8.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/merged_map_1-8.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/merged_map_1-8.yaml new file mode 100644 index 0000000..74f5ce0 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/merged_map_1-8.yaml @@ -0,0 +1,6 @@ +image: ./merged_map_1-8.pgm +resolution: 0.1 +origin: [-657.166625164207, -87.22861015928396, 0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints.yaml new file mode 100644 index 0000000..693d4de --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints.yaml @@ -0,0 +1,433 @@ +waypoints: +- point: {x: 4.09724, y: 0.504168, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 16.659, y: 1.14789, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 20.5776, y: 1.30268, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 28.2563, y: 1.64634, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 38.1161, y: 1.91456, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 48.2937, y: 1.73542, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 55.5451, y: 1.66404, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 58.0735, y: 0.128874, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 61.313, y: -6.31239, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 64.9454, y: -14.2518, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 67.6144, y: -15.4014, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 70.316, y: -15.5441, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 74.2391, y: -15.3596, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 77.357, y: -15.2531, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 79.101358, y: -15.32212, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 80.470272, y: -16.227709, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 81.691765, y: -17.449202, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 83.0514, y: -18.1883, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 85.4238, y: -18.5438, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 87.9159, y: -17.5321, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 88.2617, y: -15.0813, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 88.16, y: -10.9362, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 88.0087, y: -6.39951, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 87.8094, y: -2.38376, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 87.683, y: 3.18917, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 84.1737, y: 4.69392, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 80.0329, y: 4.54753, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 74.1995, y: 2.24651, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 69.9941, y: -0.0748514, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 63.1423, y: -4.43719, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 59.449401, y: -7.597903, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 55.4954, y: -9.77409, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 51.7554, y: -10.206, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 48.1474, y: -10.3002, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 46.051, y: -11.3614, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 42.5089, y: -11.9516, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 37.4443, y: -12.0861, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 35.2285, y: -12.1586, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 33.8879, y: -14.2313, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 33.7788, y: -17.3731, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 32.519273, y: -19.091731, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 28.243205, y: -19.061404, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 23.785178, y: -19.00075, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 21.2425, y: -18.9706, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 19.1694, y: -19.0082, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 17.5523, y: -18.9316, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 15.426, y: -18.7627, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 12.495, y: -18.5628, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 10.0156, y: -18.6638, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 7.32172, y: -18.6572, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 6.06788, y: -21.9222, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 5.40629, y: -26.6174, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 0.550092, y: -27.6913, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -5.94073, y: -28.0941, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -10.5427, y: -28.3094, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -16.6638, y: -28.2209, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -23.255, y: -28.019, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -34.563433, y: -33.284636, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -43.9865, y: -35.5365, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -49.5035, y: -37.0547, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -59.2588, y: -38.328, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -65.997293, y: -37.687546, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -74.861316, y: -36.722816, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -78.968532, y: -36.718417, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -83.75627, y: -36.856869, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -88.925109, y: -36.80009, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -98.145582, y: -36.858084, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -105.729932, y: -37.112591, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -112.827094, y: -37.178238, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -119.614722, y: -36.806496, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -125.185643, y: -37.034113, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -136.390826, y: -39.014177, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -142.776059, y: -38.943692, z: 0, vel: 1, rad: 0.8, stop: true} +- point: {x: -151.30381, y: -38.555669, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -156.31217, y: -38.560155, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -163.008984, y: -38.679659, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -170.633876, y: -38.925466, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -178.163055, y: -39.056873, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -186.167354, y: -39.218148, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -192.194294, y: -37.156126, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -199.637462, y: -37.243308, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -206.68365, y: -37.172295, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -213.963337, y: -36.947721, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -219.989733, y: -36.657375, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -225.740345, y: -39.515697, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.145509, y: -33.082141, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -230.035577, y: -28.839193, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.883482, y: -23.875298, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.837519, y: -15.687723, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.753517, y: -7.754537, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.822194, y: -2.821888, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.724764, y: 1.391393, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.687153, y: 7.635213, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.532438, y: 11.101565, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.571416, y: 15.277872, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.641011, y: 22.795954, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.608802, y: 26.524621, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.84853, y: 32.493456, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -231.567279, y: 34.716681, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -231.672466, y: 37.262953, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -231.796547, y: 39.658066, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -232.198126, y: 41.696698, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -232.193767, y: 43.152423, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -233.670353, y: 45.568782, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -247.758964, y: 45.75834, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -250.321939, y: 42.876876, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -250.797814, y: 32.789915, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -253.5219939015618, y: 32.55980001412175, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -258.053394, y: 29.890619, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -264.168789, y: 29.17392, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -270.693645, y: 28.611301, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -277.691194, y: 28.668496, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -283.610716, y: 28.529514, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -288.410126, y: 28.1954, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -291.940999, y: 28.013434, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -299.442501, y: 27.529333, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -304.259884, y: 27.396202, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -311.681235, y: 26.983278, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -317.613147, y: 26.511184, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -319.976311, y: 26.535241, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -326.660905, y: 26.111805, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -332.427465, y: 25.81337, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -336.962273, y: 28.125288, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -344.737269, y: 28.01525, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -349.460252, y: 27.871153, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -356.480806, y: 27.908136, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -362.737053, y: 27.714504, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -372.583986, y: 27.593499, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -378.874107, y: 26.967331, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -382.138561, y: 26.787573, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -393.261261, y: 25.868445, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -401.538061, y: 25.44106, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -407.076689, y: 25.207773, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -415.964264, y: 24.658856, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -419.724021, y: 24.418726, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -424.37104, y: 24.352715, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -434.608025, y: 23.505254, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -442.741447, y: 22.684765, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -450.938911, y: 22.513319, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -458.383171, y: 22.127258, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -464.87087, y: 21.984709, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -468.132469, y: 21.626119, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -471.323492, y: 21.55016, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -474.336647, y: 21.889659, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -477.32265, y: 21.631686, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -481.47698, y: 21.16945, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -486.159348, y: 20.094339, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -490.825029, y: 19.257699, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -495.633463, y: 19.876072, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -500.004502, y: 19.663624, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -505.576354, y: 19.511281, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -510.23767, y: 18.403005, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -513.243141, y: 17.497047, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -518.04732, y: 17.25395, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -522.318997, y: 18.216145, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -523.181251, y: 21.720748, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -523.220418, y: 26.772257, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -523.730054, y: 31.445867, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -523.787967, y: 35.524397, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -523.605593, y: 40.106628, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -523.145867, y: 42.598064, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -522.391933, y: 43.761488, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -518.116883, y: 44.938371, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -512.948437, y: 45.116464, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -506.716044, y: 43.861395, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -500.243992, y: 46.981211, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -493.962431, y: 47.201147, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -488.787598, y: 47.437265, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -482.293905, y: 47.603487, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -475.602806, y: 47.550518, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -468.045147, y: 47.973646, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -462.835636, y: 48.192481, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -456.502336, y: 48.500156, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -451.722115, y: 48.901493, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -445.717969, y: 48.654826, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -441.602746, y: 48.754387, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -438.877463, y: 48.517506, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -432.316376, y: 49.179618, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -426.472211, y: 49.544632, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -419.409104, y: 50.203781, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -414.692869, y: 50.466941, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -410.344484, y: 50.498807, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -405.509605, y: 50.725226, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -399.29213, y: 50.99345, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -395.811454, y: 50.947499, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -391.480197, y: 51.048554, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -388.324064, y: 51.224959, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -383.675982, y: 50.912722, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.836947, y: 49.929266, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -377.70745, y: 52.005824, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -377.105479, y: 60.481631, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -376.2159677819452, y: 67.59687010838871, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -375.996853, y: 71.58048, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.816357, y: 74.785425, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.776873, y: 79.972962, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.784127, y: 83.324964, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.948441, y: 87.238649, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.878229, y: 93.223836, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.75997, y: 100.252255, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -376.124383, y: 104.698424, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -376.183786, y: 109.935906, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.966584, y: 115.373864, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -376.046354, y: 118.958734, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -376.041771, y: 123.005498, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.714012, y: 128.267064, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.761426, y: 131.831983, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -376.889254, y: 134.273015, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -379.594506, y: 135.135863, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -384.304822, y: 134.561862, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -388.666492, y: 135.025177, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -392.6819, y: 134.322875, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -396.752025, y: 134.188627, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -400.273072, y: 134.798615, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -404.957435, y: 134.349375, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -404.544916, y: 133.998821, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -409.164332, y: 133.857758, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -413.239594, y: 133.695817, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -416.906021, y: 133.46068, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -420.123743, y: 133.306324, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -426.270839, y: 133.578248, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -430.975705, y: 133.686245, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -437.040996, y: 133.57616, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -441.115877, y: 133.507738, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -443.508932, y: 133.334966, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -445.877453, y: 133.559804, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -450.496813, y: 133.656158, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -455.38663, y: 133.768045, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -460.454056, y: 133.458128, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -471.108747, y: 133.712433, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -474.453845, y: 133.777743, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -480.076059, y: 133.413976, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -483.066964, y: 133.308488, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -488.377362, y: 133.33122, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -491.634572, y: 133.459615, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -495.195347, y: 133.423018, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -498.54888, y: 133.45007, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -501.899703, y: 134.280135, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -506.267554, y: 134.827364, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -511.337918, y: 133.557358, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -515.911679, y: 133.469308, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -520.426659, y: 135.057578, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -524.680573, y: 135.221091, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -536.04867, y: 135.811884, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -547.472381, y: 135.240112, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -550.969299, y: 135.083822, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -560.372569, y: 134.952614, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -566.098996, y: 135.102915, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -571.366929, y: 133.532739, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -578.328994, y: 133.710034, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -584.532392, y: 135.903225, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -588.113016943929, y: 138.6890288736552, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -588.331708, y: 143.57969, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -588.1925, y: 151.281553, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -587.8078, y: 156.198734, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -587.546379, y: 159.623015, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -587.369936, y: 163.207274, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.917233, y: 167.0085, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.292124, y: 171.255572, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -585.889245, y: 176.106561, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -585.566909, y: 179.992549, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -585.570464, y: 184.540065, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -585.748241, y: 188.41317, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.184276, y: 195.07826, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.280951, y: 199.935042, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.517487, y: 206.929981, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.401481, y: 210.598052, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.140378, y: 215.167657, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.057455, y: 219.181678, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -585.502373, y: 222.531465, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -585.164629, y: 225.964978, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -584.347585, y: 230.585385, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -583.606556, y: 234.611835, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -583.474776, y: 239.329366, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -582.438094, y: 243.883497, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -582.091327, y: 249.375227, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -582.557588, y: 254.336429, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -582.623731, y: 259.121231, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -582.964634, y: 264.439564, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -583.422049, y: 269.12651, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -583.755804, y: 272.414019, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -583.940492, y: 277.146227, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -580.627806, y: 283.714641, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -576.0559809514564, y: 285.2703317825862, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -573.075933, y: 285.093309, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -569.988592, y: 284.872317, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -566.038931, y: 284.741812, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -561.868997, y: 284.819398, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -557.245158, y: 285.052837, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -553.389325, y: 285.274465, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -547.927148, y: 285.675653, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -543.416666, y: 286.015084, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -538.09366, y: 286.422658, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -533.572691, y: 286.784704, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -521.271306, y: 286.555602, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -513.1251, y: 286.316898, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -507.576925, y: 284.968568, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -502.382312, y: 283.789355, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -498.208397, y: 282.685349, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -493.823117, y: 281.168941, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -488.338555, y: 279.515963, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -484.480756, y: 278.283505, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -479.693158, y: 277.136477, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -474.348421, y: 275.488106, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -467.648385, y: 273.895523, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -462.782124, y: 272.702993, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -459.301545, y: 272.304816, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -453.756417, y: 271.26348, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -450.486863, y: 270.900851, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -445.902282, y: 270.452941, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -441.094023, y: 269.990981, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -436.081002, y: 269.816579, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -428.723764, y: 269.647211, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -423.756517, y: 268.784376, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -420.688955, y: 270.050477, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -415.208069, y: 271.091924, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -410.23734, y: 272.567077, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -405.905944, y: 273.709102, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -401.962293, y: 274.964927, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -396.32977, y: 276.821343, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -393.028625, y: 278.202785, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -388.942984, y: 279.854199, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -384.512765, y: 281.420118, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -379.038872, y: 283.324358, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -376.115856, y: 285.17159, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -374.796421, y: 287.388662, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -372.38757, y: 289.569926, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -369.787663, y: 288.797859, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -369.029482, y: 286.868456, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -368.6981904348235, y: 286.276039202593, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -366.266033, y: 285.933341, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -364.010266, y: 280.209593, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -361.658272, y: 275.512144, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -359.088463, y: 268.72635, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -358.374931, y: 265.329573, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -358.002303, y: 260.129191, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -357.47147, y: 256.50852, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -356.55101, y: 253.112803, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -356.153889, y: 250.200198, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -355.651569, y: 247.650533, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -354.864451, y: 244.671612, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -353.238155, y: 239.035868, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -351.894896, y: 235.519307, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -351.277427, y: 233.177347, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -350.946553, y: 229.801848, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -350.683078, y: 226.133751, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -350.564134, y: 223.198487, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -350.528974, y: 217.850372, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -350.440674, y: 214.431512, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -349.241184, y: 206.760217, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -348.657631, y: 201.590692, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -347.643705, y: 197.094937, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -346.265917, y: 193.221872, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -344.993631, y: 190.024301, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -342.680858, y: 187.656578, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -339.887049, y: 184.934261, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -336.803715, y: 182.414431, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -333.993515, y: 179.560741, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -330.937106, y: 177.12995, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -327.96705, y: 174.6574, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -324.396496, y: 171.420092, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -321.381022, y: 168.666823, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -318.338271, y: 165.606955, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -316.845623, y: 163.470909, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -314.497406, y: 160.53635, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.421064, y: 157.377361, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.133956, y: 153.911177, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.183707, y: 150.686645, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.04892, y: 146.247633, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.299389, y: 142.294269, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.275515, y: 137.473212, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.313543, y: 134.031663, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.484206, y: 129.982276, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.48693, y: 126.22412, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.372623, y: 122.081299, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.240626, y: 116.974682, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.27294, y: 113.786317, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -312.933365, y: 110.800943, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -312.497171, y: 104.562934, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -311.49725, y: 100.006785, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -310.852109, y: 96.24905, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -311.109968, y: 92.426833, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.342563, y: 89.550152, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -317.142428, y: 87.21735, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -320.610403, y: 85.441526, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -323.501186, y: 83.909183, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -327.76901, y: 83.196064, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -333.740903, y: 82.791991, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -338.198051, y: 81.496761, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -345.410371, y: 80.023559, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -351.202614, y: 79.144775, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -356.482275, y: 78.561014, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -360.825748, y: 78.012572, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -365.227869, y: 74.315571, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -368.242375, y: 71.528417, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -371.526422, y: 68.62204, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -373.862854, y: 65.891403, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -374.640398, y: 60.789682, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -374.770627, y: 51.83419, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -371.85616274612477, y: 50.237393713239555, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -365.912902, y: 50.52362, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -360.443096, y: 51.002397, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -355.702202, y: 50.882014, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -350.444363, y: 50.614426, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -347.362072, y: 50.445419, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -343.312114, y: 50.385851, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -339.569822, y: 50.229057, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -335.767565, y: 50.294344, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -331.627807, y: 49.844074, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -328.367714, y: 49.893125, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -324.907197, y: 49.839787, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -321.104036, y: 49.888902, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -317.59793, y: 49.984511, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -312.495078, y: 50.214162, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -308.624496, y: 50.203314, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -304.315952, y: 50.303436, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -299.628557, y: 50.490222, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -295.523471, y: 50.654075, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -292.317858, y: 50.669652, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -286.87384, y: 50.984882, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -282.841052, y: 51.035833, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -278.714567, y: 51.219971, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -272.352755, y: 51.522941, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -265.691339, y: 50.989949, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -262.040402, y: 49.718833, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -258.196389, y: 46.648063, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -253.695457, y: 43.868587, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -247.537074, y: 43.570474, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666500880.699932, frame_id: map} + pose: + position: {x: -247.50695196751968, y: 43.605969031972975, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.023773325930911925, w: 0.9997173745485184} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints0.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints0.yaml new file mode 100644 index 0000000..643c346 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints0.yaml @@ -0,0 +1,66 @@ +waypoints: +- point: {x: 4.09724, y: 0.504168, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 16.659, y: 1.14789, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 20.5776, y: 1.30268, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 28.2563, y: 1.64634, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 38.1161, y: 1.91456, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 48.2937, y: 1.73542, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 55.5451, y: 1.66404, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 58.0735, y: 0.128874, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 61.313, y: -6.31239, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 64.9454, y: -14.2518, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 67.6144, y: -15.4014, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 70.316, y: -15.5441, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 74.2391, y: -15.3596, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 77.357, y: -15.2531, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 79.101358, y: -15.32212, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 80.470272, y: -16.227709, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 81.691765, y: -17.449202, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 83.0514, y: -18.1883, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 85.4238, y: -18.5438, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 87.9159, y: -17.5321, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 88.2617, y: -15.0813, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 88.16, y: -10.9362, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 88.0087, y: -6.39951, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 87.8094, y: -2.38376, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 87.683, y: 3.18917, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 84.1737, y: 4.69392, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 80.0329, y: 4.54753, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 74.1995, y: 2.24651, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 69.9941, y: -0.0748514, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 63.1423, y: -4.43719, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 59.449401, y: -7.597903, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 55.4954, y: -9.77409, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 51.7554, y: -10.206, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 48.1474, y: -10.3002, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 46.051, y: -11.3614, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 42.5089, y: -11.9516, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 37.4443, y: -12.0861, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 35.2285, y: -12.1586, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 33.8879, y: -14.2313, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 33.7788, y: -17.3731, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 32.519273, y: -19.091731, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 28.243205, y: -19.061404, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 23.785178, y: -19.00075, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 21.2425, y: -18.9706, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 19.1694, y: -19.0082, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 17.5523, y: -18.9316, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 15.426, y: -18.7627, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 12.495, y: -18.5628, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 10.0156, y: -18.6638, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 7.32172, y: -18.6572, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 6.06788, y: -21.9222, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 5.40629, y: -26.6174, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: 0.550092, y: -27.6913, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -5.94073, y: -28.0941, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -10.5427, y: -28.3094, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -16.6638, y: -28.2209, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -23.255, y: -28.019, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -34.563433, y: -33.284636, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -43.9865, y: -35.5365, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -49.5035, y: -37.0547, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666489211.5504568, frame_id: map} + pose: + position: {x: -59.2588, y: -38.328, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.99999541274693, w: 0.00302894125019187} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints1.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints1.yaml new file mode 100644 index 0000000..61b4952 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints1.yaml @@ -0,0 +1,52 @@ +waypoints: +- point: {x: -65.997293, y: -37.687546, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -74.861316, y: -36.722816, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -78.968532, y: -36.718417, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -83.75627, y: -36.856869, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -88.925109, y: -36.80009, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -98.145582, y: -36.858084, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -105.729932, y: -37.112591, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -112.827094, y: -37.178238, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -119.614722, y: -36.806496, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -125.185643, y: -37.034113, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -136.390826, y: -39.014177, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -142.776059, y: -38.943692, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -151.30381, y: -38.555669, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -156.31217, y: -38.560155, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -163.008984, y: -38.679659, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -170.633876, y: -38.925466, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -178.163055, y: -39.056873, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -186.167354, y: -39.218148, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -192.194294, y: -37.156126, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -199.637462, y: -37.243308, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -206.68365, y: -37.172295, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -213.963337, y: -36.947721, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -219.989733, y: -36.657375, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -225.740345, y: -39.515697, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.145509, y: -33.082141, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -230.035577, y: -28.839193, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.883482, y: -23.875298, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.837519, y: -15.687723, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.753517, y: -7.754537, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.822194, y: -2.821888, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.724764, y: 1.391393, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.687153, y: 7.635213, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.532438, y: 11.101565, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.571416, y: 15.277872, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.641011, y: 22.795954, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.608802, y: 26.524621, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.84853, y: 32.493456, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -231.567279, y: 34.716681, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -231.672466, y: 37.262953, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -231.796547, y: 39.658066, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -232.198126, y: 41.696698, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -232.193767, y: 43.152423, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -233.670353, y: 45.568782, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -247.758964, y: 45.75834, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -250.321939, y: 42.876876, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -250.797814, y: 32.789915, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666494610.9868476, frame_id: map} + pose: + position: {x: -253.5219939015618, y: 32.55980001412175, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.9978975125513841, w: 0.06481168446939334} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints2.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints2.yaml new file mode 100644 index 0000000..11e34e2 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints2.yaml @@ -0,0 +1,89 @@ +waypoints: +- point: {x: -258.053394, y: 29.890619, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -264.168789, y: 29.17392, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -270.693645, y: 28.611301, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -277.691194, y: 28.668496, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -283.610716, y: 28.529514, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -288.410126, y: 28.1954, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -291.940999, y: 28.013434, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -299.442501, y: 27.529333, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -304.259884, y: 27.396202, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -311.681235, y: 26.983278, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -317.613147, y: 26.511184, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -319.976311, y: 26.535241, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -326.660905, y: 26.111805, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -332.427465, y: 25.81337, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -336.962273, y: 28.125288, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -344.737269, y: 28.01525, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -349.460252, y: 27.871153, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -356.480806, y: 27.908136, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -362.737053, y: 27.714504, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -372.583986, y: 27.593499, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -378.874107, y: 26.967331, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -382.138561, y: 26.787573, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -393.261261, y: 25.868445, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -401.538061, y: 25.44106, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -407.076689, y: 25.207773, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -415.964264, y: 24.658856, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -419.724021, y: 24.418726, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -424.37104, y: 24.352715, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -434.608025, y: 23.505254, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -442.741447, y: 22.684765, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -450.938911, y: 22.513319, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -458.383171, y: 22.127258, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -464.87087, y: 21.984709, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -468.132469, y: 21.626119, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -471.323492, y: 21.55016, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -474.336647, y: 21.889659, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -477.32265, y: 21.631686, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -481.47698, y: 21.16945, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -486.159348, y: 20.094339, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -490.825029, y: 19.257699, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -495.633463, y: 19.876072, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -500.004502, y: 19.663624, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -505.576354, y: 19.511281, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -510.23767, y: 18.403005, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -513.243141, y: 17.497047, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -518.04732, y: 17.25395, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -522.318997, y: 18.216145, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -523.181251, y: 21.720748, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -523.220418, y: 26.772257, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -523.730054, y: 31.445867, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -523.787967, y: 35.524397, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -523.605593, y: 40.106628, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -523.145867, y: 42.598064, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -522.391933, y: 43.761488, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -518.116883, y: 44.938371, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -512.948437, y: 45.116464, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -506.716044, y: 43.861395, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -500.243992, y: 46.981211, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -493.962431, y: 47.201147, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -488.787598, y: 47.437265, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -482.293905, y: 47.603487, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -475.602806, y: 47.550518, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -468.045147, y: 47.973646, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -462.835636, y: 48.192481, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -456.502336, y: 48.500156, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -451.722115, y: 48.901493, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -445.717969, y: 48.654826, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -441.602746, y: 48.754387, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -438.877463, y: 48.517506, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -432.316376, y: 49.179618, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -426.472211, y: 49.544632, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -419.409104, y: 50.203781, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -414.692869, y: 50.466941, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -410.344484, y: 50.498807, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -405.509605, y: 50.725226, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -399.29213, y: 50.99345, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -395.811454, y: 50.947499, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -391.480197, y: 51.048554, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -388.324064, y: 51.224959, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -383.675982, y: 50.912722, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.836947, y: 49.929266, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -377.70745, y: 52.005824, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -377.105479, y: 60.481631, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666496150.059658, frame_id: map} + pose: + position: {x: -376.2159677819452, y: 67.59687010838871, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.6407727364090109, w: 0.7677306169972045} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints3.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints3.yaml new file mode 100644 index 0000000..a51e8ff --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints3.yaml @@ -0,0 +1,64 @@ +waypoints: +- point: {x: -375.996853, y: 71.58048, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.816357, y: 74.785425, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.776873, y: 79.972962, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.784127, y: 83.324964, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.948441, y: 87.238649, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.878229, y: 93.223836, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.75997, y: 100.252255, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -376.124383, y: 104.698424, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -376.183786, y: 109.935906, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.966584, y: 115.373864, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -376.046354, y: 118.958734, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -376.041771, y: 123.005498, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.714012, y: 128.267064, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.761426, y: 131.831983, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -376.889254, y: 134.273015, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -379.594506, y: 135.135863, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -384.304822, y: 134.561862, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -388.666492, y: 135.025177, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -392.6819, y: 134.322875, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -396.752025, y: 134.188627, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -400.273072, y: 134.798615, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -404.957435, y: 134.349375, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -404.544916, y: 133.998821, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -409.164332, y: 133.857758, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -413.239594, y: 133.695817, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -416.906021, y: 133.46068, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -420.123743, y: 133.306324, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -426.270839, y: 133.578248, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -430.975705, y: 133.686245, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -437.040996, y: 133.57616, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -441.115877, y: 133.507738, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -443.508932, y: 133.334966, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -445.877453, y: 133.559804, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -450.496813, y: 133.656158, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -455.38663, y: 133.768045, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -460.454056, y: 133.458128, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -471.108747, y: 133.712433, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -474.453845, y: 133.777743, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -480.076059, y: 133.413976, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -483.066964, y: 133.308488, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -488.377362, y: 133.33122, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -491.634572, y: 133.459615, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -495.195347, y: 133.423018, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -498.54888, y: 133.45007, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -501.899703, y: 134.280135, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -506.267554, y: 134.827364, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -511.337918, y: 133.557358, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -515.911679, y: 133.469308, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -520.426659, y: 135.057578, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -524.680573, y: 135.221091, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -536.04867, y: 135.811884, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -547.472381, y: 135.240112, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -550.969299, y: 135.083822, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -560.372569, y: 134.952614, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -566.098996, y: 135.102915, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -571.366929, y: 133.532739, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -578.328994, y: 133.710034, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -584.532392, y: 135.903225, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666497569.7515693, frame_id: map} + pose: + position: {x: -588.113016943929, y: 138.6890288736552, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.6952399520376623, w: 0.718777718832929} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints4.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints4.yaml new file mode 100644 index 0000000..03dc0b7 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints4.yaml @@ -0,0 +1,37 @@ +waypoints: +- point: {x: -588.331708, y: 143.57969, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -588.1925, y: 151.281553, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -587.8078, y: 156.198734, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -587.546379, y: 159.623015, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -587.369936, y: 163.207274, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.917233, y: 167.0085, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.292124, y: 171.255572, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -585.889245, y: 176.106561, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -585.566909, y: 179.992549, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -585.570464, y: 184.540065, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -585.748241, y: 188.41317, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.184276, y: 195.07826, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.280951, y: 199.935042, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.517487, y: 206.929981, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.401481, y: 210.598052, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.140378, y: 215.167657, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -586.057455, y: 219.181678, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -585.502373, y: 222.531465, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -585.164629, y: 225.964978, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -584.347585, y: 230.585385, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -583.606556, y: 234.611835, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -583.474776, y: 239.329366, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -582.438094, y: 243.883497, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -582.091327, y: 249.375227, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -582.557588, y: 254.336429, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -582.623731, y: 259.121231, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -582.964634, y: 264.439564, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -583.422049, y: 269.12651, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -583.755804, y: 272.414019, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -583.940492, y: 277.146227, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -580.627806, y: 283.714641, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666498137.866959, frame_id: map} + pose: + position: {x: -576.0559809514564, y: 285.2703317825862, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.9986561204160153, w: 0.051826182144097996} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints5.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints5.yaml new file mode 100644 index 0000000..83781e5 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints5.yaml @@ -0,0 +1,51 @@ +waypoints: +- point: {x: -573.075933, y: 285.093309, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -569.988592, y: 284.872317, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -566.038931, y: 284.741812, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -561.868997, y: 284.819398, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -557.245158, y: 285.052837, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -553.389325, y: 285.274465, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -547.927148, y: 285.675653, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -543.416666, y: 286.015084, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -538.09366, y: 286.422658, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -533.572691, y: 286.784704, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -521.271306, y: 286.555602, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -513.1251, y: 286.316898, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -507.576925, y: 284.968568, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -502.382312, y: 283.789355, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -498.208397, y: 282.685349, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -493.823117, y: 281.168941, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -488.338555, y: 279.515963, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -484.480756, y: 278.283505, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -479.693158, y: 277.136477, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -474.348421, y: 275.488106, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -467.648385, y: 273.895523, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -462.782124, y: 272.702993, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -459.301545, y: 272.304816, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -453.756417, y: 271.26348, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -450.486863, y: 270.900851, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -445.902282, y: 270.452941, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -441.094023, y: 269.990981, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -436.081002, y: 269.816579, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -428.723764, y: 269.647211, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -423.756517, y: 268.784376, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -420.688955, y: 270.050477, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -415.208069, y: 271.091924, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -410.23734, y: 272.567077, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -405.905944, y: 273.709102, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -401.962293, y: 274.964927, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -396.32977, y: 276.821343, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -393.028625, y: 278.202785, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -388.942984, y: 279.854199, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -384.512765, y: 281.420118, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -379.038872, y: 283.324358, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -376.115856, y: 285.17159, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -374.796421, y: 287.388662, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -372.38757, y: 289.569926, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -369.787663, y: 288.797859, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -369.029482, y: 286.868456, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666498996.6713529, frame_id: map} + pose: + position: {x: -368.6981904348235, y: 286.276039202593, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.6497142633806916, w: 0.7601785158498531} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints6.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints6.yaml new file mode 100644 index 0000000..95d81e4 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints6.yaml @@ -0,0 +1,75 @@ +waypoints: +- point: {x: -366.266033, y: 285.933341, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -364.010266, y: 280.209593, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -361.658272, y: 275.512144, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -359.088463, y: 268.72635, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -358.374931, y: 265.329573, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -358.002303, y: 260.129191, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -357.47147, y: 256.50852, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -356.55101, y: 253.112803, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -356.153889, y: 250.200198, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -355.651569, y: 247.650533, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -354.864451, y: 244.671612, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -353.238155, y: 239.035868, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -351.894896, y: 235.519307, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -351.277427, y: 233.177347, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -350.946553, y: 229.801848, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -350.683078, y: 226.133751, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -350.564134, y: 223.198487, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -350.528974, y: 217.850372, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -350.440674, y: 214.431512, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -349.241184, y: 206.760217, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -348.657631, y: 201.590692, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -347.643705, y: 197.094937, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -346.265917, y: 193.221872, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -344.993631, y: 190.024301, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -342.680858, y: 187.656578, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -339.887049, y: 184.934261, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -336.803715, y: 182.414431, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -333.993515, y: 179.560741, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -330.937106, y: 177.12995, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -327.96705, y: 174.6574, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -324.396496, y: 171.420092, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -321.381022, y: 168.666823, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -318.338271, y: 165.606955, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -316.845623, y: 163.470909, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -314.497406, y: 160.53635, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.421064, y: 157.377361, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.133956, y: 153.911177, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.183707, y: 150.686645, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.04892, y: 146.247633, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.299389, y: 142.294269, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.275515, y: 137.473212, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.313543, y: 134.031663, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.484206, y: 129.982276, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.48693, y: 126.22412, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.372623, y: 122.081299, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.240626, y: 116.974682, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.27294, y: 113.786317, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -312.933365, y: 110.800943, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -312.497171, y: 104.562934, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -311.49725, y: 100.006785, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -310.852109, y: 96.24905, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -311.109968, y: 92.426833, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -313.342563, y: 89.550152, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -317.142428, y: 87.21735, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -320.610403, y: 85.441526, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -323.501186, y: 83.909183, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -327.76901, y: 83.196064, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -333.740903, y: 82.791991, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -338.198051, y: 81.496761, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -345.410371, y: 80.023559, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -351.202614, y: 79.144775, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -356.482275, y: 78.561014, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -360.825748, y: 78.012572, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -365.227869, y: 74.315571, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -368.242375, y: 71.528417, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -371.526422, y: 68.62204, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -373.862854, y: 65.891403, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -374.640398, y: 60.789682, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -374.770627, y: 51.83419, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666500443.4820855, frame_id: map} + pose: + position: {x: -371.85616274612477, y: 50.237393713239555, z: 0} + orientation: {x: -0.0, y: 0.0, z: -0.03354948946468183, w: 0.9994370574261588} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints7.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints7.yaml new file mode 100644 index 0000000..c4201ea --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba/waypoints7.yaml @@ -0,0 +1,34 @@ +waypoints: +- point: {x: -365.912902, y: 50.52362, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -360.443096, y: 51.002397, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -355.702202, y: 50.882014, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -350.444363, y: 50.614426, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -347.362072, y: 50.445419, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -343.312114, y: 50.385851, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -339.569822, y: 50.229057, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -335.767565, y: 50.294344, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -331.627807, y: 49.844074, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -328.367714, y: 49.893125, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -324.907197, y: 49.839787, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -321.104036, y: 49.888902, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -317.59793, y: 49.984511, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -312.495078, y: 50.214162, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -308.624496, y: 50.203314, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -304.315952, y: 50.303436, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -299.628557, y: 50.490222, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -295.523471, y: 50.654075, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -292.317858, y: 50.669652, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -286.87384, y: 50.984882, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -282.841052, y: 51.035833, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -278.714567, y: 51.219971, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -272.352755, y: 51.522941, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -265.691339, y: 50.989949, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -262.040402, y: 49.718833, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -258.196389, y: 46.648063, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -253.695457, y: 43.868587, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -247.537074, y: 43.570474, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666500880.699932, frame_id: map} + pose: + position: {x: -247.50695196751968, y: 43.605969031972975, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.023773325930911925, w: 0.9997173745485184} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_2/map0.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba_2/map0.pgm new file mode 100644 index 0000000..73e0ac3 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_2/map0.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_2/map0.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_2/map0.yaml new file mode 100644 index 0000000..9b76850 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_2/map0.yaml @@ -0,0 +1,6 @@ +image: ./map0.pgm +resolution: 0.1 +origin: [-143.81257306980442, -82.64700016075858, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_2/map1.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba_2/map1.pgm new file mode 100644 index 0000000..9ada042 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_2/map1.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_2/map1.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_2/map1.yaml new file mode 100644 index 0000000..1aeb63f --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_2/map1.yaml @@ -0,0 +1,6 @@ +image: ./map1.pgm +resolution: 0.1 +origin: [-288.393131, -87.22861, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_2/mymap_tsukuba_2_rect.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba_2/mymap_tsukuba_2_rect.pgm new file mode 100644 index 0000000..06cbc76 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_2/mymap_tsukuba_2_rect.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_2/mymap_tsukuba_2_rect.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_2/mymap_tsukuba_2_rect.yaml new file mode 100644 index 0000000..3c7203e --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_2/mymap_tsukuba_2_rect.yaml @@ -0,0 +1,6 @@ +image: ./mymap_tsukuba_2_rect.pgm +resolution: 0.1 +origin: [-288.3931311734531, -87.22861015928352, 0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_2/waypoints0.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_2/waypoints0.yaml new file mode 100644 index 0000000..da0f96f --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_2/waypoints0.yaml @@ -0,0 +1,17 @@ +waypoints: +- point: {x: -65.997293, y: -37.687546, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -74.861316, y: -36.722816, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -78.968532, y: -36.718417, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -83.75627, y: -36.856869, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -88.925109, y: -36.80009, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -98.145582, y: -36.858084, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -105.729932, y: -37.112591, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -112.827094, y: -37.178238, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -119.614722, y: -36.806496, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -125.185643, y: -37.034113, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -136.390826, y: -39.014177, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666494610.9868476, frame_id: map} + pose: + position: {x: -142.776059, y: -38.943692, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.9995130260489076, w: 0.031204338777736002} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_2/waypoints1.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_2/waypoints1.yaml new file mode 100644 index 0000000..3be7448 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_2/waypoints1.yaml @@ -0,0 +1,40 @@ +waypoints: +- point: {x: -151.30381, y: -38.555669, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -156.31217, y: -38.560155, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -163.008984, y: -38.679659, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -170.633876, y: -38.925466, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -178.163055, y: -39.056873, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -186.167354, y: -39.218148, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -192.194294, y: -37.156126, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -199.637462, y: -37.243308, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -206.68365, y: -37.172295, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -213.963337, y: -36.947721, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -219.989733, y: -36.657375, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -225.740345, y: -39.515697, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.145509, y: -33.082141, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -230.035577, y: -28.839193, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.883482, y: -23.875298, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.837519, y: -15.687723, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.753517, y: -7.754537, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.822194, y: -2.821888, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.724764, y: 1.391393, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.687153, y: 7.635213, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.532438, y: 11.101565, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.571416, y: 15.277872, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.641011, y: 22.795954, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.608802, y: 26.524621, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.84853, y: 32.493456, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -231.567279, y: 34.716681, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -231.672466, y: 37.262953, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -231.796547, y: 39.658066, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -232.198126, y: 41.696698, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -232.193767, y: 43.152423, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -233.670353, y: 45.568782, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -247.758964, y: 45.75834, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -250.321939, y: 42.876876, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -250.797814, y: 32.789915, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666494610.9868476, frame_id: map} + pose: + position: {x: -253.5219939015618, y: 32.55980001412175, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.9978975125513841, w: 0.06481168446939334} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_2/waypoints_tsukuba_2.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_2/waypoints_tsukuba_2.yaml new file mode 100644 index 0000000..60ad550 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_2/waypoints_tsukuba_2.yaml @@ -0,0 +1,52 @@ +waypoints: +- point: {x: -65.997293, y: -37.687546, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -74.861316, y: -36.722816, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -78.968532, y: -36.718417, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -83.75627, y: -36.856869, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -88.925109, y: -36.80009, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -98.145582, y: -36.858084, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -105.729932, y: -37.112591, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -112.827094, y: -37.178238, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -119.614722, y: -36.806496, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -125.185643, y: -37.034113, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -136.390826, y: -39.014177, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -142.776059, y: -38.943692, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -151.30381, y: -38.555669, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -156.31217, y: -38.560155, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -163.008984, y: -38.679659, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -170.633876, y: -38.925466, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -178.163055, y: -39.056873, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -186.167354, y: -39.218148, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -192.194294, y: -37.156126, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -199.637462, y: -37.243308, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -206.68365, y: -37.172295, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -213.963337, y: -36.947721, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -219.989733, y: -36.657375, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -225.740345, y: -39.515697, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.145509, y: -33.082141, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -230.035577, y: -28.839193, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.883482, y: -23.875298, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.837519, y: -15.687723, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.753517, y: -7.754537, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.822194, y: -2.821888, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.724764, y: 1.391393, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.687153, y: 7.635213, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.532438, y: 11.101565, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.571416, y: 15.277872, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.641011, y: 22.795954, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.608802, y: 26.524621, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -229.84853, y: 32.493456, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -231.567279, y: 34.716681, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -231.672466, y: 37.262953, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -231.796547, y: 39.658066, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -232.198126, y: 41.696698, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -232.193767, y: 43.152423, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -233.670353, y: 45.568782, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -247.758964, y: 45.75834, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -250.321939, y: 42.876876, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -250.797814, y: 32.789915, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666494610.9868476, frame_id: map} + pose: + position: {x: -253.5219939015618, y: 32.55980001412175, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.9978975125513841, w: 0.06481168446939334} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_3/map0.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba_3/map0.pgm new file mode 100644 index 0000000..310a554 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_3/map0.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_3/map0.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_3/map0.yaml new file mode 100644 index 0000000..474ea4a --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_3/map0.yaml @@ -0,0 +1,6 @@ +image: ./map0.pgm +resolution: 0.1 +origin: [-324.65831122520103, -15.237809571939238, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_3/map1.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba_3/map1.pgm new file mode 100644 index 0000000..b4194c2 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_3/map1.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_3/map1.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_3/map1.yaml new file mode 100644 index 0000000..a92aa98 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_3/map1.yaml @@ -0,0 +1,6 @@ +image: ./map1.pgm +resolution: 0.1 +origin: [-550.664972, -29.044655, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_3/map2.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba_3/map2.pgm new file mode 100644 index 0000000..8b496ef --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_3/map2.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_3/map2.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_3/map2.yaml new file mode 100644 index 0000000..1d8ba4d --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_3/map2.yaml @@ -0,0 +1,6 @@ +image: ./map2.pgm +resolution: 0.1 +origin: [-550.331199, 30.543284, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_3/mymap_tsukuba_3_rect.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba_3/mymap_tsukuba_3_rect.pgm new file mode 100644 index 0000000..9811ff0 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_3/mymap_tsukuba_3_rect.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_3/mymap_tsukuba_3_rect.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_3/mymap_tsukuba_3_rect.yaml new file mode 100644 index 0000000..b19c837 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_3/mymap_tsukuba_3_rect.yaml @@ -0,0 +1,6 @@ +image: ./mymap_tsukuba_3_rect.pgm +resolution: 0.1 +origin: [-550.6649715593369, -29.044654528977503, 0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_3/waypoints0.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_3/waypoints0.yaml new file mode 100644 index 0000000..1e21803 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_3/waypoints0.yaml @@ -0,0 +1,17 @@ +waypoints: +- point: {x: -261.084644, y: 25.106299, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -267.210686, y: 24.487174, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -273.743682, y: 24.028638, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -280.73943, y: 24.197371, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -286.660415, y: 24.152768, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -291.464542, y: 23.895203, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -294.997867, y: 23.769544, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -302.506132, y: 23.405084, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -307.325026, y: 23.348762, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -314.752016, y: 23.054192, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -320.6907, y: 22.676717, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666496150.059658, frame_id: map} + pose: + position: {x: -323.05318, y: 22.738441, z: 0} + orientation: {x: 0.0, y: 0.0, z: 1.0, w: 6.123233995736766e-17} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_3/waypoints1.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_3/waypoints1.yaml new file mode 100644 index 0000000..99a7b41 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_3/waypoints1.yaml @@ -0,0 +1,46 @@ +waypoints: +- point: {x: -329.743674, y: 22.421616, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -335.514259, y: 22.215142, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -340.011637, y: 24.599054, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -347.787399, y: 24.612969, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -352.512079, y: 24.544178, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -359.531152, y: 24.693069, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -365.78969, y: 24.599191, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.637301, y: 24.635168, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -381.936604, y: 24.109348, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -385.203509, y: 23.981651, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -396.339447, y: 23.239943, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -404.622009, y: 22.94455, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -410.163652, y: 22.799583, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -419.058847, y: 22.392409, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -422.821955, y: 22.212243, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -427.469435, y: 22.220317, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -437.718629, y: 21.536149, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -445.864096, y: 20.845416, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -454.063252, y: 20.804665, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -461.51272, y: 20.53732, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -468.001867, y: 20.498208, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -471.268768, y: 20.191655, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -474.460596, y: 20.166573, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -477.467957, y: 20.554061, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -480.457692, y: 20.343719, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -484.618863, y: 19.947765, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -489.317774, y: 18.947431, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -493.996199, y: 18.185271, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -498.794164, y: 18.880216, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -503.168035, y: 18.737472, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -508.741607, y: 18.673968, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -513.419998, y: 17.640137, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -516.439528, y: 16.782203, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -521.246972, y: 16.615719, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -525.502768, y: 17.645885, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -526.309047, y: 21.163788, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -526.267684, y: 26.21528, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -526.702755, y: 30.89642, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -526.695646, y: 34.975355, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -526.440251, y: 39.554096, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666496150.059658, frame_id: map} + pose: + position: {x: -525.9408683028532, y: 42.03788778419087, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.6963984346067804, w: 0.7176553631634238} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_3/waypoints2.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_3/waypoints2.yaml new file mode 100644 index 0000000..162c0f4 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_3/waypoints2.yaml @@ -0,0 +1,36 @@ +waypoints: +- point: {x: -525.168484, y: 43.189145, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -520.875217, y: 44.297732, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -515.704589, y: 44.393413, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -509.492995, y: 43.039155, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -502.972033, y: 46.055406, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -496.687764, y: 46.175181, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -491.509825, y: 46.328779, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -485.014307, y: 46.391466, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -478.324903, y: 46.231843, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -470.761459, y: 46.534443, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -465.549122, y: 46.670207, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -459.211722, y: 46.876885, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -454.425711, y: 47.201971, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -448.426259, y: 46.859625, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -444.309972, y: 46.893574, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -441.588812, y: 46.61328, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -435.018004, y: 47.17072, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -429.168763, y: 47.442527, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -422.096046, y: 47.989002, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -417.376215, y: 48.176948, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -413.027875, y: 48.139494, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -408.190001, y: 48.288813, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -401.96904, y: 48.457892, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -398.489539, y: 48.356462, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -394.157221, y: 48.388461, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -390.998677, y: 48.514533, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -386.356163, y: 48.128242, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -383.533166, y: 47.099655, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.370965, y: 49.126063, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -379.63396, y: 57.591197, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666496150.059658, frame_id: map} + pose: + position: {x: -378.63113989298256, y: 64.69135239689587, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.6346331075746171, w: 0.7728135731016792} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_3/waypoints_tsukuba_3.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_3/waypoints_tsukuba_3.yaml new file mode 100644 index 0000000..4de40e7 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_3/waypoints_tsukuba_3.yaml @@ -0,0 +1,89 @@ +waypoints: +- point: {x: -261.084644, y: 25.106299, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -267.210686, y: 24.487174, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -273.743682, y: 24.028638, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -280.73943, y: 24.197371, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -286.660415, y: 24.152768, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -291.464542, y: 23.895203, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -294.997867, y: 23.769544, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -302.506132, y: 23.405084, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -307.325026, y: 23.348762, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -314.752016, y: 23.054192, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -320.6907, y: 22.676717, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -323.05318, y: 22.738441, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -329.743674, y: 22.421616, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -335.514259, y: 22.215142, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -340.011637, y: 24.599054, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -347.787399, y: 24.612969, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -352.512079, y: 24.544178, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -359.531152, y: 24.693069, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -365.78969, y: 24.599191, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -375.637301, y: 24.635168, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -381.936604, y: 24.109348, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -385.203509, y: 23.981651, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -396.339447, y: 23.239943, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -404.622009, y: 22.94455, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -410.163652, y: 22.799583, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -419.058847, y: 22.392409, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -422.821955, y: 22.212243, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -427.469435, y: 22.220317, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -437.718629, y: 21.536149, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -445.864096, y: 20.845416, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -454.063252, y: 20.804665, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -461.51272, y: 20.53732, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -468.001867, y: 20.498208, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -471.268768, y: 20.191655, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -474.460596, y: 20.166573, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -477.467957, y: 20.554061, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -480.457692, y: 20.343719, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -484.618863, y: 19.947765, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -489.317774, y: 18.947431, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -493.996199, y: 18.185271, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -498.794164, y: 18.880216, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -503.168035, y: 18.737472, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -508.741607, y: 18.673968, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -513.419998, y: 17.640137, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -516.439528, y: 16.782203, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -521.246972, y: 16.615719, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -525.502768, y: 17.645885, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -526.309047, y: 21.163788, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -526.267684, y: 26.21528, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -526.702755, y: 30.89642, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -526.695646, y: 34.975355, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -526.440251, y: 39.554096, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -525.9408683028532, y: 42.03788778419087, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -525.168484, y: 43.189145, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -520.875217, y: 44.297732, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -515.704589, y: 44.393413, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -509.492995, y: 43.039155, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -502.972033, y: 46.055406, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -496.687764, y: 46.175181, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -491.509825, y: 46.328779, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -485.014307, y: 46.391466, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -478.324903, y: 46.231843, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -470.761459, y: 46.534443, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -465.549122, y: 46.670207, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -459.211722, y: 46.876885, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -454.425711, y: 47.201971, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -448.426259, y: 46.859625, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -444.309972, y: 46.893574, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -441.588812, y: 46.61328, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -435.018004, y: 47.17072, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -429.168763, y: 47.442527, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -422.096046, y: 47.989002, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -417.376215, y: 48.176948, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -413.027875, y: 48.139494, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -408.190001, y: 48.288813, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -401.96904, y: 48.457892, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -398.489539, y: 48.356462, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -394.157221, y: 48.388461, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -390.998677, y: 48.514533, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -386.356163, y: 48.128242, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -383.533166, y: 47.099655, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.370965, y: 49.126063, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -379.63396, y: 57.591197, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666496150.059658, frame_id: map} + pose: + position: {x: -378.63113989298256, y: 64.69135239689587, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.6346331075746171, w: 0.7728135731016792} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_4/map0.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba_4/map0.pgm new file mode 100644 index 0000000..f65804f --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_4/map0.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_4/map0.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_4/map0.yaml new file mode 100644 index 0000000..6922558 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_4/map0.yaml @@ -0,0 +1,6 @@ +image: ./map0.pgm +resolution: 0.1 +origin: [-411.71522742895434, 58.956719886505816, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_4/map1.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba_4/map1.pgm new file mode 100644 index 0000000..65347b1 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_4/map1.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_4/map1.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_4/map1.yaml new file mode 100644 index 0000000..a25d744 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_4/map1.yaml @@ -0,0 +1,6 @@ +image: ./map1.pgm +resolution: 0.1 +origin: [-449.340049, 128.403487, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_4/map2.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba_4/map2.pgm new file mode 100644 index 0000000..444bbaf --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_4/map2.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_4/map2.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_4/map2.yaml new file mode 100644 index 0000000..f7570f0 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_4/map2.yaml @@ -0,0 +1,6 @@ +image: ./map2.pgm +resolution: 0.1 +origin: [-606.555774, 117.492454, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_4/mymap_tsukuba_4_rect.pgm b/src/tsukuba2022/multimaps/tmp/tsukuba_4/mymap_tsukuba_4_rect.pgm new file mode 100644 index 0000000..9aca87b --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_4/mymap_tsukuba_4_rect.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_4/mymap_tsukuba_4_rect.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_4/mymap_tsukuba_4_rect.yaml new file mode 100644 index 0000000..6dd4beb --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_4/mymap_tsukuba_4_rect.yaml @@ -0,0 +1,6 @@ +image: ./mymap_tsukuba_4_rect.pgm +resolution: 0.1 +origin: [-606.5557738478564, 58.956719886505816, 0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_4/waypoints0.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_4/waypoints0.yaml new file mode 100644 index 0000000..3881b53 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_4/waypoints0.yaml @@ -0,0 +1,27 @@ +waypoints: +- point: {x: -380.394722, y: 71.704364, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.214226, y: 74.909309, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.174742, y: 80.096846, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.181996, y: 83.448848, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.34631, y: 87.362533, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.276098, y: 93.34772, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.157839, y: 100.376139, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.522252, y: 104.822308, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.581655, y: 110.05979, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.364453, y: 115.497748, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.444223, y: 119.082618, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.43964, y: 123.129382, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.111881, y: 128.390948, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.159295, y: 131.955867, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -381.287123, y: 134.396899, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -383.992375, y: 135.259747, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -388.702691, y: 134.685746, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -393.064361, y: 135.149061, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -397.079769, y: 134.446759, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -401.149894, y: 134.312511, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -404.670941, y: 134.922499, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666497569.7515693, frame_id: map} + pose: + position: {x: -409.355304, y: 134.473259, z: 0} + orientation: {x: 0.0, y: 0.0, z: 1.0, w: 6.123233995736766e-17} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_4/waypoints1.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_4/waypoints1.yaml new file mode 100644 index 0000000..cd28e84 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_4/waypoints1.yaml @@ -0,0 +1,15 @@ +waypoints: +- point: {x: -408.942785, y: 134.122705, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -413.562201, y: 133.981642, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -417.637463, y: 133.819701, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -421.30389, y: 133.584564, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -424.521612, y: 133.430208, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -430.668708, y: 133.702132, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -435.373574, y: 133.810129, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -441.438865, y: 133.700044, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -445.513746, y: 133.631622, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666497569.7515693, frame_id: map} + pose: + position: {x: -447.90680120213875, y: 133.45884979262743, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.9992669478249188, w: 0.03828272436323098} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_4/waypoints2.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_4/waypoints2.yaml new file mode 100644 index 0000000..0b49634 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_4/waypoints2.yaml @@ -0,0 +1,32 @@ +waypoints: +- point: {x: -450.275322, y: 133.683688, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -454.894682, y: 133.780042, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -459.784499, y: 133.891929, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -464.851925, y: 133.582012, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -475.506616, y: 133.836317, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -478.851714, y: 133.901627, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -484.473928, y: 133.53786, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -487.464833, y: 133.432372, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -492.775231, y: 133.455104, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -496.032441, y: 133.583499, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -499.593216, y: 133.546902, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -502.946749, y: 133.573954, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -506.297572, y: 134.404019, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -510.665423, y: 134.951248, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -515.735787, y: 133.681242, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -520.309548, y: 133.593192, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -524.824528, y: 135.181462, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -529.078442, y: 135.344975, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -540.446539, y: 135.935768, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -551.87025, y: 135.363996, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -555.367168, y: 135.207706, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -564.770438, y: 135.076498, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -570.496865, y: 135.226799, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -575.764798, y: 133.656623, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -582.726863, y: 133.833918, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -588.930261, y: 136.027109, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666497569.7515693, frame_id: map} + pose: + position: {x: -592.510885943929, y: 138.8129128736552, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.6952399520376622, w: 0.718777718832929} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tmp/tsukuba_4/waypoints_tsukuba_4.yaml b/src/tsukuba2022/multimaps/tmp/tsukuba_4/waypoints_tsukuba_4.yaml new file mode 100644 index 0000000..d8d0df5 --- /dev/null +++ b/src/tsukuba2022/multimaps/tmp/tsukuba_4/waypoints_tsukuba_4.yaml @@ -0,0 +1,64 @@ +waypoints: +- point: {x: -380.394722, y: 71.704364, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.214226, y: 74.909309, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.174742, y: 80.096846, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.181996, y: 83.448848, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.34631, y: 87.362533, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.276098, y: 93.34772, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.157839, y: 100.376139, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.522252, y: 104.822308, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.581655, y: 110.05979, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.364453, y: 115.497748, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.444223, y: 119.082618, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.43964, y: 123.129382, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.111881, y: 128.390948, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -380.159295, y: 131.955867, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -381.287123, y: 134.396899, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -383.992375, y: 135.259747, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -388.702691, y: 134.685746, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -393.064361, y: 135.149061, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -397.079769, y: 134.446759, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -401.149894, y: 134.312511, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -404.670941, y: 134.922499, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -409.355304, y: 134.473259, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -408.942785, y: 134.122705, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -413.562201, y: 133.981642, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -417.637463, y: 133.819701, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -421.30389, y: 133.584564, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -424.521612, y: 133.430208, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -430.668708, y: 133.702132, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -435.373574, y: 133.810129, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -441.438865, y: 133.700044, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -445.513746, y: 133.631622, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -447.90680120213875, y: 133.45884979262743, z: 0, vel: 1, rad: 0.8, stop: true, change_map: true} +- point: {x: -450.275322, y: 133.683688, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -454.894682, y: 133.780042, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -459.784499, y: 133.891929, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -464.851925, y: 133.582012, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -475.506616, y: 133.836317, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -478.851714, y: 133.901627, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -484.473928, y: 133.53786, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -487.464833, y: 133.432372, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -492.775231, y: 133.455104, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -496.032441, y: 133.583499, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -499.593216, y: 133.546902, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -502.946749, y: 133.573954, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -506.297572, y: 134.404019, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -510.665423, y: 134.951248, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -515.735787, y: 133.681242, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -520.309548, y: 133.593192, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -524.824528, y: 135.181462, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -529.078442, y: 135.344975, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -540.446539, y: 135.935768, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -551.87025, y: 135.363996, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -555.367168, y: 135.207706, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -564.770438, y: 135.076498, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -570.496865, y: 135.226799, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -575.764798, y: 133.656623, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -582.726863, y: 133.833918, z: 0, vel: 1, rad: 0.8, stop: false} +- point: {x: -588.930261, y: 136.027109, z: 0, vel: 1, rad: 0.8, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666497569.7515693, frame_id: map} + pose: + position: {x: -592.510885943929, y: 138.8129128736552, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.6952399520376622, w: 0.718777718832929} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map0.pgm b/src/tsukuba2022/multimaps/tsukuba-distorted/map0.pgm new file mode 100644 index 0000000..63f643f --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map0.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map0.yaml b/src/tsukuba2022/multimaps/tsukuba-distorted/map0.yaml new file mode 100644 index 0000000..959583b --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map0.yaml @@ -0,0 +1,6 @@ +image: ./map0.pgm +resolution: 0.1 +origin: [-110.8, -78.8, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map1.pgm b/src/tsukuba2022/multimaps/tsukuba-distorted/map1.pgm new file mode 100644 index 0000000..3c21440 --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map1.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map1.yaml b/src/tsukuba2022/multimaps/tsukuba-distorted/map1.yaml new file mode 100644 index 0000000..f830a0d --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map1.yaml @@ -0,0 +1,6 @@ +image: ./map1.pgm +resolution: 0.1 +origin: [-289.418172, -89.185045, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map2.pgm b/src/tsukuba2022/multimaps/tsukuba-distorted/map2.pgm new file mode 100644 index 0000000..79011fe --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map2.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map2.yaml b/src/tsukuba2022/multimaps/tsukuba-distorted/map2.yaml new file mode 100644 index 0000000..f4a5d1e --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map2.yaml @@ -0,0 +1,6 @@ +image: ./map2.pgm +resolution: 0.1 +origin: [-554.423675, -49.010222, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map3.pgm b/src/tsukuba2022/multimaps/tsukuba-distorted/map3.pgm new file mode 100644 index 0000000..5619bcd --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map3.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map3.yaml b/src/tsukuba2022/multimaps/tsukuba-distorted/map3.yaml new file mode 100644 index 0000000..346d9d5 --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map3.yaml @@ -0,0 +1,6 @@ +image: ./map3.pgm +resolution: 0.1 +origin: [-604.640432, 48.633033, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map4.pgm b/src/tsukuba2022/multimaps/tsukuba-distorted/map4.pgm new file mode 100644 index 0000000..625cb4c --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map4.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map4.yaml b/src/tsukuba2022/multimaps/tsukuba-distorted/map4.yaml new file mode 100644 index 0000000..097a009 --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map4.yaml @@ -0,0 +1,6 @@ +image: ./map4.pgm +resolution: 0.1 +origin: [-655.682101, 71.05415, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map5.pgm b/src/tsukuba2022/multimaps/tsukuba-distorted/map5.pgm new file mode 100644 index 0000000..76a3c45 --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map5.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map5.yaml b/src/tsukuba2022/multimaps/tsukuba-distorted/map5.yaml new file mode 100644 index 0000000..2fa87f6 --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map5.yaml @@ -0,0 +1,6 @@ +image: ./map5.pgm +resolution: 0.1 +origin: [-651.467145, 225.574369, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map6.pgm b/src/tsukuba2022/multimaps/tsukuba-distorted/map6.pgm new file mode 100644 index 0000000..474bcd7 --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map6.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map6.yaml b/src/tsukuba2022/multimaps/tsukuba-distorted/map6.yaml new file mode 100644 index 0000000..f4db5ba --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map6.yaml @@ -0,0 +1,6 @@ +image: ./map6.pgm +resolution: 0.1 +origin: [-513.631222, 1.709453, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map7.pgm b/src/tsukuba2022/multimaps/tsukuba-distorted/map7.pgm new file mode 100644 index 0000000..aa732a8 --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map7.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map7.yaml b/src/tsukuba2022/multimaps/tsukuba-distorted/map7.yaml new file mode 100644 index 0000000..354631b --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map7.yaml @@ -0,0 +1,6 @@ +image: ./map7.pgm +resolution: 0.1 +origin: [-410.819813, -26.960649, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map8.pgm b/src/tsukuba2022/multimaps/tsukuba-distorted/map8.pgm new file mode 100644 index 0000000..4955186 --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map8.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/map8.yaml b/src/tsukuba2022/multimaps/tsukuba-distorted/map8.yaml new file mode 100644 index 0000000..334008f --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/map8.yaml @@ -0,0 +1,6 @@ +image: ./map8.pgm +resolution: 0.1 +origin: [-273.169153, -70.548067, 0.0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/merged_map.pgm b/src/tsukuba2022/multimaps/tsukuba-distorted/merged_map.pgm new file mode 100644 index 0000000..2915cab --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/merged_map.pgm Binary files differ diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/merged_map.yaml b/src/tsukuba2022/multimaps/tsukuba-distorted/merged_map.yaml new file mode 100644 index 0000000..0887a4b --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/merged_map.yaml @@ -0,0 +1,6 @@ +image: ./merged_map.pgm +resolution: 0.1 +origin: [-655.682101, -89.185045, 0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/waypoints_L.yaml b/src/tsukuba2022/multimaps/tsukuba-distorted/waypoints_L.yaml new file mode 100644 index 0000000..4bcd0b1 --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/waypoints_L.yaml @@ -0,0 +1,389 @@ +waypoints: +- point: {x: 6.773622, y: 3.509047, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 16.949907, y: 3.772681, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 27.864368, y: 3.930862, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 38.831555, y: 3.825408, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 48.257282, y: 3.405931, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 55.5451, y: 1.66404, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 58.0735, y: 0.128874, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 61.313, y: -6.31239, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 64.9454, y: -14.2518, z: 0, vel: 1, rad: 1, stop: false, tandem_start: 1} +- point: {x: 67.6144, y: -15.4014, z: 0, vel: 0.5, rad: 1, stop: false} +- point: {x: 70.316, y: -15.5441, z: 0, vel: 0.5, rad: 0.8, stop: false} +- point: {x: 74.2391, y: -15.3596, z: 0, vel: 0.5, rad: 0.8, stop: false} +- point: {x: 77.357, y: -15.2531, z: 0, vel: 0.4, rad: 0.8, stop: false, tandem_end: 1} +- point: {x: 79.101358, y: -15.32212, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 80.470272, y: -16.227709, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 81.691765, y: -17.449202, z: 0, vel: 0.3, rad: 0.5, stop: false, tandem_start: 2} +- point: {x: 83.0514, y: -18.1883, z: 0, vel: 0.3, rad: 1, stop: false} +- point: {x: 85.4238, y: -18.5438, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 87.9159, y: -17.5321, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 88.2617, y: -15.0813, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 88.16, y: -10.9362, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 88.0087, y: -6.39951, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 87.986905, y: -2.248267, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 87.838577, y: 3.197497, z: 0, vel: 1, rad: 1, stop: false, tandem_end: 2} +- point: {x: 83.552466, y: 4.154642, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 78.631292, y: 3.75919, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 74.1995, y: 2.24651, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 69.9941, y: -0.0748514, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 63.1423, y: -4.43719, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 59.449401, y: -7.597903, z: 0, vel: 1, rad: 1, stop: false, tandem_start: 3} +- point: {x: 55.4954, y: -9.77409, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 51.7554, y: -10.206, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 48.1474, y: -10.3002, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 46.051, y: -11.3614, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 42.5089, y: -11.9516, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 39.952037, y: -12.078326, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 37.4443, y: -12.0861, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 35.120428, y: -12.246362, z: 0, vel: 1, rad: 0.5, stop: false} +- point: {x: 34.149688, y: -14.419212, z: 0, vel: 0.4, rad: 1, stop: false} +- point: {x: 33.7788, y: -17.3731, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 32.519273, y: -19.091731, z: 0, vel: 0.4, rad: 1, stop: false} +- point: {x: 28.181658, y: -19.485825, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 23.802938, y: -19.012541, z: 0, vel: 0.4, rad: 1, stop: false} +- point: {x: 21.2425, y: -18.9, z: 0, vel: 0.3, rad: 0.4, stop: false} +- point: {x: 19.363355, y: -18.9, z: 0, vel: 0.3, rad: 0.4, stop: false} +- point: {x: 17.5523, y: -18.9, z: 0, vel: 0.3, rad: 0.4, stop: false} +- point: {x: 15.426, y: -18.7627, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 12.495, y: -18.5628, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 10.0156, y: -18.6638, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 7.422174, y: -18.789719, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 6.06788, y: -21.9222, z: 0, vel: 0.4, rad: 1, stop: false} +- point: {x: 5.635294, y: -26.384429, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 0.550092, y: -27.6913, z: 0, vel: 0.4, rad: 1, stop: false} +- point: {x: -5.94073, y: -28.0941, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -10.5427, y: -28.3094, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -16.6638, y: -28.2209, z: 0, vel: 0.5, rad: 1, stop: false} +- point: {x: -23.657717, y: -28.004953, z: 0, vel: 0.5, rad: 1, stop: true, tandem_end: 3} +- point: {x: -34.563433, y: -33.284636, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -43.9865, y: -35.5365, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -49.5035, y: -37.0547, z: 0, vel: 1, rad: 1, stop: false, change_map: 1} +- point: {x: -55.456486, y: -38.249474, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -59.5, y: -38.371756, z: 0, vel: 0.4, rad: 1, stop: true} +- point: {x: -65.943953, y: -37.689411, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -74.81612, y: -36.802698, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -85.959427, y: -37.160527, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -98.098295, y: -37.1428, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -112.776422, y: -37.5921, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -124.677948, y: -38.360256, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -132.168997, y: -39.607726, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -136.409766, y: -39.648884, z: 0, vel: 0.4, rad: 1, stop: true} +- point: {x: -143.67858, y: -39.737603, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -152.926109, y: -39.669051, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -162.943162, y: -39.534928, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -170.565596, y: -39.847804, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -178.093328, y: -40.045443, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -186.095899, y: -40.277128, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -192.807681, y: -40.580631, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -199.954229, y: -41.01592, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -207.102087, y: -41.302253, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -213.580959, y: -41.433734, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -220.506696, y: -41.569149, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -226.472745, y: -40.727838, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -229.618631, y: -34.555822, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.053731, y: -30.284497, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -229.945311, y: -25.319456, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -229.933631, y: -21.352493, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -230.120785, y: -17.322888, z: 0, vel: 1, rad: 1, stop: false, tandem_start: 4} +- point: {x: -230.20383, y: -13.726879, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -230.212516, y: -9.958163, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.335019, y: -6.237119, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.521101, y: -2.775519, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.569656, y: 0.817584, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -230.642489, y: 4.143633, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -230.715323, y: 7.785292, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.763878, y: 11.499785, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.885267, y: 15.165721, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -231.152322, y: 18.807381, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -231.322266, y: 22.837483, z: 0, vel: 0.5, rad: 1, stop: false} +- point: {x: -231.467932, y: 26.819031, z: 0, vel: 0.5, rad: 1, stop: false} +- point: {x: -231.613598, y: 30.679189, z: 0, vel: 0.4, rad: 0.5, stop: false} +- point: {x: -231.612576, y: 32.343732, z: 0.0, vel: 0.4, rad: 0.5, stop: false} +- point: {x: -231.690479, y: 34.349735, z: 0, vel: 0.4, rad: 0.5, stop: false} +- point: {x: -231.894974, y: 36.482331, z: 0.0, vel: 0.4, rad: 0.5, stop: false} +- point: {x: -232.106871, y: 38.535076, z: 0, vel: 0.3, rad: 1, stop: true, tandem_end: 4} +- point: {x: -232.168136, y: 39.914256, z: 0.0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: -233.55, y: 41.671807, z: 0, vel: 0.3, rad: 1, stop: true} +- point: {x: -247.495828, y: 41.235564, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -250.089691, y: 39.72945, z: 0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -250.121071, y: 37.938807, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -250.167211, y: 33.373389, z: 0.0, vel: 0.5, rad: 1, stop: false} +- point: {x: -251.357335, y: 31.159574, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -258.370021, y: 27.509832, z: 0, vel: 1, rad: 1, stop: true, change_map: 2} +- point: {x: -264.396474, y: 26.947688, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -270.857705, y: 26.159871, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -277.85906, y: 25.580321, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -283.757645, y: 25.06385, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -288.52595, y: 24.424129, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -293.766978, y: 23.957402, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -299.650084, y: 23.425189, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -306.053285, y: 23.221736, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -312.564439, y: 22.824473, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -320.498546, y: 21.696156, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -328.572465, y: 21.544269, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -336.974651, y: 21.255655, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -344.726775, y: 20.649657, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -349.430935, y: 20.204442, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -356.439539, y: 19.793312, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -362.670675, y: 19.200813, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -369.515614, y: 18.240601, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -376.584151, y: 16.91525, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -383.707911, y: 15.479454, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -391.549569, y: 14.816778, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -399.833011, y: 14.09888, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -407.509, y: 13.436205, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -415.594379, y: 12.754536, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -423.964481, y: 11.912516, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -434.126516, y: 10.413478, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -442.190996, y: 9.075602, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -450.360809, y: 8.381359, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -457.765256, y: 7.521008, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -464.230633, y: 6.964717, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -468.915726, y: 6.617103, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -473.671049, y: 6.265773, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -478.478836, y: 5.79059, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -483.917892, y: 5.108712, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -489.729853, y: 4.458736, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -494.791098, y: 3.683622, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -499.857248, y: 2.969839, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -504.695292, y: 1.898587, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -513.496072, y: -0.488834, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -521.321153, y: -0.462393, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -523.439013, y: 4.067211, z: 0, vel: 0.4, rad: 1, stop: false} +- point: {x: -524.728838, y: 10.720685, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -525.450965, y: 17.73563, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -525.382191, y: 23.787739, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -522.078306, y: 27.147941, z: 0, vel: 0.5, rad: 1, stop: false} +- point: {x: -513.178587, y: 28.692355, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -506.891215, y: 29.18228, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -501.126877, y: 29.652821, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -494.872156, y: 30.273185, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -489.722941, y: 30.83907, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -483.253093, y: 31.419368, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -476.572253, y: 31.79352, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -469.057003, y: 32.698101, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -463.872077, y: 33.248951, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -457.571322, y: 33.960177, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -452.826458, y: 34.66576, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -446.818809, y: 34.802769, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -442.718328, y: 35.164752, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -439.924611, y: 35.381396, z: 0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -436.220623, y: 35.759652, z: 0.0, vel: 1, rad: 0.8, stop: false} +- point: {x: -432.313063, y: 36.211514, z: 0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -427.79953, y: 37.39299, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -422.16427, y: 38.096614, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -415.972598, y: 38.591151, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -411.635111, y: 38.900458, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -406.824537, y: 39.434968, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -400.636853, y: 40.099432, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -394.744564, y: 40.569094, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -389.705919, y: 41.03043, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -384.948145, y: 40.650307, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -380.192075, y: 40.570707, z: 0, vel: 0.4, rad: 0.6, stop: false, tandem_start: 5} +- point: {x: -377.837767, y: 42.86557, z: 0, vel: 0.4, rad: 1, stop: true, tandem_end: 5} +- point: {x: -378.950597, y: 52.225902, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -378.992187, y: 56.01483, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -378.610936, y: 61.437047, z: 0, vel: 0.5, rad: 1, stop: true, change_map: 3} +- point: {x: -377.214457, y: 69.803004, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.375104, y: 77.04998, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.285855, y: 83.029627, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.268006, y: 90.062407, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.464352, y: 94.863975, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.303705, y: 101.825356, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.250156, y: 107.822854, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.232306, y: 115.391124, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.535751, y: 121.567119, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -379.371782, y: 124.073212, z: 0, vel: 0.5, rad: 1, stop: false} +- point: {x: -382.077034, y: 124.93606, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -386.325418, y: 124.671318, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -391.485026, y: 124.50215, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -398.516025, y: 124.499962, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -406.877301, y: 124.32455, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -418.746804, y: 124.441491, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -430.557837, y: 124.383021, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -443.012045, y: 124.090669, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -454.296844, y: 124.20761, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -466.692581, y: 124.032198, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -481.724596, y: 123.560639, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -496.218746, y: 123.553514, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -508.104505, y: 123.488741, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -517.17266, y: 123.488741, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -526.564677, y: 123.359196, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -536.151012, y: 123.197265, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -545.899278, y: 123.132492, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -555.032205, y: 123.002947, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -563.873656, y: 122.873402, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -573.36834, y: 123.12865, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -580.83126, y: 124.848606, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -587.065386, y: 126.513058, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -590.595544943929, y: 128.4892258736552, z: 0, vel: 1, rad: 1, stop: true, change_map: 4} +- point: {x: -591.276404, y: 133.725498, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -592.301951, y: 140.152756, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -592.137394, y: 145.058199, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -592.038719, y: 152.54109, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -591.874259, y: 160.270669, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -591.890705, y: 169.052786, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -592.844568, y: 177.423756, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -593.913553, y: 184.035013, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -594.538497, y: 189.182583, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.327901, y: 195.760948, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.673265, y: 202.947812, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.821278, y: 209.739974, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.49236, y: 216.384123, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.278563, y: 222.584232, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.295009, y: 228.406085, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.163442, y: 233.948358, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.709395, y: 239.979678, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -596.117305, y: 246.365022, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -596.906709, y: 251.660606, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -597.877018, y: 256.561488, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -598.5513, y: 261.215682, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -599.371761, y: 265.890632, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -599.696068, y: 271.1525, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -592.6079862914644, y: 274.3467234463298, z: 0, vel: 1, rad: 1, stop: true, change_map: 5} +- point: {x: -584.191131, y: 274.687905, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -576.709871, y: 275.007617, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -569.398141, y: 275.159342, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -559.155964, y: 275.633517, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -549.252472, y: 276.090399, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -540.298138, y: 276.461563, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -532.602171, y: 276.885339, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -525.350358, y: 276.790915, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -519.132686, y: 275.864547, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -514.200245, y: 274.502299, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -508.227567, y: 272.897518, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -501.385731, y: 270.979247, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -495.526145, y: 269.514109, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -490.134145, y: 268.027609, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -483.389145, y: 266.637729, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -474.529926, y: 264.904719, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -466.792896, y: 264.073468, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -458.800097, y: 263.817699, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -451.639291, y: 263.582959, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -444.511708, y: 263.730871, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -437.268023, y: 264.399519, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -431.175897, y: 265.588226, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -424.590916, y: 267.526357, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -417.765145, y: 269.686819, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -411.035129, y: 272.066267, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -404.118325, y: 274.908777, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -399.854263, y: 276.282435, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -395.504347, y: 277.913653, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -392.041584, y: 279.945522, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -390.322707, y: 282.423672, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -388.647054, y: 284.921601, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -385.710258, y: 284.572675, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -383.521322, y: 281.254341, z: 0, vel: 1, rad: 1, stop: true, change_map: 6} +- point: {x: -380.872344, y: 276.630919, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.717063, y: 272.430668, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -373.973464, y: 266.214851, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -372.663103, y: 263.000792, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -371.46926, y: 258.507752, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -370.461787, y: 254.166303, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -368.666508, y: 249.453696, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -366.42241, y: 244.628883, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -364.163334, y: 240.018282, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -361.201123, y: 234.430476, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -359.046789, y: 228.909993, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -358.373559, y: 223.389511, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -357.431037, y: 218.205643, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -355.478672, y: 212.483191, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -353.187212, y: 207.014325, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -351.687228, y: 202.032903, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -349.884503, y: 197.791435, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -347.835323, y: 194.227758, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -346.010921, y: 191.309758, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -343.311483, y: 189.394539, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -340.075278, y: 187.216614, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -336.379497, y: 184.77518, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -333.103529, y: 182.333095, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -329.648872, y: 180.427078, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -326.015526, y: 178.282808, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -322.304772, y: 176.183982, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -318.629709, y: 173.577327, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -313.805102, y: 169.824855, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -311.184328, y: 166.78714, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -309.099621, y: 162.379475, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -307.848797, y: 157.733557, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -306.776662, y: 152.015504, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -305.883217, y: 146.237889, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -305.16846, y: 141.651534, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -304.096325, y: 135.754793, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -303.02419, y: 130.215429, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -302.130745, y: 125.688638, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -301.148834, y: 121.985696, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -300.280066, y: 119.109411, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -298.733691, y: 113.05039, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -296.933927, y: 108.746997, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -295.626204, y: 105.165568, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -295.19533, y: 101.35897, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -296.87661, y: 98.128944, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -305.860672, y: 90.759765, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -324.10629, y: 83.833735, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -341.525633, y: 78.273633, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -346.41817, y: 72.609748, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -350.543536, y: 67.185716, z: 0, vel: 1, rad: 1, stop: false, tandem_start: 6} +- point: {x: -352.444825, y: 63.852853, z: 0, vel: 1, rad: 0.3, stop: false} +- point: {x: -352.032273, y: 58.855008, z: 0, vel: 1, rad: 1, stop: true, tandem_end: 6} +- point: {x: -350.310063, y: 50.115945, z: 0, vel: 1, rad: 0.5, stop: false} +- point: {x: -346.978463, y: 49.063552, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -342.73747, y: 51.032147, z: 0, vel: 1, rad: 1, stop: true, change_map: 7} +- point: {x: -337.170704, y: 52.057963, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -332.489726, y: 52.818894, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -327.273472, y: 53.531045, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -320.222558, y: 54.629153, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -312.791917, y: 55.938415, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -305.446026, y: 56.916502, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -298.30757, y: 58.259444, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -289.908277, y: 60.175644, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -281.887594, y: 61.780237, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -273.312668, y: 63.75541, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -264.874435, y: 65.684603, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -256.900304, y: 67.4288, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -250.70504, y: 68.906349, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -243.878649, y: 69.883168, z: 0, vel: 0.5, rad: 0.5, stop: false, tandem_start: 7} +- point: {x: -239.580185, y: 68.415219, z: 0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -234.566003, y: 65.329569, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -230.798112, y: 64.717305, z: 0, vel: 0.5, rad: 0.5, stop: true, tandem_end: 7} +- point: {x: -224.387161, y: 65.799655, z: 0.0, vel: 0.5, rad: 1, stop: true} +- point: {x: -208.179028, y: 70.455454, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -207.145701, y: 67.794993, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -206.21952842992044, y: 64.55573822412595, z: 0, vel: 1, rad: 1, stop: true, change_map: 8} +- point: {x: -205.773051, y: 61.988886, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -204.867894, y: 57.233814, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -203.42246, y: 51.855124, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -201.89186, y: 45.955936, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -200.93136, y: 40.670677, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -199.755397, y: 35.464946, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -198.352346, y: 28.928007, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -196.761001, y: 22.789819, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -195.491101, y: 17.081555, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -194.246347, y: 10.794921, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -193.10218, y: 4.244249, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -191.882573, y: -1.82864, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -191.062153, y: -8.430282, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -185.318107, y: -14.973648, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -176.597443, y: -13.172921, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -168.688542, y: -11.390633, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -160.570971, y: -9.365669, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -152.636452, y: -7.477202, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -144.750892, y: -5.929091, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -136.073335, y: -3.853563, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -127.132434, y: -1.745545, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -118.845745, y: 0.071711, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -111.067888, y: 1.634551, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -105.826197, y: 2.820748, z: 0.0, vel: 1, rad: 1, stop: true} +- point: {x: -98.397016, y: 4.612244, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -90.452455, y: 6.306353, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -81.96203, y: 8.372655, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -73.505953, y: 10.033028, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -65.03958, y: 11.426952, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -55.556593, y: 13.559053, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -45.411131, y: 15.903344, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -37.255361, y: 17.558138, z: 0.0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666500880.699932, frame_id: map} + pose: + position: {x: -31.6919340831112, y: 18.795976159259887, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.11732158139368357, w: 0.9930939766906681} diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/waypoints_R.yaml b/src/tsukuba2022/multimaps/tsukuba-distorted/waypoints_R.yaml new file mode 100644 index 0000000..337368e --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/waypoints_R.yaml @@ -0,0 +1,389 @@ +waypoints: +- point: {x: 7.913908, y: 0.625135, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 17.873427, y: 1.284221, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 28.2563, y: 1.64634, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 38.1161, y: 1.91456, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 48.2937, y: 1.73542, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 55.5451, y: 1.66404, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 58.0735, y: 0.128874, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 61.313, y: -6.31239, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 64.9454, y: -14.2518, z: 0, vel: 1, rad: 1, stop: false, tandem_start: 1} +- point: {x: 67.6144, y: -15.4014, z: 0, vel: 0.5, rad: 1, stop: false} +- point: {x: 70.316, y: -15.5441, z: 0, vel: 0.5, rad: 0.8, stop: false} +- point: {x: 74.2391, y: -15.3596, z: 0, vel: 0.5, rad: 0.8, stop: false} +- point: {x: 77.357, y: -15.2531, z: 0, vel: 0.4, rad: 0.8, stop: false, tandem_end: 1} +- point: {x: 79.101358, y: -15.32212, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 80.470272, y: -16.227709, z: 0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: 81.691765, y: -17.449202, z: 0, vel: 0.3, rad: 0.5, stop: false, tandem_start: 2} +- point: {x: 83.0514, y: -18.1883, z: 0, vel: 0.3, rad: 1, stop: false} +- point: {x: 85.4238, y: -18.5438, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 87.9159, y: -17.5321, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 88.2617, y: -15.0813, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 88.16, y: -10.9362, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 88.0087, y: -6.39951, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 87.986905, y: -2.248267, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 87.838577, y: 3.197497, z: 0, vel: 1, rad: 1, stop: false, tandem_end: 2} +- point: {x: 83.552466, y: 4.154642, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 78.631292, y: 3.75919, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 74.1995, y: 2.24651, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 69.9941, y: -0.0748514, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 63.1423, y: -4.43719, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 59.449401, y: -7.597903, z: 0, vel: 1, rad: 1, stop: false, tandem_start: 3} +- point: {x: 55.4954, y: -9.77409, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 51.7554, y: -10.206, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 48.1474, y: -10.3002, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 46.051, y: -11.3614, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 42.5089, y: -11.9516, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 39.952037, y: -12.078326, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: 37.4443, y: -12.0861, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 35.120428, y: -12.246362, z: 0, vel: 1, rad: 0.5, stop: false} +- point: {x: 34.149688, y: -14.419212, z: 0, vel: 0.4, rad: 1, stop: false} +- point: {x: 33.7788, y: -17.3731, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 32.519273, y: -19.091731, z: 0, vel: 0.4, rad: 1, stop: false} +- point: {x: 28.181658, y: -19.485825, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 23.802938, y: -19.012541, z: 0, vel: 0.4, rad: 1, stop: false} +- point: {x: 21.2425, y: -18.9, z: 0, vel: 0.3, rad: 0.4, stop: false} +- point: {x: 19.363355, y: -18.9, z: 0, vel: 0.3, rad: 0.4, stop: false} +- point: {x: 17.5523, y: -18.9, z: 0, vel: 0.3, rad: 0.4, stop: false} +- point: {x: 15.426, y: -18.7627, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 12.495, y: -18.5628, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 10.0156, y: -18.6638, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 7.422174, y: -18.789719, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 6.06788, y: -21.9222, z: 0, vel: 0.4, rad: 1, stop: false} +- point: {x: 5.635294, y: -26.384429, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 0.550092, y: -27.6913, z: 0, vel: 0.4, rad: 1, stop: false} +- point: {x: -5.94073, y: -28.0941, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -10.5427, y: -28.3094, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -16.6638, y: -28.2209, z: 0, vel: 0.5, rad: 1, stop: false} +- point: {x: -23.657717, y: -28.004953, z: 0, vel: 0.5, rad: 1, stop: true, tandem_end: 3} +- point: {x: -34.563433, y: -33.284636, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -43.9865, y: -35.5365, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -49.5035, y: -37.0547, z: 0, vel: 1, rad: 1, stop: false, change_map: 1} +- point: {x: -55.456486, y: -38.249474, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -59.5, y: -38.371756, z: 0, vel: 0.4, rad: 1, stop: true} +- point: {x: -65.943953, y: -37.689411, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -74.81612, y: -36.802698, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -85.959427, y: -37.160527, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -98.098295, y: -37.1428, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -112.776422, y: -37.5921, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -124.677948, y: -38.360256, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -132.168997, y: -39.607726, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -136.409766, y: -39.648884, z: 0, vel: 0.4, rad: 1, stop: true} +- point: {x: -143.67858, y: -39.737603, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -152.926109, y: -39.669051, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -162.943162, y: -39.534928, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -170.565596, y: -39.847804, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -178.093328, y: -40.045443, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -186.095899, y: -40.277128, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -192.807681, y: -40.580631, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -199.954229, y: -41.01592, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -207.102087, y: -41.302253, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -213.580959, y: -41.433734, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -220.506696, y: -41.569149, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -226.472745, y: -40.727838, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -229.618631, y: -34.555822, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.053731, y: -30.284497, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -229.945311, y: -25.319456, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -229.933631, y: -21.352493, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -230.120785, y: -17.322888, z: 0, vel: 1, rad: 1, stop: false, tandem_start: 4} +- point: {x: -230.20383, y: -13.726879, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -230.212516, y: -9.958163, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.335019, y: -6.237119, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.521101, y: -2.775519, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.569656, y: 0.817584, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -230.642489, y: 4.143633, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -230.715323, y: 7.785292, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.763878, y: 11.499785, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -230.885267, y: 15.165721, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -231.152322, y: 18.807381, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -231.322266, y: 22.837483, z: 0, vel: 0.5, rad: 1, stop: false} +- point: {x: -231.467932, y: 26.819031, z: 0, vel: 0.5, rad: 1, stop: false} +- point: {x: -231.613598, y: 30.679189, z: 0, vel: 0.4, rad: 0.5, stop: false} +- point: {x: -231.612576, y: 32.343732, z: 0.0, vel: 0.4, rad: 0.5, stop: false} +- point: {x: -231.690479, y: 34.349735, z: 0, vel: 0.4, rad: 0.5, stop: false} +- point: {x: -231.894974, y: 36.482331, z: 0.0, vel: 0.4, rad: 0.5, stop: false} +- point: {x: -232.106871, y: 38.535076, z: 0, vel: 0.3, rad: 1, stop: true, tandem_end: 4} +- point: {x: -232.168136, y: 39.914256, z: 0.0, vel: 0.3, rad: 0.5, stop: false} +- point: {x: -233.55, y: 41.671807, z: 0, vel: 0.3, rad: 1, stop: true} +- point: {x: -247.495828, y: 41.235564, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -250.089691, y: 39.72945, z: 0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -250.121071, y: 37.938807, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -250.167211, y: 33.373389, z: 0.0, vel: 0.5, rad: 1, stop: false} +- point: {x: -251.357335, y: 31.159574, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -258.370021, y: 27.509832, z: 0, vel: 1, rad: 1, stop: true, change_map: 2} +- point: {x: -264.396474, y: 26.947688, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -270.857705, y: 26.159871, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -277.85906, y: 25.580321, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -283.757645, y: 25.06385, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -288.52595, y: 24.424129, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -293.766978, y: 23.957402, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -299.650084, y: 23.425189, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -306.053285, y: 23.221736, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -312.564439, y: 22.824473, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -320.498546, y: 21.696156, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -328.572465, y: 21.544269, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -336.974651, y: 21.255655, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -344.726775, y: 20.649657, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -349.430935, y: 20.204442, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -356.439539, y: 19.793312, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -362.670675, y: 19.200813, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -369.515614, y: 18.240601, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -376.584151, y: 16.91525, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -383.707911, y: 15.479454, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -391.549569, y: 14.816778, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -399.833011, y: 14.09888, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -407.509, y: 13.436205, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -415.594379, y: 12.754536, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -423.964481, y: 11.912516, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -434.126516, y: 10.413478, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -442.190996, y: 9.075602, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -450.360809, y: 8.381359, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -457.765256, y: 7.521008, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -464.230633, y: 6.964717, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -468.915726, y: 6.617103, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -473.671049, y: 6.265773, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -478.478836, y: 5.79059, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -483.917892, y: 5.108712, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -489.729853, y: 4.458736, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -494.791098, y: 3.683622, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -499.857248, y: 2.969839, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -504.695292, y: 1.898587, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -513.496072, y: -0.488834, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -521.321153, y: -0.462393, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -523.439013, y: 4.067211, z: 0, vel: 0.4, rad: 1, stop: false} +- point: {x: -524.728838, y: 10.720685, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -525.450965, y: 17.73563, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -525.382191, y: 23.787739, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -522.078306, y: 27.147941, z: 0, vel: 0.5, rad: 1, stop: false} +- point: {x: -513.178587, y: 28.692355, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -506.891215, y: 29.18228, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -501.126877, y: 29.652821, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -494.872156, y: 30.273185, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -489.722941, y: 30.83907, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -483.253093, y: 31.419368, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -476.572253, y: 31.79352, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -469.057003, y: 32.698101, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -463.872077, y: 33.248951, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -457.571322, y: 33.960177, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -452.826458, y: 34.66576, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -446.818809, y: 34.802769, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -442.718328, y: 35.164752, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -439.924611, y: 35.381396, z: 0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -436.220623, y: 35.759652, z: 0.0, vel: 1, rad: 0.8, stop: false} +- point: {x: -432.313063, y: 36.211514, z: 0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -427.79953, y: 37.39299, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -422.16427, y: 38.096614, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -415.972598, y: 38.591151, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -411.635111, y: 38.900458, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -406.824537, y: 39.434968, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -400.636853, y: 40.099432, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -394.744564, y: 40.569094, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -389.705919, y: 41.03043, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -384.948145, y: 40.650307, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -380.192075, y: 40.570707, z: 0, vel: 0.4, rad: 0.6, stop: false, tandem_start: 5} +- point: {x: -377.837767, y: 42.86557, z: 0, vel: 0.4, rad: 1, stop: true, tandem_end: 5} +- point: {x: -378.950597, y: 52.225902, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -378.992187, y: 56.01483, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -378.610936, y: 61.437047, z: 0, vel: 0.5, rad: 1, stop: true, change_map: 3} +- point: {x: -377.214457, y: 69.803004, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.375104, y: 77.04998, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.285855, y: 83.029627, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.268006, y: 90.062407, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.464352, y: 94.863975, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.303705, y: 101.825356, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.250156, y: 107.822854, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.232306, y: 115.391124, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.535751, y: 121.567119, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -379.371782, y: 124.073212, z: 0, vel: 0.5, rad: 1, stop: false} +- point: {x: -382.077034, y: 124.93606, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -386.325418, y: 124.671318, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -391.485026, y: 124.50215, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -398.516025, y: 124.499962, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -406.877301, y: 124.32455, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -418.746804, y: 124.441491, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -430.557837, y: 124.383021, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -443.012045, y: 124.090669, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -454.296844, y: 124.20761, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -466.692581, y: 124.032198, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -481.724596, y: 123.560639, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -496.218746, y: 123.553514, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -508.104505, y: 123.488741, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -517.17266, y: 123.488741, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -526.564677, y: 123.359196, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -536.151012, y: 123.197265, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -545.899278, y: 123.132492, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -555.032205, y: 123.002947, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -563.873656, y: 122.873402, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -573.36834, y: 123.12865, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -580.83126, y: 124.848606, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -587.065386, y: 126.513058, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -590.595544943929, y: 128.4892258736552, z: 0, vel: 1, rad: 1, stop: true, change_map: 4} +- point: {x: -591.276404, y: 133.725498, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -592.301951, y: 140.152756, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -592.137394, y: 145.058199, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -592.038719, y: 152.54109, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -591.874259, y: 160.270669, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -591.890705, y: 169.052786, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -592.844568, y: 177.423756, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -593.913553, y: 184.035013, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -594.538497, y: 189.182583, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.327901, y: 195.760948, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.673265, y: 202.947812, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.821278, y: 209.739974, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.49236, y: 216.384123, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.278563, y: 222.584232, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.295009, y: 228.406085, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.163442, y: 233.948358, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -595.709395, y: 239.979678, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -596.117305, y: 246.365022, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -596.906709, y: 251.660606, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -597.877018, y: 256.561488, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -598.5513, y: 261.215682, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -599.371761, y: 265.890632, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -599.696068, y: 271.1525, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -592.6079862914644, y: 274.3467234463298, z: 0, vel: 1, rad: 1, stop: true, change_map: 5} +- point: {x: -584.191131, y: 274.687905, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -576.709871, y: 275.007617, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -569.398141, y: 275.159342, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -559.155964, y: 275.633517, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -549.252472, y: 276.090399, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -540.298138, y: 276.461563, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -532.602171, y: 276.885339, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -525.350358, y: 276.790915, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -519.132686, y: 275.864547, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -514.200245, y: 274.502299, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -508.227567, y: 272.897518, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -501.385731, y: 270.979247, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -495.526145, y: 269.514109, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -490.134145, y: 268.027609, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -483.389145, y: 266.637729, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -474.529926, y: 264.904719, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -466.792896, y: 264.073468, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -458.800097, y: 263.817699, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -451.639291, y: 263.582959, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -444.511708, y: 263.730871, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -437.268023, y: 264.399519, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -431.175897, y: 265.588226, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -424.590916, y: 267.526357, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -417.765145, y: 269.686819, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -411.035129, y: 272.066267, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -404.118325, y: 274.908777, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -399.854263, y: 276.282435, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -395.504347, y: 277.913653, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -392.041584, y: 279.945522, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -390.322707, y: 282.423672, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -388.647054, y: 284.921601, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -385.710258, y: 284.572675, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -383.521322, y: 281.254341, z: 0, vel: 1, rad: 1, stop: true, change_map: 6} +- point: {x: -380.872344, y: 276.630919, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -377.717063, y: 272.430668, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -373.973464, y: 266.214851, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -372.663103, y: 263.000792, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -371.46926, y: 258.507752, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -370.461787, y: 254.166303, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -368.666508, y: 249.453696, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -366.42241, y: 244.628883, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -364.163334, y: 240.018282, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -361.201123, y: 234.430476, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -359.046789, y: 228.909993, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -358.373559, y: 223.389511, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -357.431037, y: 218.205643, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -355.478672, y: 212.483191, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -353.187212, y: 207.014325, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -351.687228, y: 202.032903, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -349.884503, y: 197.791435, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -347.835323, y: 194.227758, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -346.010921, y: 191.309758, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -343.311483, y: 189.394539, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -340.075278, y: 187.216614, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -336.379497, y: 184.77518, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -333.103529, y: 182.333095, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -329.648872, y: 180.427078, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -326.015526, y: 178.282808, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -322.304772, y: 176.183982, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -318.629709, y: 173.577327, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -313.805102, y: 169.824855, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -311.184328, y: 166.78714, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -309.099621, y: 162.379475, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -307.848797, y: 157.733557, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -306.776662, y: 152.015504, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -305.883217, y: 146.237889, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -305.16846, y: 141.651534, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -304.096325, y: 135.754793, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -303.02419, y: 130.215429, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -302.130745, y: 125.688638, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -301.148834, y: 121.985696, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -300.280066, y: 119.109411, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -298.733691, y: 113.05039, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -296.933927, y: 108.746997, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -295.626204, y: 105.165568, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -295.19533, y: 101.35897, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -296.87661, y: 98.128944, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -305.860672, y: 90.759765, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -324.10629, y: 83.833735, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -341.525633, y: 78.273633, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -346.41817, y: 72.609748, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -350.543536, y: 67.185716, z: 0, vel: 1, rad: 1, stop: false, tandem_start: 6} +- point: {x: -352.444825, y: 63.852853, z: 0, vel: 1, rad: 0.3, stop: false} +- point: {x: -352.032273, y: 58.855008, z: 0, vel: 1, rad: 1, stop: true, tandem_end: 6} +- point: {x: -350.310063, y: 50.115945, z: 0, vel: 1, rad: 0.5, stop: false} +- point: {x: -346.978463, y: 49.063552, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -342.73747, y: 51.032147, z: 0, vel: 1, rad: 1, stop: true, change_map: 7} +- point: {x: -337.170704, y: 52.057963, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -332.489726, y: 52.818894, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -327.273472, y: 53.531045, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -320.222558, y: 54.629153, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -312.791917, y: 55.938415, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -305.446026, y: 56.916502, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -298.30757, y: 58.259444, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -289.908277, y: 60.175644, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -281.887594, y: 61.780237, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -273.312668, y: 63.75541, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -264.874435, y: 65.684603, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -256.900304, y: 67.4288, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -250.70504, y: 68.906349, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -243.878649, y: 69.883168, z: 0, vel: 0.5, rad: 0.5, stop: false, tandem_start: 7} +- point: {x: -239.580185, y: 68.415219, z: 0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -234.566003, y: 65.329569, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: -230.798112, y: 64.717305, z: 0, vel: 0.5, rad: 0.5, stop: true, tandem_end: 7} +- point: {x: -224.387161, y: 65.799655, z: 0.0, vel: 0.5, rad: 1, stop: true} +- point: {x: -208.179028, y: 70.455454, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -207.145701, y: 67.794993, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -206.21952842992044, y: 64.55573822412595, z: 0, vel: 1, rad: 1, stop: true, change_map: 8} +- point: {x: -205.773051, y: 61.988886, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: -204.867894, y: 57.233814, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -203.42246, y: 51.855124, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -201.89186, y: 45.955936, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -200.93136, y: 40.670677, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -199.755397, y: 35.464946, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -198.352346, y: 28.928007, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -196.761001, y: 22.789819, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -195.491101, y: 17.081555, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -194.246347, y: 10.794921, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -193.10218, y: 4.244249, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -191.882573, y: -1.82864, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -191.062153, y: -8.430282, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -185.318107, y: -14.973648, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -176.597443, y: -13.172921, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -168.688542, y: -11.390633, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -160.570971, y: -9.365669, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -152.636452, y: -7.477202, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -144.750892, y: -5.929091, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -136.073335, y: -3.853563, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -127.132434, y: -1.745545, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -118.845745, y: 0.071711, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -111.067888, y: 1.634551, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -105.826197, y: 2.820748, z: 0.0, vel: 1, rad: 1, stop: true} +- point: {x: -98.397016, y: 4.612244, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -90.452455, y: 6.306353, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -81.96203, y: 8.372655, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -73.505953, y: 10.033028, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -65.03958, y: 11.426952, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -55.556593, y: 13.559053, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -45.411131, y: 15.903344, z: 0.0, vel: 1, rad: 1, stop: false} +- point: {x: -37.255361, y: 17.558138, z: 0.0, vel: 1, rad: 1, stop: false} +finish_pose: + header: {seq: 0, stamp: 1666500880.699932, frame_id: map} + pose: + position: {x: -31.6919340831112, y: 18.795976159259887, z: 0} + orientation: {x: 0.0, y: 0.0, z: 0.11732158139368357, w: 0.9930939766906681} \ No newline at end of file diff --git a/src/tsukuba2022/multimaps/tsukuba-distorted/waypoints_first5.yaml b/src/tsukuba2022/multimaps/tsukuba-distorted/waypoints_first5.yaml new file mode 100644 index 0000000..23fcd84 --- /dev/null +++ b/src/tsukuba2022/multimaps/tsukuba-distorted/waypoints_first5.yaml @@ -0,0 +1,14 @@ +waypoints_L_first5: +- point: {x: 6.773622, y: 3.509047, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 16.949907, y: 3.772681, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 27.864368, y: 3.930862, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 38.831555, y: 3.825408, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 48.257282, y: 3.405931, z: 0, vel: 1, rad: 1, stop: false} + + +waypoints_R_first5: +- point: {x: 7.913908, y: 0.625135, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 17.873427, y: 1.284221, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 28.2563, y: 1.64634, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 38.1161, y: 1.91456, z: 0, vel: 1, rad: 1, stop: false} +- point: {x: 48.2937, y: 1.73542, z: 0, vel: 1, rad: 1, stop: false} diff --git a/src/tsukuba2022/params/base_global_planner_params.yaml b/src/tsukuba2022/params/base_global_planner_params.yaml index 267db3d..f4af45e 100644 --- a/src/tsukuba2022/params/base_global_planner_params.yaml +++ b/src/tsukuba2022/params/base_global_planner_params.yaml @@ -1,6 +1,6 @@ base_global_planner: global_planner/GlobalPlanner -GlobalPlanner: +GlobalPlanner: allow_unknown: true default_tolerance: 0.0 visualize_potential: false @@ -8,10 +8,12 @@ use_quadratic: true use_grid_path: false old_navfn_behavior: false - lethal_cost: 253 - neutral_cost: 66 - cost_factor: 0.55 + lethal_cost: 190 #180 #175 #150 #253 + neutral_cost: 123 #130 #150 #110 #66 + cost_factor: 0.4 #0.55 publish_potential: false orientation_mode: 0 orientation_window_size: 1 - outline_map: true \ No newline at end of file + outline_map: true + +# base_global_planner: carrot_planner/CarrotPlanner diff --git a/src/tsukuba2022/params/base_local_planner_params.yaml b/src/tsukuba2022/params/base_local_planner_params.yaml index 9ac04fc..e291354 100644 --- a/src/tsukuba2022/params/base_local_planner_params.yaml +++ b/src/tsukuba2022/params/base_local_planner_params.yaml @@ -3,31 +3,31 @@ TrajectoryPlannerROS: # Robot Configuration Parameters holonomic_robot: false - acc_lim_x: 3.5 - acc_lim_theta: 1.0 #1.5 - max_vel_x: 2.0 - min_vel_x: 0.1 - max_vel_theta: 0.3 - min_vel_theta: -0.3 #-0.4 - min_in_place_vel_theta: 0.3 #0.2 - escape_vel: -0.2 + acc_lim_x: 3.5 #4.5 + acc_lim_theta: 1.2 #2.0 + max_vel_x: 1.2 + min_vel_x: 0.0 #0.1 + max_vel_theta: 1.0 + min_vel_theta: -1.0 + min_in_place_vel_theta: 0.2 + escape_vel: -0.3 # Goal Tolerance Parameters - yaw_goal_tolerance: 0.5 - xy_goal_tolerance: 0.4 + yaw_goal_tolerance: 0.3 + xy_goal_tolerance: 0.3 # Forward Simulation Parameters - sim_time: 3 + sim_time: 2.0 sim_granularity: 0.05 - vx_samples: 7 - vtheta_samples: 30 + vx_samples: 3 + vtheta_samples: 20 # Trajectory Scoring Parameters dwa: true meter_scoring: true - path_distance_bias: 0.4 #0.7 - goal_distance_bias: 1.0 #0.8 - occdist_scale : 0.05 #0.01 + path_distance_bias: 0.8 #0.4 + goal_distance_bias: 0.8 + occdist_scale : 0.01 #0.05 heading_lookahead: 0.325 heading_scoring: true - heading_scoring_timestep: 1.2 + heading_scoring_timestep: 1.0 diff --git a/src/tsukuba2022/params/emcl_params.yaml b/src/tsukuba2022/params/emcl_params.yaml new file mode 100644 index 0000000..4ed3fec --- /dev/null +++ b/src/tsukuba2022/params/emcl_params.yaml @@ -0,0 +1,31 @@ +odom_freq: 20 +num_particles: 500 + +odom_frame_id: odom +footprint_frame_id: base_footprint +base_frame_id: base_link + +initial_pose_x: 0.0 +initial_pose_y: 0.0 +initial_pose_a: 0.0 + +odom_fw_dev_per_fw: 0.05 #0.19 +odom_fw_dev_per_rot: 0.0001 +odom_rot_dev_per_fw: 0.1 #0.13 +odom_rot_dev_per_rot: 0.1 #0.2 + +laser_likelihood_max_dist: 0.2 + +alpha_threshold: 0.5 +open_space_threshold: 0.05 + +expansion_radius_position: 0.05 +expansion_radius_orientation: 0.1 + +range_threshold: 0.3 + +laser_min_range: 0.0 +laser_max_range: 100000000.0 + +scan_increment: 1 + diff --git a/src/tsukuba2022/params/foot_print.yaml b/src/tsukuba2022/params/foot_print.yaml index 9f9bd76..152c0b3 100644 --- a/src/tsukuba2022/params/foot_print.yaml +++ b/src/tsukuba2022/params/foot_print.yaml @@ -1 +1 @@ -footprint: [ [0.25, 0.4], [0.25, -0.4], [-0.65, -0.4], [-0.65, 0.4] ] +footprint: [ [0.2, 0.33], [0.2, -0.33], [-0.65, -0.33], [-0.65, 0.33] ] diff --git a/src/tsukuba2022/params/global_costmap_params.yaml b/src/tsukuba2022/params/global_costmap_params.yaml index 69534a3..f28f6a0 100644 --- a/src/tsukuba2022/params/global_costmap_params.yaml +++ b/src/tsukuba2022/params/global_costmap_params.yaml @@ -10,15 +10,48 @@ resolution: 0.1 plugins: - - {name: static_layer, type: "costmap_2d::StaticLayer"} - - {name: inflater_layer, type: "costmap_2d::InflationLayer"} + - {name: static_layer, type: "costmap_2d::StaticLayer"} + - {name: obstacle_layer1, type: "costmap_2d::ObstacleLayer"} + - {name: obstacle_layer2, type: "costmap_2d::ObstacleLayer"} + - {name: inflater_layer, type: "costmap_2d::InflationLayer"} static_layer: map_topic: map + first_map_only: false subscribe_to_updates: true lethal_cost_threshold: 50 track_unknown_space: false + obstacle_layer1: + observation_sources: scan + scan: + data_type: LaserScan + topic: /velodyne_scan + sensor_frame: velodyne_link + marking: true + clearing: true + inf_is_valid: true + max_obstacle_height: 2.5 + min_obstacle_height: 0.0 + obstacle_range: 10 + raytrace_range: 10 + observation_persistence: 0.0 + + obstacle_layer2: + observation_sources: scan + scan: + data_type: LaserScan + topic: /hokuyo_scan + sensor_frame: hokuyo_link + marking: true + clearing: true + inf_is_valid: true + max_obstacle_height: 0.3 + min_obstacle_height: 0.0 + obstacle_range: 3 + raytrace_range: 3 + observation_persistence: 0.0 + inflater_layer: - inflation_radius: 2.0 - cost_scaling_factor: 5.0 + inflation_radius: 5.0 #2.0 + cost_scaling_factor: 1.5 #5.0 diff --git a/src/tsukuba2022/params/gmapping_common_params.yaml b/src/tsukuba2022/params/gmapping_common_params.yaml index 0261dbb..fa712dc 100644 --- a/src/tsukuba2022/params/gmapping_common_params.yaml +++ b/src/tsukuba2022/params/gmapping_common_params.yaml @@ -4,7 +4,7 @@ map_frame: map odom_frame: odom map_update_interval: 2.0 -maxUrange: 40.0 +maxUrange: 60.0 #40 sigma: 0.05 kernelSize: 1 lstep: 0.05 @@ -12,7 +12,7 @@ iterations: 5 lsigma: 0.075 ogain: 3.0 -lskip: 1 +lskip: 0 #1 minimumScore: 0.0 srr: 0.01 srt: 0.02 @@ -23,11 +23,11 @@ temporalUpdate: -1.0 resampleThreshold: 0.5 particles: 20 -xmin: -60.0 -ymin: -60.0 -xmax: 60.0 -ymax: 60.0 -delta: 0.05 +xmin: -50.0 +ymin: -50.0 +xmax: 50.0 +ymax: 50.0 +delta: 0.1 #0.05 # Resolution of map llsamplerange: 0.01 llsamplestep: 0.01 lasamplerange: 0.005 diff --git a/src/tsukuba2022/params/local_costmap_params.yaml b/src/tsukuba2022/params/local_costmap_params.yaml index 2812066..58ca76f 100644 --- a/src/tsukuba2022/params/local_costmap_params.yaml +++ b/src/tsukuba2022/params/local_costmap_params.yaml @@ -1,10 +1,10 @@ local_costmap: global_frame: map robot_base_frame: base_footprint - update_frequency: 5.0 + update_frequency: 3.0 publish_frequency: 5.0 rolling_window: true - resolution: 0.05 + resolution: 0.1 width: 8 height: 8 always_send_full_costmap: true @@ -25,12 +25,12 @@ inf_is_valid: true max_obstacle_height: 2.5 min_obstacle_height: 0.0 - obstacle_range: 8 - raytrace_range: 8 + obstacle_range: 10 + raytrace_range: 10 observation_persistence: 0.0 inflater_layer: - inflation_radius: 0.4 - cost_scaling_factor: 5.0 + inflation_radius: 0.2 #0.3 + cost_scaling_factor: 30.0 # https://answers.ros.org/question/326867/local_costmap-not-showing-every-obstacle/ diff --git a/src/tsukuba2022/params/localization_params.yaml b/src/tsukuba2022/params/localization_params.yaml index 89604bb..e35535e 100644 --- a/src/tsukuba2022/params/localization_params.yaml +++ b/src/tsukuba2022/params/localization_params.yaml @@ -1,31 +1,32 @@ odom_model_type: diff -transform_tolerance: 0.5 #0.2 +transform_tolerance: 1.0 #0.5 #0.2 gui_publish_rate: 10.0 laser_max_beams: 30 min_particles: 100 max_particles: 4000 kld_err: 0.05 kld_z: 0.99 -odom_alpha1: 0.2 -odom_alpha2: 0.2 -odom_alpha3: 0.2 -odom_alpha4: 0.2 -laser_z_hit: 0.5 +odom_alpha1: 0.3 #0.2 +odom_alpha2: 0.3 #0.2 +odom_alpha3: 0.3 #0.2 +odom_alpha4: 0.3 #0.2 +laser_z_hit: 0.6 #0.75 #0.5 laser_z_short: 0.05 laser_z_max: 0.05 -laser_z_rand: 0.5 +laser_z_rand: 0.05 #0.5 laser_sigma_hit: 0.2 laser_lambda_short: 0.1 laser_lambda_short: 0.1 laser_model_type: likelihood_field laser_likelihood_max_dist: 2.0 -update_min_d: 0.2 +update_min_d: 0.3 #0.2 update_min_a: 0.5 global_frame_id: map odom_frame_id: odom base_frame_od: base_footprint resample_interval: 1 recovery_alpha_slow: 0.0 -recovery_alpha_fast: 0.0 +recovery_alpha_fast: 0.1 #0.0 reset_th_alpha: 0.003 +use_map_topic: true # true for map change diff --git a/src/tsukuba2022/params/move_base_params.yaml b/src/tsukuba2022/params/move_base_params.yaml index 5acfd08..2af0f38 100644 --- a/src/tsukuba2022/params/move_base_params.yaml +++ b/src/tsukuba2022/params/move_base_params.yaml @@ -3,12 +3,12 @@ # http://www.ros.org/wiki/move_base # -shutdown_costmaps: true +shutdown_costmaps: false # false for change map -controller_frequency: 6 -controller_patience: 3.0 +controller_frequency: 5 +controller_patience: 5.0 -planner_frequency: 0.5 +planner_frequency: 1.0 planner_patience: 5.0 oscillation_timeout: 10.0 diff --git a/src/tsukuba2022/params/pointcloud_to_laserscan_params.yaml b/src/tsukuba2022/params/pointcloud_to_laserscan_params.yaml index 4df1b20..8c63168 100644 --- a/src/tsukuba2022/params/pointcloud_to_laserscan_params.yaml +++ b/src/tsukuba2022/params/pointcloud_to_laserscan_params.yaml @@ -1,9 +1,9 @@ target_frame: velodyne_link # Leave disabled to output scan in pointcloud frame transform_tolerance: 0.01 -min_height: -0.7 #-0.4 +min_height: -0.8 #-0.7 #-0.4 max_height: 0.3 #1.5 -angle_min: -2.3565 -angle_max: 2.3565 +angle_min: -2.6178 #-2.4435 #-2.3565 +angle_max: 2.6178 #2.4435 #2.3565 angle_increment: 0.008711645 scan_time: 0.03333 range_min: 0.2 diff --git a/src/tsukuba2022/params/recovery_params.yaml b/src/tsukuba2022/params/recovery_params.yaml index 92afe1a..f996f20 100644 --- a/src/tsukuba2022/params/recovery_params.yaml +++ b/src/tsukuba2022/params/recovery_params.yaml @@ -1,4 +1,4 @@ recovery_behaviors: [{name: aggressive_reset, type: clear_costmap_recovery/ClearCostmapRecovery}, - {name: simple_lead_out, type: simple_lead_out/SimpleLeadOut}, - {name: rotate_recovery, type: rotate_recovery/RotateRecovery}, + #{name: simple_lead_out, type: simple_lead_out/SimpleLeadOut}, + #{name: rotate_recovery, type: rotate_recovery/RotateRecovery}, {name: conservative_reset, type: clear_costmap_recovery/ClearCostmapRecovery}] diff --git a/src/tsukuba2022/params/segmentation_params.yaml b/src/tsukuba2022/params/segmentation_params.yaml index 2a6b3af..49401d4 100644 --- a/src/tsukuba2022/params/segmentation_params.yaml +++ b/src/tsukuba2022/params/segmentation_params.yaml @@ -5,12 +5,12 @@ n_bins: 200 ## number of radial bins. n_segments: 720 ## number of radial segments. -max_dist_to_line: 0.35 #0.1 ## maximum vertical distance of point to line to be considered ground. +max_dist_to_line: 0.15 #0.35 #0.1 ## maximum vertical distance of point to line to be considered ground. sensor_height: 1.0 #1.205 # sensor height above ground. min_slope: 0.0 # minimum slope of a ground line. max_slope: 3.0 ## maximum slope of a ground line. -max_fit_error: 0.15 #0.05 # maximum error of a point during line fit. +max_fit_error: 0.07 #0.15 #0.05 # maximum error of a point during line fit. long_threshold: 10.0 ## distance between points after which they are considered far from each other. max_long_height: 0.3 # maximum height change to previous point in long line. max_start_height: 0.5 ## maximum difference to estimated ground height to start a new line. diff --git a/src/tsukuba2022/params/teb_local_planner_params.yaml b/src/tsukuba2022/params/teb_local_planner_params.yaml index e0531bc..118b4dc 100644 --- a/src/tsukuba2022/params/teb_local_planner_params.yaml +++ b/src/tsukuba2022/params/teb_local_planner_params.yaml @@ -7,16 +7,16 @@ # Trajectory teb_autosize: True - dt_ref: 0.5 #0.3 軌道の解像度[s] + dt_ref: 0.5 軌道の解像度[s] dt_hysteresis: 0.1 global_plan_overwrite_orientation: True - max_global_plan_lookahead_dist: 2.0 #仮想的なローカルゴールまでの距離 + max_global_plan_lookahead_dist: 5.0 #仮想的なローカルゴールまでの距離 feasibility_check_no_poses: 5 # Robot max_vel_x: 1.2 max_vel_x_backwards: 0.2 - max_vel_theta: 1.0 + max_vel_theta: 0.5 acc_lim_x: 2.0 acc_lim_theta: 1.0 min_turning_radius: 0.0 @@ -33,7 +33,7 @@ free_goal_vel: False # Obstacles - min_obstacle_dist: 0.4 + min_obstacle_dist: 0.35 inflation_dist: 0.5 #0.6 include_dynamic_obstacles: False include_costmap_obstacles: True # False -> 障害物割と無視 @@ -51,8 +51,8 @@ penalty_epsilon: 0.1 weight_max_vel_x: 1000 #2 weight_max_vel_theta: 1000 #1 - weight_acc_lim_x: 1 #100 #1 - weight_acc_lim_theta: 1 #1 + weight_acc_lim_x: 100 #100 #1 + weight_acc_lim_theta: 100 #1 weight_kinematics_nh: 1000 weight_kinematics_forward_drive: 100 #1 weight_kinematics_turning_radius: 1 @@ -64,7 +64,7 @@ selection_alternative_time_cost: False # not in use yet # Homotopy Class Planner - enable_homotopy_class_planning: False #True #軌道の複数代替案を計算するかどうか? + enable_homotopy_class_planning: False #軌道の複数代替案を計算するかどうか? enable_multithreading: False #True simple_exploration: False max_number_classes: 2 #4 軌道の代替案の計算個数 @@ -87,4 +87,4 @@ # ・no_inner_iterations, no_outer_iterations -> 小さく # ・weight_acc_lim -> 0.0に # ・enable_homotopy_class_planning -> False ※影響大 - # ・max_number_classes -> 小さく(2で十分?) \ No newline at end of file + # ・max_number_classes -> 小さく(2で十分?) diff --git a/src/tsukuba2022/rviz_cfg/nav.rviz b/src/tsukuba2022/rviz_cfg/nav.rviz new file mode 100644 index 0000000..80e3308 --- /dev/null +++ b/src/tsukuba2022/rviz_cfg/nav.rviz @@ -0,0 +1,368 @@ +Panels: + - Class: rviz/Displays + Help Height: 0 + Name: Displays + Property Tree Widget: + Expanded: ~ + Splitter Ratio: 0.5 + Tree Height: 684 + - Class: rviz/Selection + Name: Selection + - Class: rviz/Tool Properties + Expanded: + - /2D Pose Estimate1 + - /2D Nav Goal1 + - /Publish Point1 + Name: Tool Properties + Splitter Ratio: 0.5886790156364441 + - Class: rviz/Views + Expanded: + - /Current View1 + Name: Views + Splitter Ratio: 0.5 + - Class: rviz/Time + Name: Time + SyncMode: 0 + SyncSource: LaserScan + - Class: orne_rviz_plugins/StateTriggerPanel + Name: StateTriggerPanel +Preferences: + PromptSaveOnExit: true +Toolbars: + toolButtonStyle: 2 +Visualization Manager: + Class: "" + Displays: + - Alpha: 0.5 + Cell Size: 1 + Class: rviz/Grid + Color: 160; 160; 164 + Enabled: true + Line Style: + Line Width: 0.029999999329447746 + Value: Lines + Name: Grid + Normal Cell Count: 0 + Offset: + X: 0 + Y: 0 + Z: 0 + Plane: XY + Plane Cell Count: 10 + Reference Frame: + Value: true + - Alpha: 0.699999988079071 + Class: rviz/Map + Color Scheme: map + Draw Behind: false + Enabled: true + Name: Map + Topic: /map + Unreliable: false + Use Timestamp: false + Value: true + - Alpha: 1 + Class: rviz/RobotModel + Collision Enabled: false + Enabled: true + Links: + All Links Enabled: true + Expand Joint Details: false + Expand Link Details: false + Expand Tree: false + Link Tree Style: Links in Alphabetic Order + base_footprint: + Alpha: 1 + Show Axes: false + Show Trail: false + base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + hokuyo_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + imu_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + left_caster_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + left_wheel: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + right_caster_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + right_wheel: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + Name: RobotModel + Robot Description: robot_description + TF Prefix: "" + Update Interval: 0 + Value: true + Visual Enabled: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz/LaserScan + Color: 0; 255; 0 + Color Transformer: FlatColor + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 170; 0; 0 + Min Color: 0; 85; 0 + Name: LaserScan + Position Transformer: XYZ + Queue Size: 10 + Selectable: true + Size (Pixels): 5 + Size (m): 0.10000000149011612 + Style: Points + Topic: /scan + Unreliable: false + Use Fixed Frame: true + Use rainbow: true + Value: true + - Alpha: 1 + Arrow Length: 0.30000001192092896 + Axes Length: 0.30000001192092896 + Axes Radius: 0.009999999776482582 + Class: rviz/PoseArray + Color: 255; 25; 0 + Enabled: true + Head Length: 0.07000000029802322 + Head Radius: 0.029999999329447746 + Name: Particles + Queue Size: 10 + Shaft Length: 0.23000000417232513 + Shaft Radius: 0.009999999776482582 + Shape: Arrow (Flat) + Topic: /particlecloud + Unreliable: false + Value: true + - Alpha: 1 + Class: rviz/Polygon + Color: 25; 255; 0 + Enabled: true + Name: Footprint + Queue Size: 10 + Topic: /move_base/local_costmap/footprint + Unreliable: false + Value: true + - Alpha: 1 + Buffer Length: 1 + Class: rviz/Path + Color: 25; 255; 0 + Enabled: true + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 + Line Style: Lines + Line Width: 0.029999999329447746 + Name: Global Plan + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Queue Size: 10 + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 + Topic: /move_base/GlobalPlanner/plan + Unreliable: false + Value: true + - Alpha: 1 + Buffer Length: 1 + Class: rviz/Path + Color: 255; 255; 0 + Enabled: true + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 + Line Style: Billboards + Line Width: 0.10000000149011612 + Name: Local Plan + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Queue Size: 10 + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 + Topic: /move_base/TrajectoryPlannerROS/local_plan + Unreliable: false + Value: true + - Alpha: 0.699999988079071 + Class: rviz/Map + Color Scheme: costmap + Draw Behind: true + Enabled: true + Name: GlobalCostmap + Topic: /move_base/global_costmap/costmap + Unreliable: false + Use Timestamp: false + Value: true + - Alpha: 0.699999988079071 + Class: rviz/Map + Color Scheme: costmap + Draw Behind: false + Enabled: true + Name: LocalCostmap + Topic: /move_base/local_costmap/costmap + Unreliable: false + Use Timestamp: false + Value: true + - Alpha: 1 + Arrow Length: 0.30000001192092896 + Axes Length: 0.30000001192092896 + Axes Radius: 0.009999999776482582 + Class: rviz/PoseArray + Color: 0; 0; 127 + Enabled: true + Head Length: 0.07000000029802322 + Head Radius: 0.029999999329447746 + Name: Waypoints + Queue Size: 10 + Shaft Length: 0.23000000417232513 + Shaft Radius: 0.009999999776482582 + Shape: Arrow (Flat) + Topic: /waypoints + Unreliable: false + Value: true + - Alpha: 1 + Axes Length: 1 + Axes Radius: 0.10000000149011612 + Class: rviz/Pose + Color: 0; 0; 127 + Enabled: false + Head Length: 0.30000001192092896 + Head Radius: 0.10000000149011612 + Name: Pose + Queue Size: 10 + Shaft Length: 1 + Shaft Radius: 0.05000000074505806 + Shape: Arrow + Topic: /move_base_simple/goal + Unreliable: false + Value: false + - Alpha: 1 + Class: rviz/PointStamped + Color: 204; 41; 204 + Enabled: false + History Length: 10 + Name: PointStamped + Queue Size: 10 + Radius: 0.20000000298023224 + Topic: /target_point + Unreliable: false + Value: false + - Alpha: 1 + Class: rviz/PointStamped + Color: 239; 41; 41 + Enabled: false + History Length: 1 + Name: PointStamped + Queue Size: 10 + Radius: 0.4000000059604645 + Topic: /filtered_target_point + Unreliable: false + Value: false + Enabled: true + Global Options: + Background Color: 48; 48; 48 + Default Light: true + Fixed Frame: map + Frame Rate: 10 + Name: root + Tools: + - Class: rviz/Interact + Hide Inactive Objects: true + - Class: rviz/MoveCamera + - Class: rviz/Select + - Class: rviz/FocusCamera + - Class: rviz/Measure + - Class: rviz/SetInitialPose + Theta std deviation: 0.2617993950843811 + Topic: /initialpose + X std deviation: 0.5 + Y std deviation: 0.5 + - Class: rviz/SetGoal + Topic: /move_base_simple/goal + - Class: rviz/PublishPoint + Single click: true + Topic: /clicked_point + Value: true + Views: + Current: + Class: rviz/ThirdPersonFollower + Distance: 27.817344665527344 + Enable Stereo Rendering: + Stereo Eye Separation: 0.05999999865889549 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Field of View: 0.7853981852531433 + Focal Point: + X: -0.058651626110076904 + Y: 0.01184246689081192 + Z: 0 + Focal Shape Fixed Size: false + Focal Shape Size: 0.05000000074505806 + Invert Z Axis: false + Name: Current View + Near Clip Distance: 0.009999999776482582 + Pitch: 1.5697963237762451 + Target Frame: base_link + Yaw: 3.170393466949463 + Saved: ~ +Window Geometry: + Displays: + collapsed: false + Height: 937 + Hide Left Dock: false + Hide Right Dock: true + QMainWindow State: 000000ff00000000fd0000000400000000000001930000034efc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005d00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003e000002e9000000cb00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000002200530074006100740065005400720069006700670065007200500061006e0065006c010000032d0000005f0000004100ffffff000000010000010f000002b3fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003e000002b3000000a500fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000005e00000003bfc0100000002fb0000000800540069006d00650000000000000005e00000039300fffffffb0000000800540069006d00650100000000000004500000000000000000000003410000034e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Selection: + collapsed: false + StateTriggerPanel: + collapsed: false + Time: + collapsed: false + Tool Properties: + collapsed: false + Views: + collapsed: true + Width: 1242 + X: 597 + Y: -40 diff --git a/src/tsukuba2022/rviz_cfg/record_waypoints.rviz b/src/tsukuba2022/rviz_cfg/record_waypoints.rviz new file mode 100644 index 0000000..659846c --- /dev/null +++ b/src/tsukuba2022/rviz_cfg/record_waypoints.rviz @@ -0,0 +1,240 @@ +Panels: + - Class: rviz/Displays + Help Height: 78 + Name: Displays + Property Tree Widget: + Expanded: ~ + Splitter Ratio: 0.5 + Tree Height: 418 + - Class: rviz/Selection + Name: Selection + - Class: rviz/Tool Properties + Expanded: + - /2D Pose Estimate1 + - /2D Nav Goal1 + - /Publish Point1 + Name: Tool Properties + Splitter Ratio: 0.5886790156364441 + - Class: rviz/Views + Expanded: + - /Current View1 + Name: Views + Splitter Ratio: 0.5 + - Class: rviz/Time + Experimental: false + Name: Time + SyncMode: 0 + SyncSource: LaserScan +Preferences: + PromptSaveOnExit: true +Toolbars: + toolButtonStyle: 2 +Visualization Manager: + Class: "" + Displays: + - Alpha: 0.5 + Cell Size: 1 + Class: rviz/Grid + Color: 160; 160; 164 + Enabled: true + Line Style: + Line Width: 0.029999999329447746 + Value: Lines + Name: Grid + Normal Cell Count: 0 + Offset: + X: 0 + Y: 0 + Z: 0 + Plane: XY + Plane Cell Count: 10 + Reference Frame: + Value: true + - Alpha: 0.699999988079071 + Class: rviz/Map + Color Scheme: map + Draw Behind: false + Enabled: true + Name: Map + Topic: /map + Unreliable: false + Use Timestamp: false + Value: true + - Alpha: 1 + Class: rviz/RobotModel + Collision Enabled: false + Enabled: true + Links: + All Links Enabled: true + Expand Joint Details: false + Expand Link Details: false + Expand Tree: false + Link Tree Style: Links in Alphabetic Order + base_footprint: + Alpha: 1 + Show Axes: false + Show Trail: false + base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + base_scan: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + caster_back_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + imu_link: + Alpha: 1 + Show Axes: false + Show Trail: false + wheel_left_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + wheel_right_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + Name: RobotModel + Robot Description: robot_description + TF Prefix: "" + Update Interval: 0 + Value: true + Visual Enabled: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz/LaserScan + Color: 255; 255; 255 + Color Transformer: Intensity + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Min Color: 0; 0; 0 + Name: LaserScan + Position Transformer: XYZ + Queue Size: 10 + Selectable: true + Size (Pixels): 3 + Size (m): 0.009999999776482582 + Style: Points + Topic: /scan + Unreliable: false + Use Fixed Frame: true + Use rainbow: true + Value: true + - Class: rviz/MarkerArray + Enabled: true + Marker Topic: /waypoints + Name: Waypoints + Namespaces: + {} + Queue Size: 100 + Value: true + - Alpha: 1 + Class: rviz/PointStamped + Color: 204; 41; 204 + Enabled: true + History Length: 1 + Name: PointStamped + Queue Size: 10 + Radius: 0.20000000298023224 + Topic: /clicked_point + Unreliable: false + Value: true + - Alpha: 1 + Axes Length: 1 + Axes Radius: 0.10000000149011612 + Class: rviz/Pose + Color: 255; 25; 0 + Enabled: true + Head Length: 0.30000001192092896 + Head Radius: 0.10000000149011612 + Name: Pose + Queue Size: 10 + Shaft Length: 1 + Shaft Radius: 0.05000000074505806 + Shape: Arrow + Topic: /move_base_simple/goal + Unreliable: false + Value: true + Enabled: true + Global Options: + Background Color: 48; 48; 48 + Default Light: true + Fixed Frame: map + Frame Rate: 10 + Name: root + Tools: + - Class: rviz/Interact + Hide Inactive Objects: true + - Class: rviz/MoveCamera + - Class: rviz/Select + - Class: rviz/FocusCamera + - Class: rviz/Measure + - Class: rviz/SetInitialPose + Theta std deviation: 0.2617993950843811 + Topic: /initialpose + X std deviation: 0.5 + Y std deviation: 0.5 + - Class: rviz/SetGoal + Topic: /move_base_simple/goal + - Class: rviz/PublishPoint + Single click: true + Topic: /clicked_point + Value: true + Views: + Current: + Class: rviz/Orbit + Distance: 9.116127014160156 + Enable Stereo Rendering: + Stereo Eye Separation: 0.05999999865889549 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Field of View: 0.7853981852531433 + Focal Point: + X: -0.43540072441101074 + Y: -0.04363036900758743 + Z: 0.47935307025909424 + Focal Shape Fixed Size: true + Focal Shape Size: 0.05000000074505806 + Invert Z Axis: false + Name: Current View + Near Clip Distance: 0.009999999776482582 + Pitch: 1.179796576499939 + Target Frame: + Yaw: 3.1354191303253174 + Saved: ~ +Window Geometry: + Displays: + collapsed: false + Height: 716 + Hide Left Dock: false + Hide Right Dock: false + QMainWindow State: 000000ff00000000fd0000000400000000000001560000022dfc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005d00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003e0000022d000000cb00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f00000252fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000002800000252000000a500fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004b00000003efc0100000002fb0000000800540069006d00650100000000000004b00000026c00fffffffb0000000800540069006d00650100000000000004500000000000000000000003540000022d00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Selection: + collapsed: false + Time: + collapsed: false + Tool Properties: + collapsed: false + Views: + collapsed: false + Width: 1200 + X: 195 + Y: 59 diff --git a/src/tsukuba2022/rviz_cfg/teb_nav.rviz b/src/tsukuba2022/rviz_cfg/teb_nav.rviz index a62c8a7..38bb6dc 100644 --- a/src/tsukuba2022/rviz_cfg/teb_nav.rviz +++ b/src/tsukuba2022/rviz_cfg/teb_nav.rviz @@ -5,7 +5,7 @@ Property Tree Widget: Expanded: ~ Splitter Ratio: 0.5 - Tree Height: 538 + Tree Height: 622 - Class: rviz/Selection Name: Selection - Class: rviz/Tool Properties @@ -294,8 +294,7 @@ Marker Topic: /move_base/TebLocalPlannerROS/teb_markers Name: Teb Marker Namespaces: - PointObstacles: true - RobotFootprintModel: true + {} Queue Size: 100 Value: true - Alpha: 1 @@ -359,17 +358,17 @@ Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 - Pitch: 1.5647963285446167 + Pitch: 1.054796576499939 Target Frame: base_link - Yaw: 3.135395050048828 + Yaw: 3.1103944778442383 Saved: ~ Window Geometry: Displays: collapsed: false - Height: 786 + Height: 877 Hide Left Dock: false Hide Right Dock: true - QMainWindow State: 000000ff00000000fd000000040000000000000193000002b7fc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005d00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003e00000257000000cb00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000002200530074006100740065005400720069006700670065007200500061006e0065006c010000029b0000005a0000004100ffffff000000010000010f000002b3fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003e000002b3000000a500fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000005e00000003bfc0100000002fb0000000800540069006d00650000000000000005e00000039300fffffffb0000000800540069006d0065010000000000000450000000000000000000000369000002b700000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd00000004000000000000019300000312fc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005d00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003e000002ab000000cb00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000002200530074006100740065005400720069006700670065007200500061006e0065006c01000002ef000000610000004100ffffff000000010000010f000002b3fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003e000002b3000000a500fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000005e00000003bfc0100000002fb0000000800540069006d00650000000000000005e00000039300fffffffb0000000800540069006d00650100000000000004500000000000000000000003970000031200000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false StateTriggerPanel: @@ -380,6 +379,6 @@ collapsed: false Views: collapsed: true - Width: 1282 - X: 217 - Y: 1 + Width: 1328 + X: 501 + Y: 19 diff --git a/src/tsukuba2022/urdf/orange2022.gazebo b/src/tsukuba2022/urdf/orange2022.gazebo index 5bd5d41..da23844 100644 --- a/src/tsukuba2022/urdf/orange2022.gazebo +++ b/src/tsukuba2022/urdf/orange2022.gazebo @@ -37,7 +37,7 @@ 1000000.0 100.0 0.001 - 3.0 + 1.0 @@ -47,7 +47,7 @@ 1000000.0 100.0 0.001 - 3.0 + 1.0 diff --git a/src/waypoint_navigation/.gitignore b/src/waypoint_navigation/.gitignore deleted file mode 100644 index dbe9c82..0000000 --- a/src/waypoint_navigation/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.vscode/ \ No newline at end of file diff --git a/src/waypoint_navigation/waypoint_manager/scripts/lib/__pycache__/__init__.cpython-38.pyc b/src/waypoint_navigation/waypoint_manager/scripts/lib/__pycache__/__init__.cpython-38.pyc index 0227a91..02fcd22 100644 --- a/src/waypoint_navigation/waypoint_manager/scripts/lib/__pycache__/__init__.cpython-38.pyc +++ b/src/waypoint_navigation/waypoint_manager/scripts/lib/__pycache__/__init__.cpython-38.pyc Binary files differ diff --git a/src/waypoint_navigation/waypoint_manager/scripts/lib/__pycache__/mymaplib.cpython-38.pyc b/src/waypoint_navigation/waypoint_manager/scripts/lib/__pycache__/mymaplib.cpython-38.pyc index 5048aa5..cb740e4 100644 --- a/src/waypoint_navigation/waypoint_manager/scripts/lib/__pycache__/mymaplib.cpython-38.pyc +++ b/src/waypoint_navigation/waypoint_manager/scripts/lib/__pycache__/mymaplib.cpython-38.pyc Binary files differ diff --git a/src/waypoint_navigation/waypoint_manager/scripts/lib/__pycache__/waypointlib.cpython-38.pyc b/src/waypoint_navigation/waypoint_manager/scripts/lib/__pycache__/waypointlib.cpython-38.pyc index f8c3b92..d8faa33 100644 --- a/src/waypoint_navigation/waypoint_manager/scripts/lib/__pycache__/waypointlib.cpython-38.pyc +++ b/src/waypoint_navigation/waypoint_manager/scripts/lib/__pycache__/waypointlib.cpython-38.pyc Binary files differ diff --git a/src/waypoint_navigation/waypoint_manager/scripts/lib/waypointlib.py b/src/waypoint_navigation/waypoint_manager/scripts/lib/waypointlib.py index ab54d33..94ce65e 100644 --- a/src/waypoint_navigation/waypoint_manager/scripts/lib/waypointlib.py +++ b/src/waypoint_navigation/waypoint_manager/scripts/lib/waypointlib.py @@ -42,6 +42,10 @@ def set_waypoint_val(self, id, key, val): self.waypoints[self.get_num(id)-1][key] = val return + + + def delete_waypoint_param(self, id, key): + return self.waypoints[self.get_num(id)-1].pop(key) def get_waypoint(self, id=None, num=None): @@ -67,8 +71,6 @@ class FinishPose(): def __init__(self, wp_yaml): - super().__init__() - self.header = {} for key, val in wp_yaml["finish_pose"]["header"].items(): self.header[key] = val @@ -95,6 +97,7 @@ + def get_waypoint_yaml(waypoints: WaypointList, finish_pose: FinishPose): s = ["waypoints:" + "\n"] for point in waypoints.get_waypoint(): @@ -108,11 +111,10 @@ seq, stamp, frame = (finish_pose.header["seq"], finish_pose.header["stamp"], finish_pose.header["frame_id"]) s.append(" header: {" + "seq: {}, stamp: {}, frame_id: {}".format(seq,stamp,frame) + "}" + "\n") s.append(" pose:" + "\n") - p = finish_pose.position - s.append(" position: {" + "x: {}, y: {}, z: {}".format(p["x"], p["y"], p["z"]) + "}" + "\n") - o = finish_pose.orientation - s.append(" orientation: {" + "x: {}, y: {}, z: {}, w: {}".format(o["x"],o["y"],o["z"],o["w"]) + "}") + x = finish_pose.x + y = finish_pose.y + z = finish_pose.position["z"] + s.append(" position: {" + "x: {}, y: {}, z: {}".format(x, y, z) + "}" + "\n") + q = quaternion.from_euler_angles([0, 0, finish_pose.yaw]) + s.append(" orientation: {" + "x: {}, y: {}, z: {}, w: {}".format(q.x, q.y, q.z, q.w) + "}") return "".join(s) - - - \ No newline at end of file diff --git a/src/waypoint_navigation/waypoint_manager/scripts/manager_GUI.py b/src/waypoint_navigation/waypoint_manager/scripts/manager_GUI.py index 9bd2d1f..cd38a8a 100755 --- a/src/waypoint_navigation/waypoint_manager/scripts/manager_GUI.py +++ b/src/waypoint_navigation/waypoint_manager/scripts/manager_GUI.py @@ -2,7 +2,9 @@ import tkinter.filedialog import math import ruamel.yaml +import gc from pathlib import Path +from tkinter import messagebox from lib.mymaplib import MyMap from lib.waypointlib import WaypointList, FinishPose, get_waypoint_yaml @@ -18,7 +20,6 @@ #### 画面上部のメニューを作成 #### self.menu_bar = tk.Menu(self) # メニューバーを配置 self.file_menu = tk.Menu(self.menu_bar, tearoff=tk.OFF) # バーに追加するメニューを作成 - self.menu_bar.add_cascade(label="File", menu=self.file_menu) # Fileメニューとしてバーに追加 self.open_menu = tk.Menu(self.file_menu, tearoff=tk.OFF) # Openメニュー self.open_menu.add_command(label="Map", command=self.menu_open_map) self.open_menu.add_command(label="Waypoints", command=self.menu_open_waypoints, state=tk.DISABLED) @@ -31,23 +32,41 @@ ) self.file_menu.add_separator() self.file_menu.add_command(label="Exit", command=self.menu_exit, accelerator="Ctrl+Q") + self.menu_bar.add_cascade(label="File", menu=self.file_menu) # Fileメニューとしてバーに追加 self.bind_all("", self.menu_save) #キーボードショートカットを設定 self.bind_all("", self.menu_saveas) self.bind_all("", self.menu_exit) - self.master.config(menu=self.menu_bar) # 大元に作成したメニューバーを設定 + + self.edit_menu = tk.Menu(self.menu_bar, tearoff=tk.OFF) + self.edit_menu.add_command(label="Set Finish Pose", command=self.menu_set_finishpose) + self.edit_menu.add_command(label="From To", command=self.menu_from_to) + self.menu_bar.add_cascade(label="Edit", menu=self.edit_menu) + + self.show_menu = tk.Menu(self.menu_bar, tearoff=tk.OFF) + self.fp_menu = tk.Menu(self.show_menu, tearoff=tk.OFF) + self.fp_menu.add_command(label="Set model", command=self.menu_set_footprint) + self.show_fp = tk.BooleanVar() + self.fp_menu.add_checkbutton(label="Show footprint", command=self.menu_show_footprint, + variable=self.show_fp, accelerator="Ctrl+F" + ) + self.show_menu.add_cascade(label="Footprint", menu=self.fp_menu) + self.menu_bar.add_cascade(label="View", menu=self.show_menu) + self.bind_all("", self.menu_show_footprint) + + self.master.configure(menu=self.menu_bar) # 大元に作成したメニューバーを設定 #### 画面上部に、システムからのメッセージを表示するラベルを配置 #### - self.msg_label = tk.Label(self.master, text="Please open map file ", anchor=tk.E) + self.msg_label = tk.Label(self.master, text="Please open map file ", anchor=tk.E, font=("Consolas",13)) self.msg_label.pack(fill=tk.X, padx=5) #### 画面下部に、カーソルの座標やピクセル情報を表示するステータスバーを表示 #### self.status_bar = tk.Frame(self.master) self.mouse_position = tk.Label(self.status_bar, relief=tk.SUNKEN, - text=" (x, y) = ", anchor=tk.W, font=("", 15) + text=" (x, y) = ", anchor=tk.W, font=("Consolas", 15) ) self.mouse_position.pack(side=tk.LEFT, padx=3) self.waypoint_num = tk.Label(self.status_bar, relief=tk.SUNKEN, - text=" Waypoint No. -----", anchor=tk.W, font=("", 15) + text=" Waypoint No. -----", anchor=tk.W, font=("Consolas", 15) ) self.waypoint_num.pack(side=tk.RIGHT, padx=3) self.status_bar.pack(side=tk.BOTTOM, fill=tk.X) @@ -82,9 +101,12 @@ self.waypoints_filepath = None self.editing_waypoint_id = None # 編集中のウェイポイントを示す図形のオブジェクトID self.moving_waypoint = False # ウェイポイントをDnDで動かしている最中かどうか + self.setting_finish_pose = 0 # finish pose のセット中かどうか self.old_click_point = None # 最後にカーソルのあった座標を保持 - self.wp_info_win = None # ウェイポイント情報を表示するウィンドウ + self.wp_info_win: tk.Toplevel = None # ウェイポイント情報を表示するウィンドウ self.point_rad = 10 # 画像上に示すポイントの半径ピクセル + self.footprint = [[0.25, 0.4], [0.25, -0.4], [-0.65, -0.4], [-0.65, 0.4]] + self.footprint_id = [] return @@ -108,7 +130,19 @@ with open(map_path) as file: # .yamlを読み込む map_yaml = ruamel.yaml.YAML().load(file) - self.mymap = MyMap(Path(map_path), map_yaml) + if not "image" in map_yaml.keys(): + messagebox.showerror(title="Format error", message="Selected map file is unexpected format.") + return + try: + del self.mymap + self.mymap = MyMap(Path(map_path), map_yaml) + except FileNotFoundError: + messagebox.showerror(title="Image file is not found", message="\""+map_yaml["image"]+"\" is not found.") + self.mymap = None + return + self.message("Read map file " + map_path) + self.canvas.delete("all") + if self.waypoints is not None: self.waypoints.number_dict = {} ## キャンバスサイズに合わせて画像を表示 scale = 1 offset_x = 0 @@ -126,10 +160,17 @@ self.mymap.translate(offset_x, offset_y) self.draw_image() # 画像を描画 self.plot_origin() # 原点を示す円を描画 - self.master.title(Path(map_path).name + " - " + self.master.title()) - self.open_menu.entryconfigure("Map", state=tk.DISABLED) + if self.waypoints_filepath is not None: + self.master.title(self.waypoints_filepath.name + " - " + Path(map_path).name) + else: + self.master.title(Path(map_path).name) self.open_menu.entryconfigure("Waypoints", state=tk.NORMAL) - self.message("Please open waypoints file ") + if self.waypoints is None: + self.message("Please open waypoints file ") + self.menu_open_waypoints() + else: + self.plot_waypoints() + gc.collect() return @@ -137,23 +178,42 @@ +++++ File -> Open -> Waypionts +++++ """ def menu_open_waypoints(self): + if (self.waypoints is not None) and (self.master.title()[0] == "*"): + yn = messagebox.askyesno("Confirm", "Do you want to save changes to " + str(self.waypoints_filepath)) + if yn: self.save_waypoints(str(self.waypoints_filepath)) # Yes + self.master.title(str(self.master.title()).replace("* " + self.waypoints_filepath.name + " - ", "")) + elif (self.waypoints is not None): + self.master.title(str(self.master.title()).replace(self.waypoints_filepath.name + " - ", "")) + + self.canvas.delete("all") + self.draw_image() + self.plot_origin() + if (self.wp_info_win is not None) and (self.wp_info_win.winfo_exists()): + self.wp_info_win.destroy() + filepath = tkinter.filedialog.askopenfilename( parent=self.master, - title="Select map yaml file", + title="Select waypoints yaml file", initialdir=str(Path(".")), filetypes=[("YAML", ".yaml")] ) if not filepath: return with open(filepath) as file: wp_yaml = ruamel.yaml.YAML().load(file) + if (not "waypoints" in wp_yaml.keys()) or (not "finish_pose" in wp_yaml.keys()): + messagebox.showerror(title="Format error", message="Selected waypoints file is unexpected format.") + return + del self.waypoints self.waypoints = WaypointList(wp_yaml) self.finish_pose = FinishPose(wp_yaml) self.waypoints_filepath = Path(filepath) self.plot_waypoints() - self.master.title(Path(filepath).name + " - " + self.master.title()) + self.master.title(self.waypoints_filepath.name + " - " + self.master.title()) + self.message("Read waypoints file " + filepath) self.file_menu.entryconfigure("Save", state=tk.NORMAL) self.file_menu.entryconfigure("Save As", state=tk.NORMAL) self.popup_menu.entryconfigure("Add waypoint here", state=tk.NORMAL) + gc.collect() return @@ -161,8 +221,11 @@ +++++ File -> Save +++++ """ def menu_save(self, event=None): + if not self.waypoints: return self.save_waypoints(str(self.waypoints_filepath)) self.message("Saved changes!") + title = self.master.title() + if title[0] == "*": self.master.title(str(title).replace("* ", "")) return @@ -170,6 +233,7 @@ +++++ File -> Save As +++++ """ def menu_saveas(self, event=None): + if not self.waypoints: return new_filepath = tkinter.filedialog.asksaveasfilename( parent=self.master, title="Save As", @@ -184,6 +248,8 @@ self.waypoints_filepath = Path(new_filepath) self.master.title(current_title.replace(old_filename, self.waypoints_filepath.name)) self.message("Save As" + "\"" + str(new_filepath) + "\"") + title = self.master.title() + if title[0] == "*": self.master.title(str(title).replace("* ", "")) return @@ -191,6 +257,13 @@ +++++ File -> Exit +++++ """ def menu_exit(self, event=None): + title = self.master.title() + if title[0] != "*": + self.master.destroy() + return + res = messagebox.askyesnocancel(title="Unsaved changes", message="Do you want to save changes before close?") + if res is None: return # cancel + if res == True: self.menu_save() self.master.destroy() @@ -201,6 +274,153 @@ with open(path, 'w') as f: f.write(get_waypoint_yaml(self.waypoints, self.finish_pose)) return + + + """ + +++++ Edit -> Set Finish Pose +++++ + """ + def menu_set_finishpose(self, event=None): + if not self.waypoints: return + self.message("Click any point to set finsih pose. If you want to cancel, right click anywhere.") + self.setting_finish_pose = 1 + return + + + """ + +++++ Edit -> From To +++++ + """ + def menu_from_to(self, event=None): + if not self.waypoints: return + sub_win = tk.Toplevel() + sub_win.title("Set parameter from some number's waypoint to any number's one") + sub_win.attributes('-topmost', True) # サブウィンドウを最前面で固定 + # + font = ("Consolas", 12) + frame1 = tk.Frame(sub_win) + from_label = tk.Label(frame1, text="From No.", font=font) + from_label.grid(row=0, column=0) + from_txt_box = tk.Entry(frame1, width=4, font=font) + from_txt_box.grid(row=0, column=1) + to_label = tk.Label(frame1, text="to No.", font=font) + to_label.grid(row=0, column=2) + to_txt_box = tk.Entry(frame1, width=4, font=font) + to_txt_box.grid(row=0, column=3) + frame1.pack(padx=10, pady=10) + # + frame2 = tk.Frame(sub_win) + name_label = tk.Label(frame2, text="Parameter", font=font) + name_label.grid(row=0, column=0) + value_label=tk.Label(frame2, text="Value", font=font) + value_label.grid(row=0, column=1) + name_txt_box = tk.Entry(frame2, width=20, font=font) + name_txt_box.grid(row=1, column=0, padx=20) + value_txt_box = tk.Entry(frame2, width=20, font=font) + value_txt_box.grid(row=1, column=1, padx=20) + frame2.pack(padx=10, pady=10) + # + def set_btn_callback(): + from_num = from_txt_box.get() + to_num = to_txt_box.get() + if (len(from_num) == 0) or (len(to_num) == 0): + messagebox.showwarning(title="Warning", message="Enter waypoint numbers.") + return + from_num = int(from_num) + to_num = int(to_num) + if (from_num < 1) or (to_num > len(self.waypoints.get_waypoint())): + messagebox.showerror(title="Error", message="Entered number is out of range of the number of waypoints") + return + param = name_txt_box.get() + value = value_txt_box.get() + if (len(param) == 0) or (len(value) == 0): + messagebox.showwarning(title="Warning", message="Enter parameter name and value") + return + for n in range(from_num, to_num+1): + self.waypoints.waypoints[n-1][param] = value + sub_win.destroy() + self.update_title() + self.plot_waypoints() + return + frame3 = tk.Frame(sub_win) + set_btn = tk.Button(frame3, text="Set", width=5, command=set_btn_callback) + set_btn.pack(side=tk.RIGHT, padx=50, pady=10) + cancel_btn = tk.Button(frame3, text="Cancel", width=8, command=sub_win.destroy) + cancel_btn.pack(side=tk.LEFT, padx=50, pady=10) + frame3.pack(padx=10, pady=20, expand=True, fill=tk.X) + return + + + """ + +++++ View -> Footprint -> Set +++++ + """ + def menu_set_footprint(self, event=None): + sub_win = tk.Toplevel() + sub_win.title("Set footprint model") + sub_win.protocol("WM_DELETE_WINDOW") + sub_win.attributes('-topmost', True) # サブウィンドウを最前面で固定 + # テキストボックス + footprint = str(self.footprint) + txt_box = tk.Entry(sub_win, width=len(footprint)+10, font=("Consolas",12)) + txt_box.insert(tk.END, footprint) + txt_box.pack(padx=10, pady=20) + # Set ボタンコールバック + def callback(): + try: + self.footprint = eval(txt_box.get()) + if self.show_fp.get(): + self.show_fp.set(False) + self.menu_show_footprint() + self.show_fp.set(True) + self.menu_show_footprint() + sub_win.destroy() + except SyntaxError: + sub_win.title("Unexpectd format") + return + # Set ボタン + set_btn = tk.Button(sub_win, text="Set", width=5, height=1, command=callback) + set_btn.pack(pady=10) + sub_win.update() + w = sub_win.winfo_width() + h = sub_win.winfo_height() + x = int((self.canv_w - w) / 2) + y = int((self.canv_h - h) / 2) + geometry = "{}x{}+{}+{}".format(w, h, x, y) + sub_win.geometry(geometry) + return + + + """ + +++++ View -> Footprint -> Show +++++ + """ + def menu_show_footprint(self, event=None): + if not self.waypoints: return + if event: self.show_fp.set(not self.show_fp.get()) + # create polygon as footprint + def create_footprint(x, y, nx, ny): + polygon = [] + th = math.atan2((ny - y), (nx -x)) + for xy in self.footprint: + X = xy[0]*math.cos(th) - xy[1]*math.sin(th) + x + Y = xy[0]*math.sin(th) + xy[1]*math.cos(th) + y + cx, cy = self.real2canvas(float(X), float(Y)) + polygon.append([cx, cy]) + id = self.canvas.create_polygon(polygon, fill="", outline="green") + self.canvas.lower(id) + self.canvas.lift(id, "map_image") + self.footprint_id.append(id) + return + ## + if (self.show_fp.get()): + for i in range(len(self.waypoints.get_waypoint()) - 1): + wp = self.waypoints.get_waypoint(num=i+1) + next_wp = self.waypoints.get_waypoint(num=i+2) + create_footprint(float(wp["x"]), float(wp["y"]), float(next_wp["x"]), float(next_wp["y"])) + # last waypoint + create_footprint(float(next_wp["x"]), float(next_wp["y"]), self.finish_pose.x, self.finish_pose.y) + else: + for id in self.footprint_id: + self.canvas.delete(id) + self.footprint_id = [] + return @@ -272,16 +492,22 @@ +++++ キャンバスに新たなウェイポイントを描画する +++++ """ def create_waypoint(self, waypoint: dict): - cx, cy = self.real2canvas(float(waypoint["x"]), float(waypoint["y"])) + img_x, img_y = self.mymap.real2image(float(waypoint["x"]), float(waypoint["y"])) + cx, cy = self.mymap.transform(img_x, img_y) x0 = round(cx - self.point_rad) y0 = round(cy - self.point_rad) x1 = round(cx + self.point_rad + 1) y1 = round(cy + self.point_rad + 1) - id = self.canvas.create_oval(x0, y0, x1, y1, fill='#FDD', outline='red', activefill='red') - self.canvas.tag_bind(id, "", lambda event, wp_id=id: self.waypoint_clicked(event, wp_id)) - self.canvas.tag_bind(id, "", lambda event, wp_id=id: self.waypoint_enter(event, wp_id)) - self.canvas.tag_bind(id, "", self.waypoint_leave) - self.canvas.tag_bind(id, "", self.waypoint_click_move) + if (img_x < 0) or (img_y < 0) or (img_x > self.mymap.width()) or (img_y > self.mymap.height()): + id = self.canvas.create_oval(x0, y0, x1, y1, fill='#FEE', outline='#FAA', activefill='#F88') + self.canvas.tag_bind(id, "", lambda event, wp_id=id: self.waypoint_enter(event, wp_id)) + self.canvas.tag_bind(id, "", self.waypoint_leave) + else: + id = self.canvas.create_oval(x0, y0, x1, y1, fill='#FDD', outline='red', activefill='red') + self.canvas.tag_bind(id, "", lambda event, wp_id=id: self.waypoint_clicked(event, wp_id)) + self.canvas.tag_bind(id, "", lambda event, wp_id=id: self.waypoint_enter(event, wp_id)) + self.canvas.tag_bind(id, "", self.waypoint_leave) + self.canvas.tag_bind(id, "", self.waypoint_click_move) return id @@ -292,9 +518,10 @@ if wp_id != self.editing_waypoint_id: # 編集中のウェイポイントを切り替え self.canvas.itemconfig(self.editing_waypoint_id, fill='#FDD') self.editing_waypoint_id = wp_id - self.canvas.itemconfig(wp_id, fill='red') - self.disp_waypoint_info(wp_id) - self.message("Show selected waypoint information") + self.canvas.itemconfig(wp_id, fill='red') + self.moving_waypoint = False + self.disp_waypoint_info(wp_id) + self.message("Show selected waypoint information") return @@ -319,13 +546,14 @@ self.waypoints.set_waypoint_val(self.editing_waypoint_id, "x", x) self.waypoints.set_waypoint_val(self.editing_waypoint_id, "y", y) # 表示中のウェイポイント情報を更新 - txt_box = self.wp_info_win.grid_slaves(column=1, row=0)[0] + txt_box: tk.Entry = self.wp_info_win.grid_slaves(column=1, row=0)[0] txt_box.delete(0, tk.END) txt_box.insert(tk.END, x) txt_box = self.wp_info_win.grid_slaves(column=1, row=1)[0] txt_box.delete(0, tk.END) txt_box.insert(tk.END, y) self.old_click_point = [event.x, event.y] + self.update_title() return @@ -334,10 +562,10 @@ """ def waypoint_enter(self, event, wp_id): wp_num = self.waypoints.get_num(wp_id) - self.waypoint_num["text"] = " Waypoint No. {} " .format(str(wp_num)) + self.waypoint_num["text"] = " Waypoint No. {} " .format(str(wp_num)) def waypoint_leave(self, event): - self.waypoint_num["text"] = " Waypoint No. ----- " + self.waypoint_num["text"] = " Waypoint No. ----- " @@ -350,47 +578,50 @@ +++++ ウェイポイントが左クリックされたとき、別窓で情報を表示する関数 +++++ """ def disp_waypoint_info(self, id): - point = self.waypoints.get_waypoint(id=id) - if (self.wp_info_win is None) or (not self.wp_info_win.winfo_exists()): - # ウィンドウが表示されてない場合、初期化 - self.wp_info_win = tk.Toplevel() - self.wp_info_win.lower() - self.wp_info_win.protocol("WM_DELETE_WINDOW", self.close_wp_info) - # ウェイポイントファイルのキーを取得し、ラベルとテキストボックスを配置 - for i, key in enumerate(point.keys()): - key_label = tk.Label(self.wp_info_win, text=key+":", width=6, font=("Consolas",15), anchor=tk.E) - key_label.grid(column=0, row=i, padx=2, pady=5) - txt_box = tk.Entry(self.wp_info_win, width=20, font=("Consolas", 15)) - txt_box.insert(tk.END, str(point[key]).lower()) - txt_box.grid(column=1, row=i, padx=2, pady=2, ipady=3, sticky=tk.EW) - # Apply, DnD(Drag & Drop), remove ボタン - canv = tk.Canvas(self.wp_info_win) - canv.grid(column=0, columnspan=2, row=self.wp_info_win.grid_size()[1], sticky=tk.EW) - apply_btn = tk.Button(canv, text="Apply", width=5, height=1, bg="#FDD", - command=self.apply_btn_callback) - apply_btn.pack(side=tk.RIGHT, anchor=tk.SE, padx=5, pady=5) - dnd_btn = tk.Button(canv, text="DnD", width=5, height=1, bg="#EEE") - dnd_btn["command"] = lambda obj=dnd_btn: self.dnd_btn_callback(dnd_btn) - dnd_btn.pack(side=tk.RIGHT, anchor=tk.SE, padx=5, pady=5) - remove_btn = tk.Button(canv, text="Remove", width=7, height=1, bg="#F00", - command=self.remove_btn_callback) - remove_btn.pack(side=tk.LEFT, anchor=tk.SE, padx=5, pady=5) - # 位置とサイズを設定 - self.wp_info_win.update() - w = self.wp_info_win.winfo_width() - h = self.wp_info_win.winfo_height() - x = self.master.winfo_x() + self.canv_w - w - y = self.master.winfo_y() + self.canv_h - h - geometry = "{}x{}+{}+{}".format(w, h, x, y) - self.wp_info_win.geometry(geometry) - self.wp_info_win.lift() - self.wp_info_win.attributes('-topmost', True) # サブウィンドウを最前面で固定 - else: - # 既にウィンドウが表示されている場合、テキストボックスの中身を変える - for i, key in enumerate(point): - txt_box = self.wp_info_win.grid_slaves(column=1, row=i)[0] - txt_box.delete(0, tk.END) - txt_box.insert(tk.END, str(point[key]).lower()) + point: dict = self.waypoints.get_waypoint(id=id) + if (self.wp_info_win is not None) and (self.wp_info_win.winfo_exists()): + # 既にウィンドウが表示されている場合、一度削除 + self.wp_info_win.destroy() + # ウィンドウが表示されてない場合、初期化 + self.wp_info_win = tk.Toplevel() + self.wp_info_win.lower() + self.wp_info_win.protocol("WM_DELETE_WINDOW", self.close_wp_info) + # ウェイポイントファイルのキーを取得し、ラベルとテキストボックスを配置 + label_width = max([len(key) for key in point.keys()]) + 2 + for i, key in enumerate(point.keys()): + key_label = tk.Label(self.wp_info_win, text=key+":", width=label_width, font=("Consolas",15), anchor=tk.E) + key_label.grid(column=0, row=i, padx=2, pady=5) + txt_box = tk.Entry(self.wp_info_win, width=20, font=("Consolas", 15)) + txt_box.insert(tk.END, str(point[key]).lower()) + txt_box.grid(column=1, row=i, padx=2, pady=2, ipady=3, sticky=tk.EW) + del_btn = tk.Button(self.wp_info_win, text="-", width=2, bg="red", fg="white", font=("",13,"bold")) + del_btn["command"] = lambda name=key, val=str(point[key]).lower(): self.del_param_btn_callback(name, val) + del_btn.grid(column=2, row=i, padx=5, pady=5) + # New parameter + new_param_btn = tk.Button(self.wp_info_win, text="New Parameter", bg="#AFA") + new_param_btn["command"] = self.new_param_btn_callback + new_param_btn.grid(column=0, columnspan=2, row=self.wp_info_win.grid_size()[1], pady=10) + # Apply, DnD(Drag & Drop), remove ボタン + canv = tk.Canvas(self.wp_info_win) + canv.grid(column=0, columnspan=3, row=self.wp_info_win.grid_size()[1], sticky=tk.EW, pady=5) + apply_btn = tk.Button(canv, text="Apply", width=5, height=1, bg="#FDD", + command=self.apply_btn_callback) + apply_btn.pack(side=tk.RIGHT, anchor=tk.SE, padx=5, pady=5) + dnd_btn = tk.Button(canv, text="DnD", width=5, height=1, bg="#EEE") + dnd_btn["command"] = lambda obj=dnd_btn: self.dnd_btn_callback(dnd_btn) + dnd_btn.pack(side=tk.RIGHT, anchor=tk.SE, padx=5, pady=5) + remove_btn = tk.Button(canv, text="Remove", width=7, height=1, bg="#F00", + command=self.remove_btn_callback) + remove_btn.pack(side=tk.LEFT, anchor=tk.SE, padx=5, pady=5) + # 位置とサイズを設定 + self.wp_info_win.update() + w = self.wp_info_win.winfo_width() + h = self.wp_info_win.winfo_height() + x = self.canvas.winfo_x() + self.canv_w - w + y = self.canvas.winfo_y() + self.canv_h - h + self.wp_info_win.lift() + self.wp_info_win.attributes('-topmost', True) # サブウィンドウを最前面で固定 + self.wp_info_win.geometry("+{}+{}".format(x, y)) self.wp_info_win.title("Waypoint " + str(self.waypoints.get_num(id))) # タイトルを設定 return @@ -405,6 +636,7 @@ self.waypoints.set_waypoint_val(self.editing_waypoint_id, key, txt_box.get()) self.plot_waypoints(id=self.editing_waypoint_id) self.message("Apply changes of waypoint parameters") + self.update_title() return @@ -436,16 +668,77 @@ self.canvas.delete(self.editing_waypoint_id) # ウェイポイントを示す円を削除 self.close_wp_info() self.message("Removed waypoint") + self.update_title() return """ + +++++ New Parameter ボタンを押したときのコールバック +++++ + """ + def new_param_btn_callback(self): + # Sub window + sub_win = tk.Toplevel() + sub_win.title("Add new parameter") + sub_win.attributes('-topmost', True) + font = ("Consolas",15) + # Message label + label = tk.Label(sub_win, text="Name : Value", font=font, anchor=tk.CENTER, width=20) + label.grid(row=0, column=0, columnspan=3, padx=10, pady=10) + # Text box + name_entry = tk.Entry(sub_win, font=font, width=15) + name_entry.grid(column=0, row=1, padx=10, pady=5) + colon = tk.Label(sub_win, text=":", font=font, anchor=tk.CENTER, width=2) + colon.grid(row=1, column=1) + value_entry = tk.Entry(sub_win, font=font, width=15) + value_entry.grid(column=2, row=1, padx=10, pady=5) + # Buttons + def add_param(): + name = name_entry.get() + value = value_entry.get() + self.waypoints.set_waypoint_val(self.editing_waypoint_id, key=name, val=value) + sub_win.destroy() + self.wp_info_win.destroy() + self.disp_waypoint_info(self.editing_waypoint_id) + self.update_title() + gc.collect() + return + add_btn = tk.Button(sub_win, text="Add", width=5, height=1, font=font, anchor=tk.CENTER, bg="#AFA") + add_btn["command"] = add_param + add_btn.grid(column=2, row=2, pady=20) + cancel_btn = tk.Button(sub_win, text="Cancel", width=7, height=1, font=font, anchor=tk.CENTER) + cancel_btn["command"] = sub_win.destroy + cancel_btn.grid(column=0, row=2, pady=20) + # Window position + sub_win.update() + w = sub_win.winfo_width() + 10 + h = sub_win.winfo_height() + x = int((self.canv_w - w) / 2) + y = int((self.canv_h - h) / 2) + sub_win.geometry("{}x{}+{}+{}".format(w, h, x, y)) + return + + + def del_param_btn_callback(self, name, val): + msg = "Are you sure you want to delete this parameter?\n\n" + msg += str(name) + ": " + str(val) + yn = messagebox.askyesno("Delete parameter", message=msg) + if (yn == True): + self.waypoints.delete_waypoint_param(self.editing_waypoint_id, name) + self.wp_info_win.destroy() + self.disp_waypoint_info(self.editing_waypoint_id) + self.update_title() + return + + + """ +++++ ウェイポイント情報を表示するサブウィンドウを閉じたときのコールバック +++++ """ def close_wp_info(self): self.canvas.itemconfig(self.editing_waypoint_id, fill='#FDD') self.editing_waypoint_id = None + self.moving_waypoint = False self.wp_info_win.destroy() + gc.collect() return @@ -461,16 +754,16 @@ def add_waypoint_here(self): if (self.wp_info_win is not None) and (self.wp_info_win.winfo_exists()): self.close_wp_info() - img_xy = self.right_click_coord - if self.mymap.pil_img.getpixel((img_xy[0], img_xy[1]))[0] == 0: - self.message("There is obstacles") + img_x, img_y = self.right_click_coord + if self.mymap.pil_img.getpixel((img_x, img_y))[0] == 0: + messagebox.showwarning(title="Warning", message="There is obstacles") return # 何番目のウェイポイントの次に追加するか入力させる add_wp_win = tk.Toplevel() add_wp_win.title("Add waypoint") add_wp_win.protocol("WM_DELETE_WINDOW") add_wp_win.attributes('-topmost', True) # サブウィンドウを最前面で固定 - msg = tk.Label(add_wp_win, text="Add waypoint after no. ", font=("Consolas",15), anchor=tk.E) + msg = tk.Label(add_wp_win, text="Add new waypoint at no. ", font=("Consolas",15), anchor=tk.E) msg.grid(column=0, row=0, padx=10, pady=10, sticky=tk.EW) txt_box = tk.Entry(add_wp_win, width=4, font=("Consolas",15)) txt_box.grid(column=1, row=0, pady=10, sticky=tk.W) @@ -494,12 +787,19 @@ +++++ add waypoint hereをクリックして開いた別窓のAddボタンのコールバック +++++ """ def add_btn_callback(self, num_box: tk.Entry, win: tk.Toplevel): - prev_num = num_box.get() - if (prev_num == ""): - self.message("Please enter number") + num = num_box.get() + if (num == ""): + win.attributes('-topmost', False) + messagebox.showwarning(title="Warning", message="The number has not been entered.") + win.attributes('-topmost', True) + return + num = int(num) + if (num < 0) or (num > len(self.waypoints.waypoints)+1): + win.attributes('-topmost', False) + messagebox.showwarning(title="Warning", message="The number is out of range.") + win.attributes('-topmost', True) return win.destroy() - prev_num = int(prev_num) img_xy = self.right_click_coord # ウェイポイント座標を計算 x, y = self.mymap.image2real(img_xy[0], img_xy[1]) @@ -511,11 +811,12 @@ elif (key=="z"): point[key] = 0.0 else: point[key] = "" id = self.create_waypoint(point) - self.waypoints.insert(prev_num+1, point, id=id) + self.waypoints.insert(num, point, id=id) self.plot_waypoints(id=id) self.editing_waypoint_id = id self.canvas.itemconfig(id, fill='red') self.disp_waypoint_info(id) + self.update_title() return @@ -530,12 +831,24 @@ """ def mouse_move(self, event): if not self.mymap: return + + if self.setting_finish_pose == 2: + x0, y0, _, _ = self.canvas.coords("set_finish_pose") + x, y = event.x, event.y + theta = math.atan2((-y+y0), (x-x0)) + x1 = x0 + math.cos(theta) * self.point_rad * 3 + y1 = y0 - math.sin(theta) * self.point_rad * 3 + self.canvas.delete("set_finish_pose") + self.canvas.create_line(x0, y0, x1, y1, tags="set_finish_pose", + width=10, arrow=tk.LAST, arrowshape=(12,15,9), fill="#F88" + ) + img_x, img_y = self.mymap.inv_transform(event.x, event.y) if (img_x < 0) or (img_y < 0) or (img_x > self.mymap.width()) or (img_y > self.mymap.height()): self.mouse_position["text"] = " Out of map " return x, y = self.mymap.image2real(img_x, img_y) - self.mouse_position["text"] = " ( x, y ) = ( {}, {} ) ".format(x, y) + self.mouse_position["text"] = " ( x, y ) = ( {}, {} ) ".format(x, y) return @@ -545,14 +858,15 @@ def mouse_wheel(self, event): if not self.mymap: return if event.delta > 0: - # 上に回転(タッチパッドなら下にドラッグ)=> 拡大 - self.mymap.scale_at(event.x, event.y, 1.1) + scale = 1.1 # 上に回転(タッチパッドなら下にドラッグ)=> 拡大 else: - # 下に回転(タッチパッドなら上にドラッグ)=> 縮小 - self.mymap.scale_at(event.x, event.y, 0.9) + scale = 0.9 # 下に回転(タッチパッドなら上にドラッグ)=> 縮小 + self.mymap.scale_at(event.x, event.y, scale) self.draw_image() self.plot_origin() self.plot_waypoints() + for id in self.footprint_id: + self.canvas.scale(id, event.x, event.y, scale, scale) return @@ -561,6 +875,41 @@ """ def left_click(self, event): self.popup_menu.unpost() # 右クリックで出るポップアップメニューを非表示 + + if self.setting_finish_pose == 1: + x0, y0 = event.x, event.y + img_x, img_y = self.mymap.inv_transform(x0, y0) + if (img_x < 0) or (img_y < 0) or (img_x > self.mymap.width()) or (img_y > self.mymap.height()): + retry = messagebox.askretrycancel(title="Cannot set finish pose here", message="The point is out of the map.") + if not retry: self.setting_finish_pose = 0 + return + x1 = x0 + math.cos(self.finish_pose.yaw) * self.point_rad * 3 + y1 = y0 - math.sin(self.finish_pose.yaw) * self.point_rad * 3 + self.canvas.create_line(x0, y0, x1, y1, tags="set_finish_pose", + width=10, arrow=tk.LAST, arrowshape=(12,15,9), fill="#F88" + ) + self.setting_finish_pose = 2 + return + + if self.setting_finish_pose == 2: + x0, y0, _, _ = self.canvas.coords("set_finish_pose") + x, y = event.x, event.y + theta = math.atan2((-y+y0), (x-x0)) + x1 = x0 + math.cos(theta) * self.point_rad * 3 + y1 = y0 - math.sin(theta) * self.point_rad * 3 + self.canvas.delete("set_finish_pose") + self.canvas.delete(self.finish_pose.id) + self.finish_pose.id = self.canvas.create_line(x0, y0, x1, y1, tags="finish_pose", + width=10, arrow=tk.LAST, arrowshape=(12,15,9), fill="#AAF" + ) + img_x, img_y = self.mymap.inv_transform(x0, y0) + real_x, real_y = self.mymap.image2real(img_x, img_y) + self.finish_pose.x = real_x + self.finish_pose.y = real_y + self.finish_pose.yaw = theta + self.setting_finish_pose = 0 + self.message("New finish pose is set.") + self.update_title() return @@ -570,6 +919,7 @@ def left_click_move(self, event): if not self.mymap: return if self.moving_waypoint: return + if self.setting_finish_pose != 0: return if self.old_click_point is None: self.old_click_point = [event.x, event.y] return @@ -582,7 +932,7 @@ # origin, waypoints finish_pose を平行移動 self.canvas.move("origin", delta_x, delta_y) if self.waypoints: - for id in self.waypoints.get_id_list(): + for id in list(self.waypoints.get_id_list()) + self.footprint_id: self.canvas.move(id, delta_x, delta_y) self.canvas.move("finish_pose", delta_x, delta_y) self.old_click_point = [event.x, event.y] @@ -602,6 +952,15 @@ """ def right_click(self, event): if not self.mymap: return + if self.setting_finish_pose == 1: + self.setting_finish_pose = 0 + self.message("Canceled.") + return + if self.setting_finish_pose == 2: + self.canvas.delete("set_finish_pose") + self.setting_finish_pose = 0 + self.message("Canceled.") + return # クリックした座標の近くにあるオブジェクトを取得 clicked_obj = self.canvas.find_enclosed(event.x-20, event.y-20, event.x+20, event.y+20) if clicked_obj: # 何かオブジェクトがクリックされていた場合 @@ -621,10 +980,14 @@ """ def ctrl_left_click(self, event): if not self.mymap: return - self.mymap.scale_at(event.x, event.y, 1.2) + if self.setting_finish_pose != 0: return + scale = 1.2 + self.mymap.scale_at(event.x, event.y, scale) self.draw_image() self.plot_origin() self.plot_waypoints() + for id in self.footprint_id: + self.canvas.scale(id, event.x, event.y, scale, scale) self.message("Zoom In") return @@ -634,10 +997,14 @@ """ def ctrl_right_click(self, event): if not self.mymap: return - self.mymap.scale_at(event.x, event.y, 0.8) + if self.setting_finish_pose != 0: return + scale = 0.8 + self.mymap.scale_at(event.x, event.y, scale) self.draw_image() self.plot_origin() self.plot_waypoints() + for id in self.footprint_id: + self.canvas.scale(id, event.x, event.y, scale, scale) self.message("Zoom Out") return @@ -653,6 +1020,7 @@ self.canv_h = ch self.draw_image() return + @@ -673,6 +1041,7 @@ else: # 既に描画された画像を差し替える self.canvas.itemconfig("map_image", image=self.mymap.get_draw_image((self.canv_w, self.canv_h))) + self.canvas.tag_lower("map_image") return @@ -690,8 +1059,15 @@ """ def real2canvas(self, x, y): img_x, img_y = self.mymap.real2image(x,y) - real_x, real_y = self.mymap.transform(img_x, img_y) - return real_x, real_y + cx, cy = self.mymap.transform(img_x, img_y) + return cx, cy + + + def update_title(self): + title = self.master.title() + if title[0] != "*": + self.master.title("* "+title) + @@ -702,4 +1078,8 @@ w, h = root.winfo_screenwidth()-10, root.winfo_screenheight()-100 root.geometry("%dx%d+0+0" % (w, h)) app = Application(master=root) # tk.Frameを継承したApplicationクラスのインスタンス - app.mainloop() + root.protocol("WM_DELETE_WINDOW", app.menu_exit) + try: + app.mainloop() + except KeyboardInterrupt as e: + app.menu_exit() diff --git a/src/waypoint_navigation/waypoint_nav/CMakeLists.txt b/src/waypoint_navigation/waypoint_nav/CMakeLists.txt index b4c1003..7a3d636 100644 --- a/src/waypoint_navigation/waypoint_nav/CMakeLists.txt +++ b/src/waypoint_navigation/waypoint_nav/CMakeLists.txt @@ -59,3 +59,9 @@ ${catkin_LIBRARIES} ) + +catkin_install_python(PROGRAMS + scripts/tandem_run_manager.py + DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) + diff --git a/src/waypoint_navigation/waypoint_nav/launch/waypoint_nav.launch b/src/waypoint_navigation/waypoint_nav/launch/waypoint_nav.launch old mode 100644 new mode 100755 index e7b5ece..654e341 --- a/src/waypoint_navigation/waypoint_nav/launch/waypoint_nav.launch +++ b/src/waypoint_navigation/waypoint_nav/launch/waypoint_nav.launch @@ -1,24 +1,38 @@ + - - - - - - + + + + + + + + + + - - - + + + + - - + + + + + + + + + + diff --git a/src/waypoint_navigation/waypoint_nav/rviz_cfg/nav.rviz b/src/waypoint_navigation/waypoint_nav/rviz_cfg/nav.rviz index e0e7674..86336a2 100644 --- a/src/waypoint_navigation/waypoint_nav/rviz_cfg/nav.rviz +++ b/src/waypoint_navigation/waypoint_nav/rviz_cfg/nav.rviz @@ -5,7 +5,11 @@ Property Tree Widget: Expanded: ~ Splitter Ratio: 0.5 +<<<<<<< HEAD + Tree Height: 694 +======= Tree Height: 636 +>>>>>>> 21a0491cdbf23fb62e1951d64c737b70cdb8a9a8 - Class: rviz/Selection Name: Selection - Class: rviz/Tool Properties @@ -342,17 +346,30 @@ Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 +<<<<<<< HEAD + Pitch: 0.904796838760376 + Target Frame: base_link + Yaw: 3.1003949642181396 +======= Pitch: 1.339796543121338 Target Frame: base_link Yaw: 3.1153953075408936 +>>>>>>> 21a0491cdbf23fb62e1951d64c737b70cdb8a9a8 Saved: ~ Window Geometry: Displays: collapsed: false +<<<<<<< HEAD + Height: 957 + Hide Left Dock: false + Hide Right Dock: true + QMainWindow State: 000000ff00000000fd00000004000000000000019300000362fc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005d00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003e000002f3000000cb00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000002200530074006100740065005400720069006700670065007200500061006e0065006c0100000337000000690000004100ffffff000000010000010f000002b3fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003e000002b3000000a500fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000005e00000003bfc0100000002fb0000000800540069006d00650000000000000005e00000039300fffffffb0000000800540069006d00650100000000000004500000000000000000000004190000036200000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 +======= Height: 897 Hide Left Dock: false Hide Right Dock: true QMainWindow State: 000000ff00000000fd00000004000000000000019300000326fc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005d00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003e000002b9000000cb00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000002200530074006100740065005400720069006700670065007200500061006e0065006c01000002fd000000670000004100ffffff000000010000010f000002b3fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003e000002b3000000a500fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000005e00000003bfc0100000002fb0000000800540069006d00650000000000000005e00000039300fffffffb0000000800540069006d006501000000000000045000000000000000000000035c0000032600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 +>>>>>>> 21a0491cdbf23fb62e1951d64c737b70cdb8a9a8 Selection: collapsed: false StateTriggerPanel: @@ -363,6 +380,12 @@ collapsed: false Views: collapsed: true +<<<<<<< HEAD + Width: 1458 + X: 374 + Y: -40 +======= Width: 1269 X: 564 Y: -20 +>>>>>>> 21a0491cdbf23fb62e1951d64c737b70cdb8a9a8 diff --git a/src/waypoint_navigation/waypoint_nav/scripts/tandem_run_manager.py b/src/waypoint_navigation/waypoint_nav/scripts/tandem_run_manager.py new file mode 100755 index 0000000..7001f49 --- /dev/null +++ b/src/waypoint_navigation/waypoint_nav/scripts/tandem_run_manager.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python3 + +import rospy +import dynamic_reconfigure.client +import ruamel.yaml +import numpy as np +from std_msgs.msg import UInt16 +from sensor_msgs.msg import LaserScan +from std_srvs.srv import Trigger + + +class TandemManager(): + + def __init__(self): + ## Read waypoints file + yaml = ruamel.yaml.YAML() + waypoints_path = rospy.get_param("tandem_run_manager/waypoints_file") + with open(waypoints_path) as file: + waypoints_yaml = yaml.load(file) + ## Register waypoint number of start/end tandem area + self.tandem_start_list = [] + self.tandem_end_list = [] + self.tandem_id = 0 + for i, data in enumerate(waypoints_yaml["waypoints"]): + if ("tandem_start" in data["point"]): + self.tandem_start_list.append(i+2) + if ("tandem_end" in data["point"]): + self.tandem_end_list.append(i+2) + self.no_tandem_area = (len(self.tandem_start_list) == 0) + ## Subscribers + self.wp_num_sub = rospy.Subscriber("/waypoint_num", UInt16, self.waypoint_num_callback) + self.scan_sub = rospy.Subscriber("/scan", LaserScan, self.laserscan_callback) + ## Waypoint navigation service clients + self.stop_nav = rospy.ServiceProxy("/stop_wp_nav", Trigger) + self.resume_nav = rospy.ServiceProxy("/resume_nav", Trigger) + ## Dynamic reconfigure clients + self.costmap_client1 = dynamic_reconfigure.client.Client("/move_base/global_costmap/obstacle_layer1") + self.costmap_client2 = dynamic_reconfigure.client.Client("/move_base/global_costmap/obstacle_layer2") + ## Variable + self.front_angle = 20 # degree + self.danger_dist = 1.2 # meter + self.waypoint_num = 0 + self.front_range = None + self.in_tandem_area = False + self.stop = False + return + + + ## Subscribe current waypoint number + def waypoint_num_callback(self, msg): + if (self.no_tandem_area) or (msg.data == self.waypoint_num) or (self.stop): return + if (self.waypoint_num == 0) and (msg.data > 1): + for i in range(0, len(self.tandem_start_list)): + if (msg.data >= self.tandem_end_list[i]): + self.tandem_id += 1 + continue + if (msg.data >= self.tandem_start_list[i]) and (msg.data < self.tandem_end_list[i]): + self.tandem_id = i + self.in_tandem_area = True + self.update_costmap_config(False) + rospy.loginfo("Enter tandem area.") + break + self.waypoint_num = msg.data + return + + if (msg.data == self.tandem_start_list[self.tandem_id]): + self.in_tandem_area = True + self.update_costmap_config(False) + rospy.loginfo("Enter tandem area.") + + elif (msg.data == self.tandem_end_list[self.tandem_id]): + self.in_tandem_area = False + self.update_costmap_config(True) + self.tandem_id += 1 + self.stop = (self.tandem_id >= len(self.tandem_start_list)) # if True, self.stop will never be False + rospy.loginfo("Exit from tandem area.") + + self.waypoint_num = msg.data + return + + + + def laserscan_callback(self, msg): + try: + if self.front_range is None: + front = round(-msg.angle_min / msg.angle_increment) + ran = int(round(np.deg2rad(self.front_angle/2) / msg.angle_increment)) + self.front_range = [front-ran, front+ran] + return + + if not self.in_tandem_area: return + ranges = np.array(msg.ranges[self.front_range[0]:self.front_range[1]]) + ## Use simply minimum + ranges[ranges <= msg.range_min] = msg.range_max + min_range = min(ranges) + ## or use sort + #sort_ranges = np.sort(ranges) + #min_range = np.mean(sort_ranges[:5]) + if (not self.stop) and (min_range < self.danger_dist): + self.stop_nav() + self.stop = True + rospy.loginfo("Stop because of obstacle within {}m ahead.".format(self.danger_dist)) + + elif (self.stop) and (min_range >= self.danger_dist+0.1): + self.resume_nav() + self.stop = False + rospy.loginfo("Resumed navigation because the obstacle ahead was more than {}m away.".format(self.danger_dist+0.1)) + + except AttributeError: + pass + return + + + def update_costmap_config(self, enable: bool): + self.costmap_client1.update_configuration({"enabled": enable}) + self.costmap_client2.update_configuration({"enabled": enable}) + return + + + + +if __name__ == '__main__': + rospy.init_node("map_changer") + tandem_manager = TandemManager() + rospy.spin() diff --git a/src/waypoint_navigation/waypoint_nav/src/velocity_controller.cpp b/src/waypoint_navigation/waypoint_nav/src/velocity_controller.cpp index 53735d7..d5a8406 100644 --- a/src/waypoint_navigation/waypoint_nav/src/velocity_controller.cpp +++ b/src/waypoint_navigation/waypoint_nav/src/velocity_controller.cpp @@ -27,8 +27,8 @@ ros::NodeHandle nh; max_vel_sub_ = nh.subscribe("/max_vel", 1, &VelocityController::maxVelCallback, this); - cmd_vel_sub_ = nh.subscribe("/cmd_vel_in", 10, &VelocityController::cmdVelCallback, this); - cmd_vel_pub_ = nh.advertise("/cmd_vel_out", 10); + cmd_vel_sub_ = nh.subscribe("/cmd_vel_in", 100, &VelocityController::cmdVelCallback, this); + cmd_vel_pub_ = nh.advertise("/cmd_vel_out", 100); nh.param(max_vel_param, standard_vel_, standard_vel_); nh.param(min_vel_param, min_vel_, min_vel_); @@ -76,4 +76,4 @@ ros::spin(); return 0; -} \ No newline at end of file +} diff --git a/src/waypoint_navigation/waypoint_nav/src/waypoint_nav.cpp b/src/waypoint_navigation/waypoint_nav/src/waypoint_nav.cpp old mode 100644 new mode 100755 index cb1f6e8..82c6e89 --- a/src/waypoint_navigation/waypoint_nav/src/waypoint_nav.cpp +++ b/src/waypoint_navigation/waypoint_nav/src/waypoint_nav.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include #include // include Waypoint class @@ -49,7 +50,9 @@ move_base_action_("move_base", true), rate_(10), last_moved_time_(0), - dist_err_(1.0) + dist_err_(1.0), + min_dist_err_(0.3), + min_yaw_err_(0.3) { while((move_base_action_.waitForServer(ros::Duration(1.0)) == false) && (ros::ok() == true)) { @@ -77,15 +80,26 @@ } else { ROS_ERROR("waypoints file doesn't have name"); } + + //Scripts of "start from the middle" + //Edited mori 2022/10/19 + //############################################################# + StartFromTheMiddle = false; + private_nh.getParam("StartFromTheMiddle", StartFromTheMiddle); + //############################################################# + + private_nh.param("min_dist_err", min_dist_err_, min_dist_err_); + private_nh.param("min_yaw_err", min_yaw_err_, min_yaw_err_); ros::NodeHandle nh; start_server_ = nh.advertiseService("start_wp_nav", &WaypointsNavigation::startNavigationCallback, this); stop_server_ = nh.advertiseService("stop_wp_nav", &WaypointsNavigation::stopNavigationCallback, this); resume_server_ = nh.advertiseService("resume_nav", &WaypointsNavigation::resumeNavigationCallback, this); cmd_vel_sub_ = nh.subscribe("cmd_vel", 1, &WaypointsNavigation::cmdVelCallback, this); + scan_sub_ = nh.subscribe("scan", 1, &WaypointsNavigation::laserscan_callback, this); wp_pub_ = nh.advertise("waypoints", 10); max_vel_pub_ = nh.advertise("max_vel", 5); - wp_num_pub_ = nh.advertise("waypoint_number", 5); + wp_num_pub_ = nh.advertise("waypoint_num", 5); clear_costmaps_srv_ = nh.serviceClient("/move_base/clear_costmaps"); } @@ -127,9 +141,15 @@ point.x = pose.position.x; point.y = pose.position.y; point.z = pose.position.z; - (*wp_node)[i]["point"]["vel"] >> point.vel; - (*wp_node)[i]["point"]["rad"] >> point.rad; - (*wp_node)[i]["point"]["stop"] >> point.stop; + try { + (*wp_node)[i]["point"]["vel"] >> point.vel; + } catch(...) {} // Use default value + try { + (*wp_node)[i]["point"]["rad"] >> point.rad; + } catch(...) {} + try { + (*wp_node)[i]["point"]["stop"] >> point.stop; + } catch(...) {} waypoint_list_.push_back(point); } } else { @@ -155,6 +175,7 @@ point.x = pose.position.x; point.y = pose.position.y; point.z = pose.position.z; + point.stop = true; waypoint_list_.push_back(point); } else { return false; @@ -197,16 +218,72 @@ response.success = false; return false; } + //Scripts of "start from the middle" + //Edited mori 2022/10/19 + //############################################################# + wp_num_.data = 1; + init_waypoint_ = waypoints_.poses.begin(); + compare_waypoint_ = waypoints_.poses.begin(); + double min_dist_w = std::numeric_limits::max(); + if(StartFromTheMiddle){ + ROS_INFO("StartFromTheMiddle => True"); + tf::StampedTransform robot_init_pos = getRobotPosGL(); + double init_x = robot_init_pos.getOrigin().x(); + double init_y = robot_init_pos.getOrigin().y(); + double pre_waypoint_x; + double pre_waypoint_y; + double convert_x; + double init_yaw = tf::getYaw(robot_init_pos.getRotation()); + double square_x; + double square_y; + double dist_w; + double dir_w; + int min_waypoint = 0; + int i = 0; + while(compare_waypoint_ != waypoints_.poses.end() - 1){ + i++; + square_x = (compare_waypoint_ -> position.x - init_x) * (compare_waypoint_ -> position.x - init_x); + square_y = (compare_waypoint_ -> position.y - init_y) * (compare_waypoint_ -> position.y - init_y); + dist_w = sqrt(square_x + square_y); + if(i == 1){ + dir_w = atan2(compare_waypoint_ -> position.y, compare_waypoint_ -> position.x); + convert_x = (compare_waypoint_ -> position.x - init_x) * cos(-init_yaw) - (compare_waypoint_ -> position.y - init_y) * sin(-init_yaw); + if(abs(dir_w - init_yaw) < (90 / 180.0 * M_PI) && convert_x > 0){ + min_dist_w = dist_w; + init_waypoint_ = compare_waypoint_; + min_waypoint = 1; + } + }else if(min_dist_w > dist_w){ + dir_w = atan2(compare_waypoint_ -> position.y - pre_waypoint_y, compare_waypoint_ -> position.x- pre_waypoint_x); + convert_x = (compare_waypoint_ -> position.x - init_x) * cos(-init_yaw) - (compare_waypoint_ -> position.y - init_y) * sin(-init_yaw); + if(abs(dir_w - init_yaw) < (90 / 180.0 * M_PI) && convert_x > 0){ + min_dist_w = dist_w; + init_waypoint_ = compare_waypoint_; + min_waypoint = i; + } + } + pre_waypoint_x = compare_waypoint_ -> position.x; + pre_waypoint_y = compare_waypoint_ -> position.y; + compare_waypoint_++; + } + wp_num_.data = min_waypoint; + } std_srvs::Empty empty; while(!clear_costmaps_srv_.call(empty)) { ROS_WARN("Resend clear costmap service"); sleep(); } - current_waypoint_ = waypoints_.poses.begin(); - wp_num_.data = 1; - has_activate_ = true; - response.success = true; - return true; + if(min_dist_w == std::numeric_limits::max()){ + ROS_WARN("Could not find the closest appropriate waypoint. Please check the direction of the robot again."); + response.success = false; + return false; + }else{ + current_waypoint_ = init_waypoint_; + has_activate_ = true; + response.success = true; + return true; + } + //############################################################# } @@ -220,6 +297,8 @@ ROS_WARN("Navigation is already active"); response.success = false; } else { + std_srvs::Empty empty; + clear_costmaps_srv_.call(empty); ROS_INFO("Navigation has resumed"); has_activate_ = true; response.success = true; @@ -228,7 +307,6 @@ } - /* ++++++++++ Callback function for service of "stop_wp_nav" ++++++++++ */ @@ -269,11 +347,121 @@ /* + ++++++++++ Callback function for /scan topic ++++++++++ + */ + void laserscan_callback(const sensor_msgs::LaserScan &msg) + { + laserscan = msg; + } + + + + /* + ++++++++++ Search for a goal without obstacles ++++++++++ + */ + void sendNoObstacleGoal(float first_thresh, float after_second_thresh, float goal_thresh, const geometry_msgs::Pose &dest) + { + if(laserscan.ranges.size() > 0){ + move_base_msgs::MoveBaseGoal move_base_goal; + tf::StampedTransform robot_pos = getRobotPosGL(); + geometry_msgs::Pose mid_waypoint; + double start_nav_time, time; + float sum_x, sum_y; + float x[laserscan.ranges.size()]; + float y[laserscan.ranges.size()]; + float waypoint_x = dest.position.x - robot_pos.getOrigin().x(); + float waypoint_y = dest.position.y - robot_pos.getOrigin().y(); + float robot_yaw = tf::getYaw(robot_pos.getRotation()); + float waypoint_x_update = dest.position.x - robot_pos.getOrigin().x(); + float waypoint_y_update = dest.position.y - robot_pos.getOrigin().y(); + float r = std::sqrt(std::pow(dest.position.x - robot_pos.getOrigin().x(), 2) + std::pow(dest.position.y - robot_pos.getOrigin().y(), 2)); + int j = 0; + int sum_num = 0; + bool pass_bool = false; + for(int i = 0; i < laserscan.ranges.size(); i++){ + if(!(laserscan.ranges[i] < laserscan.range_min || laserscan.ranges[i] > laserscan.range_max || std::isnan(laserscan.ranges[i]))){ + float theta = laserscan.angle_min + i * laserscan.angle_increment + robot_yaw; + x[j] = laserscan.ranges[i] * cosf(theta); + y[j] = laserscan.ranges[i] * sinf(theta); + j++; + } + } + float dist_waypoint[j]; + for(int i = 0;;i++){ + sum_x = 0; + sum_y = 0; + sum_num = 0; + for(int ii = 0; ii < j; ii++){ + dist_waypoint[ii] = std::sqrt(std::pow(x[ii] - waypoint_x_update, 2) + std::pow(y[ii] - waypoint_y_update, 2)); + if(i == 0 && dist_waypoint[ii] < first_thresh){ + sum_x += x[ii]; + sum_y += y[ii]; + sum_num++; + } + } + int size = sizeof(dist_waypoint) / sizeof(*dist_waypoint); + float min = *std::min_element(dist_waypoint, dist_waypoint + size); + if((i == 0 && min > first_thresh) || (i == 0 && std::sqrt(std::pow(waypoint_x_update, 2) + std::pow(waypoint_y_update, 2)) < first_thresh)){ + pass_bool = true; + ROS_WARN("Min dist_waypoint: %f", min); + ROS_WARN("Pass"); + break; + }else if(i == 0 && min < first_thresh){ + ROS_WARN("There is an obstacle near waypoint."); + ROS_WARN("Waypoint x: %f, y: %f", waypoint_x_update, waypoint_y_update); + ROS_WARN("Obstacle x: %f, y: %f", sum_x / sum_num, sum_y / sum_num); + }else if(waypoint_x * waypoint_x_update < 0){ + waypoint_x_update = waypoint_x; + waypoint_y_update = waypoint_y; + break; + }else if(i > 0 && min > after_second_thresh){ + break; + } + waypoint_x = waypoint_x_update; + waypoint_y = waypoint_y_update; + waypoint_x_update = (dest.position.x - robot_pos.getOrigin().x()) * (r - 0.5 * (i + 1)) / r; + waypoint_y_update = (dest.position.y - robot_pos.getOrigin().y()) * (r - 0.5 * (i + 1)) / r; + } + if(!pass_bool){ + std_srvs::Empty empty; + mid_waypoint.position.x = waypoint_x_update + robot_pos.getOrigin().x(); + mid_waypoint.position.y = waypoint_y_update + robot_pos.getOrigin().y(); + mid_waypoint.orientation = dest.orientation; + move_base_goal.target_pose.header.stamp = ros::Time::now(); + move_base_goal.target_pose.header.frame_id = world_frame_; + move_base_goal.target_pose.pose.orientation = mid_waypoint.orientation; + move_base_goal.target_pose.pose.position = mid_waypoint.position; + ROS_WARN("Send goal x: %f, y: %f", waypoint_x_update, waypoint_y_update); + move_base_action_.sendGoal(move_base_goal); + start_nav_time = ros::Time::now().toSec(); + while(!onNavigationPoint(mid_waypoint.position, goal_thresh)){ + time = ros::Time::now().toSec(); + if(time - start_nav_time > 10.0 && time - last_moved_time_ > 10.0) { + ROS_WARN("Resend the navigation goal."); + clear_costmaps_srv_.call(empty); + move_base_goal.target_pose.header.stamp = ros::Time::now(); + move_base_action_.sendGoal(move_base_goal); + start_nav_time = time; + } + sleep(); + } + ROS_WARN("Reach the goal without obstacle."); + } + } + } + + + + /* ++++++++++ Check if robot reached the goal sent to move_base ++++++++++ */ bool navigationFinished() { - return move_base_action_.getState() == actionlib::SimpleClientGoalState::SUCCEEDED; + if (move_base_action_.getState() == actionlib::SimpleClientGoalState::SUCCEEDED) { + ROS_WARN("Move base state is Goal reached"); + return true; + } + return false; } @@ -283,15 +471,22 @@ */ bool onNavigationPoint(const geometry_msgs::Point &dest, double dist_err=1.0) { - if (waypoint_list_[wp_num_.data-1].stop) { - return navigationFinished(); - } tf::StampedTransform robot_gl = getRobotPosGL(); const double wx = dest.x; const double wy = dest.y; const double rx = robot_gl.getOrigin().x(); const double ry = robot_gl.getOrigin().y(); const double dist = std::sqrt(std::pow(wx - rx, 2) + std::pow(wy - ry, 2)); + if (waypoint_list_[wp_num_.data-1].stop) { + tf::Quaternion q = robot_gl.getRotation(); + tf::Matrix3x3 m(q); + double r, p ,y; + m.getRPY(r, p, y); + double diff_yaw = std::abs(y - target_yaw_); + if ((dist < min_dist_err_) && (diff_yaw < min_yaw_err_)) return true; + else if ((dist < min_dist_err_ * 2) && navigationFinished()) return true; + return false; + } return dist < dist_err; } @@ -342,12 +537,27 @@ void startNavigationGL(const geometry_msgs::Pose &dest) { setMaxVel(); + bool FindGoalWithoutObstacle = true; + float first_thresh = 1.0; + float after_second_thresh = 1.0; + float goal_thresh = 0.5; + if(FindGoalWithoutObstacle){ + sendNoObstacleGoal(first_thresh, after_second_thresh, goal_thresh, dest); + } move_base_msgs::MoveBaseGoal move_base_goal; move_base_goal.target_pose.header.stamp = ros::Time::now(); move_base_goal.target_pose.header.frame_id = world_frame_; move_base_goal.target_pose.pose.position = dest.position; move_base_goal.target_pose.pose.orientation = dest.orientation; move_base_action_.sendGoal(move_base_goal); + sleep(); + if (waypoint_list_[wp_num_.data-1].stop) { + tf::Quaternion q(dest.orientation.x, dest.orientation.y, dest.orientation.z, dest.orientation.w); + tf::Matrix3x3 m(q); + double r, p ,y; + m.getRPY(r, p, y); + target_yaw_ = y; + } } @@ -370,6 +580,9 @@ void run() { ROS_INFO("Waiting for waypoint navigation to start."); + int resend_goal; + double start_nav_time, time; + std_srvs::Empty empty; while(ros::ok()) { // has_activate_ is false, nothing to do if (!has_activate_) { @@ -380,7 +593,17 @@ if (current_waypoint_ == finish_pose_) { ROS_INFO_STREAM("Go to final goal"); startNavigationGL(*current_waypoint_); - while(!navigationFinished() && ros::ok()) sleep(); + start_nav_time = ros::Time::now().toSec(); + while(!onNavigationPoint(finish_pose_->position) && ros::ok()) { + time = ros::Time::now().toSec(); + if (time - start_nav_time > 10.0 && time - last_moved_time_ > 10.0) { + ROS_WARN("Resend the navigation goal."); + clear_costmaps_srv_.call(empty); + startNavigationGL(*current_waypoint_); + start_nav_time = time; + } + sleep(); + } ROS_INFO("Final goal reached!!"); has_activate_ = false; continue; @@ -389,25 +612,20 @@ ROS_INFO_STREAM("Go to waypoint " << wp_num_.data); ROS_INFO_STREAM("x: " << waypoint_list_[wp_num_.data-1].x << ", y: " << waypoint_list_[wp_num_.data-1].y); startNavigationGL(*current_waypoint_); - int resend_goal = 0; - double start_nav_time = ros::Time::now().toSec(); + resend_goal = 0; + start_nav_time = ros::Time::now().toSec(); dist_err_ = waypoint_list_[wp_num_.data-1].rad; try { // loop until reach waypoint while(!onNavigationPoint(current_waypoint_->position, dist_err_)) { if (!has_activate_) throw SwitchRunningStatus(); - if ((!waypoint_list_[wp_num_.data-1].stop) && (navigationFinished())) { - ROS_WARN("Reached default yaw_goal_torelance."); - break; - } - double time = ros::Time::now().toSec(); + time = ros::Time::now().toSec(); if (time - start_nav_time > 10.0 && time - last_moved_time_ > 10.0) { ROS_WARN("Resend the navigation goal."); - std_srvs::Empty empty; clear_costmaps_srv_.call(empty); startNavigationGL(*current_waypoint_); resend_goal++; - if (resend_goal == 3) { + if (!waypoint_list_[wp_num_.data-1].stop && resend_goal == 3) { ROS_WARN("Skip waypoint."); break; } @@ -425,8 +643,10 @@ // update current waypoint current_waypoint_++; wp_num_.data++; + wp_num_pub_.publish(wp_num_); } catch(const SwitchRunningStatus &e) { + move_base_action_.cancelAllGoals(); ROS_INFO_STREAM("Running status switched"); } sleep(); @@ -441,6 +661,15 @@ geometry_msgs::PoseArray waypoints_; visualization_msgs::MarkerArray marker_; std::vector waypoint_list_; + + //Scripts of "start from the middle" + //Edited mori 2022/10/19 + //############################################################# + bool StartFromTheMiddle; + std::vector::iterator init_waypoint_; + std::vector::iterator compare_waypoint_; + //############################################################# + std::vector::iterator current_waypoint_; std::vector::iterator finish_pose_; bool has_activate_, stopped_; @@ -448,12 +677,13 @@ tf::TransformListener tf_listener_; ros::Rate rate_; ros::ServiceServer start_server_, stop_server_, resume_server_; - ros::Subscriber cmd_vel_sub_, move_base_status_sub_; + ros::Subscriber cmd_vel_sub_,scan_sub_, move_base_status_sub_; ros::Publisher wp_pub_, max_vel_pub_, wp_num_pub_; ros::ServiceClient clear_costmaps_srv_; - double last_moved_time_, dist_err_; + double last_moved_time_, dist_err_, min_dist_err_, target_yaw_, min_yaw_err_; std_msgs::UInt16 wp_num_; std_msgs::Float32 max_vel_msg_; + sensor_msgs::LaserScan laserscan; }; diff --git a/src/waypoint_navigation/waypoint_nav/waypoints_cfg/waypoints.yaml b/src/waypoint_navigation/waypoint_nav/waypoints_cfg/waypoints.yaml index 92f70d6..d9fe6cb 100644 --- a/src/waypoint_navigation/waypoint_nav/waypoints_cfg/waypoints.yaml +++ b/src/waypoint_navigation/waypoint_nav/waypoints_cfg/waypoints.yaml @@ -1,10 +1,12 @@ waypoints: -- point: {x: -0.45, y: -0.499032, z: 0.0, vel: 1.0, rad: 0.3, stop: false} -- point: {x: 0.50, y: -0.576395, z: 0.0, vel: 0.5, rad: 0.1, stop: true} -- point: {x: 0.50, y: 0.80, z: 0.0, vel: 1.0, rad: 0.3, stop: false} -- point: {x: 0.515219, y: 1.8, z: 0.0, vel: 0.3, rad: 0.1, stop: true} +- point: {x: 1.0, y: 0.0, z: 0.0, vel: 0.5, rad: 1.0, stop: false} +- point: {x: 2.0, y: 0.0, z: 0.0, vel: 1.0, rad: 1.0, stop: true} +- point: {x: 3.0, y: 0.0, z: 0.0, vel: 1.0, rad: 0.5, stop: false} +- point: {x: 4.0, y: 0.0, z: 0.0, vel: 1.0, rad: 1.0, stop: false, tandem_start: 1} +- point: {x: 5.0, y: 0.0, z: 0.0, vel: 0.5, rad: 0.5, stop: false} +- point: {x: 6.0, y: 0.0, z: 0.0, vel: 0.5, rad: 0.5, stop: false, tandem_end: 1} finish_pose: - header: {seq: 0.0, stamp: 1620367430.3803937, frame_id: base_link} + header: {seq: 0, stamp: 113.132, frame_id: map} pose: - position: {x: -0.550981, y: 1.8, z: 0.0} - orientation: {x: 0.0, y: 0.0, z: 0.99749, w: 0.07074} \ No newline at end of file + position: {x: 7.0, y: 0.0, z: 0.0} + orientation: {x: 0.0, y: 0.0, z: 0.0, w: 1.0} \ No newline at end of file diff --git a/src/waypoint_navigation/waypoint_saver/launch/waypoint_saver.launch b/src/waypoint_navigation/waypoint_saver/launch/waypoint_saver.launch index 9873494..023a6d0 100644 --- a/src/waypoint_navigation/waypoint_saver/launch/waypoint_saver.launch +++ b/src/waypoint_navigation/waypoint_saver/launch/waypoint_saver.launch @@ -4,10 +4,10 @@ - + - + diff --git a/src/zlac8015d_ros/README.md b/src/zlac8015d_ros/README.md index d38891e..376b0ff 100644 --- a/src/zlac8015d_ros/README.md +++ b/src/zlac8015d_ros/README.md @@ -1,7 +1,7 @@ # ROS package for ZLAC8015D dual-channel servo driver [![](https://img.shields.io/badge/ROS-Noetic-brightgreen.svg)](https://github.com/Alpaca-zip/zlac8015d_ros) - +![circuit_scheme](https://user-images.githubusercontent.com/84959376/191182537-47d49329-7e61-4c6c-b6a7-7eab8f530f07.png) ## 1 Installation ``` @@ -11,25 +11,33 @@ $ cd .. && catkin_make ``` - -## 2 Change full pathname of parameter file -`scripts/motor_driver_node.py` refers to `/home/ubuntu/catkin_ws/src/zlac8015d_ros/params/motor_driver_params.yaml` as default. -If you want to specify a different full pathname, change line 34 in `scripts/motor_driver_node.py` - -## 3 Usage +## 2 Usage ### Run motor_driver_node ``` -$ rosrun zlac8015d_ros motor_driver_node.py +$ roslaunch zlac8015d_ros motor_driver_node.launch ``` ### Parameters - `port`: Name of the zlac8015d port. Default is `dev/ttyUSB0`. -- `travel_in_one_rev`: Tire circumference. Default is `0.655`[m]. -- `R_Wheel`: Tire radius. Default is `0.105`[m]. -- `cpr`: CPR(Counts Per Revolution). Default is `16385`. -- `wheels_base_width`: Distance between tires. Default is `0.440`[m]. - `control_mode`: `1` is relative position control mode, `3` is speed rpm control mode. Default is `3`. +- `debug`: If `true`, odometry information is displayed. Default is `false`. +- `twist_cmd_vel_topic`: Topic name for Twist-type messages. Default is `/zlac8015d/twist/cmd_vel`. +- `cmd_vel_topic`: Topic name for cmd_vel[m/s] messages. Default is `/zlac8015d/vel/cmd_vel`. +- `cmd_rpm_topic`: Topic name for cmd_rpm messages. Default is `/zlac8015d/vel/cmd_rpm`. +- `cmd_deg_topic`: Topic name for cmd_deg[°] messages. Default is `/zlac8015d/pos/cmd_deg`. +- `cmd_dist_topic`: Topic name for cmd_dist[m] messages. Default is `/zlac8015d/pos/cmd_dist`. +- `publish_TF`: If `true`, TF is published. Default is `true`. +- `TF_header_frame`: Name of the TF header frame. Default is `odom`. +- `TF_child_frame`: Name of the TF child frame. Default is `base_link`. +- `publish_odom`: If `true`, `/odom` is published. Default is `true`. +- `odom_header_frame`: Name of the odometry header frame. Default is `odom`. +- `odom_child_frame`: Name of the odometry child frame. Default is `base_link`. +- `left_wheel_radius`: Left wheel radius. Default is `0.1015`[m]. +- `right_wheel_radius`: Right wheel radius. Default is `0.1015`[m]. +- `computation_left_wheel_radius`: Radius of left wheel used for odometry computation. Default is `0.1015`[m]. +- `computation_right_wheel_radius`: Radius of right wheel used for odometry computation. Default is `0.1015`[m]. +- `cpr`: CPR(Counts Per Revolution). Default is `16385`. +- `wheels_base_width`: Distance between tires. Default is `0.5668`[m]. - `callback_timeout`: Motor automatically stops if no topics are received for a certain period of time. Default is `0.5`[s]. -- `decimil_coefficient`: Must be specified in digits. Smaller values will cause small changes in tire motion to have a greater impact on the odometry calculations. `0.01` or `0.001` is highly recommended. Default is `0.001`. - `set_accel_time_left`: Acceleration time for left tire. Default is `200`[ms]. - `set_accel_time_right`: Acceleration time for right tire. Default is `200`[ms]. - `set_decel_time_left`: Deceleration time for left tire. Default is `200`[ms]. @@ -37,10 +45,6 @@ - `max_left_rpm`: Maximum rpm of left tire. Default is `150`. - `max_right_rpm`: Maximum rpm of right tire. Default is `150`. - `deadband_rpm`: Width of rpm to be regarded as 0. If `3`, then -3 to 3 is considered rpm 0. Default is `3`. -- `TF_header_frame`: Header frame of TF. Default is `odom`. -- `TF_child_frame`: Child frame of TF. Default is `base_link`. -- `odom_header_frame`: Header frame of odom. Default is `odom`. -- `odom_child_frame`: Child frame of odom. Default is `base_link`. ### Topics This node publishes the following topics. @@ -53,3 +57,9 @@ - `/zlac8015d/vel/cmd_rpm`: Send command as rpm in speed rpm control, e.g. [100, 50] 100 rpm of left wtire, 50 rpm of right tire. - `/zlac8015d/pos/deg_cmd`: Send command as angle degree in position control, e.g. [90,70] 90 [deg] of left tire, 70 [deg] of right tire. - `/zlac8015d/pos/dist_cmd`: Send command as desired travelling distance in position control, e.g. [1.0, 1.0] for 1[m] travelling distance of each tire. +- `/estop`: Send command as emergency stop signal, e.g. true for emergency stop is activated. + +### Emergency stop Feature +The motor is locked when you publish a `true` message on the `/estop` topic. + +This feature is not recommended. Emergency stop should be controlled by hardware. diff --git a/src/zlac8015d_ros/launch/motor_driver_node.launch b/src/zlac8015d_ros/launch/motor_driver_node.launch index 9d10fa5..eed7e94 100644 --- a/src/zlac8015d_ros/launch/motor_driver_node.launch +++ b/src/zlac8015d_ros/launch/motor_driver_node.launch @@ -1,8 +1,7 @@   - - + - - - - diff --git a/src/zlac8015d_ros/package.xml b/src/zlac8015d_ros/package.xml index 2fa256b..4a70944 100644 --- a/src/zlac8015d_ros/package.xml +++ b/src/zlac8015d_ros/package.xml @@ -1,7 +1,7 @@ zlac8015d_ros - 0.0.1 + 0.1.8 The zlac8015d_ros package Alpacazip GPLv3 diff --git a/src/zlac8015d_ros/params/motor_driver_params.yaml b/src/zlac8015d_ros/params/motor_driver_params.yaml index b31cdcd..95d6e73 100644 --- a/src/zlac8015d_ros/params/motor_driver_params.yaml +++ b/src/zlac8015d_ros/params/motor_driver_params.yaml @@ -1,31 +1,26 @@ -# Tire & Encoder Parameters +# Wheel & Encoder Parameters # Default: 8 inches wheel ############################### -# Tire radius +# Wheel radius left_wheel_radius: 0.0974 # meter 0.1015 right_wheel_radius: 0.0974 # meter 0.1015 - # For odometry computation -computation_left_wheel_radius: 0.09806 # meter 0.1015 0.09735 +computation_left_wheel_radius: 0.09806 # meter 0.1015 computation_right_wheel_radius: 0.09794 # meter 0.1015 - # Encoder CPR(counts per revolution) cpr: 16385 ############################### -# Distance between tires +# Distance between Wheels wheels_base_width: 0.608 # meter 0.5668 # Motor automatically stops if no topics are received for a certain period of time -callback_timeout: 0.5 # seconds -# Smaller values will cause small changes in tire motion to have a greater impact on the odometry calculations -# 0.01 or 0.001 is highly recommended -decimil_coefficient: 0.001 +callback_timeout: 1.0 # seconds # Time to reach target position -set_accel_time_left: 1000 # ms -set_accel_time_right: 1000 # ms -set_decel_time_left: 1000 # ms -set_decel_time_right: 1000 # ms +set_accel_time_left: 600 #500 #1000 # ms 200 +set_accel_time_right: 600 #500 #1000 # ms 200 +set_decel_time_left: 400 #300 #1000 # ms 200 +set_decel_time_right: 400 #300 #1000 # ms 200 # Maximum rpm max_left_rpm: 150 diff --git a/src/zlac8015d_ros/scripts/motor_driver_node.py b/src/zlac8015d_ros/scripts/motor_driver_node.py index a857603..f0002e4 100755 --- a/src/zlac8015d_ros/scripts/motor_driver_node.py +++ b/src/zlac8015d_ros/scripts/motor_driver_node.py @@ -18,61 +18,72 @@ """ import rospy -import ZLAC8015D -import tf import tf2_ros import numpy as np import time -from decimal import Decimal, ROUND_HALF_UP -from std_msgs.msg import Float32MultiArray -from std_msgs.msg import Bool -from geometry_msgs.msg import Twist +from std_msgs.msg import Float32MultiArray, Bool +from geometry_msgs.msg import Twist, TransformStamped from nav_msgs.msg import Odometry from tf.transformations import quaternion_from_euler -from geometry_msgs.msg import TransformStamped +from pymodbus.client.sync import ModbusSerialClient as ModbusClient class MotorDriverNode: def __init__(self): - print("\033[32m" + "Start motor driver node!!" + "\033[0m") - print("#########################") - #-----Initialize publisher----- + self.client = ModbusClient(method = 'rtu', port = rospy.get_param("/motor_driver_node/port"), baudrate = 115200, timeout = 1) + self.client.connect() + self.ID = 1 + + # -----Register Address----- + # Common + self.CONTROL_REG = 0x200E + self.OPR_MODE = 0x200D + self.L_ACL_TIME = 0x2080 + self.L_DCL_TIME = 0x2082 + + # Speed RPM Control + self.L_CMD_RPM = 0x2088 + + # Position Control + self.POS_CONTROL_TYPE = 0x200F + self.L_MAX_RPM_POS = 0x208E + self.L_CMD_REL_POS_HI = 0x208A + self.L_FB_POS_HI = 0x20A7 + + # -----Control CMDs (REG)----- + self.EMER_STOP = 0x05 + self.ALRM_CLR = 0x06 + self.DOWN_TIME = 0x07 + self.ENABLE = 0x08 + self.POS_L_START = 0x11 + self.POS_R_START = 0x12 + + # -----Operation Mode----- + self.ASYNC = 0 + + # -----Initialize Publisher----- self.odom_pub = rospy.Publisher("/odom", Odometry, queue_size=10) self.odom_msg = Odometry() - #-----Initialize subscriber----- - rospy.Subscriber(rospy.get_param("/motor_driver_node/twist_cmd_vel_topic"), Twist, self.zlac8015d_twist_cmd_callback) - rospy.Subscriber(rospy.get_param("/motor_driver_node/cmd_vel_topic"), Float32MultiArray, self.zlac8015d_vel_cmd_callback) - rospy.Subscriber(rospy.get_param("/motor_driver_node/cmd_rpm_topic"), Float32MultiArray, self.zlac8015d_rpm_cmd_callback) - rospy.Subscriber(rospy.get_param("/motor_driver_node/cmd_deg_topic"), Float32MultiArray, self.zlac8015d_deg_cmd_callback) - rospy.Subscriber(rospy.get_param("/motor_driver_node/cmd_dist_topic"), Float32MultiArray, self.zlac8015d_dist_cmd_callback) - #-For E-stop- - rospy.Subscriber("/estop", Bool, self.zlac8015d_estop_callback) - - #-----Initialize ZLAC8015D----- - self.zlc = ZLAC8015D.Controller(rospy.get_param("/motor_driver_node/port")) - self.zlc.cpr = int(rospy.get_param("/motor_driver_node/cpr")) - self.zlc.left_wheel_radius = float(rospy.get_param("/motor_driver_node/left_wheel_radius")) - self.zlc.right_wheel_radius = float(rospy.get_param("/motor_driver_node/right_wheel_radius")) - self.zlc.left_circumference = self.zlc.left_wheel_radius * 2 * np.pi - self.zlc.right_circumference = self.zlc.right_wheel_radius * 2 * np.pi - self.zlc.computation_left_wheel_radius = float(rospy.get_param("/motor_driver_node/computation_left_wheel_radius")) - self.zlc.computation_right_wheel_radius = float(rospy.get_param("/motor_driver_node/computation_right_wheel_radius")) - - + # -----Initialize subscriber----- + rospy.Subscriber(rospy.get_param("/motor_driver_node/twist_cmd_vel_topic"), Twist, self.twist_cmd_callback) + rospy.Subscriber(rospy.get_param("/motor_driver_node/cmd_vel_topic"), Float32MultiArray, self.vel_cmd_callback) + rospy.Subscriber(rospy.get_param("/motor_driver_node/cmd_rpm_topic"), Float32MultiArray, self.rpm_cmd_callback) + rospy.Subscriber(rospy.get_param("/motor_driver_node/cmd_deg_topic"), Float32MultiArray, self.deg_cmd_callback) + rospy.Subscriber(rospy.get_param("/motor_driver_node/cmd_dist_topic"), Float32MultiArray, self.dist_cmd_callback) + rospy.Subscriber("/estop", Bool, self.estop_callback) + + # -----Initialize Control Mode----- self.control_mode = int(rospy.get_param("/motor_driver_node/control_mode")) - if (self.control_mode == 3): - self.zlac8015d_speed_mode_init() - elif (self.control_mode == 1): - self.zlac8015d_position_mode_init() - - #-----Initialize variable----- - self.last_subscribed_time = 0.0 - self.callback_timeout = float(rospy.get_param("/motor_driver_node/callback_timeout")) - self.deadband_rpm = int(rospy.get_param("/motor_driver_node/deadband_rpm")) + if self.control_mode == 3: + self.speed_mode_init() + elif self.control_mode == 1: + self.position_mode_init() + + # -----Initialize Variable----- self.linear_vel_cmd = 0.0 self.angular_vel_cmd = 0.0 self.got_twist_cmd = False - + self.left_vel_cmd = 0.0 self.right_vel_cmd = 0.0 self.got_vel_cmd = False @@ -81,229 +92,420 @@ self.right_rpm_cmd = 0.0 self.got_vel_rpm_cmd = False - self.left_pos_deg_cmd = 0.0 - self.right_pos_deg_cmd = 0.0 + self.left_pos_deg_cmd = 0.0 + self.right_pos_deg_cmd = 0.0 self.got_pos_deg_cmd = False self.left_pos_dist_cmd = 0.0 self.right_pos_dist_cmd = 0.0 self.got_pos_dist_cmd = False - - self.theta = 0.0 + + self.estop = False + + self.last_subscribed_time = 0.0 + self.callback_timeout = float(rospy.get_param("/motor_driver_node/callback_timeout")) + self.wheels_base_width = float(rospy.get_param("/motor_driver_node/wheels_base_width")) + self.left_wheel_radius = float(rospy.get_param("/motor_driver_node/left_wheel_radius")) + self.right_wheel_radius = float(rospy.get_param("/motor_driver_node/right_wheel_radius")) + self.computation_left_wheel_radius = float(rospy.get_param("/motor_driver_node/computation_left_wheel_radius")) + self.computation_right_wheel_radius = float(rospy.get_param("/motor_driver_node/computation_right_wheel_radius")) + self.cpr = int(rospy.get_param("/motor_driver_node/cpr")) + self.deadband_rpm = int(rospy.get_param("/motor_driver_node/deadband_rpm")) + self.left_rpm_lim = int(rospy.get_param("/motor_driver_node/max_left_rpm")) + self.right_rpm_lim = int(rospy.get_param("/motor_driver_node/max_right_rpm")) + self.publish_TF = rospy.get_param("/motor_driver_node/publish_TF") + self.publish_odom = rospy.get_param("/motor_driver_node/publish_odom") + self.TF_header_frame = rospy.get_param("/motor_driver_node/TF_header_frame") + self.TF_child_frame = rospy.get_param("/motor_driver_node/TF_child_frame") + self.odom_header_frame = rospy.get_param("/motor_driver_node/odom_header_frame") + self.odom_child_frame = rospy.get_param("/motor_driver_node/odom_child_frame") + self.debug = rospy.get_param("/motor_driver_node/debug") + self.period = 0.05 self.x = 0.0 self.y = 0.0 - self.Wr = 0.0 - self.Wl = 0.0 - self.period = 0.05 + self.theta = 0.0 self.l_meter = 0.0 self.r_meter = 0.0 - self.l_meter_init, self.r_meter_init = self.zlc.get_wheels_travelled() self.prev_l_meter = 0.0 self.prev_r_meter = 0.0 - self.wheels_base_width = float(rospy.get_param("/motor_driver_node/wheels_base_width")) - - self.br = tf2_ros.TransformBroadcaster() + self.l_meter_init, self.r_meter_init = self.get_wheels_travelled() self.t = TransformStamped() + self.br = tf2_ros.TransformBroadcaster() self.state_vector = np.zeros((3, 1)) - - #-For E-stop- - self.estop = False - - + + print("\033[32m" + "Start ZLAC8015D motor driver node" + "\033[0m") + print("#########################") + """ - ++++++++++++++++++++++++++++++++++++++++++ - zlac8015d_estop_callback function - ++++++++++++++++++++++++++++++++++++++++++ - Callback function to subscribe for "/estop". + ############################## + ## speed_mode_init function ## + ############################## + Initialization of speed RPM control mode. """ - def zlac8015d_estop_callback(self, msg): - self.estop = msg.data - + def speed_mode_init(self): + # -----Disable Motor----- + result = self.client.write_register(self.CONTROL_REG, self.DOWN_TIME, unit = self.ID) + + # -----Set Accel Time----- + AL_ms = int(rospy.get_param("/motor_driver_node/set_accel_time_left")) + AR_ms = int(rospy.get_param("/motor_driver_node/set_accel_time_right")) + if AL_ms > 32767: + AL_ms = 32767 + elif AL_ms < 0: + AL_ms = 0 + + if AR_ms > 32767: + AR_ms = 32767 + elif AR_ms < 0: + AR_ms = 0 + + result = self.client.write_registers(self.L_ACL_TIME, [AL_ms, AR_ms], unit = self.ID) + + # -----Set Decel Time----- + DL_ms = int(rospy.get_param("/motor_driver_node/set_decel_time_left")) + DR_ms = int(rospy.get_param("/motor_driver_node/set_decel_time_right")) + if DL_ms > 32767: + DL_ms = 32767 + elif DL_ms < 0: + DL_ms = 0 + + if DR_ms > 32767: + DR_ms = 32767 + elif DR_ms < 0: + DR_ms = 0 + + result = self.client.write_registers(self.L_DCL_TIME, [DL_ms, DR_ms], unit = self.ID) + + # -----Set Mode----- + mode = 3 + result = self.client.write_register(self.OPR_MODE, mode, unit=self.ID) + print("\033[32m" + "Set mode as speed RPM control" + "\033[0m") + + # -----Enable Motor----- + result = self.client.write_register(self.CONTROL_REG, self.ENABLE, unit = self.ID) + """ - ++++++++++++++++++++++++++++++++++++++++++ - zlac8015d_twist_cmd_callback function - ++++++++++++++++++++++++++++++++++++++++++ + ################################# + ## position_mode_init function ## + ################################# + Initialization of relative position control mode. + """ + def position_mode_init(self): + # -----Disable Motor----- + result = self.client.write_register(self.CONTROL_REG, self.DOWN_TIME, unit = self.ID) + + # -----Set Accel Time----- + AL_ms = int(rospy.get_param("/motor_driver_node/set_accel_time_left")) + AR_ms = int(rospy.get_param("/motor_driver_node/set_accel_time_right")) + if AL_ms > 32767: + AL_ms = 32767 + elif AL_ms < 0: + AL_ms = 0 + + if AR_ms > 32767: + AR_ms = 32767 + elif AR_ms < 0: + AR_ms = 0 + + result = self.client.write_registers(self.L_ACL_TIME, [AL_ms, AR_ms], unit = self.ID) + + # -----Set Decel Time----- + DL_ms = int(rospy.get_param("/motor_driver_node/set_decel_time_left")) + DR_ms = int(rospy.get_param("/motor_driver_node/set_decel_time_right")) + if DL_ms > 32767: + DL_ms = 32767 + elif DL_ms < 0: + DL_ms = 0 + + if DR_ms > 32767: + DR_ms = 32767 + elif DR_ms < 0: + DR_ms = 0 + + result = self.client.write_registers(self.L_DCL_TIME, [DL_ms, DR_ms], unit = self.ID) + + # -----Set Mode----- + mode = 1 + result = self.client.write_register(self.OPR_MODE, mode, unit=self.ID) + print("\033[32m" + "Set mode as relative position control" + "\033[0m") + + # -----Set Position Async Control----- + result = self.client.write_register(self.POS_CONTROL_TYPE, self.ASYNC, unit = self.ID) + + # -----Set Position Async Control----- + max_L_rpm = int(rospy.get_param("/motor_driver_node/max_left_rpm")) + max_R_rpm = int(rospy.get_param("/motor_driver_node/max_right_rpm")) + if max_L_rpm > 1000: + max_L_rpm = 1000 + elif max_L_rpm < 1: + max_L_rpm = 1 + + if max_R_rpm > 1000: + max_R_rpm = 1000 + elif max_R_rpm < 1: + max_R_rpm = 1 + + result = self.client.write_registers(self.L_MAX_RPM_POS, [max_L_rpm, max_R_rpm], unit = self.ID) + + # -----Enable Motor----- + result = self.client.write_register(self.CONTROL_REG, self.ENABLE, unit = self.ID) + + """ + ################################# + ## twist_cmd_callback function ## + ################################# Callback function to subscribe for "/zlac8015d/twist/cmd_vel". """ - def zlac8015d_twist_cmd_callback(self, msg): + def twist_cmd_callback(self, msg): self.linear_vel_cmd = msg.linear.x self.angular_vel_cmd = msg.angular.z self.got_twist_cmd = True self.last_subscribed_time = time.perf_counter() - + """ - ++++++++++++++++++++++++++++++++++++++++++ - zlac8015d_vel_cmd_callback function - ++++++++++++++++++++++++++++++++++++++++++ + ############################### + ## vel_cmd_callback function ## + ############################### Callback function to subscribe for "/zlac8015d/vel/cmd_vel". """ - def zlac8015d_vel_cmd_callback(self, msg): + def vel_cmd_callback(self, msg): self.left_vel_cmd = msg.data[0] self.right_vel_cmd = -msg.data[1] self.got_vel_cmd = True self.last_subscribed_time = time.perf_counter() """ - ++++++++++++++++++++++++++++++++++++++++++ - zlac8015d_rpm_cmd_callback function - ++++++++++++++++++++++++++++++++++++++++++ + ############################### + ## rpm_cmd_callback function ## + ############################### Callback function to subscribe for "/zlac8015d/vel/cmd_rpm". """ - def zlac8015d_rpm_cmd_callback(self, msg): + def rpm_cmd_callback(self, msg): self.left_rpm_cmd = msg.data[0] self.right_rpm_cmd = -msg.data[1] self.got_vel_rpm_cmd = True self.last_subscribed_time = time.perf_counter() """ - ++++++++++++++++++++++++++++++++++++++++++ - zlac8015d_deg_cmd_callback function - ++++++++++++++++++++++++++++++++++++++++++ + ############################### + ## deg_cmd_callback function ## + ############################### Callback function to subscribe for "/zlac8015d/pos/cmd_deg". """ - def zlac8015d_deg_cmd_callback(self, msg): + def deg_cmd_callback(self, msg): self.left_pos_deg_cmd = msg.data[0] self.right_pos_deg_cmd = -msg.data[1] self.got_pos_deg_cmd = True """ - ++++++++++++++++++++++++++++++++++++++++++ - zlac8015d_dist_cmd_callback function - ++++++++++++++++++++++++++++++++++++++++++ + ################################ + ## dist_cmd_callback function ## + ################################ Callback function to subscribe for "/zlac8015d/pos/cmd_dist". """ - def zlac8015d_dist_cmd_callback(self, msg): + def dist_cmd_callback(self, msg): self.left_pos_dist_cmd = msg.data[0] self.right_pos_dist_cmd = msg.data[1] self.got_pos_dist_cmd = True + + """ + ############################## + ## estop_callback function ## + ############################## + Callback function to subscribe for "/estop". + """ + def estop_callback(self, msg): + self.estop = msg.data """ - ++++++++++++++++++++++++++++++++++++++++++ - zlac8015d_speed_mode_init function - ++++++++++++++++++++++++++++++++++++++++++ - Initialization of speed rpm control mode. - """ - def zlac8015d_speed_mode_init(self): - self.zlc.disable_motor() - self.zlc.set_accel_time(int(rospy.get_param("/motor_driver_node/set_accel_time_left")), int(rospy.get_param("/motor_driver_node/set_accel_time_right"))) - self.zlc.set_decel_time(int(rospy.get_param("/motor_driver_node/set_decel_time_left")), int(rospy.get_param("/motor_driver_node/set_accel_time_right"))) - self.zlc.set_mode(3) - self.zlc.enable_motor() - - """ - ++++++++++++++++++++++++++++++++++++++++++ - zlac8015d_position_mode_init function - ++++++++++++++++++++++++++++++++++++++++++ - Initialization of relative position control mode. - """ - def zlac8015d_position_mode_init(self): - self.zlc.disable_motor() - self.zlc.set_accel_time(int(rospy.get_param("/motor_driver_node/set_accel_time_left")), int(rospy.get_param("/motor_driver_node/set_accel_time_right"))) - self.zlc.set_decel_time(int(rospy.get_param("/motor_driver_node/set_decel_time_left")), int(rospy.get_param("/motor_driver_node/set_decel_time_right"))) - self.zlc.set_mode(1) - self.zlc.set_position_async_control() - self.zlc.set_maxRPM_pos(int(rospy.get_param("/motor_driver_node/max_left_rpm")), int(rospy.get_param("/motor_driver_node/max_right_rpm"))) - self.zlc.enable_motor() - - """ - ++++++++++++++++++++++++++++++++++++++++++ - twist_to_rpm function - ++++++++++++++++++++++++++++++++++++++++++ - Convert from twist to rpm. + ########################### + ## twist_to_rpm function ## + ########################### + Convert from twist to RPM. """ def twist_to_rpm(self, linear_vel, angular_vel): left_vel = linear_vel - self.wheels_base_width / 2 * angular_vel right_vel = linear_vel + self.wheels_base_width / 2 * angular_vel left_rpm, right_rpm = self.vel_to_rpm(left_vel, -right_vel) return left_rpm, right_rpm - + """ - ++++++++++++++++++++++++++++++++++++++++++ - vel_to_rpm function - ++++++++++++++++++++++++++++++++++++++++++ - Convert from speed to rpm. + ######################### + ## vel_to_rpm function ## + ######################### + Convert from speed to RPM. """ def vel_to_rpm(self, left_vel, right_vel): - left_rpm = 60 * left_vel / (2 * np.pi * self.zlc.left_wheel_radius) - right_rpm = 60 * right_vel / (2 * np.pi * self.zlc.right_wheel_radius) + left_rpm = 60 * left_vel / (2 * np.pi * self.left_wheel_radius) + right_rpm = 60 * right_vel / (2 * np.pi * self.right_wheel_radius) return left_rpm, right_rpm + + """ + ##################################### + ## dist_to_relative_angle function ## + ##################################### + Convert from distance to relative angle. + """ + def dist_to_relative_angle(self, left_dist, right_dist): + left_circumference = self.left_wheel_radius * 2 * np.pi + right_circumference = self.right_wheel_radius * 2 * np.pi + left_relative_deg = (left_dist * 360.0) / left_circumference + right_relative_deg = (-right_dist * 360.0) / right_circumference + return left_relative_deg, right_relative_deg """ - ++++++++++++++++++++++++++++++++++++++++++ - zlac8015d_set_rpm_with_limit function - ++++++++++++++++++++++++++++++++++++++++++ - Set rpm with limit. + ################################### + ## int16Dec_to_int16Hex function ## + ################################### + Convert from int16Dec to int16Hex. """ - def zlac8015d_set_rpm_with_limit(self, left_rpm, right_rpm): - left_rpm_lim = int(rospy.get_param("/motor_driver_node/max_left_rpm")) - right_rpm_lim = int(rospy.get_param("/motor_driver_node/max_right_rpm")) - if ((-left_rpm_lim < left_rpm < left_rpm_lim) and (-right_rpm_lim < right_rpm < right_rpm_lim)): - if (-self.deadband_rpm < left_rpm < self.deadband_rpm): - left_rpm = 0 - if (-self.deadband_rpm < right_rpm < self.deadband_rpm): - right_rpm = 0 - - self.zlc.set_rpm(int(left_rpm), int(right_rpm)) - else: - rospy.logerr("Set RPM exceeds the limit.") + def int16Dec_to_int16Hex(self, int16): + lo_byte = (int16 & 0x00FF) + hi_byte = (int16 & 0xFF00) >> 8 + all_bytes = (hi_byte << 8) | lo_byte + return all_bytes """ - ++++++++++++++++++++++++++++++++++++++++++ - calculate_odometry function - ++++++++++++++++++++++++++++++++++++++++++ + ################################# + ## deg_to_32bitArray function ## + ################################# + Convert from degree to 32bitArray. + """ + def deg_to_32bitArray(self, deg): + dec = int((deg + 1440) * (65536 + 65536) / (1440 + 1440) - 65536) + HI_WORD = (dec & 0xFFFF0000) >> 16 + LO_WORD = dec & 0x0000FFFF + return [HI_WORD, LO_WORD] + + """ + ################################### + ## get_wheels_travelled function ## + ################################### + Get distance traveled by left and right wheels. + """ + def get_wheels_travelled(self): + registers = self.modbus_fail_read_handler(self.L_FB_POS_HI, 4) + l_pul_hi = registers[0] + l_pul_lo = registers[1] + r_pul_hi = registers[2] + r_pul_lo = registers[3] + l_pulse = np.int32(((l_pul_hi & 0xFFFF) << 16) | (l_pul_lo & 0xFFFF)) + r_pulse = np.int32(((r_pul_hi & 0xFFFF) << 16) | (r_pul_lo & 0xFFFF)) + l_travelled = (float(l_pulse) / self.cpr) * self.computation_left_wheel_radius * np.pi * 8 # unit in meter + r_travelled = (float(r_pulse) / self.cpr) * self.computation_right_wheel_radius * np.pi * 8 # unit in meter + return l_travelled, r_travelled + + """ + ####################################### + ## modbus_fail_read_handler function ## + ####################################### + Get data from registers. + """ + def modbus_fail_read_handler(self, ADDR, WORD): + read_success = False + reg = [None] * WORD + while not read_success: + result = self.client.read_holding_registers(ADDR, WORD, unit = self.ID) + try: + for i in range(WORD): + reg[i] = result.registers[i] + read_success = True + except AttributeError as e: + print(e) + pass + return reg + + """ + ################################# + ## set_rpm_with_limit function ## + ################################# + Set RPM with limit. + """ + def set_rpm_with_limit(self, left_rpm, right_rpm): + if self.left_rpm_lim < left_rpm: + left_rpm = self.left_rpm_lim + rospy.logwarn("RPM reach the limit.") + elif left_rpm < -self.left_rpm_lim: + left_rpm = -self.left_rpm_lim + rospy.logwarn("RPM reach the limit.") + elif -self.deadband_rpm < left_rpm < self.deadband_rpm: + left_rpm = 0 + + if self.right_rpm_lim < right_rpm: + right_rpm = self.right_rpm_lim + rospy.logwarn("RPM reach the limit.") + elif right_rpm < -self.right_rpm_lim: + right_rpm = -self.right_rpm_lim + rospy.logwarn("RPM reach the limit.") + elif -self.deadband_rpm < right_rpm < self.deadband_rpm: + right_rpm = 0 + + left_bytes = self.int16Dec_to_int16Hex(int(left_rpm)) + right_bytes = self.int16Dec_to_int16Hex(int(right_rpm)) + result = self.client.write_registers(self.L_CMD_RPM, [left_bytes, right_bytes], unit = self.ID) + + """ + ################################# + ## set_relative_angle function ## + ################################# + Set relative angle. + """ + def set_relative_angle(self, ang_L, ang_R): + L_array = self.deg_to_32bitArray(ang_L / 4) + R_array = self.deg_to_32bitArray(ang_R / 4) + all_cmds_array = L_array + R_array + result = self.client.write_registers(self.L_CMD_REL_POS_HI, all_cmds_array, unit = self.ID) + + """ + ################################# + ## calculate_odometry function ## + ################################# Odometry computation. """ def calculate_odometry(self): - """ - l_rpm, r_rpm = self.zlc.get_rpm() - self.Wl = self.zlc.rpm_to_radPerSec(l_rpm) - self.Wr = self.zlc.rpm_to_radPerSec(-r_rpm) - """ - self.l_meter, self.r_meter = self.zlc.get_wheels_travelled() + self.l_meter, self.r_meter = self.get_wheels_travelled() self.l_meter = self.l_meter - self.l_meter_init self.r_meter = (-1 * self.r_meter) - (-1 * self.r_meter_init) vl = (self.l_meter - self.prev_l_meter) / self.period vr = (self.r_meter - self.prev_r_meter) / self.period - self.Wl = vl / self.zlc.computation_left_wheel_radius - self.Wr = vr / self.zlc.computation_right_wheel_radius - - matrix = np.array([[self.zlc.computation_right_wheel_radius / 2, self.zlc.computation_left_wheel_radius / 2], [self.zlc.computation_right_wheel_radius / self.wheels_base_width, -self.zlc.computation_left_wheel_radius / self.wheels_base_width]]) - vector = np.array([[self.Wr], [self.Wl]]) + Wl = vl / self.computation_left_wheel_radius + Wr = vr / self.computation_right_wheel_radius + matrix = np.array([[self.computation_right_wheel_radius / 2, self.computation_left_wheel_radius / 2], [self.computation_right_wheel_radius / self.wheels_base_width, -self.computation_left_wheel_radius / self.wheels_base_width]]) + vector = np.array([[Wr], [Wl]]) input_vector = np.dot(matrix, vector) V = input_vector[0, 0] Wz = input_vector[1, 0] - out_matrix = np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1]]) dirc_matrix = np.array([[np.cos(self.state_vector[2, 0]) * self.period, 0], [np.sin(self.state_vector[2, 0]) * self.period, 0], [0, self.period]]) out_vector = np.dot(out_matrix, self.state_vector) + np.dot(dirc_matrix, input_vector) - self.x = out_vector[0, 0] - self.y = out_vector[1, 0] - self.theta = out_vector[2, 0] + x = out_vector[0, 0] + y = out_vector[1, 0] + theta = out_vector[2, 0] - #-----Construct tf----- - if(rospy.get_param("/motor_driver_node/publish_TF")): + # -----Construct TF----- + if(self.publish_TF): self.t.header.stamp = rospy.Time.now() - self.t.header.frame_id = rospy.get_param("/motor_driver_node/TF_header_frame") - self.t.child_frame_id = rospy.get_param("/motor_driver_node/TF_child_frame") - self.t.transform.translation.x = self.x - self.t.transform.translation.y = self.y + self.t.header.frame_id = self.TF_header_frame + self.t.child_frame_id = self.TF_child_frame + self.t.transform.translation.x = x + self.t.transform.translation.y = y self.t.transform.translation.z = 0.0 - rotation = tf.transformations.quaternion_from_euler(0, 0, self.theta) + rotation = quaternion_from_euler(0, 0, theta) self.t.transform.rotation.x = rotation[0] self.t.transform.rotation.y = rotation[1] self.t.transform.rotation.z = rotation[2] self.t.transform.rotation.w = rotation[3] self.br.sendTransform(self.t) - #-----Construct odom message----- - if(rospy.get_param("/motor_driver_node/publish_odom")): + # -----Construct Odom Message----- + if(self.publish_odom): self.odom_msg.header.stamp = rospy.Time.now() - self.odom_msg.header.frame_id = rospy.get_param("/motor_driver_node/odom_header_frame") - self.odom_msg.child_frame_id = rospy.get_param("/motor_driver_node/odom_child_frame") - self.odom_msg.pose.pose.position.x = self.x - self.odom_msg.pose.pose.position.y = self.y + self.odom_msg.header.frame_id = self.odom_header_frame + self.odom_msg.child_frame_id = self.odom_child_frame + self.odom_msg.pose.pose.position.x = x + self.odom_msg.pose.pose.position.y = y self.odom_msg.pose.pose.position.z = 0.0 - orientation = tf.transformations.quaternion_from_euler(0, 0, self.theta) + orientation = quaternion_from_euler(0, 0, theta) self.odom_msg.pose.pose.orientation.x = orientation[0] self.odom_msg.pose.pose.orientation.y = orientation[1] self.odom_msg.pose.pose.orientation.z = orientation[2] @@ -318,168 +520,114 @@ self.odom_msg.twist.twist.linear.y = 0.0 self.odom_msg.twist.twist.angular.z = Wz self.odom_pub.publish(self.odom_msg) - - self.state_vector[0, 0] = self.x - self.state_vector[1, 0] = self.y - self.state_vector[2, 0] = self.theta - - """ - def calculate_odometry(self): - self.l_meter, self.r_meter = self.zlc.get_wheels_travelled() - self.l_meter = self.l_meter - self.l_meter_init - self.r_meter = (-1 * self.r_meter) - (-1 * self.r_meter_init) - if (self.control_mode == 3): - vl, vr = self.zlc.get_linear_velocities() - elif (self.control_mode == 1): - vl = (self.l_meter - self.prev_l_meter) / self.period - vr = (self.r_meter - self.prev_r_meter) / self.period - - round_vl = float(Decimal(str(vl)).quantize(Decimal(str(rospy.get_param("/motor_driver_node/decimil_coefficient"))), rounding = ROUND_HALF_UP)) - round_vr = float(Decimal(str(vr)).quantize(Decimal(str(rospy.get_param("/motor_driver_node/decimil_coefficient"))), rounding = ROUND_HALF_UP)) - - #-----Rotatiing----- - if ((round_vl * round_vr) < 0.0) and (abs(round_vl) == abs(round_vr)): - V = 0.0 - Wz = 2.0 * vr / self.wheels_base_width - self.theta = self.theta + Wz * self.period - path = "Rotatiing" - - #-----Curving----- - elif ((round_vl - round_vr) != 0): - V = (vl + vr) / 2.0 - Wz = (vr - vl) / self.wheels_base_width - R_ICC = (self.wheels_base_width / 2.0) * ((vr + vl) / (vr - vl)) - self.x = self.x - R_ICC * np.sin(self.theta) + R_ICC * np.sin(self.theta + Wz * self.period) - self.y = self.y + R_ICC * np.cos(self.theta) - R_ICC * np.cos(self.theta + Wz * self.period) - self.theta = self.theta + Wz * self.period - path = "Curving" - - #-----Going straight----- - else: - V = (vl + vr)/2.0 - Wz = 0.0 - self.x = self.x + V * np.cos(self.theta) * self.period - self.y = self.y + V * np.sin(self.theta) * self.period - path = "Going straight" - #-----Construct tf----- - q = quaternion_from_euler(0, 0, self.theta) - if(rospy.get_param("/motor_driver_node/publish_TF")): - self.t.header.stamp = rospy.Time.now() - self.t.header.frame_id = rospy.get_param("/motor_driver_node/TF_header_frame") - self.t.child_frame_id = rospy.get_param("/motor_driver_node/TF_child_frame") - self.t.transform.translation.x = self.x - self.t.transform.translation.y = self.y - self.t.transform.translation.z = 0.0 - self.t.transform.rotation.x = q[0] - self.t.transform.rotation.y = q[1] - self.t.transform.rotation.z = q[2] - self.t.transform.rotation.w = q[3] - self.br.sendTransform(self.t) - - #-----Construct odom message----- - if(rospy.get_param("/motor_driver_node/publish_odom")): - self.odom_msg.header.stamp = rospy.Time.now() - self.odom_msg.header.frame_id = rospy.get_param("/motor_driver_node/odom_header_frame") - self.odom_msg.child_frame_id = rospy.get_param("/motor_driver_node/odom_child_frame") - self.odom_msg.pose.pose.position.x = self.x - self.odom_msg.pose.pose.position.y = self.y - self.odom_msg.pose.pose.position.z = 0.0 - self.odom_msg.pose.pose.orientation.x = q[0] - self.odom_msg.pose.pose.orientation.y = q[1] - self.odom_msg.pose.pose.orientation.z = q[2] - self.odom_msg.pose.pose.orientation.w = q[3] - self.odom_msg.pose.covariance[0] = 0.0001 - self.odom_msg.pose.covariance[7] = 0.0001 - self.odom_msg.pose.covariance[14] = 0.000001 - self.odom_msg.pose.covariance[21] = 0.000001 - self.odom_msg.pose.covariance[28] = 0.000001 - self.odom_msg.pose.covariance[35] = 0.0001 - self.odom_msg.twist.twist.linear.x = V - self.odom_msg.twist.twist.linear.y = 0.0 - self.odom_msg.twist.twist.angular.z = Wz - self.odom_pub.publish(self.odom_msg) - - return vl, vr - """ + self.state_vector[0, 0] = x + self.state_vector[1, 0] = y + self.state_vector[2, 0] = theta + return x, y, theta """ - ++++++++++++++++++++++++++++++++++++++++++ - control_loop function - ++++++++++++++++++++++++++++++++++++++++++ + ############################## + ## control_loop function ## + ############################## Control loop. """ def control_loop(self): - rate = rospy.Rate(20) # 20Hz - reset_flag = False + rate = rospy.Rate(1 / self.period) + estop_reset_flag = False + while True: - if (rospy.is_shutdown()): - self.zlc.disable_motor() + if rospy.is_shutdown(): + # -----Disable Motor----- + result = self.client.write_register(self.CONTROL_REG, self.DOWN_TIME, unit = self.ID) break - + start_time = time.perf_counter() - - if (self.estop == True): - self.zlc.estop() - reset_flag = True - else: - if(reset_flag == True): - self.zlc.clear_alarm() - self.zlc.disable_motor() - self.zlc.enable_motor() - reset_flag = False - #-----Speed rpm control mode----- - if (self.control_mode == 3): - if (self.got_twist_cmd): + if self.estop: + # -----Emergency Stop----- + if self.control_mode == 3: + self.set_rpm_with_limit(0, 0) + elif self.control_mode == 1: + result = self.client.write_register(self.CONTROL_REG, self.EMER_STOP, unit=self.ID) + + if not estop_reset_flag: + #result = self.client.write_register(self.CONTROL_REG, self.EMER_STOP, unit=self.ID) + + rospy.logwarn("####################") + rospy.logwarn("---EMERGENCY STOP---") + rospy.logwarn("####################") + estop_reset_flag = True + elif not self.estop: + if estop_reset_flag: + # -----Clear Alarm----- + result = self.client.write_register(self.CONTROL_REG, self.ALRM_CLR, unit=self.ID) + + # -----Disable Motor----- + result = self.client.write_register(self.CONTROL_REG, self.DOWN_TIME, unit = self.ID) + + # -----Enable Motor----- + result = self.client.write_register(self.CONTROL_REG, self.ENABLE, unit = self.ID) + + estop_reset_flag = False + + # -----Speed RPM Control----- + if self.control_mode == 3: + if self.got_twist_cmd: self.left_rpm_cmd, self.right_rpm_cmd = self.twist_to_rpm(self.linear_vel_cmd, self.angular_vel_cmd) - self.zlac8015d_set_rpm_with_limit(self.left_rpm_cmd, self.right_rpm_cmd) + self.set_rpm_with_limit(self.left_rpm_cmd, self.right_rpm_cmd) self.got_twist_cmd = False - elif (self.got_vel_cmd): + elif self.got_vel_cmd: self.left_rpm_cmd, self.right_rpm_cmd = self.vel_to_rpm(self.left_vel_cmd, self.right_vel_cmd) - self.zlac8015d_set_rpm_with_limit(self.left_rpm_cmd, self.right_rpm_cmd) + self.set_rpm_with_limit(self.left_rpm_cmd, self.right_rpm_cmd) self.got_vel_cmd = False - elif (self.got_vel_rpm_cmd): - self.zlac8015d_set_rpm_with_limit(self.left_rpm_cmd, self.right_rpm_cmd) + elif self.got_vel_rpm_cmd: + self.set_rpm_with_limit(self.left_rpm_cmd, self.right_rpm_cmd) self.got_vel_rpm_cmd = False - elif (time.perf_counter() - self.last_subscribed_time > self.callback_timeout): + elif (time.perf_counter() - self.last_subscribed_time) > self.callback_timeout: self.left_rpm_cmd = 0.0 self.right_rpm_cmd = 0.0 - self.zlac8015d_set_rpm_with_limit(self.left_rpm_cmd, self.right_rpm_cmd) - - #-----relative position control mode----- - elif (self.control_mode == 1): - if (self.got_pos_deg_cmd): - self.zlc.set_relative_angle(self.left_pos_deg_cmd ,self.right_pos_deg_cmd) - self.zlc.move_left_wheel() - self.zlc.move_right_wheel() + self.set_rpm_with_limit(self.left_rpm_cmd, self.right_rpm_cmd) + + # -----Position Control----- + elif self.control_mode == 1: + if self.got_pos_deg_cmd: + self.set_relative_angle(self.left_pos_deg_cmd ,self.right_pos_deg_cmd) + # -----Move Left Wheel----- + result = self.client.write_register(self.CONTROL_REG, self.POS_L_START, unit=self.ID) + + # -----Move Right Wheel----- + result = self.client.write_register(self.CONTROL_REG, self.POS_R_START, unit=self.ID) + self.got_pos_deg_cmd = False - elif (self.got_pos_dist_cmd): - left_cmd_deg = (self.left_pos_dist_cmd * 360.0) / self.zlc.left_circumference - right_cmd_deg = (-self.right_pos_dist_cmd * 360.0) / self.zlc.right_circumference - self.zlc.set_relative_angle(left_cmd_deg, right_cmd_deg) - self.zlc.move_left_wheel() - self.zlc.move_right_wheel() + elif self.got_pos_dist_cmd: + self.left_pos_deg_cmd, self.right_pos_deg_cmd = self.dist_to_relative_angle(self.left_pos_dist_cmd, self.right_pos_dist_cmd) + self.set_relative_angle(self.left_pos_deg_cmd ,self.right_pos_deg_cmd) + # -----Move Left Wheel----- + result = self.client.write_register(self.CONTROL_REG, self.POS_L_START, unit=self.ID) + + # -----Move Right Wheel----- + result = self.client.write_register(self.CONTROL_REG, self.POS_R_START, unit=self.ID) + self.got_pos_dist_cmd = False #-----Odometry computation----- - self.calculate_odometry() + x, y, theta = self.calculate_odometry() self.period = time.perf_counter() - start_time self.prev_l_meter = self.l_meter self.prev_r_meter = self.r_meter - #-----Logging to screen----- - if (rospy.get_param("/motor_driver_node/debug")): - print("\033[32m" + "x: {:f} | y: {:f} | yaw: {:f} | Wr: {:f} | Wl: {:f}".format(self.x, self.y, np.rad2deg(self.theta), self.Wr, self.Wl) + "\033[0m") + #-----Debugging Feature----- + if (self.debug): + print("\033[32m" + "x: {:f} | y: {:f} | yaw: {:f}".format(x, y, np.rad2deg(theta)) + "\033[0m") else: - #print("\033[32m" + "Debugging features disable" + "\033[0m") pass - - rate.sleep() + rate.sleep() + """ -++++++++++++++++++++++++++++++++++++++++++ - main function -++++++++++++++++++++++++++++++++++++++++++ +################### +## Main function ## +################### Main. """ def main():