In order to run the project run the following commands:
In order to run the project run the following commands (*in the future, once the pipeline is complete, the roslaunch files will be all run from one file*):
It is important to run the two roslaunch commands as the former runs Gazebo simulation with the robotic arm, whereas the latter allows for control of the arm.
**IMPORTANT**: Before running the following scripts, it is important to press play at the bottom of Gazebo, otherwise the arm will not move.
For now, the following command sets the arm to initial position, but it will also gather data from OpenCV, which will allow the program to move the arm in simulation.
At the moment, there are currently three files that can be run - in the future the functionality will be combined. The first one (1) runs the video capture of the keypoints in real time and moving the robotic arm in Gazebo [*It is currently being debugged due to new functionality being added*]. The second one (2) is a keypoint capture program which saves the keypoints into a pickle file. Finally, (3) loads the saved keypoints (hence 2 and 3 have to be run in order for 3 to work) and visualizes them in RVIZ and calculates the manipulator keypoints. Currently, 1 and 3 use different approaches. The accuracy is currently being tested.
1. Arm Keypoint Capture + Pose Estimation Control
```
cd src/pose_estimation/scripts
python3 pose_estimation.py
roslaunch pose_estimation pose_estimation.launch
```
## TODO
- [ ] Move only the end joint and calculate IK for the rest of the joints?
- [ ] SetJointPosition or SetKinematicPose
- [ ] Create a launch file instead of running all the `roslaunch` commands