From 3e03c878981fcc5db7a316c7f470b91aae784621 Mon Sep 17 00:00:00 2001 From: magiclight731 <71355368+magiclight731@users.noreply.github.com> Date: Wed, 10 Aug 2022 15:25:53 -0400 Subject: [PATCH 1/4] Update README.md Extended the robot-turn-on steps information --- README.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1e0997f..65a750e 100644 --- a/README.md +++ b/README.md @@ -11,19 +11,23 @@ Then run the following commands in each terminal by the same order: ``` roslaunch pick_and_place ur3e.launch ``` -After this command, you need to start the `gentle_pick` program on the robot teaching pendant. +2. After this command, you need to start the `gentle_pick` program on the robot teaching pendant. + - Start the robot teaching pendant by pressing the power button. + - Once the pendant is on, tap on "load program" in the middle left, and select `gentle_pick.urp` from the new window. + - In the bottom left corner, click the red "power off button" to open the initialization screen. Click "on" to go to idle mode, and again to go to operatopnal mode. + - Exit the initialization screen and press the play button in the lower right. -2. Start the camera node +3. Start the camera node ``` roslaunch pick_and_place kinect.launch ``` -3. Start the object clustering server +4. Start the object clustering server ``` rosrun pick_and_place object_clustering_server ``` -4. Start the pick and place demo +5. Start the pick and place demo ``` rosrun pick_and_place pick_and_place.py ``` -If there is no item left on the talbe, the 4th program will automatically stop. -You need to manually add items back to the table and rerun the 4th command in the same window. +If there is no item left on the talbe, the python program will automatically stop. +You need to manually add items back to the table and rerun the last command in the same window. From 187f48f8950cdef419859eec12cdcd228da05fa3 Mon Sep 17 00:00:00 2001 From: magiclight731 <71355368+magiclight731@users.noreply.github.com> Date: Fri, 12 Aug 2022 16:29:19 -0400 Subject: [PATCH 2/4] Update README.md --- README.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/README.md b/README.md index 1e0997f..4b7d147 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,42 @@ # Gentle_Pick_and_Place Pick and place demo for gentle gripper. +## Physical setup +The robot currently hard-defines the bins as ~15 inches to the left and right of the left side of the robot's base. (That is, when facing away from the robot, there's a bin to the left of the base 15 inches away from the left side of the base, and there's a bin to the right of the base 15 inches away from the left side of the base.) The bins have a 14-inch long side and a 9-inch short side. + +The bin on the left side of the robot is considered the 'bottles' bin, and must be placed with the *long* side facing the robot. The bin on the right, meanwhile, is considered the 'cans' bin, and should be placed with the *short* side facing the robot. + +Bottles or cans should be placed within approximately a 2-foot-by-2-foot square directly in front of the robot. + +diagram: +``` +--------------------------------------------------------------------------------- +| [--------------] [XXXX] [-------] | +| [ ] [XXXX] [ ] | +| [ C ] [XXXX] [ ] | +| [ ] ^ [ B ] | +| [______________] < --- ~15 inches --- > | < --- ~15 inches --- > [ ] | +| | [ ] | +| | [_______] | +| | +| < --- objs within ~2 feet from from base ---> | +| | +| ccc | bbbbbb | +| ccc | bbbbbb | +| ccc | | +| v | +| | +| | +| | +--------------------------------------------------------------------------------- + +c: can +C: can bin +b: bottle +B: bottle bin +X: robot base +``` + ## Running instructions Open four terminals and run the source command in each terminal: ``` From 2c409832a5b96502749826b7f733a24cd8b23a00 Mon Sep 17 00:00:00 2001 From: magiclight731 <71355368+magiclight731@users.noreply.github.com> Date: Mon, 29 Aug 2022 00:05:47 -0400 Subject: [PATCH 3/4] Create Apriltags_Notes.md --- Apriltags_Notes.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Apriltags_Notes.md diff --git a/Apriltags_Notes.md b/Apriltags_Notes.md new file mode 100644 index 0000000..df7330a --- /dev/null +++ b/Apriltags_Notes.md @@ -0,0 +1,9 @@ +* installed the [Apriltags ROS package](http://wiki.ros.org/apriltag_ros) + * Takes in a camera feed + * Returns a TF location for an Apriltag + * (need to research TF more to understand how to parse this/transform into IK) + * The Apriltag must be listed in the `config/tags.yaml` + * must list 'size' of the tag in real life, ID of tag + * Currently loaded on machine is only the 36h11 family tag, ID 1 +* Run the video Apriltag detection with `roslaunch apriltags2_ros continuous_detection.launch` + * the camera & robot should be running first so the topics exist From 35dd2d9b31c21d991a196dcc5042863d6143734e Mon Sep 17 00:00:00 2001 From: magiclight731 <71355368+magiclight731@users.noreply.github.com> Date: Mon, 29 Aug 2022 14:07:53 -0400 Subject: [PATCH 4/4] Update Apriltags_Notes.md --- Apriltags_Notes.md | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/Apriltags_Notes.md b/Apriltags_Notes.md index df7330a..4b07f3f 100644 --- a/Apriltags_Notes.md +++ b/Apriltags_Notes.md @@ -1,9 +1,44 @@ * installed the [Apriltags ROS package](http://wiki.ros.org/apriltag_ros) * Takes in a camera feed - * Returns a TF location for an Apriltag + * Publishes a TF location for an Apriltag, so can be shown on RViz * (need to research TF more to understand how to parse this/transform into IK) * The Apriltag must be listed in the `config/tags.yaml` * must list 'size' of the tag in real life, ID of tag * Currently loaded on machine is only the 36h11 family tag, ID 1 * Run the video Apriltag detection with `roslaunch apriltags2_ros continuous_detection.launch` * the camera & robot should be running first so the topics exist + + +Apriltag also publishes to `/tag_detections` which seems to contain a pose as an XYZ point/XYZW orientation. Possibly easer to use. Messages look like: +``` +header: + seq: 2448 + stamp: + secs: 1661795935 + nsecs: 923418178 + frame_id: "rgb_camera_link" +detections: + - + id: [1] + size: [0.1125] + pose: + header: + seq: 8106 + stamp: + secs: 1661795935 + nsecs: 923418178 + frame_id: "rgb_camera_link" + pose: + pose: + position: + x: -0.4604387282265957 + y: -0.34909099407950955 + z: 1.0812755767473274 + orientation: + x: -0.6874761962378958 + y: 0.7260056597955421 + z: 0.008088762109603964 + w: 0.015060991954323812 + covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +``` +Pose values seem to be constant to two decimal points.