Skip to content

start-jsk/jsk_apc

Folders and files

NameName
Last commit message
Last commit date
Aug 18, 2023
Jan 15, 2024
Aug 18, 2023
Dec 29, 2023
Aug 16, 2023
Aug 29, 2023
Aug 18, 2023
Aug 18, 2023
Jul 14, 2021
Aug 18, 2023
Aug 18, 2023
Aug 18, 2023
Aug 18, 2023
May 19, 2017
May 1, 2017
Jun 28, 2021
Apr 7, 2022
Jun 25, 2019
Jun 10, 2022
Jun 10, 2022
Jan 11, 2024
Aug 22, 2023
Jun 28, 2021
Jul 14, 2021
Apr 1, 2020
Apr 1, 2020
Jun 30, 2021
Jan 12, 2024
Apr 4, 2017
Apr 19, 2020
Apr 19, 2020
Apr 19, 2020
Apr 1, 2020
Apr 17, 2019

Repository files navigation

jsk_apc

GitHub version Gitter Slack Documentation Status Docker Cloud Build Status Forum (baxter, apc)

jsk_apc is a stack of ROS packages for Amazon Picking Challenge mainly developed by JSK lab.
The documentation is available at here.

Usage

APC/ARC Competitions

Competition Documentation
APC2015 See jsk_2015_05_baxter_apc.
APC2016 See jsk_2016_01_baxter_apc.
ARC2017 See jsk_arc2017_baxter.

Research papers

Paper Documentation Paper DOI URL
K. Wada et al, ICRA, 2019 See demos/instance_occlsegm. 10.1109/ICRA.2019.8793783
K. Wada et al, IROS, 2018 See demos/instance_occlsegm. 10.1109/IROS.2018.8593690
K. Wada et al, AR, 2017 See jsk_2015_05_baxter_apc. 10.1080/01691864.2016.1269672
S .Hasegawa et al, RA-L, 2020 See demos/baxter_paper_filing. 10.1109/LRA.2020.3010440
S .Hasegawa et al, ICRA, 2019 See demos/grasp_fusion. 10.1109/ICRA.2019.8793710
S. Hasegawa et al, JRM, 2019 See demos/baxtergv6_apc2016. 10.20965/jrm.2019.p0289
S. Hasegawa et al, IROS, 2018 See demos/grasp_prediction_arc2017. 10.1109/IROS.2018.8593398
S. Hasegawa et al, IROS, 2017 See jsk_2016_01_baxter_apc. 10.1109/IROS.2017.8202288
S. Kitagawa et al, AR, 2020 See demos/selective_dualarm_grasping. 10.1080/01691864.2020.1783352
S. Kitagawa et al, IROS, 2018 See demos/selective_dualarm_grasping. 10.1109/IROS.2018.8593752
S. Kitagawa et al, IAS, 2018 See demos/selecive_dualarm_stowing. 10.1007/978-3-030-01370-7_34

Installation

Required

  1. Install the ROS. Instructions for ROS indigo on Ubuntu 14.04.
  2. Setup your ROS environment.
  3. Build catkin workspace for jsk_apc:
$ mkdir -p ~/ros/ws_jsk_apc/src && cd ~/ros/ws_jsk_apc/src
$ wstool init . https://raw.githubusercontent.com/start-jsk/jsk_apc/master/fc.rosinstall.${ROS_DISTRO}
$ cd ..
$ rosdep install -y -r --from-paths .
$ sudo apt-get install python-catkin-tools ros-indigo-jsk-tools
$ catkin build
$ source devel/setup.bash

Edit /etc/hosts:

133.11.216.224 baxter 011310P0014.local

Add below in your ~/.bashrc:

$ rossetmaster baxter
$ rossetip

$ # we recommend below setup (see http://jsk-docs.readthedocs.org/en/latest/jsk_common/doc/jsk_tools/cltools/setup_env_for_ros.html)
$ echo """
rossetip
rosdefault
""" >> ~/.bashrc
$ rossetdefault baxter  # set ROS_MASTER_URI as http://baxter:11311

Optional

Setup Arduino and DXHUB

  1. To distinguish left DXHUB from right one, follow the instruction here.

  2. Create udev rules:

$ rosrun jsk_arc2017_baxter create_udev_rules

so that Arduinos can appear on /dev/arduino* and DXHUBs can appear on /dev/l_dxhub and /dev/r_dxhub

Setup scales

Create udev rules:

$ rosrun jsk_arc2017_common create_udev_rules

so that scales can appear on /dev/scale*

Setup SSH

Write below in ~/.ssh/config:

Host baxter
  HostName baxter.jsk.imi.i.u-tokyo.ac.jp
  User ruser  # password: rethink

Setup UP Board

Inside UP Board...

  1. Install ros-kinetic-ros-base and setup environment.
  2. Build catkin workspace for jsk_apc:
$ source /opt/ros/kinetic/setup.bash
$ mkdir -p ~/ros/kinetic/src && cd ~/ros/kinetic/src
$ wstool init . https://raw.githubusercontent.com/start-jsk/jsk_apc/master/upboard.rosinstall
$ wstool merge -t . https://raw.githubusercontent.com/start-jsk/jsk_apc/master/upboard.rosinstall.kinetic
$ wstool update
$ sudo apt install python-pip
$ rosdep install -y -r --from-paths . --ignore-src
$ sudo apt install python-catkin-tools
$ cd .. && catkin build
$ echo 'source $HOME/ros/kinetic/devel/setup.bash' >> ~/.bashrc
$ echo "rossetip" >> ~/.bashrc
$ echo "rossetmaster baxter" >> ~/.bashrc
$ source ~/.bashrc
  1. Create udev rules:
# baxter-c2
$ rosrun jsk_arc2017_baxter create_udev_rules
# baxter-c3
$ rosrun jsk_arc2017_common create_udev_rules
  1. Create ~/env-loader.sh:
#!/bin/bash

. $HOME/ros/kinetic/devel/setup.bash
export ROSCONSOLE_FORMAT='[${severity}] [${time}]: [${node}] [${function}] ${message}'
rossetip
rossetmaster baxter
exec "$@"

and chmod +x ~/env-loader.sh

  1. Setup time synchronization
sudo apt install ntp
# Set the same configuration as other PCs
sudo vi /etc/ntp.conf

From main PC...

  1. ssh -oHostKeyAlgorithms='ssh-rsa' baxter@<UP Board Host Name>.jsk.imi.i.u-tokyo.ac.jp
  2. Add main PC's ssh public key to ~/.ssh/authorized_keys on UP Board.

Citations

APC2015

@article{wada2017pick,
  title={Pick-and-verify: verification-based highly reliable picking system for various target objects in clutter},
  author={Wada, Kentaro and Sugiura, Makoto and Yanokura, Iori and Inagaki, Yuto and Okada, Kei and Inaba, Masayuki},
  journal={Advanced Robotics},
  volume={31},
  number={6},
  pages={311--321},
  year={2017},
  publisher={Taylor \& Francis}
}