jsk_apc is a stack of ROS packages for Amazon Picking Challenge mainly developed by JSK lab.
The documentation is available at here.
Competition | Documentation |
---|---|
APC2015 | See jsk_2015_05_baxter_apc. |
APC2016 | See jsk_2016_01_baxter_apc. |
ARC2017 | See jsk_arc2017_baxter. |
# 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}
}
- Install the ROS. Instructions for ROS indigo on Ubuntu 14.04.
- Setup your ROS environment.
- 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
Setup Arduino and DXHUB
-
To distinguish left DXHUB from right one, follow the instruction here.
-
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...
- Install ros-kinetic-ros-base and setup environment.
- 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
- Create udev rules:
# baxter-c2
$ rosrun jsk_arc2017_baxter create_udev_rules
# baxter-c3
$ rosrun jsk_arc2017_common create_udev_rules
- 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
- Setup time synchronization
sudo apt install ntp
# Set the same configuration as other PCs
sudo vi /etc/ntp.conf
From main PC...
ssh -oHostKeyAlgorithms='ssh-rsa' baxter@<UP Board Host Name>.jsk.imi.i.u-tokyo.ac.jp
- Add main PC's ssh public key to
~/.ssh/authorized_keys
on UP Board.