Electrical and computer engineering knowledge is required to design a robot that takes inputs from multiple sensors and responds appropriately. The following needs justify an electrical and computer problem-solving effort:
To train the robot to identify weeds, an engineer needs proficiency in Machine Learning. We then need to learn how to implement serial communication which will allow the Raspberry Pi, which detects the weeds, to send the information to the Arduino, which tells the robot to move towards the weeds. Further Arduino programming will be required to command the robot to mechanically kill the weeds.
Again, Arduino programming will be needed for obstacle detection and navigation. A sensor will need to detect an obstacle nearby and the robot will need to respond in real-time to move away from the obstacle.
Knowledge of hardware components is required to wire the robot. Engineers are needed to design the robot where the wires are concealed and the components are in a designated location.