Skip to content
Snippets Groups Projects
Name Last commit Last update
pose_estimation
README.md

Manipulator Control with Computer Vision

Description

Dependencies

For running the code, ROS is required to be set up. This project uses ROS Noetic on Ubuntu 20.02. This page contains necessary installation: https://emanual.robotis.com/docs/en/platform/openmanipulator_x/quick_start_guide/#setup.

If ROS is installed and catkin_ws was setup, following git repositories are required to be placed in the src directory, in order to simulate OpenManipulator-X.

git clone -b noetic-devel https://github.com/ROBOTIS-GIT/open_manipulator.git
git clone -b noetic-devel https://github.com/ROBOTIS-GIT/open_manipulator_msgs.git
git clone -b noetic-devel https://github.com/ROBOTIS-GIT/open_manipulator_simulations.git
git clone https://github.com/ROBOTIS-GIT/open_manipulator_dependencies.git

Getting started

In order to run the project run the following commands:

cd catkin_ws
catkin_make
source devel/setup.bash
roscore
roslaunch open_manipulator_gazebo open_manipulator_gazebo.launch
roslaunch open_manipulator_controller open_manipulator_controller.launch use_platform:=false

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.

cd src/pose_estimation/scripts
python3 pose_estimation.py

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

  • Code documentation and clean code