# [MSBRC] Final Project -- CatchIt! ## Positioning red ball (target): Kinect + OpenCV ### Steps: 1. `sudo apt-get install ros-kinetic-cv-bridge ` 2. `sudo apt-get install ros-kinetic-vision-opencv ` 3. edit CMakeList: * Add OpenCV in: 1. include_directories 2. add_executable 3. target_link_libraries * http://wiki.ros.org/vision_opencv * http://wiki.ros.org/image_transport 4. `catkin_make -DCMAKE_BUILD_TYPE="Release"` ### Ref: 1. http://ros-users.122217.n3.nabble.com/cv-bridge-tutorial-td2124772.html 2. cv-bridge (rgb) //encoding: `BGR8` * http://wiki.ros.org/cv_bridge/Tutorials/UsingCvBridgeToConvertBetweenROSImagesAndOpenCVImages * https://github.com/code-iai/iai_kinect2/issues/388 3. cv-bridge (depth) //encoding: `16UC1` * https://answers.ros.org/question/160611/how-can-i-get-depth-data-from-kinect/ * https://github.com/code-iai/iai_kinect2/issues/388#issuecomment-293735755 ### global variable problem: combine rgbImg & dImg * https://answers.ros.org/question/11810/how-to-pass-arguments-tofrom-subscriber-callback-functions/ ### Subscribe and Publish * https://answers.ros.org/question/59725/publishing-to-a-topic-via-subscriber-callback-function/ ### RGB Image + Z(Depth) --> Find X&Y * https://github.com/code-iai/iai_kinect2/issues/193 * http://ais.informatik.uni-freiburg.de/teaching/ws09/robotics2/pdfs/rob2-08-camera-calibration.pdf * [ROS/sensor_msgs/CameraInfo Message](http://docs.ros.org/api/sensor_msgs/html/msg/CameraInfo.html) ### RVIZ * https://github.com/code-iai/iai_kinect2/issues/153 ### tf * broadcast problem solved: https://answers.ros.org/question/46517/tftransformbroadcaster-in-callback/ * ### Terminal/Node: 1. `roslaunch kinect2_bridge kinect2_bridge.launch publish_tf:=true` 2. `rosrun ball_pos ball_pos_node` * `catkin_make -DCMAKE_BUILD_TYPE="Release"` 3. `rosrun kinect2\_viewer kinect2\_viewer sd cloud`