Skip to content

Commit 94b3135

Browse files
authored
Merge branch 'master' into forum_button
2 parents c69fb62 + 244be9d commit 94b3135

File tree

75 files changed

+7603
-320
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+7603
-320
lines changed

.github/workflows/config.yml

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
on:
2+
push:
3+
branches:
4+
- master
5+
pull_request:
6+
7+
env:
8+
DISPLAY: ':0.0'
9+
10+
jobs:
11+
ros:
12+
runs-on: ubuntu-latest
13+
continue-on-error: false
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
include:
18+
- ROS_DISTRO: indigo
19+
CONTAINER: jskrobotics/ros-ubuntu:14.04-pcl
20+
NOT_TEST_INSTALL: true
21+
- ROS_DISTRO: indigo
22+
CONTAINER: jskrobotics/ros-ubuntu:14.04-pcl
23+
BEFORE_SCRIPT: "ls -al; ls -al jsk_demos/; TEST_ROBOT=pr2 ./jsk_demos/.travis.before_script.sh"
24+
TEST_PKGS : "detect_cans_in_fridge_201202 elevator_move_base_pr2 interactive_behavior_201409 jsk_2011_07_pr2_semantic jsk_2013_04_pr2_610 jsk_demo_common jsk_maps"
25+
NOT_TEST_INSTALL: true
26+
- ROS_DISTRO: indigo
27+
CONTAINER: jskrobotics/ros-ubuntu:14.04-pcl
28+
BEFORE_SCRIPT: "TEST_ROBOT=fetch ./jsk_demos/.travis.before_script.sh"
29+
TEST_PKGS: "jsk_2017_10_semi jsk_maps"
30+
NOT_TEST_INSTALL: true
31+
- ROS_DISTRO: kinetic
32+
CONTAINER: jskrobotics/ros-ubuntu:16.04-pcl
33+
- ROS_DISTRO: melodic
34+
CONTAINER: jskrobotics/ros-ubuntu:18.04-pcl
35+
- ROS_DISTRO: melodic
36+
CONTAINER: jskrobotics/ros-ubuntu:18.04-pcl
37+
BEFORE_SCRIPT: "TEST_ROBOT=fetch ./jsk_demos/.travis.before_script.sh"
38+
- ROS_DISTRO: noetic
39+
CONTAINER: jskrobotics/ros-ubuntu:20.04-pcl
40+
continue-on-error: true
41+
42+
container: ${{ matrix.CONTAINER }}
43+
steps:
44+
- name: Install latest git ( use sudo for ros-ubuntu )
45+
run: |
46+
[ -e /etc/apt/sources.list.d/ubuntu-esm-infra-$(lsb_release -cs).list ] && sudo rm /etc/apt/sources.list.d/ubuntu-esm-infra-$(lsb_release -cs).list ## fix Err https://esm.ubuntu.com trusty-infra-security/main amd64 Packages, gnutls_handshake() failed: Handshake failed
47+
(apt-get update && apt-get install -y sudo) || echo "OK"
48+
sudo apt-get update
49+
sudo apt-get install -y software-properties-common
50+
sudo apt-get update
51+
sudo -E add-apt-repository -y ppa:git-core/ppa
52+
sudo apt-get update
53+
sudo apt-get install -y git
54+
55+
- name: work around permission issue # https://github.com/actions/checkout/issues/760#issuecomment-1097501613
56+
run: |
57+
set -x
58+
export USER=$(whoami)
59+
sudo chown -R $USER $GITHUB_WORKSPACE
60+
git config --global --add safe.directory $GITHUB_WORKSPACE || echo "OK" # Show 'could not lock config file /github/home/.gitconfig: Permission denied', but it is ok
61+
sudo mkdir -p /__w/
62+
sudo chmod 777 -R /__w/
63+
sudo chown -R $USER $HOME
64+
# sudo mkdir -p /home/runner/work/_temp/_github_workflow/
65+
# sudo chown -R $USER $HOME /home/runner/work/_temp/_github_workflow/
66+
# ls -al /home/runner/work/_temp/_github_workflow/
67+
68+
- name: Chcekout
69+
uses: actions/checkout@v2
70+
71+
- name: Start X server
72+
run: |
73+
echo 'debconf debconf/frontend select Noninteractive' | sudo debconf-set-selections || echo "failing on ros-ubuntu is OK" # set non interactive tzdata https://stackoverflow.com/questions/8671308/non-interactive-method-for-dpkg-reconfigure-tzdata
74+
sudo apt-get -y -qq install mesa-utils x11-xserver-utils xserver-xorg-video-dummy wget
75+
export DISPLAY=:0
76+
wget https://raw.githubusercontent.com/jsk-ros-pkg/jsk_travis/master/dummy.xorg.conf -O /tmp/dummy.xorg.conf
77+
sudo Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile /tmp/xorg.log -config /tmp/dummy.xorg.conf $DISPLAY &
78+
sleep 3 # wait x server up
79+
export QT_X11_NO_MITSHM=1 # http://wiki.ros.org/docker/Tutorials/GUI
80+
xhost +local:root
81+
82+
- name: Run jsk_travis
83+
uses: jsk-ros-pkg/jsk_travis@master
84+
with:
85+
ROS_PARALLEL_JOBS : "-j8"
86+
CATKIN_PARALLEL_JOBS : "-p8"
87+
ROS_PARALLEL_TEST_JOBS : "-j8"
88+
CATKIN_PARALLEL_TEST_JOBS : "-p8"
89+
BEFORE_SCRIPT : "mkdir -p ros-${{ matrix.ROS_DISTRO }}-julius/DEBIAN; /bin/echo -e 'Package: ros-${{ matrix.ROS_DISTRO }}-julius\nVersion: 100.0.0\nArchitecture: all\nMaintainer: [email protected]\nDescription: To speedup install process\n' > ros-${{ matrix.ROS_DISTRO }}-julius/DEBIAN/control; dpkg-deb --build ros-${{ matrix.ROS_DISTRO }}-julius; sudo dpkg -i ./ros-${{ matrix.ROS_DISTRO }}-julius.deb; ${{ matrix.BEFORE_SCRIPT }}"
90+
ROS_DISTRO : ${{ matrix.ROS_DISTRO }}
91+
USE_DEB : ${{ matrix.USE_DEB }}
92+
NOT_TEST_INSTALL : ${{ matrix.NOT_TEST_INSTALL }}
93+
TEST_PKGS : ${{ matrix.TEST_PKGS }}
94+
EXTRA_DEB : ${{ matrix.EXTRA_DEB }}

.travis.before_script.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ install_robot_rosinstall() {
44
if [ "$TEST_ROBOT" = "pr2" ]; then
55
ROSINSTALL_URL="https://raw.githubusercontent.com/jsk-ros-pkg/jsk_robot/master/jsk_pr2_robot/jsk_pr2_startup/jsk_pr2.rosinstall"
66
elif [ "$TEST_ROBOT" = "fetch" ]; then
7-
ROSINSTALL_URL="https://raw.githubusercontent.com/jsk-ros-pkg/jsk_robot/master/jsk_fetch_robot/jsk_fetch.rosinstall"
7+
ROSINSTALL_URL="https://raw.githubusercontent.com/jsk-ros-pkg/jsk_robot/master/jsk_fetch_robot/jsk_fetch.rosinstall.$ROS_DISTRO"
88
fi
99

1010
if [ "$ROSINSTALL_URL" != "" ]; then

detect_cans_in_fridge_201202/CMakeLists.txt

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required(VERSION 2.8.3)
22
project(detect_cans_in_fridge_201202)
33

4-
find_package(catkin REQUIRED roseus)
4+
find_package(catkin REQUIRED)
55

66
catkin_package(
77
DEPENDS
@@ -18,6 +18,3 @@ install(DIRECTORY data scripts config euslisp
1818
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
1919
USE_SOURCE_PERMISSIONS)
2020

21-
install(FILES detect_cans_in_fridge.rviz object_models1.yaml object_models_new.yaml self_filter.yaml
22-
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
23-
)

detect_cans_in_fridge_201202/README.md

+1-5
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,11 @@ If you want to execute on real robot, see On real robot.
3030

3131
#### Installation
3232

33-
**NOTE** `indigo` distribution is assumed. Please replace it if you want to use on other distribution.
34-
3533
**NOTE** Assumed that catkin workspace has been installed on your environment. If you don't yet have catkin workspace, please follow [the instruction](http://wiki.ros.org/catkin/Tutorials/create_a_workspace).
3634

3735
**NOTE** In simulation mode, the fridge front spot is referenced from `models/room73b2-scene.l` in [euslisp](http://github.com/euslisp/EusLisp) package. So, Please make sure to build [euslisp](http://github.com/euslisp/EusLisp) package.
3836

3937
```bash
40-
source /opt/ros/indigo/setup.bash
4138
cd /path/to/your_catkin_ws
4239
mkdir src
4340
wstool init src
@@ -62,7 +59,6 @@ roscore
6259
```bash
6360
# Terminal 2
6461
roseus
65-
(setq *logging* nil)
6662
(load "package://detect_cans_in_fridge_201202/euslisp/main.l")
6763
(demo)
6864
```
@@ -100,4 +96,4 @@ roslaunch detect_cans_in_fridge_201202 startup.launch
10096

10197
```
10298

103-
Then you can start fridge demo from tablet.
99+
Then you can start fridge demo from tablet.

detect_cans_in_fridge_201202/apps/pick_object/pick_object.app

+116
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,119 @@ icon: detect_cans_in_fridge_201202/pick_object.png
44
interface: detect_cans_in_fridge_201202/pick_object.interface
55
launch: detect_cans_in_fridge_201202/pick_object.xml
66
platform: pr2
7+
plugins:
8+
- name: kinect_head_video_recorder_plugin
9+
type: app_recorder/audio_video_recorder_plugin
10+
launch_args:
11+
video_path: /tmp
12+
video_title: pick_object_kinect_head.avi
13+
audio_topic_name: /audio
14+
audio_channels: 1
15+
audio_sample_rate: 16000
16+
audio_format: wave
17+
audio_sample_format: S16LE
18+
# use raw topic to suppress data transmission between c1 and c2
19+
# video_topic_name: /kinect_head/rgb/image_rect_color
20+
video_topic_name: /kinect_head/rgb/image_rect_color
21+
use_compressed: true
22+
video_decompressed_topic_name: /kinect_head/pick_object/rgb/image_rect_color
23+
video_height: 480
24+
video_width: 640
25+
video_framerate: 30
26+
video_encoding: BGR
27+
- name: human_pose_estimator_video_recorder_plugin
28+
type: app_recorder/audio_video_recorder_plugin
29+
launch_args:
30+
video_path: /tmp
31+
video_title: pick_object_kinect_head_human_pose_estimator.avi
32+
audio_topic_name: /audio
33+
audio_channels: 1
34+
audio_sample_rate: 16000
35+
audio_format: wave
36+
audio_sample_format: S16LE
37+
video_topic_name: /edgetpu_human_pose_estimator/output/image
38+
use_compressed: true
39+
video_decompressed_topic_name: /edgetpu_human_pose_estimator/pick_object/output/image
40+
video_height: 480
41+
video_width: 640
42+
video_framerate: 10
43+
video_encoding: BGR
44+
- name: rosbag_recorder_plugin
45+
type: app_recorder/rosbag_recorder_plugin
46+
launch_args:
47+
rosbag_path: /tmp
48+
rosbag_title: pick_object_rosbag.bag
49+
compress: true
50+
rosbag_topic_names:
51+
- /rosout
52+
- /tf
53+
- /tf_static
54+
- /joint_states
55+
- /map
56+
- /base_odometry/odom
57+
- /robot_pose_ekf/odom_combined
58+
- /base_controller/command
59+
- /navigation/cmd_vel
60+
- /move_base_node/NavFnROS/plan
61+
- /move_base_node/DWAPlannerROS/global_plan
62+
- /move_base_node/DWAPlannerROS/local_plan
63+
- /move_base_node/local_costmap/costmap
64+
- /move_base_node/global_costmap/costmap
65+
- /move_base_node/global_costmap/footprint
66+
- /safe_teleop_base/local_costmap/costmap
67+
- /spots_marker_array
68+
- /particlecloud
69+
- /base_scan_throttled
70+
- /tilt_scan_throttled
71+
- /kinect_head/rgb/throttled/camera_info
72+
- /kinect_head/depth_registered/throttled/camera_info
73+
- /kinect_head/rgb/throttled/image_rect_color/compressed
74+
- /kinect_head/depth_registered/throttled/image_rect/compressedDepth
75+
- /audio
76+
- name: result_recorder_plugin
77+
type: app_recorder/result_recorder_plugin
78+
plugin_args:
79+
result_path: /tmp
80+
result_title: pick_object_result.yaml
81+
- name: gdrive_uploader_plugin
82+
type: app_uploader/gdrive_uploader_plugin
83+
plugin_args:
84+
upload_file_paths:
85+
- /tmp/pick_object_kinect_head.avi
86+
- /tmp/pick_object_kinect_head_human_pose_estimator.avi
87+
- /tmp/pick_object_rosbag.bag
88+
- /tmp/pick_object_result.yaml
89+
upload_file_titles:
90+
- pick_object_kinect_head.avi
91+
- pick_object_kinect_head_human_pose_estimator.avi
92+
- pick_object_rosbag.bag
93+
- pick_object_result.yaml
94+
upload_parents_path: pr2_fridge_pick_object
95+
upload_server_name: /gdrive_server
96+
- name: speech_notifier_plugin
97+
type: app_notifier/speech_notifier_plugin
98+
plugin_args:
99+
client_name: /robotsound
100+
- name: mail_notifier_plugin
101+
type: app_notifier/mail_notifier_plugin
102+
plugin_args:
103+
mail_title: PR2 fridge pick object demo
104+
use_timestamp_title: true
105+
plugin_arg_yaml: /var/lib/robot/pr2_mail_notifier_plugin.yaml
106+
plugin_order:
107+
start_plugin_order:
108+
- kinect_head_video_recorder_plugin
109+
- human_pose_estimator_video_recorder_plugin
110+
- rosbag_recorder_plugin
111+
- result_recorder_plugin
112+
- gdrive_uploader_plugin
113+
- speech_notifier_plugin
114+
- mail_notifier_plugin
115+
stop_plugin_order:
116+
- kinect_head_video_recorder_plugin
117+
- human_pose_estimator_video_recorder_plugin
118+
- rosbag_recorder_plugin
119+
- result_recorder_plugin
120+
- gdrive_uploader_plugin
121+
- speech_notifier_plugin
122+
- mail_notifier_plugin

detect_cans_in_fridge_201202/apps/pick_object/pick_object.l

+5-2
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@
77

88
(defun main ()
99
(let ((object (string-downcase (get-arg :object))))
10+
;; set default object: georgia
11+
(if (null object) (setq object "georgia"))
1012
(cond
1113
((find object (list "wonda" "georgia" "boss" "iemon") :test #'string=)
1214
(send *ri* :clear-costmap)
13-
(demo :type object))
14-
(t (speak-jp "ごめんなさい。いまちょっと手が離せないです。")))
15+
(demo :type object :use-base nil))
16+
(t (speak-jp "ごめんなさい。いまちょっと手が離せないです。")
17+
nil))
1518
))
1619

1720
(run-exit (main))

detect_cans_in_fridge_201202/apps/pr2_fridge_demo/pr2_fridge_demo.app

+84
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,87 @@ platform: pr2
44
launch: detect_cans_in_fridge_201202/pr2_fridge_demo.launch
55
interface: detect_cans_in_fridge_201202/pr2_fridge_demo.interface
66
icon: detect_cans_in_fridge_201202/pr2_fridge_demo.png
7+
plugins:
8+
- name: kinect_head_video_recorder_plugin
9+
type: app_recorder/video_recorder_plugin
10+
launch_args:
11+
video_path: /tmp
12+
video_title: pr2_fridge_demo_kinect_head.avi
13+
video_topic_name: /kinect_head/rgb/throttled/image_rect_color
14+
video_fps: 5.0
15+
- name: human_pose_estimator_video_recorder_plugin
16+
type: app_recorder/video_recorder_plugin
17+
launch_args:
18+
video_path: /tmp
19+
video_title: pr2_fridge_demo_kinect_head_human_pose_estimator.avi
20+
video_topic_name: /edgetpu_human_pose_estimator/output/image
21+
video_fps: 10.0
22+
- name: rosbag_recorder_plugin
23+
type: app_recorder/rosbag_recorder_plugin
24+
launch_args:
25+
rosbag_path: /tmp
26+
rosbag_title: pr2_fridge_demo_rosbag.bag
27+
compress: true
28+
rosbag_topic_names:
29+
- /rosout
30+
- /tf
31+
- /tf_static
32+
- /joint_states
33+
- /map
34+
- /base_odometry/odom
35+
- /robot_pose_ekf/odom_combined
36+
- /base_controller/command
37+
- /navigation/cmd_vel
38+
- /move_base_node/NavFnROS/plan
39+
- /move_base_node/DWAPlannerROS/global_plan
40+
- /move_base_node/DWAPlannerROS/local_plan
41+
- /move_base_node/local_costmap/costmap
42+
- /move_base_node/global_costmap/costmap
43+
- /move_base_node/global_costmap/footprint
44+
- /safe_teleop_base/local_costmap/costmap
45+
- /spots_marker_array
46+
- /particlecloud
47+
- /base_scan_throttled
48+
- /tilt_scan_throttled
49+
- /kinect_head/rgb/throttled/camera_info
50+
- /kinect_head/depth_registered/throttled/camera_info
51+
- /kinect_head/rgb/throttled/image_rect_color/compressed
52+
- /kinect_head/depth_registered/throttled/image_rect/compressedDepth
53+
- name: gdrive_uploader_plugin
54+
type: app_uploader/gdrive_uploader_plugin
55+
plugin_args:
56+
upload_file_paths:
57+
- /tmp/pr2_fridge_demo_kinect_head.avi
58+
- /tmp/pr2_fridge_demo_kinect_head_human_pose_estimator.avi
59+
- /tmp/pr2_fridge_demo_rosbag.bag
60+
upload_file_titles:
61+
- pr2_fridge_demo_kinect_head.avi
62+
- pr2_fridge_demo_kinect_head_human_pose_estimator.avi
63+
- pr2_fridge_demo_rosbag.bag
64+
upload_parents_path: pr2_fridge_demo
65+
upload_server_name: /gdrive_server
66+
- name: speech_notifier_plugin
67+
type: app_notifier/speech_notifier_plugin
68+
plugin_args:
69+
client_name: /robotsound
70+
- name: mail_notifier_plugin
71+
type: app_notifier/mail_notifier_plugin
72+
plugin_args:
73+
mail_title: PR2 fridge demo
74+
use_timestamp_title: true
75+
plugin_arg_yaml: /var/lib/robot/pr2_mail_notifier_plugin.yaml
76+
plugin_order:
77+
start_plugin_order:
78+
- kinect_head_video_recorder_plugin
79+
- human_pose_estimator_video_recorder_plugin
80+
- rosbag_recorder_plugin
81+
- gdrive_uploader_plugin
82+
- speech_notifier_plugin
83+
- mail_notifier_plugin
84+
stop_plugin_order:
85+
- kinect_head_video_recorder_plugin
86+
- human_pose_estimator_video_recorder_plugin
87+
- rosbag_recorder_plugin
88+
- gdrive_uploader_plugin
89+
- speech_notifier_plugin
90+
- mail_notifier_plugin
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/usr/bin/env roseus
22

3+
(require :app-utils "package://jsk_demo_common/euslisp/app-utils.l")
4+
35
(load "package://detect_cans_in_fridge_201202/euslisp/main.l")
46

5-
(init)
67
(send *ri* :clear-costmap)
7-
(demo)
8-
(exit)
8+
(run-exit (demo :type "georgia"))

0 commit comments

Comments
 (0)