Skip to content

maeshu/jsk_apc

 
 

Repository files navigation

jsk_apc

GitHub version Gitter Slack Documentation Status Docker 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

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

Citations

# Our system at 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}
}

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.jsk.imi.i.u-tokyo.ac.jp
$ 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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Common Lisp 55.2%
  • Python 32.3%
  • C++ 8.1%
  • CMake 3.4%
  • HTML 0.5%
  • Shell 0.4%
  • Dockerfile 0.1%