The robot assisted manufacturing project currently focused on implant fabrication built in ROS2 foxy.
Current packages:
This launches RVIZ, move_group node, sim iiwa controller, sim gripper controller, toolpath handler and stock handler. Now includes some arguments that can be set (just for the ros control side at the moment)
Defaults to real robot now
ros2 launch ram_motion_planning ram_control.launch.py
Add robot_port:=30200 robot_ip:=192.170.10.2
to set the robot ip and port (make sure you also set that on the robot
controller)
Use Sim robot
ros2 launch ram_motion_planning ram_control.launch.py real_manipulator:=false
This launches the moveit movegroup interface for fully constrained toolpaths (6DoF) quite simple at the moment or the ompl constrained (also very simple)
ros2 launch ram_motion_planning toolpath_planner.launch.py
ros2 launch ram_motion_planning ompl_toolpath_planner.launch.py
When both launch files are running (wait for rviz to load), the rqt gui or these service calls can be used to:
toolpath execute will send the toolpath trajectory to the robot controller
ros2 service call /toolpath_planner/toolpath_setup std_srvs/srv/Trigger {}
ros2 service call /toolpath_planner/toolpath_execute std_srvs/srv/Trigger {}
You can use the full commands below but also use the helper scripts in the .docker folder.
Currently implemented helpers (As always look through the scripts first before running them)
All should be run from the root directory of the repo.
.docker/build_image.sh
-- Build the image tagged as gdwyer/ram:
.docker/run_user.sh
-- Runs the container as the user with x server etc (same as the command in the Run section below)
.docker/run_user_nvidia.sh
-- Same as above but with access to a nvidia GPU added (Needs nvidia docker2 to be installed)
.docker/run_control.sh
-- Runs the container as root with the kuka driver added to the repo but not built, container will delete itself after exit.
docker build --pull --rm -f ./.docker/Dockerfile -t gdwyer/ram:<branch>-<platform> .
docker run -it \
--user=$(id -u $USER):$(id -g $USER) \
--group-add sudo \
--env="DISPLAY" \
--env=QT_X11_NO_MITSHM=1 \
--workdir="/dev_ws" \
--volume="/home/$USER:/home/$USER" \
--volume="/etc/group:/etc/group:ro" \
--volume="/etc/passwd:/etc/passwd:ro" \
--volume="/etc/shadow:/etc/shadow:ro" \
--volume="/etc/sudoers.d:/etc/sudoers.d:ro" \
--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
--net=host \
gdwyer/ram:<branch>
If on a computer with nvidia-docker2 installed add --gpus 'all,"capabilities=compute,display,graphics,utility"'
before the image.
Full docker info here
WARNING this currently only works if you run as a user and have ssh keys setup for the Kuka_iiwa_ROS2_drive repo
/dev_ws/src/ram/.docker/add_kuka_driver.sh