Confused on which libraries to use

asked 2021-08-26 11:07:06 -0500

hello_world gravatar image

Sorry if this is not specific enough, if this is not the right place to ask, could someone point me in the right direction?

If it is,

I am trying to build a robot that would use a mounted camera from a birds eye view to control a robot arm, actually two. I am just a software student, but am helping a computer engineering and mechanical engineering friend, they need someone to code. They have build the arms with servo motors.

Arm 1: Just xy on a birds eye view. This algorithm will not be 3dimensional. It will move x left or right and y up down to a location from overhead alignment, and then cylinder will shoot down after point is reached.

Arm 2: Will involve recognition of a ribbon cable by unique properties and then removing it by 3 dimensional algorithm.

So I have decided to use ROS with OpenCV. I have heard good things, but I am very new to this. I have gotten an O'Reilly book that seems to cover most concepts of ROS, but I was wondering, we are using a Raspberry Pi , and he wants to control the servo motors and the arm through gpio on the pi board. The tutorials and library I have found on this are rudimentary. Rpi.gpio. (Python) I don't know how I will control multiple servos on the arms by information given from ROS and openCV in 3d analysis to interface with this basic library.

Basically, if anyone could give me just some meta data on what technologies would be best for this, it would be greatly appreciated. I know ROS has multiple libraries that could work for controlling a robotic arm (I am worried that it was made by my friend, it has no drivers, and each servo has its own GPIO cables and ground, power, etc) but idk how that would work with Python, specifically on the GPIO of the pi. I have books and can acquire more, but if anybody could help explain libraries or frameworks that would aid in interfacing with the GPIO and bridging ROS and python, (not just the communication of 3d data and xy data between them, but how to control the GPIO between them) or just where to start, that would be greatly appreciated. [Maybe I don't need Python? I heard ROS can do low level control. The problem, this arm was self made, no drivers, multiple GPIO cables, so maybe ROS can work with that?] Thank you for reading.

edit retag flag offensive close merge delete