This repo implements LEGO assembly and disassembly from human demonstration.
Copyright notice for IP Docket # 2023-234 and IP Docket # 2023-235. This repo contains files for LEGO assembly and disassembly from human demonstration. Copyright (C) 2023
Authors: Ruixuan Liu: [email protected] Changliu Liu : [email protected]
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
Linux (All the modules were tested on Linux Ubuntu 18.04 and 20.04.)
ROS
Eigen 3.3.7
OpenCV
- Clone the repo to
/path/to/catkin_ws/src/
cd /path/to/catkin_ws/
catkin_make
Download demonstration video to /path/to/repo/human_demonstration/
. An example video is available at this link.
cd /path/to/repo/
python3 human_demonstration/learn_from_human_demonstration.py
The task graph will be stored at /path/to/repo/config/assembly_tasks/
.
This repo implements robotic LEGO assembly with a FANUC LR-mate 200id/7L robot. The robot controller is implemented using Stream Motion.
- Connect to the robot via an Ethernet cable.
- Set PC IP address to
192.168.1.xxx
, except192.168.1.100
(robot IP). A valid IP address could be192.168.1.101
. - Connect to the designated Ethernet.
- Modify
./config/user_config.json
as needed. SetUse_Robot
to1
. - Open a terminal and
cd /path/to/catkin_ws/
. source devel/setup.bash
roslaunch lego_assembly controller_node.launch
- Open a terminal and
cd /path/to/catkin_ws/
. source devel/setup.bash
roslaunch lego_assembly task_planning_cartesian_node.launch
roslaunch lego_assembly fanuc_rviz.launch
- Modify
./config/user_config.json
as needed. SetUse_Robot
to0
. - Open a terminal and
cd /path/to/catkin_ws/
. source devel/setup.bash
roslaunch lego_assembly fanuc_gazebo.launch
- Open a terminal and
cd /path/to/catkin_ws/
. source devel/setup.bash
roslaunch lego_assembly controller_node.launch
- Open a terminal and
cd /path/to/catkin_ws/
. source devel/setup.bash
roslaunch lego_assembly task_planning_cartesian_node.launch