OxRAMSociety / RobotArm

Public repository for all resources related to the OxRAM Robot Arm project.
https://www.oxramsociety.org/
MIT License
15 stars 7 forks source link

Controlling the Real Robot Arm using ROS Control #3

Closed JacquesCloete closed 2 years ago

JacquesCloete commented 3 years ago

Description

So far, I have managed to create a function that uses MoveIt to control the simulated RBX1 arm in RViz, and we can e.g. simulate motion to specific coordinates at specific orientations. However, we want to be able to control the real robot arm, which requires a few extra steps. We must ultimately be able to use the planned trajectory to produce a set of currents/voltages to apply to the motors via the microcontroller, and PID Control of the motors is needed to get the arm to accurately follow the desired path generated via MoveIt. Thankfully we have access to a very useful tool for overcoming these problems - ROS Control.

Details

Screenshot 2021-07-07 at 17 13 17

ROS Control is able to take a planned trajectory for the arm (i.e. that generated by MoveIt) and convert it into a set of currents/voltages to apply to the motors, applying PID Control to each one. However, we must write the necessary files to allow it to do this. The process is well-described in the following link: https://www.rosroboticslearning.com/ros-control

Also, work must be done to figure out how exactly we will be sending and receiving data between our computer and the microcontroller. This can only really be completed once we have the hardware with which to experiment, but we can certainly make a start on it.

Roadmap

JacquesCloete commented 2 years ago

Given that we have decided to use stepper motors to control our arm, ROS Control isn't currently necessary as the microcontroller can use the joint targets published by MoveIt directly. Thus the issue shall be closed; if we ever decide to work with e.g. BLDC motors in future, however, ROS Control will need to be used.