diff --git a/jsk_fetch_robot/jsk_fetch.rosinstall.indigo b/jsk_fetch_robot/jsk_fetch.rosinstall.indigo index bae0cdd09b..77a2f1eb04 100644 --- a/jsk_fetch_robot/jsk_fetch.rosinstall.indigo +++ b/jsk_fetch_robot/jsk_fetch.rosinstall.indigo @@ -22,11 +22,11 @@ uri: https://github.com/jsk-ros-pkg/jsk_robot.git version: master # to pass build of jsk_robot -# remove after 2.2.10 is released +# remove after 2.2.11 is released - git: local-name: jsk-ros-pkg/jsk_common uri: https://github.com/jsk-ros-pkg/jsk_common.git - version: 2.2.10 + version: 799fd309c1519801fcb3a37c9094814004d78594 # to avoid volume 0 problem # remove after 0.3.14 (https://github.com/jsk-ros-pkg/jsk_pr2eus/commit/41183fe3401d742bbec0edd13b67cb909a6968bd) is released - git: @@ -39,7 +39,7 @@ - git: local-name: jsk-ros-pkg/jsk_demos uri: https://github.com/jsk-ros-pkg/jsk_demos.git - version: 810acc7 + version: 7c429715d0adf12c5dd34459ceb4b0a5b11dec6c # jsk_topic_tools requires nodelet gte 1.9.11 # remove after 1.9.11 is released by apt - git: @@ -64,7 +64,7 @@ - git: local-name: jsk-ros-pkg/jsk_3rdparty uri: https://github.com/jsk-ros-pkg/jsk_3rdparty.git - version: 82e897dcbdcd6aa0cbd126fa122d4dbdc9df67c9 + version: f2b2bd8ac30a8539a6e099dfe7f1e2830ca12430 # Use joy/joy_remap.py - git: local-name: ros-drivers/joystick_drivers @@ -103,3 +103,13 @@ local-name: fetchrobotics/fetch_open_auto_dock uri: https://github.com/fetchrobotics/fetch_open_auto_dock.git version: 0.1.2 +# indigo is already EOL and visualization_msgs is never released +- tar: + local-name: ros/common_msgs/visualization_msgs + uri: https://github.com/ros-gbp/common_msgs-release/archive/release/kinetic/visualization_msgs/1.12.7-0.tar.gz + version: common_msgs-release-release-kinetic-visualization_msgs-1.12.7-0 +# catkin_virtualenv is required in jsk_3rdparty +- git: + local-name: locusrobotics/catkin_virtualenv + uri: https://github.com/locusrobotics/catkin_virtualenv.git + version: 0.5.0 diff --git a/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.app b/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.app index 6ac1ff1fd2..e10836f0f9 100644 --- a/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.app +++ b/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.app @@ -3,6 +3,7 @@ platform: fetch launch: jsk_fetch_startup/go_to_kitchen.xml interface: jsk_fetch_startup/go_to_kitchen.interface icon: jsk_fetch_startup/go_to_kitchen.png +timeout: 1200 plugins: - name: service_notification_saver_plugin type: app_notification_saver/service_notification_saver @@ -24,12 +25,20 @@ plugins: video_framerate: 30 video_encoding: RGB - name: object_detection_video_recorder_plugin - type: app_recorder/video_recorder_plugin + type: app_recorder/audio_video_recorder_plugin launch_args: video_path: /tmp video_title: go_to_kitchen_object_detection.avi - video_topic_name: /edgetpu_object_detector_visualization/output - video_fps: 5.0 + audio_topic_name: /audio + audio_channels: 1 + audio_sample_rate: 16000 + audio_format: wave + audio_sample_format: S16LE + video_topic_name: /edgetpu_object_detector/output/image + video_height: 480 + video_width: 640 + video_framerate: 10 + video_encoding: RGB - name: panorama_video_recorder_plugin type: app_recorder/video_recorder_plugin launch_args: @@ -37,6 +46,13 @@ plugins: video_title: go_to_kitchen_panorama.avi video_topic_name: /dual_fisheye_to_panorama/output video_fps: 1.0 + - name: rviz_video_recorder_plugin + type: app_recorder/video_recorder_plugin + launch_args: + video_path: /tmp + video_title: go_to_kitchen_rviz.avi + video_topic_name: /rviz/image + video_fps: 30.0 - name: respeaker_audio_recorder_plugin type: app_recorder/audio_recorder_plugin launch_args: @@ -74,6 +90,9 @@ plugins: - /head_camera/depth_registered/throttled/camera_info - /head_camera/rgb/throttled/image_rect_color/compressed - /head_camera/depth_registered/throttled/image_rect/compressedDepth + - /server_name/smach/container_init + - /server_name/smach/container_status + - /server_name/smach/container_structure - /audio - /rviz/throttled/image/compressed - name: result_recorder_plugin @@ -89,6 +108,7 @@ plugins: - /tmp/go_to_kitchen_head_camera.avi - /tmp/go_to_kitchen_object_detection.avi - /tmp/go_to_kitchen_panorama.avi + - /tmp/go_to_kitchen_rviz.avi - /tmp/go_to_kitchen_audio.wav - /tmp/go_to_kitchen_rosbag.bag upload_file_titles: @@ -96,10 +116,18 @@ plugins: - go_to_kitchen_head_camera.avi - go_to_kitchen_object_detection.avi - go_to_kitchen_panorama.avi + - go_to_kitchen_rviz.avi - go_to_kitchen_audio.wav - go_to_kitchen_rosbag.bag upload_parents_path: fetch_go_to_kitchen upload_server_name: /gdrive_server + - name: tweet_notifier_plugin + type: app_notifier/tweet_notifier_plugin + plugin_args: + client_name: /tweet_image_server/tweet + image: true + image_topic_name: /edgetpu_object_detector/output/image + warning: false - name: speech_notifier_plugin type: app_notifier/speech_notifier_plugin plugin_args: @@ -135,10 +163,12 @@ plugin_order: - head_camera_video_recorder_plugin - object_detection_video_recorder_plugin - panorama_video_recorder_plugin + - rviz_video_recorder_plugin - respeaker_audio_recorder_plugin - rosbag_recorder_plugin - result_recorder_plugin - gdrive_uploader_plugin + - tweet_notifier_plugin - speech_notifier_plugin - mail_notifier_plugin - shutdown_plugin @@ -149,10 +179,12 @@ plugin_order: - head_camera_video_recorder_plugin - object_detection_video_recorder_plugin - panorama_video_recorder_plugin + - rviz_video_recorder_plugin - respeaker_audio_recorder_plugin - rosbag_recorder_plugin - result_recorder_plugin - gdrive_uploader_plugin + - tweet_notifier_plugin - speech_notifier_plugin - mail_notifier_plugin - shutdown_plugin diff --git a/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.xml b/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.xml index 4cba12ab53..21c0673ed6 100644 --- a/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.xml +++ b/jsk_fetch_robot/jsk_fetch_startup/apps/go_to_kitchen/go_to_kitchen.xml @@ -1,8 +1,19 @@ - + + + + + + + + + + diff --git a/jsk_fetch_robot/jsk_fetch_startup/euslisp/navigation-utils.l b/jsk_fetch_robot/jsk_fetch_startup/euslisp/navigation-utils.l index d50137984c..41f3b1ebd9 100644 --- a/jsk_fetch_robot/jsk_fetch_startup/euslisp/navigation-utils.l +++ b/jsk_fetch_robot/jsk_fetch_startup/euslisp/navigation-utils.l @@ -115,7 +115,7 @@ (simple-dock)) -(defun undock () +(defun undock (&key (rotate-in-place nil)) (unless *undock-action* (setq *undock-action* (instance ros::simple-action-client :init @@ -124,7 +124,8 @@ (ros::ros-error "/undock action server is not started") (return-from undock nil)) (send *undock-action* :send-goal - (instance fetch_auto_dock_msgs::UndockActionGoal :init)) + (instance fetch_auto_dock_msgs::UndockActionGoal :init + :goal (instance fetch_auto_dock_msgs::UndockGoal :rotate_in_place rotate-in-place))) (unless (send *undock-action* :wait-for-result :timeout 60) (ros::ros-error "No result returned from /undock action server") (return-from undock nil)) @@ -167,10 +168,7 @@ Args: (return-from go-to-spot-undock t)) (if (equal battery-charging-state :charging) (progn - (setq undock-success (auto-undock :n-trial 3)) - ;; rotate after undock - (if (and undock-success undock-rotate) - (send *ri* :go-pos-unsafe 0 0 180))) + (setq undock-success (auto-undock :n-trial 3 :rotate-in-place undock-rotate))) (return-from go-to-spot-undock t)) (if (not undock-success) (progn @@ -200,14 +198,14 @@ Args: success)) -(defun auto-undock (&key (n-trial 1)) +(defun auto-undock (&key (n-trial 1) (rotate-in-place nil)) (let ((success nil)) (unless (boundp '*ri*) (require :fetch-interface "package://fetcheus/fetch-interface.l") (fetch-init)) (dotimes (i n-trial) (ros::ros-info "trying to do undock.") - (setq success (undock)) + (setq success (undock :rotate-in-place rotate-in-place)) (when success (return-from auto-undock success))) (if (not success) (let ((enable-request (instance power_msgs::BreakerCommandRequest :init :enable t)) diff --git a/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_bringup.launch b/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_bringup.launch index 82d6f73eef..2b2e01804f 100644 --- a/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_bringup.launch +++ b/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_bringup.launch @@ -97,6 +97,11 @@ + + + + + diff --git a/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_insta360_melodic.launch b/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_insta360_melodic.launch index c94523f778..c8af2a9b22 100644 --- a/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_insta360_melodic.launch +++ b/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_insta360_melodic.launch @@ -8,6 +8,7 @@ + diff --git a/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_tweet.launch b/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_tweet.launch index d8faf71fb8..198a504b64 100644 --- a/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_tweet.launch +++ b/jsk_fetch_robot/jsk_fetch_startup/launch/fetch_tweet.launch @@ -1,11 +1,10 @@ - - + diff --git a/jsk_fetch_robot/jsk_fetch_startup/launch/navigation/fetch1075/fetch_move_base_common_params.yaml b/jsk_fetch_robot/jsk_fetch_startup/launch/navigation/fetch1075/fetch_move_base_common_params.yaml index e69de29bb2..b7eabb9a39 100644 --- a/jsk_fetch_robot/jsk_fetch_startup/launch/navigation/fetch1075/fetch_move_base_common_params.yaml +++ b/jsk_fetch_robot/jsk_fetch_startup/launch/navigation/fetch1075/fetch_move_base_common_params.yaml @@ -0,0 +1,36 @@ +move_base: + recovery_behavior_enabled: true + recovery_behaviors: + - name: "conservative_reset" + type: "clear_costmap_recovery/ClearCostmapRecovery" + - name: "rotate_recovery0" + type: "rotate_recovery/RotateRecovery" + - name: "speak_and_wait0" + type: "speak_and_wait_recovery/SpeakAndWaitRecovery" + - name: "aggressive_reset" + type: "clear_costmap_recovery/ClearCostmapRecovery" + - name: "rotate_recovery1" + type: "rotate_recovery/RotateRecovery" + - name: "speak_and_wait1" + type: "speak_and_wait_recovery/SpeakAndWaitRecovery" + - name: "all_reset" + type: "clear_costmap_recovery/ClearCostmapRecovery" + - name: "rotate_recovery2" + type: "rotate_recovery/RotateRecovery" + - name: "move_slow_and_clear" + type: "move_slow_and_clear/MoveSlowAndClear" + speak_and_wait0: + speak_text: "とおれません、みちをあけてください" + duration_wait: 5.0 + duration_timeout: 1.0 + sound_action: /robotsound_jp + speak_and_wait1: + speak_text: "とおれません、みちをあけてください" + duration_wait: 5.0 + duration_timeout: 1.0 + sound_action: /robotsound_jp + move_slow_and_clear: + planner_namespace: TrajectoryPlannerROS + max_trans_param_name: max_vel_x + max_rot_param_name: max_vel_theta + max_planning_retries: 2 diff --git a/jsk_fetch_robot/jsk_fetch_startup/launch/navigation/fetch15/fetch_move_base_common_params.yaml b/jsk_fetch_robot/jsk_fetch_startup/launch/navigation/fetch15/fetch_move_base_common_params.yaml index a0a284bfa1..9da82ce6e2 100644 --- a/jsk_fetch_robot/jsk_fetch_startup/launch/navigation/fetch15/fetch_move_base_common_params.yaml +++ b/jsk_fetch_robot/jsk_fetch_startup/launch/navigation/fetch15/fetch_move_base_common_params.yaml @@ -22,6 +22,9 @@ move_base: # base_local_planner: base_local_planner/TrajectoryPlannerROS GlobalPlanner: allow_unknown: true + neural_cost: 50 + lethal_cost: 253 + cost_factor: 0.8 default_tolerance: 0.0 orientation_mode: 1 visualize_potential: false @@ -86,7 +89,7 @@ move_base: weight_acc_lim_x: 1 weight_acc_lim_theta: 1 weight_kinematics_nh: 1000 - weight_kinematics_forward_drive: 1 + weight_kinematics_forward_drive: 1000 weight_kinematics_turning_radius: 100 weight_optimaltime: 1 weight_obstacle: 50 @@ -110,10 +113,14 @@ move_base: type: "clear_costmap_recovery/ClearCostmapRecovery" - name: "rotate_recovery0" type: "rotate_recovery/RotateRecovery" + - name: "speak_and_wait0" + type: "speak_and_wait_recovery/SpeakAndWaitRecovery" - name: "aggressive_reset" type: "clear_costmap_recovery/ClearCostmapRecovery" - name: "rotate_recovery1" type: "rotate_recovery/RotateRecovery" + - name: "speak_and_wait1" + type: "speak_and_wait_recovery/SpeakAndWaitRecovery" - name: "all_reset" type: "clear_costmap_recovery/ClearCostmapRecovery" - name: "rotate_recovery2" @@ -125,11 +132,21 @@ move_base: rotate_recovery0: frequency: 20.0 sim_granularity: 0.017 + speak_and_wait0: + speak_text: "とおれません、みちをあけてください" + duration_wait: 5.0 + duration_timeout: 1.0 + sound_action: /robotsound_jp aggressive_reset: reset_distance: 1.0 # 0.5 rotate_recovery1: frequency: 20.0 sim_granularity: 0.017 + speak_and_wait1: + speak_text: "とおれません、みちをあけてください" + duration_wait: 5.0 + duration_timeout: 1.0 + sound_action: /robotsound_jp all_reset: reset_distance: 0.0 rotate_recovery2: @@ -140,7 +157,7 @@ move_base: limited_trans_speed: 0.3 limited_rot_speed: 0.8 limited_distance: 0.3 - planner_namespace: TrajectoryPlannerROS + planner_namespace: TebLocalPlannerROS max_trans_param_name: max_vel_x max_rot_param_name: max_vel_theta max_planning_retries: 2 diff --git a/jsk_fetch_robot/jsk_fetch_startup/launch/rosbag_record.launch b/jsk_fetch_robot/jsk_fetch_startup/launch/rosbag_record.launch index 43b5a923ce..12dd846fd3 100644 --- a/jsk_fetch_robot/jsk_fetch_startup/launch/rosbag_record.launch +++ b/jsk_fetch_robot/jsk_fetch_startup/launch/rosbag_record.launch @@ -35,6 +35,9 @@ /head_camera/depth_registered/throttled/camera_info /head_camera/rgb/throttled/image_rect_color/compressed /head_camera/depth_registered/throttled/image_rect/compressedDepth + /server_name/smach/container_init + /server_name/smach/container_status + /server_name/smach/container_structure /audio $(arg other_topics) $(arg regex_flag) diff --git a/jsk_fetch_robot/jsk_fetch_startup/package.xml b/jsk_fetch_robot/jsk_fetch_startup/package.xml index 2a18a85344..dd7724f8f8 100644 --- a/jsk_fetch_robot/jsk_fetch_startup/package.xml +++ b/jsk_fetch_robot/jsk_fetch_startup/package.xml @@ -25,6 +25,7 @@ pr2_computer_monitor robot_pose_publisher rviz + switchbot_ros touchegg tf2_ros voice_text @@ -41,6 +42,7 @@ librealsense2 realsense2_camera realsense2_description + teb_local_planner app_manager diff --git a/jsk_fetch_robot/jsk_fetch_startup/scripts/correct_position.py b/jsk_fetch_robot/jsk_fetch_startup/scripts/correct_position.py index db9c04f6c7..006ee85c3c 100755 --- a/jsk_fetch_robot/jsk_fetch_startup/scripts/correct_position.py +++ b/jsk_fetch_robot/jsk_fetch_startup/scripts/correct_position.py @@ -21,7 +21,8 @@ def __init__(self): if robot_name == 'fetch15': dock_name = '/eng2/7f/room73B2-fetch-dock-front' elif robot_name == 'fetch1075': - dock_name = '/eng2/7f/room73B2-fetch-dock-entrance' + dock_name = '/eng2/7f/room73B2-fetch-dock2-front' + # dock_name = '/eng2/7f/room73B2-fetch-dock-entrance' for spot in spots.markers: if spot.text == dock_name: self.dock_pose = spot.pose diff --git a/jsk_robot_common/jsk_robot_startup/lifelog/tweet.launch b/jsk_robot_common/jsk_robot_startup/lifelog/tweet.launch index b22b0d066c..827bef6832 100644 --- a/jsk_robot_common/jsk_robot_startup/lifelog/tweet.launch +++ b/jsk_robot_common/jsk_robot_startup/lifelog/tweet.launch @@ -27,12 +27,21 @@ output="$(arg output)" respawn="true" > + + + account_info: $(arg account_info) + + + + +