Compare commits
9 Commits
2e77bdbebb
...
main
Author | SHA1 | Date | |
---|---|---|---|
3aa0c6d6cd | |||
96b49d00a1 | |||
05a58052c0 | |||
4a2f19e7c2 | |||
32fdccc843 | |||
952a86368a | |||
07b6f782e3 | |||
e7b3aa9deb | |||
2c5ced569b |
@ -208,7 +208,6 @@ set(CMAKE_DEPEND_INFO_FILES
|
||||
"tutorial_pkg/CMakeFiles/std_msgs_generate_messages_lisp.dir/DependInfo.cmake"
|
||||
"tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_cpp.dir/DependInfo.cmake"
|
||||
"tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_eus.dir/DependInfo.cmake"
|
||||
"tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/DependInfo.cmake"
|
||||
"tutorial_pkg/CMakeFiles/roscpp_generate_messages_lisp.dir/DependInfo.cmake"
|
||||
"tutorial_pkg/CMakeFiles/geometry_msgs_generate_messages_nodejs.dir/DependInfo.cmake"
|
||||
"tutorial_pkg/CMakeFiles/roscpp_generate_messages_py.dir/DependInfo.cmake"
|
||||
@ -217,6 +216,8 @@ set(CMAKE_DEPEND_INFO_FILES
|
||||
"tutorial_pkg/CMakeFiles/geometry_msgs_generate_messages_eus.dir/DependInfo.cmake"
|
||||
"tutorial_pkg/CMakeFiles/roscpp_generate_messages_cpp.dir/DependInfo.cmake"
|
||||
"tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_nodejs.dir/DependInfo.cmake"
|
||||
"tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/DependInfo.cmake"
|
||||
"tutorial_pkg/CMakeFiles/img_control_node.dir/DependInfo.cmake"
|
||||
"tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_py.dir/DependInfo.cmake"
|
||||
"tutorial_pkg/CMakeFiles/geometry_msgs_generate_messages_cpp.dir/DependInfo.cmake"
|
||||
"tutorial_pkg/CMakeFiles/geometry_msgs_generate_messages_lisp.dir/DependInfo.cmake"
|
||||
|
@ -408,6 +408,7 @@ clean: gtest/googlemock/gtest/CMakeFiles/gtest.dir/clean
|
||||
# Directory level rules for directory tutorial_pkg
|
||||
|
||||
# Convenience name for "all" pass in the directory.
|
||||
tutorial_pkg/all: tutorial_pkg/CMakeFiles/img_control_node.dir/all
|
||||
tutorial_pkg/all: tutorial_pkg/CMakeFiles/my_first_node.dir/all
|
||||
|
||||
.PHONY : tutorial_pkg/all
|
||||
@ -426,7 +427,6 @@ tutorial_pkg/clean: tutorial_pkg/CMakeFiles/std_srvs_generate_messages_cpp.dir/c
|
||||
tutorial_pkg/clean: tutorial_pkg/CMakeFiles/std_msgs_generate_messages_lisp.dir/clean
|
||||
tutorial_pkg/clean: tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_cpp.dir/clean
|
||||
tutorial_pkg/clean: tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_eus.dir/clean
|
||||
tutorial_pkg/clean: tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/clean
|
||||
tutorial_pkg/clean: tutorial_pkg/CMakeFiles/roscpp_generate_messages_lisp.dir/clean
|
||||
tutorial_pkg/clean: tutorial_pkg/CMakeFiles/geometry_msgs_generate_messages_nodejs.dir/clean
|
||||
tutorial_pkg/clean: tutorial_pkg/CMakeFiles/roscpp_generate_messages_py.dir/clean
|
||||
@ -435,6 +435,8 @@ tutorial_pkg/clean: tutorial_pkg/CMakeFiles/roscpp_generate_messages_eus.dir/cle
|
||||
tutorial_pkg/clean: tutorial_pkg/CMakeFiles/geometry_msgs_generate_messages_eus.dir/clean
|
||||
tutorial_pkg/clean: tutorial_pkg/CMakeFiles/roscpp_generate_messages_cpp.dir/clean
|
||||
tutorial_pkg/clean: tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_nodejs.dir/clean
|
||||
tutorial_pkg/clean: tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/clean
|
||||
tutorial_pkg/clean: tutorial_pkg/CMakeFiles/img_control_node.dir/clean
|
||||
tutorial_pkg/clean: tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_py.dir/clean
|
||||
tutorial_pkg/clean: tutorial_pkg/CMakeFiles/geometry_msgs_generate_messages_cpp.dir/clean
|
||||
tutorial_pkg/clean: tutorial_pkg/CMakeFiles/geometry_msgs_generate_messages_lisp.dir/clean
|
||||
@ -868,38 +870,6 @@ clean: tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_eus.dir/clean
|
||||
|
||||
.PHONY : clean
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for target tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir
|
||||
|
||||
# All Build rule for target.
|
||||
tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/all:
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build.make tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/depend
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build.make tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/husarion/ros_ws/build/CMakeFiles --progress-num= "Built target rosgraph_msgs_generate_messages_cpp"
|
||||
.PHONY : tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/rule: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/husarion/ros_ws/build/CMakeFiles 0
|
||||
$(MAKE) -f CMakeFiles/Makefile2 tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/husarion/ros_ws/build/CMakeFiles 0
|
||||
.PHONY : tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/rule
|
||||
|
||||
# Convenience name for target.
|
||||
rosgraph_msgs_generate_messages_cpp: tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/rule
|
||||
|
||||
.PHONY : rosgraph_msgs_generate_messages_cpp
|
||||
|
||||
# clean rule for target.
|
||||
tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/clean:
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build.make tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/clean
|
||||
.PHONY : tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/clean
|
||||
|
||||
# clean rule for target.
|
||||
clean: tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/clean
|
||||
|
||||
.PHONY : clean
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for target tutorial_pkg/CMakeFiles/roscpp_generate_messages_lisp.dir
|
||||
|
||||
@ -1156,6 +1126,75 @@ clean: tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_nodejs.dir/clean
|
||||
|
||||
.PHONY : clean
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for target tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir
|
||||
|
||||
# All Build rule for target.
|
||||
tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/all:
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build.make tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/depend
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build.make tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/husarion/ros_ws/build/CMakeFiles --progress-num= "Built target rosgraph_msgs_generate_messages_cpp"
|
||||
.PHONY : tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/rule: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/husarion/ros_ws/build/CMakeFiles 0
|
||||
$(MAKE) -f CMakeFiles/Makefile2 tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/husarion/ros_ws/build/CMakeFiles 0
|
||||
.PHONY : tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/rule
|
||||
|
||||
# Convenience name for target.
|
||||
rosgraph_msgs_generate_messages_cpp: tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/rule
|
||||
|
||||
.PHONY : rosgraph_msgs_generate_messages_cpp
|
||||
|
||||
# clean rule for target.
|
||||
tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/clean:
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build.make tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/clean
|
||||
.PHONY : tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/clean
|
||||
|
||||
# clean rule for target.
|
||||
clean: tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/clean
|
||||
|
||||
.PHONY : clean
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for target tutorial_pkg/CMakeFiles/img_control_node.dir
|
||||
|
||||
# All Build rule for target.
|
||||
tutorial_pkg/CMakeFiles/img_control_node.dir/all:
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/img_control_node.dir/build.make tutorial_pkg/CMakeFiles/img_control_node.dir/depend
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/img_control_node.dir/build.make tutorial_pkg/CMakeFiles/img_control_node.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/husarion/ros_ws/build/CMakeFiles --progress-num=12,13 "Built target img_control_node"
|
||||
.PHONY : tutorial_pkg/CMakeFiles/img_control_node.dir/all
|
||||
|
||||
# Include target in all.
|
||||
all: tutorial_pkg/CMakeFiles/img_control_node.dir/all
|
||||
|
||||
.PHONY : all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
tutorial_pkg/CMakeFiles/img_control_node.dir/rule: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/husarion/ros_ws/build/CMakeFiles 2
|
||||
$(MAKE) -f CMakeFiles/Makefile2 tutorial_pkg/CMakeFiles/img_control_node.dir/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/husarion/ros_ws/build/CMakeFiles 0
|
||||
.PHONY : tutorial_pkg/CMakeFiles/img_control_node.dir/rule
|
||||
|
||||
# Convenience name for target.
|
||||
img_control_node: tutorial_pkg/CMakeFiles/img_control_node.dir/rule
|
||||
|
||||
.PHONY : img_control_node
|
||||
|
||||
# clean rule for target.
|
||||
tutorial_pkg/CMakeFiles/img_control_node.dir/clean:
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/img_control_node.dir/build.make tutorial_pkg/CMakeFiles/img_control_node.dir/clean
|
||||
.PHONY : tutorial_pkg/CMakeFiles/img_control_node.dir/clean
|
||||
|
||||
# clean rule for target.
|
||||
clean: tutorial_pkg/CMakeFiles/img_control_node.dir/clean
|
||||
|
||||
.PHONY : clean
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for target tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_py.dir
|
||||
|
||||
@ -1419,7 +1458,7 @@ clean: tutorial_pkg/CMakeFiles/std_srvs_generate_messages_py.dir/clean
|
||||
tutorial_pkg/CMakeFiles/my_first_node.dir/all:
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/my_first_node.dir/build.make tutorial_pkg/CMakeFiles/my_first_node.dir/depend
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/my_first_node.dir/build.make tutorial_pkg/CMakeFiles/my_first_node.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/husarion/ros_ws/build/CMakeFiles --progress-num=12,13 "Built target my_first_node"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/husarion/ros_ws/build/CMakeFiles --progress-num=14,15 "Built target my_first_node"
|
||||
.PHONY : tutorial_pkg/CMakeFiles/my_first_node.dir/all
|
||||
|
||||
# Include target in all.
|
||||
|
@ -36,6 +36,7 @@
|
||||
/home/husarion/ros_ws/build/gtest/googlemock/gtest/CMakeFiles/gtest.dir
|
||||
/home/husarion/ros_ws/build/gtest/googlemock/gtest/CMakeFiles/rebuild_cache.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/install/strip.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/install.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/std_msgs_generate_messages_py.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/std_srvs_generate_messages_lisp.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/std_msgs_generate_messages_nodejs.dir
|
||||
@ -46,11 +47,9 @@
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_lisp.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_eus.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/std_srvs_generate_messages_cpp.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/install.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/std_msgs_generate_messages_lisp.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_cpp.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_eus.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/roscpp_generate_messages_lisp.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/geometry_msgs_generate_messages_nodejs.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/edit_cache.dir
|
||||
@ -62,6 +61,8 @@
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/roscpp_generate_messages_cpp.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/rebuild_cache.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_nodejs.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/img_control_node.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_py.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/geometry_msgs_generate_messages_cpp.dir
|
||||
/home/husarion/ros_ws/build/tutorial_pkg/CMakeFiles/geometry_msgs_generate_messages_lisp.dir
|
||||
|
@ -1 +1 @@
|
||||
2
|
||||
4
|
||||
|
@ -453,19 +453,6 @@ sensor_msgs_generate_messages_eus/fast:
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_eus.dir/build.make tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_eus.dir/build
|
||||
.PHONY : sensor_msgs_generate_messages_eus/fast
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named rosgraph_msgs_generate_messages_cpp
|
||||
|
||||
# Build rule for target.
|
||||
rosgraph_msgs_generate_messages_cpp: cmake_check_build_system
|
||||
$(MAKE) -f CMakeFiles/Makefile2 rosgraph_msgs_generate_messages_cpp
|
||||
.PHONY : rosgraph_msgs_generate_messages_cpp
|
||||
|
||||
# fast build rule for target.
|
||||
rosgraph_msgs_generate_messages_cpp/fast:
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build.make tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build
|
||||
.PHONY : rosgraph_msgs_generate_messages_cpp/fast
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named roscpp_generate_messages_lisp
|
||||
|
||||
@ -570,6 +557,32 @@ sensor_msgs_generate_messages_nodejs/fast:
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_nodejs.dir/build.make tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_nodejs.dir/build
|
||||
.PHONY : sensor_msgs_generate_messages_nodejs/fast
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named rosgraph_msgs_generate_messages_cpp
|
||||
|
||||
# Build rule for target.
|
||||
rosgraph_msgs_generate_messages_cpp: cmake_check_build_system
|
||||
$(MAKE) -f CMakeFiles/Makefile2 rosgraph_msgs_generate_messages_cpp
|
||||
.PHONY : rosgraph_msgs_generate_messages_cpp
|
||||
|
||||
# fast build rule for target.
|
||||
rosgraph_msgs_generate_messages_cpp/fast:
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build.make tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build
|
||||
.PHONY : rosgraph_msgs_generate_messages_cpp/fast
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named img_control_node
|
||||
|
||||
# Build rule for target.
|
||||
img_control_node: cmake_check_build_system
|
||||
$(MAKE) -f CMakeFiles/Makefile2 img_control_node
|
||||
.PHONY : img_control_node
|
||||
|
||||
# fast build rule for target.
|
||||
img_control_node/fast:
|
||||
$(MAKE) -f tutorial_pkg/CMakeFiles/img_control_node.dir/build.make tutorial_pkg/CMakeFiles/img_control_node.dir/build
|
||||
.PHONY : img_control_node/fast
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named sensor_msgs_generate_messages_py
|
||||
|
||||
@ -722,7 +735,6 @@ help:
|
||||
@echo "... std_msgs_generate_messages_lisp"
|
||||
@echo "... sensor_msgs_generate_messages_cpp"
|
||||
@echo "... sensor_msgs_generate_messages_eus"
|
||||
@echo "... rosgraph_msgs_generate_messages_cpp"
|
||||
@echo "... roscpp_generate_messages_lisp"
|
||||
@echo "... geometry_msgs_generate_messages_nodejs"
|
||||
@echo "... roscpp_generate_messages_py"
|
||||
@ -731,6 +743,8 @@ help:
|
||||
@echo "... geometry_msgs_generate_messages_eus"
|
||||
@echo "... roscpp_generate_messages_cpp"
|
||||
@echo "... sensor_msgs_generate_messages_nodejs"
|
||||
@echo "... rosgraph_msgs_generate_messages_cpp"
|
||||
@echo "... img_control_node"
|
||||
@echo "... sensor_msgs_generate_messages_py"
|
||||
@echo "... geometry_msgs_generate_messages_cpp"
|
||||
@echo "... geometry_msgs_generate_messages_lisp"
|
||||
|
@ -268,7 +268,7 @@ if __name__ == '__main__':
|
||||
|
||||
if not args.local:
|
||||
# environment at generation time
|
||||
CMAKE_PREFIX_PATH = r'/home/husarion/husarion_ws/devel;/opt/ros/melodic'.split(';')
|
||||
CMAKE_PREFIX_PATH = r'/home/husarion/ros_ws/devel;/home/husarion/husarion_ws/devel;/opt/ros/melodic'.split(';')
|
||||
else:
|
||||
# don't consider any other prefix path than this one
|
||||
CMAKE_PREFIX_PATH = []
|
||||
|
@ -12,7 +12,7 @@ try:
|
||||
from catkin.environment_cache import generate_environment_script
|
||||
except ImportError:
|
||||
# search for catkin package in all workspaces and prepend to path
|
||||
for workspace in '/home/husarion/husarion_ws/devel;/opt/ros/melodic'.split(';'):
|
||||
for workspace in '/home/husarion/ros_ws/devel;/home/husarion/husarion_ws/devel;/opt/ros/melodic'.split(';'):
|
||||
python_path = os.path.join(workspace, 'lib/python2.7/dist-packages')
|
||||
if os.path.isdir(os.path.join(python_path, 'catkin')):
|
||||
sys.path.insert(0, python_path)
|
||||
|
@ -268,7 +268,7 @@ if __name__ == '__main__':
|
||||
|
||||
if not args.local:
|
||||
# environment at generation time
|
||||
CMAKE_PREFIX_PATH = r'/home/husarion/husarion_ws/devel;/opt/ros/melodic'.split(';')
|
||||
CMAKE_PREFIX_PATH = r'/home/husarion/ros_ws/devel;/home/husarion/husarion_ws/devel;/opt/ros/melodic'.split(';')
|
||||
else:
|
||||
# don't consider any other prefix path than this one
|
||||
CMAKE_PREFIX_PATH = []
|
||||
|
@ -2,4 +2,4 @@
|
||||
source_root_dir = '/home/husarion/ros_ws/src'
|
||||
whitelisted_packages = ''.split(';') if '' != '' else []
|
||||
blacklisted_packages = ''.split(';') if '' != '' else []
|
||||
underlay_workspaces = '/home/husarion/husarion_ws/devel;/opt/ros/melodic'.split(';') if '/home/husarion/husarion_ws/devel;/opt/ros/melodic' != '' else []
|
||||
underlay_workspaces = '/home/husarion/ros_ws/devel;/home/husarion/husarion_ws/devel;/opt/ros/melodic'.split(';') if '/home/husarion/ros_ws/devel;/home/husarion/husarion_ws/devel;/opt/ros/melodic' != '' else []
|
||||
|
@ -7,8 +7,4 @@
|
||||
# new environment variables
|
||||
|
||||
# modified environment variables
|
||||
export CMAKE_PREFIX_PATH="/home/husarion/ros_ws/devel:$CMAKE_PREFIX_PATH"
|
||||
export LD_LIBRARY_PATH="/home/husarion/ros_ws/devel/lib:$LD_LIBRARY_PATH"
|
||||
export PKG_CONFIG_PATH="/home/husarion/ros_ws/devel/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
export PWD='/home/husarion/ros_ws/build'
|
||||
export ROS_PACKAGE_PATH="/home/husarion/ros_ws/src:$ROS_PACKAGE_PATH"
|
||||
export PWD='/home/husarion/ros_ws/build'
|
@ -268,7 +268,7 @@ if __name__ == '__main__':
|
||||
|
||||
if not args.local:
|
||||
# environment at generation time
|
||||
CMAKE_PREFIX_PATH = r'/home/husarion/husarion_ws/devel;/opt/ros/melodic'.split(';')
|
||||
CMAKE_PREFIX_PATH = r'/home/husarion/ros_ws/devel;/home/husarion/husarion_ws/devel;/opt/ros/melodic'.split(';')
|
||||
else:
|
||||
# don't consider any other prefix path than this one
|
||||
CMAKE_PREFIX_PATH = []
|
||||
|
@ -1,3 +1,3 @@
|
||||
CMAKE_PROGRESS_1 = 12
|
||||
CMAKE_PROGRESS_2 = 13
|
||||
CMAKE_PROGRESS_1 = 14
|
||||
CMAKE_PROGRESS_2 = 15
|
||||
|
||||
|
@ -1 +1 @@
|
||||
2
|
||||
4
|
||||
|
@ -362,21 +362,6 @@ sensor_msgs_generate_messages_eus/fast:
|
||||
cd /home/husarion/ros_ws/build && $(MAKE) -f tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_eus.dir/build.make tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_eus.dir/build
|
||||
.PHONY : sensor_msgs_generate_messages_eus/fast
|
||||
|
||||
# Convenience name for target.
|
||||
tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/rule:
|
||||
cd /home/husarion/ros_ws/build && $(MAKE) -f CMakeFiles/Makefile2 tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/rule
|
||||
.PHONY : tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/rule
|
||||
|
||||
# Convenience name for target.
|
||||
rosgraph_msgs_generate_messages_cpp: tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/rule
|
||||
|
||||
.PHONY : rosgraph_msgs_generate_messages_cpp
|
||||
|
||||
# fast build rule for target.
|
||||
rosgraph_msgs_generate_messages_cpp/fast:
|
||||
cd /home/husarion/ros_ws/build && $(MAKE) -f tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build.make tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build
|
||||
.PHONY : rosgraph_msgs_generate_messages_cpp/fast
|
||||
|
||||
# Convenience name for target.
|
||||
tutorial_pkg/CMakeFiles/roscpp_generate_messages_lisp.dir/rule:
|
||||
cd /home/husarion/ros_ws/build && $(MAKE) -f CMakeFiles/Makefile2 tutorial_pkg/CMakeFiles/roscpp_generate_messages_lisp.dir/rule
|
||||
@ -497,6 +482,36 @@ sensor_msgs_generate_messages_nodejs/fast:
|
||||
cd /home/husarion/ros_ws/build && $(MAKE) -f tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_nodejs.dir/build.make tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_nodejs.dir/build
|
||||
.PHONY : sensor_msgs_generate_messages_nodejs/fast
|
||||
|
||||
# Convenience name for target.
|
||||
tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/rule:
|
||||
cd /home/husarion/ros_ws/build && $(MAKE) -f CMakeFiles/Makefile2 tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/rule
|
||||
.PHONY : tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/rule
|
||||
|
||||
# Convenience name for target.
|
||||
rosgraph_msgs_generate_messages_cpp: tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/rule
|
||||
|
||||
.PHONY : rosgraph_msgs_generate_messages_cpp
|
||||
|
||||
# fast build rule for target.
|
||||
rosgraph_msgs_generate_messages_cpp/fast:
|
||||
cd /home/husarion/ros_ws/build && $(MAKE) -f tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build.make tutorial_pkg/CMakeFiles/rosgraph_msgs_generate_messages_cpp.dir/build
|
||||
.PHONY : rosgraph_msgs_generate_messages_cpp/fast
|
||||
|
||||
# Convenience name for target.
|
||||
tutorial_pkg/CMakeFiles/img_control_node.dir/rule:
|
||||
cd /home/husarion/ros_ws/build && $(MAKE) -f CMakeFiles/Makefile2 tutorial_pkg/CMakeFiles/img_control_node.dir/rule
|
||||
.PHONY : tutorial_pkg/CMakeFiles/img_control_node.dir/rule
|
||||
|
||||
# Convenience name for target.
|
||||
img_control_node: tutorial_pkg/CMakeFiles/img_control_node.dir/rule
|
||||
|
||||
.PHONY : img_control_node
|
||||
|
||||
# fast build rule for target.
|
||||
img_control_node/fast:
|
||||
cd /home/husarion/ros_ws/build && $(MAKE) -f tutorial_pkg/CMakeFiles/img_control_node.dir/build.make tutorial_pkg/CMakeFiles/img_control_node.dir/build
|
||||
.PHONY : img_control_node/fast
|
||||
|
||||
# Convenience name for target.
|
||||
tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_py.dir/rule:
|
||||
cd /home/husarion/ros_ws/build && $(MAKE) -f CMakeFiles/Makefile2 tutorial_pkg/CMakeFiles/sensor_msgs_generate_messages_py.dir/rule
|
||||
@ -632,6 +647,33 @@ my_first_node/fast:
|
||||
cd /home/husarion/ros_ws/build && $(MAKE) -f tutorial_pkg/CMakeFiles/my_first_node.dir/build.make tutorial_pkg/CMakeFiles/my_first_node.dir/build
|
||||
.PHONY : my_first_node/fast
|
||||
|
||||
src/img_control.o: src/img_control.cpp.o
|
||||
|
||||
.PHONY : src/img_control.o
|
||||
|
||||
# target to build an object file
|
||||
src/img_control.cpp.o:
|
||||
cd /home/husarion/ros_ws/build && $(MAKE) -f tutorial_pkg/CMakeFiles/img_control_node.dir/build.make tutorial_pkg/CMakeFiles/img_control_node.dir/src/img_control.cpp.o
|
||||
.PHONY : src/img_control.cpp.o
|
||||
|
||||
src/img_control.i: src/img_control.cpp.i
|
||||
|
||||
.PHONY : src/img_control.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/img_control.cpp.i:
|
||||
cd /home/husarion/ros_ws/build && $(MAKE) -f tutorial_pkg/CMakeFiles/img_control_node.dir/build.make tutorial_pkg/CMakeFiles/img_control_node.dir/src/img_control.cpp.i
|
||||
.PHONY : src/img_control.cpp.i
|
||||
|
||||
src/img_control.s: src/img_control.cpp.s
|
||||
|
||||
.PHONY : src/img_control.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/img_control.cpp.s:
|
||||
cd /home/husarion/ros_ws/build && $(MAKE) -f tutorial_pkg/CMakeFiles/img_control_node.dir/build.make tutorial_pkg/CMakeFiles/img_control_node.dir/src/img_control.cpp.s
|
||||
.PHONY : src/img_control.cpp.s
|
||||
|
||||
src/my_first_node.o: src/my_first_node.cpp.o
|
||||
|
||||
.PHONY : src/my_first_node.o
|
||||
@ -666,6 +708,7 @@ help:
|
||||
@echo "... clean"
|
||||
@echo "... depend"
|
||||
@echo "... install/strip"
|
||||
@echo "... install"
|
||||
@echo "... std_msgs_generate_messages_py"
|
||||
@echo "... std_srvs_generate_messages_lisp"
|
||||
@echo "... std_msgs_generate_messages_nodejs"
|
||||
@ -676,11 +719,9 @@ help:
|
||||
@echo "... rosgraph_msgs_generate_messages_lisp"
|
||||
@echo "... rosgraph_msgs_generate_messages_eus"
|
||||
@echo "... std_srvs_generate_messages_cpp"
|
||||
@echo "... install"
|
||||
@echo "... std_msgs_generate_messages_lisp"
|
||||
@echo "... sensor_msgs_generate_messages_cpp"
|
||||
@echo "... sensor_msgs_generate_messages_eus"
|
||||
@echo "... rosgraph_msgs_generate_messages_cpp"
|
||||
@echo "... roscpp_generate_messages_lisp"
|
||||
@echo "... geometry_msgs_generate_messages_nodejs"
|
||||
@echo "... edit_cache"
|
||||
@ -692,6 +733,8 @@ help:
|
||||
@echo "... roscpp_generate_messages_cpp"
|
||||
@echo "... rebuild_cache"
|
||||
@echo "... sensor_msgs_generate_messages_nodejs"
|
||||
@echo "... rosgraph_msgs_generate_messages_cpp"
|
||||
@echo "... img_control_node"
|
||||
@echo "... sensor_msgs_generate_messages_py"
|
||||
@echo "... geometry_msgs_generate_messages_cpp"
|
||||
@echo "... geometry_msgs_generate_messages_lisp"
|
||||
@ -703,6 +746,9 @@ help:
|
||||
@echo "... std_srvs_generate_messages_nodejs"
|
||||
@echo "... std_srvs_generate_messages_py"
|
||||
@echo "... my_first_node"
|
||||
@echo "... src/img_control.o"
|
||||
@echo "... src/img_control.i"
|
||||
@echo "... src/img_control.s"
|
||||
@echo "... src/my_first_node.o"
|
||||
@echo "... src/my_first_node.i"
|
||||
@echo "... src/my_first_node.s"
|
||||
|
@ -154,7 +154,7 @@ foreach(library ${libraries})
|
||||
set(lib_path "")
|
||||
set(lib "${library}-NOTFOUND")
|
||||
# since the path where the library is found is returned we have to iterate over the paths manually
|
||||
foreach(path /home/husarion/ros_ws/install/lib;/home/husarion/husarion_ws/devel/lib;/opt/ros/melodic/lib)
|
||||
foreach(path /home/husarion/ros_ws/install/lib;/home/husarion/ros_ws/devel/lib;/home/husarion/husarion_ws/devel/lib;/opt/ros/melodic/lib)
|
||||
find_library(lib ${library}
|
||||
PATHS ${path}
|
||||
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
|
||||
|
@ -268,7 +268,7 @@ if __name__ == '__main__':
|
||||
|
||||
if not args.local:
|
||||
# environment at generation time
|
||||
CMAKE_PREFIX_PATH = r'/home/husarion/husarion_ws/devel;/opt/ros/melodic'.split(';')
|
||||
CMAKE_PREFIX_PATH = r'/home/husarion/ros_ws/devel;/home/husarion/husarion_ws/devel;/opt/ros/melodic'.split(';')
|
||||
else:
|
||||
# don't consider any other prefix path than this one
|
||||
CMAKE_PREFIX_PATH = []
|
||||
|
BIN
devel/lib/tutorial_pkg/img_control_node
Executable file
BIN
devel/lib/tutorial_pkg/img_control_node
Executable file
Binary file not shown.
@ -154,7 +154,7 @@ foreach(library ${libraries})
|
||||
set(lib_path "")
|
||||
set(lib "${library}-NOTFOUND")
|
||||
# since the path where the library is found is returned we have to iterate over the paths manually
|
||||
foreach(path /home/husarion/ros_ws/devel/lib;/home/husarion/husarion_ws/devel/lib;/opt/ros/melodic/lib)
|
||||
foreach(path /home/husarion/ros_ws/devel/lib;/home/husarion/ros_ws/devel/lib;/home/husarion/husarion_ws/devel/lib;/opt/ros/melodic/lib)
|
||||
find_library(lib ${library}
|
||||
PATHS ${path}
|
||||
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
|
||||
|
@ -14,9 +14,26 @@ catkin_package(
|
||||
CATKIN_DEPENDS
|
||||
)
|
||||
|
||||
include_directories(${catkin_INCLUDE_DIRS})
|
||||
find_package( OpenCV REQUIRED )
|
||||
|
||||
include_directories(
|
||||
${catkin_INCLUDE_DIRS}
|
||||
${OpenCV_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
add_executable(my_first_node src/my_first_node.cpp)
|
||||
|
||||
target_link_libraries(my_first_node
|
||||
${catkin_LIBRARIES})
|
||||
${catkin_LIBRARIES})
|
||||
|
||||
add_executable(img_control_node src/img_control.cpp)
|
||||
|
||||
target_link_libraries(img_control_node
|
||||
${catkin_LIBRARIES}
|
||||
)
|
||||
|
||||
add_executable(follow_img_node src/follow_img.cpp)
|
||||
target_link_libraries(follow_img_node
|
||||
${catkin_LIBRARIES}
|
||||
${OpenCV_LIBRARIES}
|
||||
)
|
20
src/tutorial_pkg/launch/follow_img.launch
Normal file
20
src/tutorial_pkg/launch/follow_img.launch
Normal file
@ -0,0 +1,20 @@
|
||||
<launch>
|
||||
<!-- Node for following image -->
|
||||
<node name="tutorial_pkg" pkg="tutorial_pkg" type="follow_img_node" output="screen">
|
||||
<param name="object_to_follow" value="3" />
|
||||
<param name="camera_width" value="640" />
|
||||
<param name="min_ang_vel" value="0.15" />
|
||||
<param name="max_ang_vel" value="0.5" />
|
||||
<param name="angular_gain" value="0.002" />
|
||||
<param name="desired_dist" value="0.6" />
|
||||
<param name="min_lin_vel" value="0.05" />
|
||||
<param name="max_lin_vel" value="0.4" />
|
||||
<param name="linear_gain" value="0.4" />
|
||||
</node>
|
||||
|
||||
<!-- Node for teleoperation -->
|
||||
<node name="teleop_twist_keyboard" pkg="teleop_twist_keyboard" type="teleop_twist_keyboard.py" output="screen"/>
|
||||
|
||||
<!-- Node for camera driver -->
|
||||
<include file="$(find astra_camera)/launch/astra.launch"/>
|
||||
</launch>
|
12
src/tutorial_pkg/launch/tutorial_1.launch
Normal file
12
src/tutorial_pkg/launch/tutorial_1.launch
Normal file
@ -0,0 +1,12 @@
|
||||
<launch>
|
||||
|
||||
<arg name="use_gazebo" default="false"/>
|
||||
|
||||
<include unless="$(arg use_gazebo)" file="$(find astra_camera)/launch/astra.launch"/>
|
||||
<include if="$(arg use_gazebo)" file="$(find rosbot_bringup)/launch/rosbot_tutorial.launch"/>
|
||||
|
||||
<node pkg="image_view" type="image_view" name="image_view">
|
||||
<remap from="/image" to="/camera/rgb/image_raw"/>
|
||||
</node>
|
||||
|
||||
</launch>
|
@ -10,13 +10,29 @@ find_package(catkin REQUIRED COMPONENTS
|
||||
std_srvs
|
||||
)
|
||||
|
||||
find_package( OpenCV REQUIRED )
|
||||
|
||||
catkin_package(
|
||||
CATKIN_DEPENDS
|
||||
)
|
||||
|
||||
include_directories(${catkin_INCLUDE_DIRS})
|
||||
|
||||
include_directories(
|
||||
${catkin_INCLUDE_DIRS}
|
||||
${OpenCV_INCLUDE_DIRS}
|
||||
)
|
||||
add_executable(my_first_node src/my_first_node.cpp)
|
||||
|
||||
target_link_libraries(my_first_node
|
||||
${catkin_LIBRARIES})
|
||||
${catkin_LIBRARIES})
|
||||
|
||||
add_executable(img_control_node src/img_control.cpp)
|
||||
|
||||
target_link_libraries(img_control_node
|
||||
${catkin_LIBRARIES}
|
||||
)
|
||||
|
||||
add_executable(follow_img_node src/follow_img.cpp)
|
||||
target_link_libraries(follow_img_node
|
||||
${catkin_LIBRARIES}
|
||||
${OpenCV_LIBRARIES}
|
||||
)
|
106
src/tutorial_pkg/src/follow_img.cpp
Normal file
106
src/tutorial_pkg/src/follow_img.cpp
Normal file
@ -0,0 +1,106 @@
|
||||
#include <ros/ros.h>
|
||||
#include <std_msgs/Float32MultiArray.h>
|
||||
#include <geometry_msgs/Twist.h>
|
||||
#include <opencv2/opencv.hpp>
|
||||
#include <sensor_msgs/Range.h>
|
||||
|
||||
#define OBJECT_TO_FOLLOW 3
|
||||
#define CAMERA_WIDTH 640 // left 0, right 640
|
||||
|
||||
#define MIN_ANG_VEL 0.15f
|
||||
#define MAX_ANG_VEL 0.5f
|
||||
#define ANGULAR_GAIN 2e-3 // 0.002 rad/s for each pixel of difference
|
||||
|
||||
#define DESIRED_DIST 0.6f
|
||||
#define MIN_LIN_VEL 0.05f
|
||||
#define MAX_LIN_VEL 0.4f
|
||||
#define LINEAR_GAIN 0.4f // 0.4 m/s for each meter of difference
|
||||
|
||||
|
||||
ros::Publisher vel_pub;
|
||||
geometry_msgs::Twist vel_msg;
|
||||
|
||||
float distFL = 0;
|
||||
float distFR = 0;
|
||||
|
||||
void distFL_callback(const sensor_msgs::Range &range)
|
||||
{
|
||||
distFL = range.range;
|
||||
}
|
||||
|
||||
void distFR_callback(const sensor_msgs::Range &range)
|
||||
{
|
||||
distFR = range.range;
|
||||
}
|
||||
|
||||
void objectCallback(const std_msgs::Float32MultiArrayPtr &object)
|
||||
{
|
||||
int obj_x_pos;
|
||||
float ang_vel;
|
||||
float avg_dist;
|
||||
float x_vel;
|
||||
|
||||
// Reset linear and angular speed value
|
||||
vel_msg.linear.x = 0;
|
||||
vel_msg.angular.z = 0;
|
||||
|
||||
if (object->data.size() > 0){
|
||||
int id = object->data[0];
|
||||
float objectWidth = object->data[1];
|
||||
float objectHeight = object->data[2];
|
||||
|
||||
cv::Mat cvHomography(3, 3, CV_32F);
|
||||
std::vector<cv::Point2f> inPts, outPts;
|
||||
switch (id)
|
||||
{
|
||||
case OBJECT_TO_FOLLOW:
|
||||
|
||||
// Matrix completion
|
||||
for(int i=0; i<9; i++){
|
||||
cvHomography.at<float>(i%3, i/3) = object->data[i+3];
|
||||
}
|
||||
|
||||
// Save corners to vector
|
||||
inPts.push_back(cv::Point2f(0, 0));
|
||||
inPts.push_back(cv::Point2f(objectWidth, 0));
|
||||
inPts.push_back(cv::Point2f(0, objectHeight));
|
||||
inPts.push_back(cv::Point2f(objectWidth, objectHeight));
|
||||
cv::perspectiveTransform(inPts, outPts, cvHomography);
|
||||
|
||||
obj_x_pos = (outPts.at(0).x + outPts.at(1).x + outPts.at(2).x + outPts.at(3).x) / 4;
|
||||
ang_vel = ANGULAR_GAIN*(CAMERA_WIDTH/2 - obj_x_pos);
|
||||
|
||||
avg_dist = (distFL + distFR) / 2.0;
|
||||
x_vel = LINEAR_GAIN*(avg_dist - DESIRED_DIST);
|
||||
|
||||
// Set angular speed
|
||||
if(ang_vel <= -MIN_ANG_VEL || ang_vel >= MIN_ANG_VEL){
|
||||
vel_msg.angular.z = std::max(-MAX_ANG_VEL, std::min(ang_vel, MAX_ANG_VEL));
|
||||
}
|
||||
// Set linear speed
|
||||
else if(x_vel <= -MIN_LIN_VEL || x_vel >= MIN_LIN_VEL){
|
||||
vel_msg.linear.x = std::max(-MAX_LIN_VEL, std::min(x_vel, MAX_LIN_VEL));
|
||||
}
|
||||
ROS_INFO("id: %d\t ang_vel: %f\t x_vel: %f", id, vel_msg.angular.z, x_vel);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
vel_pub.publish(vel_msg);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
ros::init(argc, argv, "follow_obj");
|
||||
ros::NodeHandle n("~");
|
||||
ros::Subscriber sub = n.subscribe("/objects", 1, objectCallback);
|
||||
ros::Subscriber distL_sub = n.subscribe("/range/fl", 1, distFL_callback);
|
||||
ros::Subscriber distR_sub = n.subscribe("/range/fr", 1, distFR_callback);
|
||||
ros::Rate loop_rate(30);
|
||||
vel_pub = n.advertise<geometry_msgs::Twist>("/cmd_vel", 1);
|
||||
while (ros::ok())
|
||||
{
|
||||
ros::spinOnce();
|
||||
loop_rate.sleep();
|
||||
}
|
||||
}
|
56
src/tutorial_pkg/src/img_control.cpp
Normal file
56
src/tutorial_pkg/src/img_control.cpp
Normal file
@ -0,0 +1,56 @@
|
||||
#include <ros/ros.h>
|
||||
#include <std_msgs/Float32MultiArray.h>
|
||||
#include <geometry_msgs/Twist.h>
|
||||
|
||||
// Set value according to your image number in your img_data folder.
|
||||
#define ARROW_RIGHT 4
|
||||
#define ARROW_UP 5
|
||||
#define ARROW_LEFT 6
|
||||
|
||||
ros::Publisher vel_pub;
|
||||
geometry_msgs::Twist vel_msg;
|
||||
|
||||
void objectCallback(const std_msgs::Float32MultiArrayPtr &object)
|
||||
{
|
||||
if (object->data.size() > 0){
|
||||
int id = object->data[0];
|
||||
|
||||
switch (id){
|
||||
case ARROW_RIGHT:
|
||||
vel_msg.linear.x = 0;
|
||||
vel_msg.angular.z = -1;
|
||||
break;
|
||||
case ARROW_UP:
|
||||
vel_msg.linear.x = 0.5;
|
||||
vel_msg.angular.z = 0;
|
||||
break;
|
||||
case ARROW_LEFT:
|
||||
vel_msg.linear.x = 0;
|
||||
vel_msg.angular.z = 1;
|
||||
break;
|
||||
default: // other object
|
||||
vel_msg.linear.x = 0;
|
||||
vel_msg.angular.z = 0;
|
||||
}
|
||||
}
|
||||
else{
|
||||
vel_msg.linear.x = 0;
|
||||
vel_msg.angular.z = 0;
|
||||
}
|
||||
|
||||
vel_pub.publish(vel_msg);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
ros::init(argc, argv, "img_control");
|
||||
ros::NodeHandle n("~");
|
||||
ros::Rate loop_rate(30);
|
||||
ros::Subscriber sub = n.subscribe("/objects", 1, objectCallback);
|
||||
vel_pub = n.advertise<geometry_msgs::Twist>("/cmd_vel", 1);
|
||||
while (ros::ok())
|
||||
{
|
||||
ros::spinOnce();
|
||||
loop_rate.sleep();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user