Timmer Bot (2017)

#Robotics  #Solidworks  #Arduino  #C++  #3D-Printing



1.Image Processing    2.Robotic Arm    3.Mobile Platform

Agriculture accounts for 12% of Washington’s economy and employs over 160,000 people in a state which leads national productions in 11 different commodities, including apples, pears, hops, and red raspberries. Washington State has a particularly large share of the domestic raspberry crop, producing 95% of the nation’s raspberries, with 93% of the number produced in Whatcom County alone.

A biennial raspberry crop is managed through many pruning and harvest methods. Many of these pruning methods involve selective pruning of 1-year old raspberry canes (floricanes) to limit total plant density, and suppression of young raspberry canes (primocanes) to prevent them from competing with the fruiting floricanes. These operations are typically accomplished through manual pruning and herbicide application, respectively, in the field, the desire for farmers to cut labor costs and use fewer chemicals on their crops opens the door for new methods of accomplishing these necessary production tasks.

The Robotics Design Competition, held annually by the American Society of Agricultural and Biological Engineers aims to find new concepts in automating tasks in agriculture. This competition allows undergraduate and graduate students to develop skills in robotic systems, electronics, and sensing technologies by simulating a fully autonomous robotics solution to a common agricultural process. The competition requires teams to build a robot, or group of cooperative robots, which accomplish a simulated pre-, peri-, or post-harvest agricultural operation. The robots must be fully autonomous and able to complete the task without human intervention. The robots are small, less than 12”x12”x12”, and the challenge is typically executed on a custom-fabricated table. In past years, robots have been required to simulate counting and sorting, pick-up, pruning, transport, and precision-maneuvering operations.

The challenge for 2017's competition was to simulate a full primocane suppression and selective floricane removal pruning operation using autonomous robots. The competition required teams to develop robots that can identify primocanes and floricanes, selectively cut irregularly distributed primocanes and floricanes to a given row density, and remove the cut plant material from the rows to clear debris. This project was accomplished in the spring of 2017 with the assistance of the HuskerBot Robotics team, which included the following members: J. Wynn, A. Atefi, P. Pandey, L. D. Renker, and C. Liew. The project was guided by Dr. Santosh Pitla, associate professor at the Department of Biological System Engineering at the University of Nebraska, Lincoln. The design methodology adopted by the team can be summarized in the following areas:




The RGB camera (Raspberry Pi Camera Module v2, Raspberry Pi Foundation) is used to take a top view image of one zone at a time. The image processing algorithm is used to detect empty spots and the canes. Color-based segmentation and classification is used to classify the canes into green (weak) and yellow (strong) canes. Once the color of the canes is determined, an array with 4 rows and 6 columns is created with the information about all 24 points in the grid. The camera intrinsics are used to estimate the extrinsic parameters with respect to the cane grid. This information is used to calculate the coordinates of the canes relative to the robotic arm.

The crank arm and the RGB Camera that is used to capture the position 

RGB camera’s point of view

Map of relative cane location


A kinematic model of the robot is used to solve for robot joint angles (servo positions) necessary to reach the desired point in space of each cane to be pulled.  

The pulling of canes is accomplished by a Lynxmotion AL5D robotic arm driven by five hobbyist servos and a custom-designed cutting tool. Motors are controlled using a Lynxmotion servo controller, and commands are sent to this board via serial communication from the Arduino. 


To accomplish the pulling of canes, the following tasks are necessary: 


Data representing the canes present in the adjacent zone is received by the Arduino Mega from the vision system. 

Cane data is analyzed to determine which canes can and cannot be pulled. 

Robot servo positions are translated to the data format readable by the servo controller and sent; executing the process of cane removal.


The robot accomplishes the task by dividing the entire area to separate zones. It then moves to the chosen zone and uses the image processing to find the coordinates of the canes that needed to be cut. A Raspberry Pi microprocessor is used to combine the pictures and to analyze the data. Each cane that requires cutting receives a position relative to the robotic arm. The coordinates are then sent to the Arduino microprocessor that is connected to the robotic arm. Arduino then communicates with the arm and tells the motors to move to the position needed so that the arm may cut the canes and place them on the chassis. The process is then repeated until all the required canes are cut.





The mobile platform consists of two high power, high reduction geared DC brushed motors with encoders and one free-to-rotate steel caster to provide sturdy foundation and enhance the motion smoothness. This enconder feedback allows the platform to move with precision in temems of displacement and straightness. The encoder feedback also allows the platform to steer and turn with differential rotation across the two motors. The high reduction provides a resolution up to 10,884.47  encoder counts per revolution with a high output torque of 23 kg-cm.