diff --git a/.travis.yml b/.travis.yml
index 07bc3c6..cbc9951 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -12,7 +12,7 @@ compiler:
- gcc
notifications:
email:
- on_success: always
+ on_success: change
on_failure: always
recipients:
- pyo@robotis.com
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..2387548
--- /dev/null
+++ b/README.md
@@ -0,0 +1,34 @@
+## ROBOTIS OP3
+
+
+## ROS Packages for ROBOTIS OP3 Demo
+|Version|Kinetic + Ubuntu Xenial|Melodic + Ubuntu Bionic|
+|:---:|:---:|:---:|
+|[](https://badge.fury.io/gh/ROBOTIS-GIT%2FROBOTIS-OP3-Demo)|[](https://travis-ci.org/ROBOTIS-GIT/ROBOTIS-OP3-Demo)|-|
+
+## ROBOTIS e-Manual for ROBOTIS OP3
+- [ROBOTIS e-Manual for ROBOTIS OP3](http://emanual.robotis.com/docs/en/platform/op3/introduction/)
+
+## Wiki for robotis_op3_demo Packages
+- http://wiki.ros.org/robotis_op3_demo (metapackage)
+- http://wiki.ros.org/ball_detector
+- http://wiki.ros.org/op3_demo
+
+## Open Source related to ROBOTIS OP3
+- [robotis_op3](https://github.com/ROBOTIS-GIT/ROBOTIS-OP3)
+- [robotis_op3_msgs](https://github.com/ROBOTIS-GIT/ROBOTIS-OP3-msgs)
+- [robotis_op3_common](https://github.com/ROBOTIS-GIT/ROBOTIS-OP3-Common)
+- [robotis_op3_tools](https://github.com/ROBOTIS-GIT/ROBOTIS-OP3-Tools)
+- [robotis_op3_demo](https://github.com/ROBOTIS-GIT/ROBOTIS-OP3-Demo)
+- [robotis_framework](https://github.com/ROBOTIS-GIT/ROBOTIS-Framework)
+- [robotis_controller_msgs](https://github.com/ROBOTIS-GIT/ROBOTIS-Framework-msgs)
+- [robotis_utility](https://github.com/ROBOTIS-GIT/ROBOTIS-Utility)
+- [robotis_math](https://github.com/ROBOTIS-GIT/ROBOTIS-Math)
+- [dynamixel_sdk](https://github.com/ROBOTIS-GIT/DynamixelSDK)
+- [OpenCR-Hardware](https://github.com/ROBOTIS-GIT/OpenCR-Hardware)
+- [OpenCR](https://github.com/ROBOTIS-GIT/OpenCR)
+
+## Documents and Videos related to ROBOTIS OP3
+- [ROBOTIS e-Manual for ROBOTIS OP3](http://emanual.robotis.com/docs/en/platform/op3/introduction/)
+- [ROBOTIS e-Manual for ROBOTIS Framework](http://emanual.robotis.com/docs/en/software/robotis_framework_packages/)
+- [ROBOTIS e-Manual for Dynamixel SDK](http://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_sdk/overview/)
diff --git a/ball_detector/CMakeLists.txt b/ball_detector/CMakeLists.txt
index a79af76..647cfdd 100644
--- a/ball_detector/CMakeLists.txt
+++ b/ball_detector/CMakeLists.txt
@@ -1,30 +1,34 @@
################################################################################
-# CMake
+# Set minimum required version of cmake, project name and compile options
################################################################################
cmake_minimum_required(VERSION 2.8.3)
project(ball_detector)
################################################################################
-# Packages
+# Find catkin packages and libraries for catkin and system dependencies
################################################################################
find_package(catkin REQUIRED COMPONENTS
- roslib
- cv_bridge
- geometry_msgs
- image_transport
roscpp
- rospy
+ roslib
std_msgs
+ sensor_msgs
+ geometry_msgs
dynamic_reconfigure
+ cv_bridge
+ image_transport
message_generation
)
+################################################################################
+# Setup for python modules and scripts
+################################################################################
+
################################################################################
# Declare ROS messages, services and actions
################################################################################
add_message_files(
FILES
- circleSetStamped.msg
+ CircleSetStamped.msg
BallDetectorParams.msg
)
@@ -36,21 +40,34 @@ add_service_files(
generate_messages(
DEPENDENCIES
- geometry_msgs std_msgs
+ std_msgs
+ geometry_msgs
)
################################################################################
# Declare ROS dynamic reconfigure parameters
################################################################################
-generate_dynamic_reconfigure_options(cfg/detector_params.cfg)
+generate_dynamic_reconfigure_options(
+ cfg/DetectorParams.cfg
+)
################################################################################
-# Catkin specific configuration
-################################################################################
+# Declare catkin specific configuration to be passed to dependent projects
+##################################################################################
catkin_package(
INCLUDE_DIRS include
- CATKIN_DEPENDS cv_bridge geometry_msgs image_transport roscpp rospy std_msgs dynamic_reconfigure
+ CATKIN_DEPENDS
+ roscpp
+ roslib
+ std_msgs
+ sensor_msgs
+ geometry_msgs
+ dynamic_reconfigure
+ cv_bridge
+ image_transport
+ message_runtime
+ DEPENDS Boost OpenCV
)
################################################################################
@@ -59,22 +76,39 @@ catkin_package(
include_directories(
include
${catkin_INCLUDE_DIRS}
+ ${Boost_INCLUDE_DIRS}
+ ${OpenCV_INCLUDE_DIRS}
+ ${YAML_CPP_INCLUDE_DIRS}
)
add_executable(ball_detector_node
src/ball_detector.cpp
- src/ball_detector_node.cpp)
+ src/ball_detector_node.cpp
+)
add_dependencies(ball_detector_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(ball_detector_node
${catkin_LIBRARIES}
- yaml-cpp
+ ${Boost_LIBRARIES}
+ ${OpenCV_LIBRARIES}
+ ${YAML_CPP_LIBRARIES}
)
################################################################################
# Install
################################################################################
+install(TARGETS ball_detector_node
+ RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+)
+
+install(DIRECTORY include/${PROJECT_NAME}/
+ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
+)
+
+install(DIRECTORY config launch rviz
+ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+)
################################################################################
# Test
diff --git a/ball_detector/cfg/detector_params_blue.cfg b/ball_detector/cfg/DetectorParamsBlue.cfg
similarity index 96%
rename from ball_detector/cfg/detector_params_blue.cfg
rename to ball_detector/cfg/DetectorParamsBlue.cfg
index 2d61d6c..b9bd967 100755
--- a/ball_detector/cfg/detector_params_blue.cfg
+++ b/ball_detector/cfg/DetectorParamsBlue.cfg
@@ -30,4 +30,4 @@ gen.add("filter2_v_max",int_t , -1, "Threshold of V filter", 255, 0, 255)
gen.add("ellipse_size",int_t , -1, "Ellipse size", 2, 1, 9)
gen.add("debug_image", bool_t, 0, "Show filtered image to debug", False)
-exit(gen.generate(PACKAGE, "ball_detector_node", "detectorParams"))
+exit(gen.generate(PACKAGE, "ball_detector_node", "DetectorParamsBlue"))
diff --git a/ball_detector/cfg/detector_params_red.cfg b/ball_detector/cfg/DetectorParamsRed.cfg
similarity index 96%
rename from ball_detector/cfg/detector_params_red.cfg
rename to ball_detector/cfg/DetectorParamsRed.cfg
index 4fa6a18..79d08a2 100755
--- a/ball_detector/cfg/detector_params_red.cfg
+++ b/ball_detector/cfg/DetectorParamsRed.cfg
@@ -30,4 +30,4 @@ gen.add("filter2_v_max",int_t , -1, "Threshold of V filter", 255, 0, 255)
gen.add("ellipse_size",int_t , -1, "Ellipse size", 5, 1, 9)
gen.add("debug_image", bool_t, 0, "Show filtered image to debug", False)
-exit(gen.generate(PACKAGE, "ball_detector_node", "detectorParams"))
+exit(gen.generate(PACKAGE, "ball_detector_node", "DetectorParamsRed"))
diff --git a/ball_detector/launch/ball_detector_params.yaml b/ball_detector/config/ball_detector_params.yaml
similarity index 100%
rename from ball_detector/launch/ball_detector_params.yaml
rename to ball_detector/config/ball_detector_params.yaml
diff --git a/ball_detector/launch/ball_detector_params_default.yaml b/ball_detector/config/ball_detector_params_default.yaml
similarity index 100%
rename from ball_detector/launch/ball_detector_params_default.yaml
rename to ball_detector/config/ball_detector_params_default.yaml
diff --git a/ball_detector/launch/ball_detector_params_op.yaml b/ball_detector/config/ball_detector_params_op.yaml
similarity index 100%
rename from ball_detector/launch/ball_detector_params_op.yaml
rename to ball_detector/config/ball_detector_params_op.yaml
diff --git a/ball_detector/include/ball_detector/ball_detector.h b/ball_detector/include/ball_detector/ball_detector.h
index b246ff3..96a9981 100644
--- a/ball_detector/include/ball_detector/ball_detector.h
+++ b/ball_detector/include/ball_detector/ball_detector.h
@@ -21,23 +21,26 @@
#include
-#include
-#include
-
-//ros dependencies
#include
#include
#include
#include
-#include
-#include
#include
#include
#include
+#include
+#include
+
+#include
+#include
+#include
+#include
+
+#include "ball_detector/DetectorParamsConfig.h"
-#include "ball_detector/circleSetStamped.h"
#include "ball_detector/ball_detector_config.h"
-#include "ball_detector/detectorParamsConfig.h"
+
+#include "ball_detector/CircleSetStamped.h"
#include "ball_detector/GetParameters.h"
#include "ball_detector/SetParameters.h"
@@ -71,7 +74,7 @@ class BallDetector
//callbacks to camera info subscription
void cameraInfoCallback(const sensor_msgs::CameraInfo & msg);
- void dynParamCallback(ball_detector::detectorParamsConfig &config, uint32_t level);
+ void dynParamCallback(ball_detector::DetectorParamsConfig &config, uint32_t level);
void enableCallback(const std_msgs::Bool::ConstPtr &msg);
void paramCommandCallback(const std_msgs::String::ConstPtr &msg);
@@ -112,7 +115,7 @@ class BallDetector
int not_found_count_;
//circle set publisher
- ball_detector::circleSetStamped circles_msg_;
+ ball_detector::CircleSetStamped circles_msg_;
ros::Publisher circles_pub_;
//camera info subscriber
@@ -154,8 +157,8 @@ class BallDetector
cv::Mat in_image_;
cv::Mat out_image_;
- dynamic_reconfigure::Server param_server_;
- dynamic_reconfigure::Server::CallbackType callback_fnc_;
+ dynamic_reconfigure::Server param_server_;
+ dynamic_reconfigure::Server::CallbackType callback_fnc_;
};
} // namespace robotis_op
diff --git a/ball_detector/launch/ball_detector.launch b/ball_detector/launch/ball_detector.launch
index 05cc278..34a12ba 100644
--- a/ball_detector/launch/ball_detector.launch
+++ b/ball_detector/launch/ball_detector.launch
@@ -1,13 +1,13 @@
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/ball_detector/launch/ball_detector_from_usb_cam.launch b/ball_detector/launch/ball_detector_from_usb_cam.launch
index e84838b..44ecad5 100644
--- a/ball_detector/launch/ball_detector_from_usb_cam.launch
+++ b/ball_detector/launch/ball_detector_from_usb_cam.launch
@@ -1,28 +1,27 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ball_detector/launch/ball_detector_from_uvc.launch b/ball_detector/launch/ball_detector_from_uvc.launch
index 4ef7b43..5946129 100644
--- a/ball_detector/launch/ball_detector_from_uvc.launch
+++ b/ball_detector/launch/ball_detector_from_uvc.launch
@@ -1,30 +1,30 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ball_detector/msg/circleSetStamped.msg b/ball_detector/msg/CircleSetStamped.msg
similarity index 100%
rename from ball_detector/msg/circleSetStamped.msg
rename to ball_detector/msg/CircleSetStamped.msg
diff --git a/ball_detector/package.xml b/ball_detector/package.xml
index 79f988f..e383f47 100644
--- a/ball_detector/package.xml
+++ b/ball_detector/package.xml
@@ -1,33 +1,34 @@
-
+
ball_detector
0.1.0
- This package implements a circle-like shape detector of the input image.
- It requires and input image and publish, at frame rate, a marked image
- and a stamped array of circle centers and radius.
+ This package implements a circle-like shape detector of the input image.
+ It requires and input image and publish, at frame rate, a marked image
+ and a stamped array of circle centers and radius.
- Apache License 2.0
- kayman
+ Apache 2.0
+ Kayman
Pyo
-
+ http://wiki.ros.org/ball_detector
+ http://emanual.robotis.com/docs/en/platform/op3/introduction/
+ https://github.com/ROBOTIS-GIT/ROBOTIS-OP3-Demo
+ https://github.com/ROBOTIS-GIT/ROBOTIS-OP3-Demo/issues
catkin
- roslib
- cv_bridge
- geometry_msgs
- image_transport
- roscpp
- rospy
- std_msgs
- dynamic_reconfigure
+ roscpp
+ roslib
+ std_msgs
+ sensor_msgs
+ geometry_msgs
+ dynamic_reconfigure
+ cv_bridge
+ image_transport
+ boost
+ opencv
+ yaml-cpp
message_generation
- roslib
- cv_bridge
- geometry_msgs
- image_transport
- roscpp
- rospy
- std_msgs
- dynamic_reconfigure
- message_runtime
+ message_runtime
+ message_runtime
+ usb_cam
+ uvc_camera
diff --git a/ball_detector/launch/ball_detector.rviz b/ball_detector/rviz/ball_detector.rviz
similarity index 100%
rename from ball_detector/launch/ball_detector.rviz
rename to ball_detector/rviz/ball_detector.rviz
diff --git a/ball_detector/src/ball_detector.cpp b/ball_detector/src/ball_detector.cpp
index df4fe80..7dbba3c 100644
--- a/ball_detector/src/ball_detector.cpp
+++ b/ball_detector/src/ball_detector.cpp
@@ -16,7 +16,6 @@
/* Author: Kayman Jung */
-#include
#include
#include "ball_detector/ball_detector.h"
@@ -72,7 +71,7 @@ BallDetector::BallDetector()
//sets publishers
image_pub_ = it_.advertise("image_out", 100);
- circles_pub_ = nh_.advertise("circle_set", 100);
+ circles_pub_ = nh_.advertise("circle_set", 100);
camera_info_pub_ = nh_.advertise("camera_info", 100);
//sets subscribers
@@ -92,7 +91,7 @@ BallDetector::BallDetector()
param_command_sub_ = nh_.subscribe("param_command", 1, &BallDetector::paramCommandCallback, this);
set_param_client_ = nh_.advertiseService("set_param", &BallDetector::setParamCallback, this);
get_param_client_ = nh_.advertiseService("get_param", &BallDetector::getParamCallback, this);
- default_setting_path_ = ros::package::getPath(ROS_PACKAGE_NAME) + "/launch/ball_detector_params_default.yaml";
+ default_setting_path_ = ros::package::getPath(ROS_PACKAGE_NAME) + "/config/ball_detector_params_default.yaml";
//sets config and prints it
params_config_ = detect_config;
@@ -234,7 +233,7 @@ void BallDetector::imageCallback(const sensor_msgs::ImageConstPtr & msg)
return;
}
-void BallDetector::dynParamCallback(ball_detector::detectorParamsConfig &config, uint32_t level)
+void BallDetector::dynParamCallback(ball_detector::DetectorParamsConfig &config, uint32_t level)
{
params_config_.gaussian_blur_size = config.gaussian_blur_size;
params_config_.gaussian_blur_sigma = config.gaussian_blur_sigma;
diff --git a/op3_demo/CMakeLists.txt b/op3_demo/CMakeLists.txt
index 4615615..1554f48 100644
--- a/op3_demo/CMakeLists.txt
+++ b/op3_demo/CMakeLists.txt
@@ -1,26 +1,51 @@
################################################################################
-# CMake
+# Set minimum required version of cmake, project name and compile options
################################################################################
cmake_minimum_required(VERSION 2.8.3)
project(op3_demo)
################################################################################
-# Packages
+# Find catkin packages and libraries for catkin and system dependencies
################################################################################
find_package(catkin REQUIRED COMPONENTS
roscpp
roslib
+ std_msgs
sensor_msgs
- ball_detector
+ geometry_msgs
+ robotis_controller_msgs
op3_walking_module_msgs
op3_action_module_msgs
- robotis_controller_msgs
cmake_modules
robotis_math
+ ball_detector
)
+find_package(Boost REQUIRED COMPONENTS thread)
find_package(Eigen REQUIRED)
+## Resolve system dependency on yaml-cpp, which apparently does not
+## provide a CMake find_package() module.
+## Insert your header file compatible specified path like '#include '
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(YAML_CPP REQUIRED yaml-cpp)
+find_path(YAML_CPP_INCLUDE_DIR
+ NAMES yaml_cpp.h
+ PATHS ${YAML_CPP_INCLUDE_DIRS}
+)
+find_library(YAML_CPP_LIBRARY
+ NAMES YAML_CPP
+ PATHS ${YAML_CPP_LIBRARY_DIRS}
+)
+link_directories(${YAML_CPP_LIBRARY_DIRS})
+
+if(NOT ${YAML_CPP_VERSION} VERSION_LESS "0.5")
+add_definitions(-DHAVE_NEW_YAMLCPP)
+endif(NOT ${YAML_CPP_VERSION} VERSION_LESS "0.5")
+
+################################################################################
+# Setup for python modules and scripts
+################################################################################
################################################################################
# Declare ROS messages, services and actions
@@ -31,11 +56,23 @@ find_package(Eigen REQUIRED)
################################################################################
################################################################################
-# Catkin specific configuration
+# Declare catkin specific configuration to be passed to dependent projects
################################################################################
catkin_package(
INCLUDE_DIRS include
- CATKIN_DEPENDS roscpp sensor_msgs
+ CATKIN_DEPENDS
+ roscpp
+ roslib
+ std_msgs
+ sensor_msgs
+ geometry_msgs
+ robotis_controller_msgs
+ op3_walking_module_msgs
+ op3_action_module_msgs
+ cmake_modules
+ robotis_math
+ ball_detector
+ DEPENDS Boost EIGEN3
)
################################################################################
@@ -44,7 +81,9 @@ catkin_package(
include_directories(
include
${catkin_INCLUDE_DIRS}
- ${Eigen_INCLUDE_DIRS}
+ ${Boost_INCLUDE_DIRS}
+ ${EIGEN3_INCLUDE_DIRS}
+ ${YAML_CPP_INCLUDE_DIRS}
)
add_executable(op_demo_node
@@ -57,11 +96,16 @@ add_executable(op_demo_node
src/vision/face_tracker.cpp
)
-add_dependencies(op_demo_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
+add_dependencies(op_demo_node
+ ${${PROJECT_NAME}_EXPORTED_TARGETS}
+ ${catkin_EXPORTED_TARGETS}
+)
target_link_libraries(op_demo_node
${catkin_LIBRARIES}
- yaml-cpp
+ ${Boost_LIBRARIES}
+ ${Eigen3_LIBRARIES}
+ ${YAML_CPP_LIBRARIES}
)
add_executable(self_test_node
@@ -76,47 +120,32 @@ add_executable(self_test_node
src/test/mic_test.cpp
)
-add_dependencies(self_test_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
+add_dependencies(self_test_node
+ ${${PROJECT_NAME}_EXPORTED_TARGETS}
+ ${catkin_EXPORTED_TARGETS}
+)
target_link_libraries(self_test_node
${catkin_LIBRARIES}
- yaml-cpp
+ ${Boost_LIBRARIES}
+ ${Eigen3_LIBRARIES}
+ ${YAML_CPP_LIBRARIES}
)
################################################################################
# Install
################################################################################
+install(TARGETS op_demo_node self_test_node
+ RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+)
-# all install targets should use catkin DESTINATION variables
-# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
+install(DIRECTORY include/${PROJECT_NAME}/
+ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
+)
-## Mark executable scripts (Python etc.) for installation
-## in contrast to setup.py, you can choose the destination
-# install(PROGRAMS
-# scripts/my_python_script
-# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
-# )
-
-## Mark executables and/or libraries for installation
-# install(TARGETS ball_tracking ball_tracking_node
-# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
-# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
-# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
-# )
-
-## Mark cpp header files for installation
-# install(DIRECTORY include/${PROJECT_NAME}/
-# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
-# FILES_MATCHING PATTERN "*.h"
-# PATTERN ".svn" EXCLUDE
-# )
-
-## Mark other files for installation (e.g. launch and bag files, etc.)
-# install(FILES
-# # myfile1
-# # myfile2
-# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
-# )
+install(DIRECTORY data launch list
+ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+)
################################################################################
# Test
diff --git a/op3_demo/Data/mp3/Autonomous soccer mode.mp3 b/op3_demo/data/mp3/Autonomous soccer mode.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Autonomous soccer mode.mp3
rename to op3_demo/data/mp3/Autonomous soccer mode.mp3
diff --git a/op3_demo/Data/mp3/Bye bye.mp3 b/op3_demo/data/mp3/Bye bye.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Bye bye.mp3
rename to op3_demo/data/mp3/Bye bye.mp3
diff --git a/op3_demo/Data/mp3/Clap please.mp3 b/op3_demo/data/mp3/Clap please.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Clap please.mp3
rename to op3_demo/data/mp3/Clap please.mp3
diff --git a/op3_demo/Data/mp3/Demonstration ready mode.mp3 b/op3_demo/data/mp3/Demonstration ready mode.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Demonstration ready mode.mp3
rename to op3_demo/data/mp3/Demonstration ready mode.mp3
diff --git a/op3_demo/Data/mp3/Headstand.mp3 b/op3_demo/data/mp3/Headstand.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Headstand.mp3
rename to op3_demo/data/mp3/Headstand.mp3
diff --git a/op3_demo/Data/mp3/Interactive motion mode.mp3 b/op3_demo/data/mp3/Interactive motion mode.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Interactive motion mode.mp3
rename to op3_demo/data/mp3/Interactive motion mode.mp3
diff --git a/op3_demo/Data/mp3/Intro01.mp3 b/op3_demo/data/mp3/Intro01.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Intro01.mp3
rename to op3_demo/data/mp3/Intro01.mp3
diff --git a/op3_demo/Data/mp3/Intro02.mp3 b/op3_demo/data/mp3/Intro02.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Intro02.mp3
rename to op3_demo/data/mp3/Intro02.mp3
diff --git a/op3_demo/Data/mp3/Intro03.mp3 b/op3_demo/data/mp3/Intro03.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Intro03.mp3
rename to op3_demo/data/mp3/Intro03.mp3
diff --git a/op3_demo/Data/mp3/Introduction.mp3 b/op3_demo/data/mp3/Introduction.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Introduction.mp3
rename to op3_demo/data/mp3/Introduction.mp3
diff --git a/op3_demo/Data/mp3/Left kick.mp3 b/op3_demo/data/mp3/Left kick.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Left kick.mp3
rename to op3_demo/data/mp3/Left kick.mp3
diff --git a/op3_demo/Data/mp3/No.mp3 b/op3_demo/data/mp3/No.mp3
similarity index 100%
rename from op3_demo/Data/mp3/No.mp3
rename to op3_demo/data/mp3/No.mp3
diff --git a/op3_demo/Data/mp3/Oops.mp3 b/op3_demo/data/mp3/Oops.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Oops.mp3
rename to op3_demo/data/mp3/Oops.mp3
diff --git a/op3_demo/Data/mp3/Right kick.mp3 b/op3_demo/data/mp3/Right kick.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Right kick.mp3
rename to op3_demo/data/mp3/Right kick.mp3
diff --git a/op3_demo/Data/mp3/Sensor calibration complete.mp3 b/op3_demo/data/mp3/Sensor calibration complete.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Sensor calibration complete.mp3
rename to op3_demo/data/mp3/Sensor calibration complete.mp3
diff --git a/op3_demo/Data/mp3/Sensor calibration fail.mp3 b/op3_demo/data/mp3/Sensor calibration fail.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Sensor calibration fail.mp3
rename to op3_demo/data/mp3/Sensor calibration fail.mp3
diff --git a/op3_demo/Data/mp3/Shoot.mp3 b/op3_demo/data/mp3/Shoot.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Shoot.mp3
rename to op3_demo/data/mp3/Shoot.mp3
diff --git a/op3_demo/Data/mp3/Sit down.mp3 b/op3_demo/data/mp3/Sit down.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Sit down.mp3
rename to op3_demo/data/mp3/Sit down.mp3
diff --git a/op3_demo/Data/mp3/Stand up.mp3 b/op3_demo/data/mp3/Stand up.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Stand up.mp3
rename to op3_demo/data/mp3/Stand up.mp3
diff --git a/op3_demo/Data/mp3/Start motion demonstration.mp3 b/op3_demo/data/mp3/Start motion demonstration.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Start motion demonstration.mp3
rename to op3_demo/data/mp3/Start motion demonstration.mp3
diff --git a/op3_demo/Data/mp3/Start soccer demonstration.mp3 b/op3_demo/data/mp3/Start soccer demonstration.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Start soccer demonstration.mp3
rename to op3_demo/data/mp3/Start soccer demonstration.mp3
diff --git a/op3_demo/Data/mp3/Start vision processing demonstration.mp3 b/op3_demo/data/mp3/Start vision processing demonstration.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Start vision processing demonstration.mp3
rename to op3_demo/data/mp3/Start vision processing demonstration.mp3
diff --git a/op3_demo/Data/mp3/System shutdown.mp3 b/op3_demo/data/mp3/System shutdown.mp3
similarity index 100%
rename from op3_demo/Data/mp3/System shutdown.mp3
rename to op3_demo/data/mp3/System shutdown.mp3
diff --git a/op3_demo/Data/mp3/Thank you.mp3 b/op3_demo/data/mp3/Thank you.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Thank you.mp3
rename to op3_demo/data/mp3/Thank you.mp3
diff --git a/op3_demo/Data/mp3/Vision processing mode.mp3 b/op3_demo/data/mp3/Vision processing mode.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Vision processing mode.mp3
rename to op3_demo/data/mp3/Vision processing mode.mp3
diff --git a/op3_demo/Data/mp3/Wow.mp3 b/op3_demo/data/mp3/Wow.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Wow.mp3
rename to op3_demo/data/mp3/Wow.mp3
diff --git a/op3_demo/Data/mp3/Yes go.mp3 b/op3_demo/data/mp3/Yes go.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Yes go.mp3
rename to op3_demo/data/mp3/Yes go.mp3
diff --git a/op3_demo/Data/mp3/Yes.mp3 b/op3_demo/data/mp3/Yes.mp3
similarity index 100%
rename from op3_demo/Data/mp3/Yes.mp3
rename to op3_demo/data/mp3/Yes.mp3
diff --git a/op3_demo/Data/mp3/intro_test.mp3 b/op3_demo/data/mp3/intro_test.mp3
similarity index 100%
rename from op3_demo/Data/mp3/intro_test.mp3
rename to op3_demo/data/mp3/intro_test.mp3
diff --git a/op3_demo/Data/mp3/test/Announce mic test.mp3 b/op3_demo/data/mp3/test/Announce mic test.mp3
similarity index 100%
rename from op3_demo/Data/mp3/test/Announce mic test.mp3
rename to op3_demo/data/mp3/test/Announce mic test.mp3
diff --git a/op3_demo/Data/mp3/test/Button test mode.mp3 b/op3_demo/data/mp3/test/Button test mode.mp3
similarity index 100%
rename from op3_demo/Data/mp3/test/Button test mode.mp3
rename to op3_demo/data/mp3/test/Button test mode.mp3
diff --git a/op3_demo/Data/mp3/test/Mic test mode.mp3 b/op3_demo/data/mp3/test/Mic test mode.mp3
similarity index 100%
rename from op3_demo/Data/mp3/test/Mic test mode.mp3
rename to op3_demo/data/mp3/test/Mic test mode.mp3
diff --git a/op3_demo/Data/mp3/test/Mode button long pressed.mp3 b/op3_demo/data/mp3/test/Mode button long pressed.mp3
similarity index 100%
rename from op3_demo/Data/mp3/test/Mode button long pressed.mp3
rename to op3_demo/data/mp3/test/Mode button long pressed.mp3
diff --git a/op3_demo/Data/mp3/test/Mode button pressed.mp3 b/op3_demo/data/mp3/test/Mode button pressed.mp3
similarity index 100%
rename from op3_demo/Data/mp3/test/Mode button pressed.mp3
rename to op3_demo/data/mp3/test/Mode button pressed.mp3
diff --git a/op3_demo/Data/mp3/test/Self test ready mode.mp3 b/op3_demo/data/mp3/test/Self test ready mode.mp3
similarity index 100%
rename from op3_demo/Data/mp3/test/Self test ready mode.mp3
rename to op3_demo/data/mp3/test/Self test ready mode.mp3
diff --git a/op3_demo/Data/mp3/test/Start button long pressed.mp3 b/op3_demo/data/mp3/test/Start button long pressed.mp3
similarity index 100%
rename from op3_demo/Data/mp3/test/Start button long pressed.mp3
rename to op3_demo/data/mp3/test/Start button long pressed.mp3
diff --git a/op3_demo/Data/mp3/test/Start button pressed.mp3 b/op3_demo/data/mp3/test/Start button pressed.mp3
similarity index 100%
rename from op3_demo/Data/mp3/test/Start button pressed.mp3
rename to op3_demo/data/mp3/test/Start button pressed.mp3
diff --git a/op3_demo/Data/mp3/test/Start button test mode.mp3 b/op3_demo/data/mp3/test/Start button test mode.mp3
similarity index 100%
rename from op3_demo/Data/mp3/test/Start button test mode.mp3
rename to op3_demo/data/mp3/test/Start button test mode.mp3
diff --git a/op3_demo/Data/mp3/test/Start mic test mode.mp3 b/op3_demo/data/mp3/test/Start mic test mode.mp3
similarity index 100%
rename from op3_demo/Data/mp3/test/Start mic test mode.mp3
rename to op3_demo/data/mp3/test/Start mic test mode.mp3
diff --git a/op3_demo/Data/mp3/test/Start playing.mp3 b/op3_demo/data/mp3/test/Start playing.mp3
similarity index 100%
rename from op3_demo/Data/mp3/test/Start playing.mp3
rename to op3_demo/data/mp3/test/Start playing.mp3
diff --git a/op3_demo/Data/mp3/test/Start recording.mp3 b/op3_demo/data/mp3/test/Start recording.mp3
similarity index 100%
rename from op3_demo/Data/mp3/test/Start recording.mp3
rename to op3_demo/data/mp3/test/Start recording.mp3
diff --git a/op3_demo/Data/mp3/test/User button long pressed.mp3 b/op3_demo/data/mp3/test/User button long pressed.mp3
similarity index 100%
rename from op3_demo/Data/mp3/test/User button long pressed.mp3
rename to op3_demo/data/mp3/test/User button long pressed.mp3
diff --git a/op3_demo/Data/mp3/test/User button pressed.mp3 b/op3_demo/data/mp3/test/User button pressed.mp3
similarity index 100%
rename from op3_demo/Data/mp3/test/User button pressed.mp3
rename to op3_demo/data/mp3/test/User button pressed.mp3
diff --git a/op3_demo/include/op3_demo/action_demo.h b/op3_demo/include/op3_demo/action_demo.h
index 32a9435..4231406 100644
--- a/op3_demo/include/op3_demo/action_demo.h
+++ b/op3_demo/include/op3_demo/action_demo.h
@@ -19,14 +19,14 @@
#ifndef ACTION_DEMO_H_
#define ACTION_DEMO_H_
-#include
-#include
-
#include
#include
#include
#include
+#include
+#include
+
#include "op3_demo/op_demo.h"
#include "robotis_controller_msgs/JointCtrlModule.h"
#include "robotis_controller_msgs/SetModule.h"
diff --git a/op3_demo/include/op3_demo/ball_follower.h b/op3_demo/include/op3_demo/ball_follower.h
index 9e12ffc..7ec1d46 100644
--- a/op3_demo/include/op3_demo/ball_follower.h
+++ b/op3_demo/include/op3_demo/ball_follower.h
@@ -20,16 +20,16 @@
#define BALL_FOLLOWER_H_
#include
-#include
-
#include
#include
#include
#include
#include
+#include
+#include
#include "robotis_controller_msgs/JointCtrlModule.h"
-#include "ball_detector/circleSetStamped.h"
+#include "ball_detector/CircleSetStamped.h"
#include "op3_walking_module_msgs/WalkingParam.h"
#include "op3_walking_module_msgs/GetWalkingParam.h"
diff --git a/op3_demo/include/op3_demo/ball_tracker.h b/op3_demo/include/op3_demo/ball_tracker.h
index 0d3cfac..5461494 100644
--- a/op3_demo/include/op3_demo/ball_tracker.h
+++ b/op3_demo/include/op3_demo/ball_tracker.h
@@ -20,17 +20,16 @@
#define BALL_TRACKING_H_
#include
-#include
-
#include
#include
#include
#include
-//#include
#include
+#include
+#include
#include "robotis_controller_msgs/JointCtrlModule.h"
-#include "ball_detector/circleSetStamped.h"
+#include "ball_detector/CircleSetStamped.h"
#include "op3_walking_module_msgs/WalkingParam.h"
#include "op3_walking_module_msgs/GetWalkingParam.h"
@@ -80,7 +79,7 @@ protected:
const int WAITING_THRESHOLD;
const bool DEBUG_PRINT;
- void ballPositionCallback(const ball_detector::circleSetStamped::ConstPtr &msg);
+ void ballPositionCallback(const ball_detector::CircleSetStamped::ConstPtr &msg);
void ballTrackerCommandCallback(const std_msgs::String::ConstPtr &msg);
void publishHeadJoint(double pan, double tilt);
void scanBall();
diff --git a/op3_demo/include/op3_demo/button_test.h b/op3_demo/include/op3_demo/button_test.h
index 127c978..84e8bee 100644
--- a/op3_demo/include/op3_demo/button_test.h
+++ b/op3_demo/include/op3_demo/button_test.h
@@ -19,14 +19,12 @@
#ifndef BUTTON_TEST_H_
#define BUTTON_TEST_H_
-#include
-
#include
#include
#include
+#include
#include "op3_demo/op_demo.h"
-
#include "robotis_controller_msgs/SyncWriteItem.h"
namespace robotis_op
diff --git a/op3_demo/include/op3_demo/face_tracker.h b/op3_demo/include/op3_demo/face_tracker.h
index 0671b24..3289375 100644
--- a/op3_demo/include/op3_demo/face_tracker.h
+++ b/op3_demo/include/op3_demo/face_tracker.h
@@ -20,8 +20,6 @@
#define FACE_TRACKING_H_
#include
-#include
-
#include
#include
#include
@@ -29,6 +27,7 @@
#include
#include
#include
+#include
namespace robotis_op
{
diff --git a/op3_demo/include/op3_demo/mic_test.h b/op3_demo/include/op3_demo/mic_test.h
index 7cd025a..144fe96 100644
--- a/op3_demo/include/op3_demo/mic_test.h
+++ b/op3_demo/include/op3_demo/mic_test.h
@@ -20,14 +20,12 @@
#define MIC_TEST_H_
#include
-#include
-
#include
#include
#include
+#include
#include "op3_demo/op_demo.h"
-
#include "robotis_controller_msgs/SyncWriteItem.h"
namespace robotis_op
diff --git a/op3_demo/include/op3_demo/soccer_demo.h b/op3_demo/include/op3_demo/soccer_demo.h
index f65d81b..a771eda 100644
--- a/op3_demo/include/op3_demo/soccer_demo.h
+++ b/op3_demo/include/op3_demo/soccer_demo.h
@@ -23,15 +23,18 @@
#include
#include
#include
+#include
+#include
+
+#include "op3_action_module_msgs/IsRunning.h"
+#include "robotis_controller_msgs/SyncWriteItem.h"
+#include "robotis_controller_msgs/JointCtrlModule.h"
+#include "robotis_controller_msgs/SetJointModule.h"
#include "op3_demo/op_demo.h"
#include "op3_demo/ball_tracker.h"
#include "op3_demo/ball_follower.h"
#include "robotis_math/robotis_linear_algebra.h"
-#include "op3_action_module_msgs/IsRunning.h"
-#include "robotis_controller_msgs/SyncWriteItem.h"
-#include "robotis_controller_msgs/JointCtrlModule.h"
-#include "robotis_controller_msgs/SetJointModule.h"
namespace robotis_op
{
diff --git a/op3_demo/include/op3_demo/vision_demo.h b/op3_demo/include/op3_demo/vision_demo.h
index 3ebdc46..20cd1ad 100644
--- a/op3_demo/include/op3_demo/vision_demo.h
+++ b/op3_demo/include/op3_demo/vision_demo.h
@@ -19,19 +19,18 @@
#ifndef VISION_DEMO_H_
#define VISION_DEMO_H_
-#include
-
#include
#include
#include
#include
-
-#include "op3_demo/op_demo.h"
-#include "op3_demo/face_tracker.h"
+#include
#include "robotis_controller_msgs/SyncWriteItem.h"
#include "robotis_controller_msgs/SetModule.h"
+#include "op3_demo/op_demo.h"
+#include "op3_demo/face_tracker.h"
+
namespace robotis_op
{
diff --git a/op3_demo/launch/demo.launch b/op3_demo/launch/demo.launch
index aa5098b..2b5281c 100644
--- a/op3_demo/launch/demo.launch
+++ b/op3_demo/launch/demo.launch
@@ -1,7 +1,5 @@
-
-
diff --git a/op3_demo/launch/face_detection_op3.launch b/op3_demo/launch/face_detection_op3.launch
index afc5f12..d42ab41 100644
--- a/op3_demo/launch/face_detection_op3.launch
+++ b/op3_demo/launch/face_detection_op3.launch
@@ -7,16 +7,16 @@
-
-
-
-
+ args="$(arg face_cascade_name_0)
+ $(arg face_cascade_name_1)
+ $(arg face_cascade_name_2)
+ $(arg face_cascade_name_3)
+ $(arg face_cascade_name_4)"
+ output="screen">
+
+
+
+
diff --git a/op3_demo/launch/self_test.launch b/op3_demo/launch/self_test.launch
index c5ca857..623004e 100644
--- a/op3_demo/launch/self_test.launch
+++ b/op3_demo/launch/self_test.launch
@@ -1,30 +1,29 @@
+
+
-
-
-
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/op3_demo/list/action_script.yaml b/op3_demo/list/action_script.yaml
new file mode 100644
index 0000000..21ce72b
--- /dev/null
+++ b/op3_demo/list/action_script.yaml
@@ -0,0 +1,23 @@
+# combination action page number and mp3 file path
+action_and_sound:
+ 4 : "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Thank you.mp3"
+ 41: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Introduction.mp3"
+ 24: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Wow.mp3"
+ 23: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Yes go.mp3"
+ 15: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Sit down.mp3"
+ 1: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Stand up.mp3"
+ 54: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Clap please.mp3"
+ 27: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Oops.mp3"
+ 38: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Bye bye.mp3"
+# 101 : "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Oops.mp3"
+ 110 : ""
+ 111 : "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Intro01.mp3"
+ 115 : "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Intro02.mp3"
+ 118 : "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Intro03.mp3"
+
+# play list
+prev_default: [4, 41, 24, 23, 15, 1, 54, 27, 38]
+default: [4, 110, 111, 115, 118, 24, 54, 27, 38]
+
+# example of play list
+#certification: [101]
\ No newline at end of file
diff --git a/op3_demo/script/action_script_bk.yaml b/op3_demo/list/action_script_bk.yaml
similarity index 72%
rename from op3_demo/script/action_script_bk.yaml
rename to op3_demo/list/action_script_bk.yaml
index a18155d..bc401fb 100644
--- a/op3_demo/script/action_script_bk.yaml
+++ b/op3_demo/list/action_script_bk.yaml
@@ -1,15 +1,15 @@
# combination action page number and mp3 file path
action_and_sound:
- 4 : "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Thank you.mp3"
- 41: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Introduction.mp3"
- 24: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Wow.mp3"
- 23: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Yes go.mp3"
- 15: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Sit down.mp3"
- 1: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Stand up.mp3"
- 54: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Clap please.mp3"
- 27: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Oops.mp3"
- 38: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Bye bye.mp3"
- 101 : "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Oops.mp3"
+ 4 : "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Thank you.mp3"
+ 41: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Introduction.mp3"
+ 24: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Wow.mp3"
+ 23: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Yes go.mp3"
+ 15: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Sit down.mp3"
+ 1: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Stand up.mp3"
+ 54: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Clap please.mp3"
+ 27: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Oops.mp3"
+ 38: "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Bye bye.mp3"
+ 101 : "/home/robotis/catkin_ws/src/ROBOTIS-OP3/ROBOTIS-OP3-Demo/op3_demo/data/mp3/Oops.mp3"
# play list
default: [4, 41, 24, 23, 15, 1, 54, 27, 38]
diff --git a/op3_demo/package.xml b/op3_demo/package.xml
index 68baa53..85bd36e 100644
--- a/op3_demo/package.xml
+++ b/op3_demo/package.xml
@@ -1,32 +1,36 @@
-
+
op3_demo
0.1.0
- op3 default demo
+ OP3 default demo
It includes three demontrations(soccer demo, vision demo, action script demo)
- Apache License 2.0
- kayman
+ Apache 2.0
+ Kayman
Pyo
-
+ http://wiki.ros.org/op3_demo
+ http://emanual.robotis.com/docs/en/platform/op3/introduction/
+ https://github.com/ROBOTIS-GIT/ROBOTIS-OP3-Demo
+ https://github.com/ROBOTIS-GIT/ROBOTIS-OP3-Demo/issues
catkin
- roscpp
- roslib
- sensor_msgs
- ball_detector
- robotis_controller_msgs
- op3_walking_module_msgs
- op3_action_module_msgs
- cmake_modules
- robotis_math
- roscpp
- roslib
- sensor_msgs
- ball_detector
- robotis_controller_msgs
- op3_walking_module_msgs
- op3_action_module_msgs
- cmake_modules
- robotis_math
+ roscpp
+ roslib
+ std_msgs
+ sensor_msgs
+ geometry_msgs
+ robotis_controller_msgs
+ op3_walking_module_msgs
+ op3_action_module_msgs
+ cmake_modules
+ robotis_math
+ ball_detector
+ boost
+ eigen
+ yaml-cpp
+ op3_manager
+ op3_camera_setting_tool
+ op3_web_setting_tool
+ ros_madplay_player
+
diff --git a/op3_demo/script/action_script.yaml b/op3_demo/script/action_script.yaml
deleted file mode 100644
index 077e820..0000000
--- a/op3_demo/script/action_script.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-# combination action page number and mp3 file path
-action_and_sound:
- 4 : "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Thank you.mp3"
- 41: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Introduction.mp3"
- 24: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Wow.mp3"
- 23: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Yes go.mp3"
- 15: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Sit down.mp3"
- 1: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Stand up.mp3"
- 54: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Clap please.mp3"
- 27: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Oops.mp3"
- 38: "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Bye bye.mp3"
-# 101 : "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Oops.mp3"
- 110 : ""
- 111 : "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Intro01.mp3"
- 115 : "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Intro02.mp3"
- 118 : "/home/robotis/catkin_ws/src/ROBOTIS-OP3-Demo/op3_demo/Data/mp3/Intro03.mp3"
-
-# play list
-prev_default: [4, 41, 24, 23, 15, 1, 54, 27, 38]
-default: [4, 110, 111, 115, 118, 24, 54, 27, 38]
-
-# example of play list
-#certification: [101]
\ No newline at end of file
diff --git a/op3_demo/src/action/action_demo.cpp b/op3_demo/src/action/action_demo.cpp
index 4f14679..660390c 100644
--- a/op3_demo/src/action/action_demo.cpp
+++ b/op3_demo/src/action/action_demo.cpp
@@ -31,7 +31,7 @@ ActionDemo::ActionDemo()
ros::NodeHandle nh(ros::this_node::getName());
- std::string default_path = ros::package::getPath("op3_demo") + "/script/action_script.yaml";
+ std::string default_path = ros::package::getPath("op3_demo") + "/list/action_script.yaml";
script_path_ = nh.param("action_script", default_path);
std::string default_play_list = "default";
diff --git a/op3_demo/src/demo_node.cpp b/op3_demo/src/demo_node.cpp
index 8039aff..300a90b 100644
--- a/op3_demo/src/demo_node.cpp
+++ b/op3_demo/src/demo_node.cpp
@@ -77,7 +77,7 @@ int main(int argc, char **argv)
ros::Subscriber buttuon_sub = nh.subscribe("/robotis/open_cr/button", 1, buttonHandlerCallback);
ros::Subscriber mode_command_sub = nh.subscribe("/robotis/mode_command", 1, demoModeCommandCallback);
- default_mp3_path = ros::package::getPath("op3_demo") + "/Data/mp3/";
+ default_mp3_path = ros::package::getPath("op3_demo") + "/data/mp3/";
ros::start();
diff --git a/op3_demo/src/soccer/ball_tracker.cpp b/op3_demo/src/soccer/ball_tracker.cpp
index cbd4e87..355a21c 100644
--- a/op3_demo/src/soccer/ball_tracker.cpp
+++ b/op3_demo/src/soccer/ball_tracker.cpp
@@ -59,7 +59,7 @@ BallTracker::~BallTracker()
}
-void BallTracker::ballPositionCallback(const ball_detector::circleSetStamped::ConstPtr &msg)
+void BallTracker::ballPositionCallback(const ball_detector::CircleSetStamped::ConstPtr &msg)
{
for (int idx = 0; idx < msg->circles.size(); idx++)
{
diff --git a/op3_demo/src/test/button_test.cpp b/op3_demo/src/test/button_test.cpp
index 415d182..7a78c6a 100644
--- a/op3_demo/src/test/button_test.cpp
+++ b/op3_demo/src/test/button_test.cpp
@@ -33,7 +33,7 @@ ButtonTest::ButtonTest()
boost::thread queue_thread = boost::thread(boost::bind(&ButtonTest::callbackThread, this));
boost::thread process_thread = boost::thread(boost::bind(&ButtonTest::processThread, this));
- default_mp3_path_ = ros::package::getPath("op3_demo") + "/Data/mp3/test/";
+ default_mp3_path_ = ros::package::getPath("op3_demo") + "/data/mp3/test/";
}
ButtonTest::~ButtonTest()
diff --git a/op3_demo/src/test/mic_test.cpp b/op3_demo/src/test/mic_test.cpp
index e1f6757..4e56954 100644
--- a/op3_demo/src/test/mic_test.cpp
+++ b/op3_demo/src/test/mic_test.cpp
@@ -36,8 +36,8 @@ MicTest::MicTest()
boost::thread queue_thread = boost::thread(boost::bind(&MicTest::callbackThread, this));
boost::thread process_thread = boost::thread(boost::bind(&MicTest::processThread, this));
- recording_file_name_ = ros::package::getPath("op3_demo") + "/Data/mp3/test/mic-test.wav";
- default_mp3_path_ = ros::package::getPath("op3_demo") + "/Data/mp3/test/";
+ recording_file_name_ = ros::package::getPath("op3_demo") + "/data/mp3/test/mic-test.wav";
+ default_mp3_path_ = ros::package::getPath("op3_demo") + "/data/mp3/test/";
start_time_ = ros::Time::now();
}
diff --git a/op3_demo/src/test_node.cpp b/op3_demo/src/test_node.cpp
index 259ea96..8d4768d 100644
--- a/op3_demo/src/test_node.cpp
+++ b/op3_demo/src/test_node.cpp
@@ -84,7 +84,7 @@ int main(int argc, char **argv)
ros::Subscriber buttuon_sub = nh.subscribe("/robotis/open_cr/button", 1, buttonHandlerCallback);
ros::Subscriber mode_command_sub = nh.subscribe("/robotis/mode_command", 1, demoModeCommandCallback);
- default_mp3_path = ros::package::getPath("op3_demo") + "/Data/mp3/";
+ default_mp3_path = ros::package::getPath("op3_demo") + "/data/mp3/";
ros::start();
diff --git a/robotis_op3_demo/CMakeLists.txt b/robotis_op3_demo/CMakeLists.txt
index d88f653..b7e8eeb 100644
--- a/robotis_op3_demo/CMakeLists.txt
+++ b/robotis_op3_demo/CMakeLists.txt
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 2.8.3)
project(robotis_op3_demo)
find_package(catkin REQUIRED)
-catkin_metapackage()
\ No newline at end of file
+catkin_metapackage()
diff --git a/robotis_op3_demo/package.xml b/robotis_op3_demo/package.xml
index bba5f7c..7cf0810 100644
--- a/robotis_op3_demo/package.xml
+++ b/robotis_op3_demo/package.xml
@@ -1,24 +1,19 @@
-
+
robotis_op3_demo
0.1.0
ROS packages for the robotis_op3_demo (meta package)
-
- Apache License 2.0
+ Apache 2.0
Kayman
Pyo
-
-
-
-
-
+ http://wiki.ros.org/robotis_op3_demo
+ http://emanual.robotis.com/docs/en/platform/op3/introduction/
+ https://github.com/ROBOTIS-GIT/ROBOTIS-OP3-Demo
+ https://github.com/ROBOTIS-GIT/ROBOTIS-OP3-Demo/issues
catkin
- ball_detector
- op3_demo
-
-
-
-
+ ball_detector
+ op3_demo
+