Author: David Nie
Supervisor: Dr. Leo Wu
Robot: UR10e
End-effector setup: OnRobot RG2 V2 + Quick Changer (QC)
Depth Camera: OnRobot Eye System (Intel Realsense 415 Depth Camera)
Dev Env: Ubuntu 22.04
Dev tools: MoveIt!
, ROS2 Humble
, YOLOv11
, hand-eye calibration
- Vision-based fruit havesting
- Improve fruit harvesting cycle time by trying out different planners
- RRT*
- CForest which supports multi-threading
- Design custom gripper to improve gripping efficiency/accuracy
- Camera
- custom_interface
- contains ROS2
.srv
and.msg
- contains ROS2
- demo_package
- end_effector_description
- gripper
- moveit_path_planner
- define services that move the arm
- ur10e_moveit_config
- created using
moveit_setup_assistant
- uses RRTConnect planner
- created using
- ur10e_moveit_config_official
- cloned from
UR_ROS2_DRIVER
package developed by Universal Robotics - uses TRRT planner by default
- the planner can be changed via
ompl_planning.yaml
file
- the planner can be changed via
- cloned from
Planner: RRTConnect from ompl
Cycle Time: 17-20s
Video Link: https://youtu.be/pAT8Y0UHFJc
Planner: TRRT from ompl
Cycle Time: ~75s
Video Link: https://youtu.be/1r7PfkH8pU8
- Switch to
origin/david_hor_variousHeight_backup
branch - Build and source the workspace
- In one terminal, run
ros2 launch end_effector_description display.launch.py
- In another terminal, run
ros2 run demo_package horizontal_fruit_gripping_demo
- Switch to
main
branch - Build and source the workspace
- In one terminal, run
ros2 launch end_effector_description display.launch.py
- In another terminal, run
ros2 run demo_package vertical_fruit_gripping_demo.py
- First, connect the Ethernet Cable from Web Client port of the Eye Box
- Then, go to 192.168.1.1 to make sure you are logged in with username:
admin
and password:OnRobot1
- Now, go to Devices -> RG2 and manually move the
width
bar around, see if it works - Finally, test it in a terminal,
curl "http://192.168.1.1/api/dc/rgxp2/set_width/0/{width}/{force}"
; width=[0,100], force=[3,40]
e.g.
Grip: curl "http://192.168.1.1/api/dc/rgxp2/set_width/0/0/40"
Release: curl "http://192.168.1.1/api/dc/rgxp2/set_width/0/100/40"
If that worked, we are now ready to launch the gripper package
In one terminal: ros2 run gripper gripper_server
In another terminal: ros2 run gripper gripper_client