From: Walter Fetter Lages Date: Sun, 29 Aug 2021 08:49:25 +0000 (-0300) Subject: Port q2d_description to Galactic. X-Git-Url: http://git.ece.ufrgs.br/?a=commitdiff_plain;h=d733e86b0a3e7ab68d3df83304b858acef237a20;p=q2d.git Port q2d_description to Galactic. --- diff --git a/.gitignore b/.gitignore index c1edc29..f94baaa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ -devel/ -logs/ +install/ +log/ build/ bin/ lib/ @@ -49,3 +49,6 @@ qtcreator-* # Catkin custom files CATKIN_IGNORE + +# Colcon custom files +COLCON_IGNORE diff --git a/q2d_bringup/CMakeLists.txt b/q2d_bringup/CMakeLists.txt index dc48a74..a764fc3 100644 --- a/q2d_bringup/CMakeLists.txt +++ b/q2d_bringup/CMakeLists.txt @@ -1,205 +1,29 @@ -cmake_minimum_required(VERSION 3.0.2) +cmake_minimum_required(VERSION 3.8) project(q2d_bringup) -## Compile as C++11, supported in ROS Kinetic and newer -# add_compile_options(-std=c++11) +if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") + add_compile_options(-Wall -Wextra -Wpedantic) +endif() -## Find catkin macros and libraries -## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) -## is used, also find other catkin packages -find_package(catkin REQUIRED COMPONENTS - effort_controllers - joint_state_controller -) - -## System dependencies are found with CMake's conventions -# find_package(Boost REQUIRED COMPONENTS system) - - -## Uncomment this if the package has a setup.py. This macro ensures -## modules and global scripts declared therein get installed -## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html -# catkin_python_setup() - -################################################ -## Declare ROS messages, services and actions ## -################################################ - -## To declare and build messages, services or actions from within this -## package, follow these steps: -## * Let MSG_DEP_SET be the set of packages whose message types you use in -## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). -## * In the file package.xml: -## * add a build_depend tag for "message_generation" -## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET -## * If MSG_DEP_SET isn't empty the following dependency has been pulled in -## but can be declared for certainty nonetheless: -## * add a exec_depend tag for "message_runtime" -## * In this file (CMakeLists.txt): -## * add "message_generation" and every package in MSG_DEP_SET to -## find_package(catkin REQUIRED COMPONENTS ...) -## * add "message_runtime" and every package in MSG_DEP_SET to -## catkin_package(CATKIN_DEPENDS ...) -## * uncomment the add_*_files sections below as needed -## and list every .msg/.srv/.action file to be processed -## * uncomment the generate_messages entry below -## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) - -## Generate messages in the 'msg' folder -# add_message_files( -# FILES -# Message1.msg -# Message2.msg -# ) - -## Generate services in the 'srv' folder -# add_service_files( -# FILES -# Service1.srv -# Service2.srv -# ) +# find dependencies +find_package(ament_cmake REQUIRED) +find_package(effort_controllers REQUIRED) +find_package(joint_state_controller REQUIRED) -## Generate actions in the 'action' folder -# add_action_files( -# FILES -# Action1.action -# Action2.action -# ) - -## Generate added messages and services with any dependencies listed here -# generate_messages( -# DEPENDENCIES -# std_msgs # Or other packages containing msgs -# ) - -################################################ -## Declare ROS dynamic reconfigure parameters ## -################################################ - -## To declare and build dynamic reconfigure parameters within this -## package, follow these steps: -## * In the file package.xml: -## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" -## * In this file (CMakeLists.txt): -## * add "dynamic_reconfigure" to -## find_package(catkin REQUIRED COMPONENTS ...) -## * uncomment the "generate_dynamic_reconfigure_options" section below -## and list every .cfg file to be processed - -## Generate dynamic reconfigure parameters in the 'cfg' folder -# generate_dynamic_reconfigure_options( -# cfg/DynReconf1.cfg -# cfg/DynReconf2.cfg -# ) - -################################### -## catkin specific configuration ## -################################### -## The catkin_package macro generates cmake config files for your package -## Declare things to be passed to dependent projects -## INCLUDE_DIRS: uncomment this if your package contains header files -## LIBRARIES: libraries you create in this project that dependent projects also need -## CATKIN_DEPENDS: catkin_packages dependent projects also need -## DEPENDS: system dependencies of this project that dependent projects also need -catkin_package( -# INCLUDE_DIRS include -# LIBRARIES q2d_bringup -# CATKIN_DEPENDS effort_controllers joint_state_controller -# DEPENDS system_lib +install(DIRECTORY config launch scripts + DESTINATION share/${PROJECT_NAME} ) -########### -## Build ## -########### - -## Specify additional locations of header files -## Your package locations should be listed before other locations -include_directories( -# include - ${catkin_INCLUDE_DIRS} -) - -## Declare a C++ library -# add_library(${PROJECT_NAME} -# src/${PROJECT_NAME}/q2d_bringup.cpp -# ) - -## Add cmake target dependencies of the library -## as an example, code may need to be generated before libraries -## either from message generation or dynamic reconfigure -# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) - -## Declare a C++ executable -## With catkin_make all packages are built within a single CMake context -## The recommended prefix ensures that target names across packages don't collide -# add_executable(${PROJECT_NAME}_node src/q2d_bringup_node.cpp) - -## Rename C++ executable without prefix -## The above recommended prefix causes long target names, the following renames the -## target back to the shorter version for ease of user use -## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" -# set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") - -## Add cmake target dependencies of the executable -## same as for the library above -# add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) - -## Specify libraries to link a library or executable target against -# target_link_libraries(${PROJECT_NAME}_node -# ${catkin_LIBRARIES} -# ) - -############# -## Install ## -############# - -# all install targets should use catkin DESTINATION variables -# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html - -## Mark executable scripts (Python etc.) for installation -## in contrast to setup.py, you can choose the destination -# catkin_install_python(PROGRAMS -# scripts/my_python_script -# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} -# ) - -## Mark executables for installation -## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html -# install(TARGETS ${PROJECT_NAME}_node -# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} -# ) - -## Mark libraries for installation -## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html -# install(TARGETS ${PROJECT_NAME} -# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} -# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} -# RUNTIME DESTINATION ${CATKIN_GLOBAL_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} -# ) - -############# -## Testing ## -############# -## Add gtest based cpp test target and link libraries -# catkin_add_gtest(${PROJECT_NAME}-test test/test_q2d_bringup.cpp) -# if(TARGET ${PROJECT_NAME}-test) -# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) -# endif() +if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) + # the following line skips the linter which checks for copyrights + # uncomment the line when a copyright and license is not present in all source files + #set(ament_cmake_copyright_FOUND TRUE) + # the following line skips cpplint (only works in a git repo) + # uncomment the line when this package is not in a git repo + #set(ament_cmake_cpplint_FOUND TRUE) + ament_lint_auto_find_test_dependencies() +endif() -## Add folders to be run by python nosetests -# catkin_add_nosetests(test) +ament_package() diff --git a/q2d_bringup/config/bypass.yaml b/q2d_bringup/config/bypass.yaml index 8a606df..285561d 100644 --- a/q2d_bringup/config/bypass.yaml +++ b/q2d_bringup/config/bypass.yaml @@ -6,6 +6,6 @@ elbow_controller: type: effort_controllers/JointEffortController joint: elbow_active_joint -joint_states_publisher: - type: joint_state_controller/JointStateController +joint_state_broadcaster: + type: joint_state_broadcaster/JointStateBroadcaster publish_rate: 100 diff --git a/q2d_bringup/config/group_bypass.yaml b/q2d_bringup/config/group_bypass.yaml index 1e3f326..a777684 100644 --- a/q2d_bringup/config/group_bypass.yaml +++ b/q2d_bringup/config/group_bypass.yaml @@ -4,6 +4,6 @@ group_controller: - shoulder_active_joint - elbow_active_joint -joint_states_publisher: - type: joint_state_controller/JointStateController +joint_state_broadcaster: + type: joint_state_broadcaster/JointStateBroadcaster publish_rate: 100 diff --git a/q2d_bringup/config/group_pid.yaml b/q2d_bringup/config/group_pid.yaml index c6317f2..6fe21f8 100644 --- a/q2d_bringup/config/group_pid.yaml +++ b/q2d_bringup/config/group_pid.yaml @@ -6,6 +6,6 @@ group_controller: shoulder_active_joint/pid: {p: 2310, i: 4640, d: 0.299} elbow_active_joint/pid: {p: 339, i: 851, d: 0.351} -joint_states_publisher: - type: joint_state_controller/JointStateController +joint_state_broadcaster: + type: joint_state_broadcaster/JointStateBroadcaster publish_rate: 100 diff --git a/q2d_bringup/config/pid.yaml b/q2d_bringup/config/pid.yaml index 6ef84b6..1a3d087 100644 --- a/q2d_bringup/config/pid.yaml +++ b/q2d_bringup/config/pid.yaml @@ -8,6 +8,6 @@ elbow_controller: joint: elbow_active_joint pid: {p: 339, i: 851, d: 0.351} -joint_states_publisher: - type: joint_state_controller/JointStateController +joint_state_broadcaster: + type: joint_state_broadcaster/JointStateBroadcaster publish_rate: 100 diff --git a/q2d_bringup/launch/bypass.launch b/q2d_bringup/launch/bypass.launch deleted file mode 120000 index 0cda797..0000000 --- a/q2d_bringup/launch/bypass.launch +++ /dev/null @@ -1 +0,0 @@ -ijc.launch \ No newline at end of file diff --git a/q2d_bringup/launch/gazebo.launch b/q2d_bringup/launch/gazebo.launch deleted file mode 100644 index 7905c32..0000000 --- a/q2d_bringup/launch/gazebo.launch +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/q2d_bringup/launch/gazebo.launch.xml b/q2d_bringup/launch/gazebo.launch.xml new file mode 100644 index 0000000..b0b70ae --- /dev/null +++ b/q2d_bringup/launch/gazebo.launch.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/q2d_bringup/launch/group_bypass.launch b/q2d_bringup/launch/group_bypass.launch deleted file mode 120000 index 2f8f799..0000000 --- a/q2d_bringup/launch/group_bypass.launch +++ /dev/null @@ -1 +0,0 @@ -group_ijc.launch \ No newline at end of file diff --git a/q2d_bringup/launch/group_ijc.launch b/q2d_bringup/launch/group_ijc.launch deleted file mode 100644 index 89dd4cd..0000000 --- a/q2d_bringup/launch/group_ijc.launch +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/q2d_bringup/launch/group_ijc.launch.xml b/q2d_bringup/launch/group_ijc.launch.xml new file mode 100644 index 0000000..12baaa5 --- /dev/null +++ b/q2d_bringup/launch/group_ijc.launch.xml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/q2d_bringup/launch/group_pid.launch b/q2d_bringup/launch/group_pid.launch deleted file mode 120000 index 2f8f799..0000000 --- a/q2d_bringup/launch/group_pid.launch +++ /dev/null @@ -1 +0,0 @@ -group_ijc.launch \ No newline at end of file diff --git a/q2d_bringup/launch/ijc.launch b/q2d_bringup/launch/ijc.launch deleted file mode 100644 index b7cecda..0000000 --- a/q2d_bringup/launch/ijc.launch +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/q2d_bringup/launch/ijc.launch.xml b/q2d_bringup/launch/ijc.launch.xml new file mode 100644 index 0000000..0fc4a1a --- /dev/null +++ b/q2d_bringup/launch/ijc.launch.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/q2d_bringup/launch/pid.launch b/q2d_bringup/launch/pid.launch deleted file mode 120000 index 0cda797..0000000 --- a/q2d_bringup/launch/pid.launch +++ /dev/null @@ -1 +0,0 @@ -ijc.launch \ No newline at end of file diff --git a/q2d_bringup/package.xml b/q2d_bringup/package.xml index d371d39..df2dabd 100644 --- a/q2d_bringup/package.xml +++ b/q2d_bringup/package.xml @@ -1,66 +1,21 @@ - + + q2d_bringup - 2.1.0 + 3.0.0 The q2d_bringup package - - - - - Walter Fetter Lages - - - - - + Walter Fetter Lages GPLv3 + ament_cmake - - - - - + effort_controllers + joint_state_controller - - - - - Walter Fetter Lages + ament_lint_auto + ament_lint_common - - - - - - - - - - - - - - - - - - - - - - catkin - effort_controllers - joint_state_controller - effort_controllers - joint_state_controller - effort_controllers - joint_state_controller - - - - - + ament_cmake diff --git a/q2d_bringup/scripts/ijc_square.py b/q2d_bringup/scripts/ijc_square.py index 7aa27ac..38c2178 100755 --- a/q2d_bringup/scripts/ijc_square.py +++ b/q2d_bringup/scripts/ijc_square.py @@ -1,32 +1,39 @@ -#!/usr/bin/python +#!/usr/bin/python3 import sys -import time -import rospy +import rclpy +from rclpy.node import Node from std_msgs.msg import Float64 -def square(): - if len(sys.argv) < 5: - print 'square.py topic min max period' - exit() - ref=Float64() +class SquarePublisher(Node): - pub=rospy.Publisher(sys.argv[1],Float64,queue_size=1) - - rospy.init_node('square',anonymous=True) + def __init__(self): + super().__init__('square_publisher') + self.publisher_=self.create_publisher(Float64,sys.argv[1],1) + timer_period=float(sys.argv[4]) + self.timer=self.create_timer(timer_period,self.timer_callback) + self.turn=True; - while True: - ref.data=float(sys.argv[2]); - pub.publish(ref) - time.sleep(float(sys.argv[4])) + def timer_callback(self): + ref=Float64() + ref.data=float(sys.argv[2] if self.turn else sys.argv[3]) + self.turn=not self.turn + self.publisher_.publish(ref) - ref.data=float(sys.argv[3]); - pub.publish(ref) - time.sleep(float(sys.argv[4])) +def main(args=None): + if len(sys.argv) < 5: + print('square.py topic min max period') + exit() + + rclpy.init(args=args) + + square_publisher=SquarePublisher() + rclpy.spin(square_publisher) + + square_publisher.destroy_node() + rclpy.shutdown() + if __name__ == '__main__': - try: - square() - except rospy.ROSInterruptException: - pass + main() diff --git a/q2d_bringup/scripts/ijc_step.sh b/q2d_bringup/scripts/ijc_step.sh index 21510ed..26f69df 100755 --- a/q2d_bringup/scripts/ijc_step.sh +++ b/q2d_bringup/scripts/ijc_step.sh @@ -1,4 +1,4 @@ #!/bin/bash -rostopic pub /shoulder_controller/command std_msgs/Float64 "{data: $1}" -1 & -rostopic pub /elbow_controller/command std_msgs/Float64 "{data: $2}" -1 +ros2 topic pub /shoulder_controller/command std_msgs/msg/Float64 "{data: $1}" -1 & +ros2 topic pub /elbow_controller/command std_msgs/msg/Float64 "{data: $2}" -1 diff --git a/q2d_description/CMakeLists.txt b/q2d_description/CMakeLists.txt index c43f517..58f2448 100644 --- a/q2d_description/CMakeLists.txt +++ b/q2d_description/CMakeLists.txt @@ -1,202 +1,29 @@ -cmake_minimum_required(VERSION 3.0.2) +cmake_minimum_required(VERSION 3.8) project(q2d_description) -## Compile as C++11, supported in ROS Kinetic and newer -# add_compile_options(-std=c++11) +if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") + add_compile_options(-Wall -Wextra -Wpedantic) +endif() -## Find catkin macros and libraries -## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) -## is used, also find other catkin packages -find_package(catkin REQUIRED) +# find dependencies +find_package(ament_cmake REQUIRED) +# uncomment the following section in order to fill in +# further dependencies manually. +# find_package( REQUIRED) -## System dependencies are found with CMake's conventions -# find_package(Boost REQUIRED COMPONENTS system) - - -## Uncomment this if the package has a setup.py. This macro ensures -## modules and global scripts declared therein get installed -## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html -# catkin_python_setup() - -################################################ -## Declare ROS messages, services and actions ## -################################################ - -## To declare and build messages, services or actions from within this -## package, follow these steps: -## * Let MSG_DEP_SET be the set of packages whose message types you use in -## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). -## * In the file package.xml: -## * add a build_depend tag for "message_generation" -## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET -## * If MSG_DEP_SET isn't empty the following dependency has been pulled in -## but can be declared for certainty nonetheless: -## * add a exec_depend tag for "message_runtime" -## * In this file (CMakeLists.txt): -## * add "message_generation" and every package in MSG_DEP_SET to -## find_package(catkin REQUIRED COMPONENTS ...) -## * add "message_runtime" and every package in MSG_DEP_SET to -## catkin_package(CATKIN_DEPENDS ...) -## * uncomment the add_*_files sections below as needed -## and list every .msg/.srv/.action file to be processed -## * uncomment the generate_messages entry below -## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) - -## Generate messages in the 'msg' folder -# add_message_files( -# FILES -# Message1.msg -# Message2.msg -# ) - -## Generate services in the 'srv' folder -# add_service_files( -# FILES -# Service1.srv -# Service2.srv -# ) - -## Generate actions in the 'action' folder -# add_action_files( -# FILES -# Action1.action -# Action2.action -# ) - -## Generate added messages and services with any dependencies listed here -# generate_messages( -# DEPENDENCIES -# std_msgs # Or other packages containing msgs -# ) - -################################################ -## Declare ROS dynamic reconfigure parameters ## -################################################ - -## To declare and build dynamic reconfigure parameters within this -## package, follow these steps: -## * In the file package.xml: -## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" -## * In this file (CMakeLists.txt): -## * add "dynamic_reconfigure" to -## find_package(catkin REQUIRED COMPONENTS ...) -## * uncomment the "generate_dynamic_reconfigure_options" section below -## and list every .cfg file to be processed - -## Generate dynamic reconfigure parameters in the 'cfg' folder -# generate_dynamic_reconfigure_options( -# cfg/DynReconf1.cfg -# cfg/DynReconf2.cfg -# ) - -################################### -## catkin specific configuration ## -################################### -## The catkin_package macro generates cmake config files for your package -## Declare things to be passed to dependent projects -## INCLUDE_DIRS: uncomment this if your package contains header files -## LIBRARIES: libraries you create in this project that dependent projects also need -## CATKIN_DEPENDS: catkin_packages dependent projects also need -## DEPENDS: system dependencies of this project that dependent projects also need -catkin_package( -# INCLUDE_DIRS include -# LIBRARIES q2d_description -# CATKIN_DEPENDS other_catkin_pkg -# DEPENDS system_lib -) - -########### -## Build ## -########### - -## Specify additional locations of header files -## Your package locations should be listed before other locations -include_directories( -# include -# ${catkin_INCLUDE_DIRS} +install(DIRECTORY launch urdf meshes rviz + DESTINATION share/${PROJECT_NAME} ) -## Declare a C++ library -# add_library(${PROJECT_NAME} -# src/${PROJECT_NAME}/q2d_description.cpp -# ) - -## Add cmake target dependencies of the library -## as an example, code may need to be generated before libraries -## either from message generation or dynamic reconfigure -# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) - -## Declare a C++ executable -## With catkin_make all packages are built within a single CMake context -## The recommended prefix ensures that target names across packages don't collide -# add_executable(${PROJECT_NAME}_node src/q2d_description_node.cpp) - -## Rename C++ executable without prefix -## The above recommended prefix causes long target names, the following renames the -## target back to the shorter version for ease of user use -## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" -# set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") - -## Add cmake target dependencies of the executable -## same as for the library above -# add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) - -## Specify libraries to link a library or executable target against -# target_link_libraries(${PROJECT_NAME}_node -# ${catkin_LIBRARIES} -# ) - -############# -## Install ## -############# - -# all install targets should use catkin DESTINATION variables -# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html - -## Mark executable scripts (Python etc.) for installation -## in contrast to setup.py, you can choose the destination -# catkin_install_python(PROGRAMS -# scripts/my_python_script -# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} -# ) - -## Mark executables for installation -## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html -# install(TARGETS ${PROJECT_NAME}_node -# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} -# ) - -## Mark libraries for installation -## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html -# install(TARGETS ${PROJECT_NAME} -# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} -# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} -# RUNTIME DESTINATION ${CATKIN_GLOBAL_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} -# ) - -############# -## Testing ## -############# - -## Add gtest based cpp test target and link libraries -# catkin_add_gtest(${PROJECT_NAME}-test test/test_q2d_description.cpp) -# if(TARGET ${PROJECT_NAME}-test) -# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) -# endif() - -## Add folders to be run by python nosetests -# catkin_add_nosetests(test) +if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) + # the following line skips the linter which checks for copyrights + # uncomment the line when a copyright and license is not present in all source files + #set(ament_cmake_copyright_FOUND TRUE) + # the following line skips cpplint (only works in a git repo) + # uncomment the line when this package is not in a git repo + #set(ament_cmake_cpplint_FOUND TRUE) + ament_lint_auto_find_test_dependencies() +endif() + +ament_package() diff --git a/q2d_description/launch/display.launch b/q2d_description/launch/display.launch deleted file mode 100644 index 680b878..0000000 --- a/q2d_description/launch/display.launch +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/q2d_description/launch/display.launch.py b/q2d_description/launch/display.launch.py new file mode 100644 index 0000000..e80799e --- /dev/null +++ b/q2d_description/launch/display.launch.py @@ -0,0 +1,47 @@ +import os +from ament_index_python.packages import get_package_share_directory +from launch import LaunchDescription +from launch.actions import DeclareLaunchArgument +from launch.substitutions import LaunchConfiguration +from launch.conditions import IfCondition +from launch_ros.actions import Node + +def generate_launch_description(): + + use_gui=LaunchConfiguration('use_gui',default='false') + + urdf_file_name = 'urdf/q2d.urdf' + urdf_path=os.path.join(get_package_share_directory('q2d_description'),urdf_file_name) + with open(urdf_path,'r') as infp: + robot_desc=infp.read() + + rviz_file_name = 'rviz/display.rviz' + rviz_path=os.path.join(get_package_share_directory('q2d_description'),rviz_file_name) + + return LaunchDescription([ + DeclareLaunchArgument( + 'use_gui', + default_value='false', + description='Use graphical user interface to publish jointstates if true'), + Node( + package='tf2_ros', + executable='static_transform_publisher', + name='q2d_origin_publisher', + arguments=["0","0","0","0","0","0","1","map","origin_link"]), + Node( + package='joint_state_publisher_gui', + executable='joint_state_publisher_gui', + name='joint_state_publisher', + condition=IfCondition(LaunchConfiguration("use_gui"))), + Node( + package='robot_state_publisher', + executable='robot_state_publisher', + name='robot_state_publisher', + parameters=[{'robot_description': robot_desc}], + arguments=[urdf_path]), + Node( + package='rviz2', + executable='rviz2', + name='rviz', + arguments=["-d", rviz_path]) + ]) diff --git a/q2d_description/launch/display.launch.xml b/q2d_description/launch/display.launch.xml new file mode 100644 index 0000000..ffbd828 --- /dev/null +++ b/q2d_description/launch/display.launch.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/q2d_description/launch/gazebo.launch b/q2d_description/launch/gazebo.launch deleted file mode 100644 index 8ab520b..0000000 --- a/q2d_description/launch/gazebo.launch +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/q2d_description/launch/gazebo.launch.xml b/q2d_description/launch/gazebo.launch.xml new file mode 100644 index 0000000..32d9e42 --- /dev/null +++ b/q2d_description/launch/gazebo.launch.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/q2d_description/launch/q2d.launch b/q2d_description/launch/q2d.launch deleted file mode 100644 index 0f26a2f..0000000 --- a/q2d_description/launch/q2d.launch +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/q2d_description/launch/q2d.launch.xml b/q2d_description/launch/q2d.launch.xml new file mode 100644 index 0000000..2fe6ec1 --- /dev/null +++ b/q2d_description/launch/q2d.launch.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/q2d_description/meshes/base.STL b/q2d_description/meshes/base.STL index 63ccaf9..606e16e 100644 Binary files a/q2d_description/meshes/base.STL and b/q2d_description/meshes/base.STL differ diff --git a/q2d_description/meshes/collision/elbow_active.STL b/q2d_description/meshes/collision/elbow_active.STL index a4832a7..19cfe70 100644 Binary files a/q2d_description/meshes/collision/elbow_active.STL and b/q2d_description/meshes/collision/elbow_active.STL differ diff --git a/q2d_description/meshes/collision/elbow_passive.STL b/q2d_description/meshes/collision/elbow_passive.STL index bbfdc91..d26c65c 100644 Binary files a/q2d_description/meshes/collision/elbow_passive.STL and b/q2d_description/meshes/collision/elbow_passive.STL differ diff --git a/q2d_description/meshes/collision/shoulder_active.STL b/q2d_description/meshes/collision/shoulder_active.STL index 4cd3f56..5270509 100644 Binary files a/q2d_description/meshes/collision/shoulder_active.STL and b/q2d_description/meshes/collision/shoulder_active.STL differ diff --git a/q2d_description/meshes/collision/shoulder_passive.STL b/q2d_description/meshes/collision/shoulder_passive.STL index 4267488..1d29091 100644 Binary files a/q2d_description/meshes/collision/shoulder_passive.STL and b/q2d_description/meshes/collision/shoulder_passive.STL differ diff --git a/q2d_description/meshes/elbow_active.STL b/q2d_description/meshes/elbow_active.STL index b6ed156..7b12f2b 100644 Binary files a/q2d_description/meshes/elbow_active.STL and b/q2d_description/meshes/elbow_active.STL differ diff --git a/q2d_description/meshes/elbow_passive.STL b/q2d_description/meshes/elbow_passive.STL index 172078b..8b5c828 100644 Binary files a/q2d_description/meshes/elbow_passive.STL and b/q2d_description/meshes/elbow_passive.STL differ diff --git a/q2d_description/meshes/shoulder_active.STL b/q2d_description/meshes/shoulder_active.STL index b78c97a..458811e 100644 Binary files a/q2d_description/meshes/shoulder_active.STL and b/q2d_description/meshes/shoulder_active.STL differ diff --git a/q2d_description/meshes/shoulder_passive.STL b/q2d_description/meshes/shoulder_passive.STL index c478d73..da96230 100644 Binary files a/q2d_description/meshes/shoulder_passive.STL and b/q2d_description/meshes/shoulder_passive.STL differ diff --git a/q2d_description/package.xml b/q2d_description/package.xml index 519c694..26119d4 100644 --- a/q2d_description/package.xml +++ b/q2d_description/package.xml @@ -1,60 +1,18 @@ - + + q2d_description - 2.1.0 + 3.0.0 The q2d_description package - - - - - Walter Fetter Lages - - - - + Walter Fetter Lages GPLv3 + ament_cmake - - - - - - - - - - - Guilherme Alan Ritter - Walter Fetter Lages + ament_lint_auto + ament_lint_common - - - - - - - - - - - - - - - - - - - - - - catkin - - - - - + ament_cmake diff --git a/q2d_description/rviz/display.rviz b/q2d_description/rviz/display.rviz index 3ea4af4..43ac143 100644 --- a/q2d_description/rviz/display.rviz +++ b/q2d_description/rviz/display.rviz @@ -1,28 +1,25 @@ Panels: - - Class: rviz/Displays - Help Height: 78 + - Class: rviz_common/Displays + Help Height: 87 Name: Displays Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 + Expanded: ~ Splitter Ratio: 0.5 - Tree Height: 559 - - Class: rviz/Selection + Tree Height: 498 + - Class: rviz_common/Selection Name: Selection - - Class: rviz/Tool Properties + - Class: rviz_common/Tool Properties Expanded: - - /2D Pose Estimate1 - - /2D Nav Goal1 + - /2D Goal Pose1 - /Publish Point1 Name: Tool Properties - Splitter Ratio: 0.588679 - - Class: rviz/Views + Splitter Ratio: 0.5886790156364441 + - Class: rviz_common/Views Expanded: - /Current View1 Name: Views Splitter Ratio: 0.5 - - Class: rviz/Time + - Class: rviz_common/Time Experimental: false Name: Time SyncMode: 0 @@ -32,11 +29,11 @@ Visualization Manager: Displays: - Alpha: 0.5 Cell Size: 1 - Class: rviz/Grid + Class: rviz_default_plugins/Grid Color: 160; 160; 164 Enabled: true Line Style: - Line Width: 0.03 + Line Width: 0.029999999329447746 Value: Lines Name: Grid Normal Cell Count: 0 @@ -49,8 +46,16 @@ Visualization Manager: Reference Frame: Value: true - Alpha: 1 - Class: rviz/RobotModel + Class: rviz_default_plugins/RobotModel Collision Enabled: false + Description File: "" + Description Source: Topic + Description Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_description Enabled: true Links: All Links Enabled: true @@ -73,10 +78,6 @@ Visualization Manager: Show Axes: false Show Trail: false Value: true - end_link: - Alpha: 1 - Show Axes: false - Show Trail: false origin_link: Alpha: 1 Show Axes: false @@ -91,8 +92,11 @@ Visualization Manager: Show Axes: false Show Trail: false Value: true + tool_link: + Alpha: 1 + Show Axes: false + Show Trail: false Name: RobotModel - Robot Description: robot_description TF Prefix: "" Update Interval: 0 Value: true @@ -104,39 +108,64 @@ Visualization Manager: Frame Rate: 30 Name: root Tools: - - Class: rviz/Interact + - Class: rviz_default_plugins/Interact Hide Inactive Objects: true - - Class: rviz/MoveCamera - - Class: rviz/Select - - Class: rviz/FocusCamera - - Class: rviz/Measure - - Class: rviz/SetInitialPose - Topic: /initialpose - - Class: rviz/SetGoal - Topic: /move_base_simple/goal - - Class: rviz/PublishPoint + - Class: rviz_default_plugins/MoveCamera + - Class: rviz_default_plugins/Select + - Class: rviz_default_plugins/FocusCamera + - Class: rviz_default_plugins/Measure + Line color: 128; 128; 0 + - Class: rviz_default_plugins/SetInitialPose + Covariance x: 0.25 + Covariance y: 0.25 + Covariance yaw: 0.06853891909122467 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /initialpose + - Class: rviz_default_plugins/SetGoal + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /goal_pose + - Class: rviz_default_plugins/PublishPoint Single click: true - Topic: /clicked_point + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /clicked_point + Transformation: + Current: + Class: rviz_default_plugins/TF Value: true Views: Current: - Class: rviz/Orbit - Distance: 1.74931 + Class: rviz_default_plugins/Orbit + Distance: 2.4995310306549072 Enable Stereo Rendering: - Stereo Eye Separation: 0.06 + Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Focal Point: - X: 0.170924 - Y: -0.214539 - Z: 0.105634 + X: 0 + Y: 0 + Z: 0 + Focal Shape Fixed Size: true + Focal Shape Size: 0.05000000074505806 + Invert Z Axis: false Name: Current View - Near Clip Distance: 0.01 - Pitch: 0.505398 + Near Clip Distance: 0.009999999776482582 + Pitch: 0.785398006439209 Target Frame: Value: Orbit (rviz) - Yaw: 4.70358 + Yaw: 0.785398006439209 Saved: ~ Window Geometry: Displays: @@ -144,7 +173,7 @@ Window Geometry: Height: 846 Hide Left Dock: false Hide Right Dock: false - QMainWindow State: 000000ff00000000fd00000004000000000000013c000002bafc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005300fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000036000002ba000000b700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002bafc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730100000036000002ba0000009b00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004b00000003efc0100000002fb0000000800540069006d00650100000000000004b00000024700fffffffb0000000800540069006d0065010000000000000450000000000000000000000259000002ba00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd00000004000000000000016a00000296fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000007901000003fb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000004400000296000000fd01000003fb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000011000000296fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000004400000296000000d301000003fb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004b00000004cfc0100000002fb0000000800540069006d00650100000000000004b0000002ad01000003fb0000000800540069006d00650100000000000004500000000000000000000002340000029600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false Time: @@ -154,5 +183,5 @@ Window Geometry: Views: collapsed: false Width: 1200 - X: 336 - Y: 94 + X: 60 + Y: 60 diff --git a/q2d_teleop/CMakeLists.txt b/q2d_teleop/CMakeLists.txt index 695a618..bc6a3be 100644 --- a/q2d_teleop/CMakeLists.txt +++ b/q2d_teleop/CMakeLists.txt @@ -1,224 +1,77 @@ -cmake_minimum_required(VERSION 3.0.2) +cmake_minimum_required(VERSION 3.8) project(q2d_teleop) -## Compile as C++11, supported in ROS Kinetic and newer -add_compile_options(-std=c++11) +if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") + add_compile_options(-Wall -Wextra -Wpedantic) +endif() -## Find catkin macros and libraries -## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) -## is used, also find other catkin packages -find_package(catkin REQUIRED COMPONENTS - cmake_modules - geometry_msgs - kdl_parser - roscpp - sensor_msgs - std_msgs - urdf -) - -## System dependencies are found with CMake's conventions -# find_package(Boost REQUIRED COMPONENTS system) +# find dependencies +find_package(ament_cmake REQUIRED) +find_package(rclcpp REQUIRED) find_package(Eigen3 REQUIRED) +find_package(cmake_modules REQUIRED) +find_package(geometry_msgs REQUIRED) +find_package(kdl_parser REQUIRED) find_package(orocos_kdl REQUIRED) +find_package(sensor_msgs REQUIRED) +find_package(std_msgs REQUIRED) +find_package(urdf REQUIRED) - -## Uncomment this if the package has a setup.py. This macro ensures -## modules and global scripts declared therein get installed -## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html -# catkin_python_setup() - -################################################ -## Declare ROS messages, services and actions ## -################################################ - -## To declare and build messages, services or actions from within this -## package, follow these steps: -## * Let MSG_DEP_SET be the set of packages whose message types you use in -## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). -## * In the file package.xml: -## * add a build_depend tag for "message_generation" -## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET -## * If MSG_DEP_SET isn't empty the following dependency has been pulled in -## but can be declared for certainty nonetheless: -## * add a exec_depend tag for "message_runtime" -## * In this file (CMakeLists.txt): -## * add "message_generation" and every package in MSG_DEP_SET to -## find_package(catkin REQUIRED COMPONENTS ...) -## * add "message_runtime" and every package in MSG_DEP_SET to -## catkin_package(CATKIN_DEPENDS ...) -## * uncomment the add_*_files sections below as needed -## and list every .msg/.srv/.action file to be processed -## * uncomment the generate_messages entry below -## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) - -## Generate messages in the 'msg' folder -# add_message_files( -# FILES -# Message1.msg -# Message2.msg -# ) - -## Generate services in the 'srv' folder -# add_service_files( -# FILES -# Service1.srv -# Service2.srv -# ) - -## Generate actions in the 'action' folder -# add_action_files( -# FILES -# Action1.action -# Action2.action -# ) - -## Generate added messages and services with any dependencies listed here -# generate_messages( -# DEPENDENCIES -# geometry_msgs# sensor_msgs# std_msgs -# ) - -################################################ -## Declare ROS dynamic reconfigure parameters ## -################################################ - -## To declare and build dynamic reconfigure parameters within this -## package, follow these steps: -## * In the file package.xml: -## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" -## * In this file (CMakeLists.txt): -## * add "dynamic_reconfigure" to -## find_package(catkin REQUIRED COMPONENTS ...) -## * uncomment the "generate_dynamic_reconfigure_options" section below -## and list every .cfg file to be processed - -## Generate dynamic reconfigure parameters in the 'cfg' folder -# generate_dynamic_reconfigure_options( -# cfg/DynReconf1.cfg -# cfg/DynReconf2.cfg -# ) - -################################### -## catkin specific configuration ## -################################### -## The catkin_package macro generates cmake config files for your package -## Declare things to be passed to dependent projects -## INCLUDE_DIRS: uncomment this if your package contains header files -## LIBRARIES: libraries you create in this project that dependent projects also need -## CATKIN_DEPENDS: catkin_packages dependent projects also need -## DEPENDS: system dependencies of this project that dependent projects also need -catkin_package( -# INCLUDE_DIRS include -# LIBRARIES q2d_teleop -# CATKIN_DEPENDS cmake_modules geometry_msgs kdl_parser roscpp sensor_msgs std_msgs urdf -# DEPENDS orocos_kdl -) - -########### -## Build ## -########### - -## Specify additional locations of header files -## Your package locations should be listed before other locations -include_directories( -# include - ${catkin_INCLUDE_DIRS} -# TODO: Check names of system library include directories (orocos_kdl) - ${EIGEN3_INCLUDE_DIRS} - ${orocos_kdl_INCLUDE_DIRS} +add_executable(q2d_teleop_tablet src/q2d_teleop_tablet.cpp) +target_include_directories(q2d_teleop_tablet PUBLIC + $ + $) +target_compile_features(q2d_teleop_tablet PUBLIC c_std_99 cxx_std_17) # Require C99 and C++17 +ament_target_dependencies( + q2d_teleop_tablet + "rclcpp" + "Eigen3" + "cmake_modules" + "geometry_msgs" + "kdl_parser" + "orocos_kdl" + "sensor_msgs" + "std_msgs" + "urdf" ) -## Declare a C++ library -# add_library(${PROJECT_NAME} -# src/${PROJECT_NAME}/q2d_teleop.cpp -# ) - -## Add cmake target dependencies of the library -## as an example, code may need to be generated before libraries -## either from message generation or dynamic reconfigure -# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) +install(TARGETS q2d_teleop_tablet + DESTINATION lib/${PROJECT_NAME}) -## Declare a C++ executable -## With catkin_make all packages are built within a single CMake context -## The recommended prefix ensures that target names across packages don't collide -add_executable(q2d_teleop_tablet src/q2d_teleop_tablet.cpp) add_executable(q2d_teleop_rviz src/q2d_teleop_rviz.cpp) - -## Rename C++ executable without prefix -## The above recommended prefix causes long target names, the following renames the -## target back to the shorter version for ease of user use -## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" -# set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") - -## Add cmake target dependencies of the executable -## same as for the library above -# add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) - -## Specify libraries to link a library or executable target against -target_link_libraries(q2d_teleop_tablet - ${catkin_LIBRARIES} -# ${Eigen3_LIBRARIES} - ${orocos_kdl_LIBRARIES} -) - -target_link_libraries(q2d_teleop_rviz - ${catkin_LIBRARIES} -# ${Eigen3_LIBRARIES} - ${orocos_kdl_LIBRARIES} +target_include_directories(q2d_teleop_rviz PUBLIC + $ + $) +target_compile_features(q2d_teleop_rviz PUBLIC c_std_99 cxx_std_17) # Require C99 and C++17 +ament_target_dependencies( + q2d_teleop_rviz + "rclcpp" + "Eigen3" + "cmake_modules" + "geometry_msgs" + "kdl_parser" + "orocos_kdl" + "sensor_msgs" + "std_msgs" + "urdf" ) -############# -## Install ## -############# +install(TARGETS q2d_teleop_rviz + DESTINATION lib/${PROJECT_NAME}) -# all install targets should use catkin DESTINATION variables -# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html - -## Mark executable scripts (Python etc.) for installation -## in contrast to setup.py, you can choose the destination -# catkin_install_python(PROGRAMS -# scripts/my_python_script -# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} -# ) - -## Mark executables for installation -## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html -# install(TARGETS ${PROJECT_NAME}_node -# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} -# ) - -## Mark libraries for installation -## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html -# install(TARGETS ${PROJECT_NAME} -# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} -# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} -# RUNTIME DESTINATION ${CATKIN_GLOBAL_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} -# ) - -############# -## Testing ## -############# - -## Add gtest based cpp test target and link libraries -# catkin_add_gtest(${PROJECT_NAME}-test test/test_q2d_teleop.cpp) -# if(TARGET ${PROJECT_NAME}-test) -# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) -# endif() +install(DIRECTORY launch rviz + DESTINATION share/${PROJECT_NAME} +) -## Add folders to be run by python nosetests -# catkin_add_nosetests(test) +if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) + # the following line skips the linter which checks for copyrights + # uncomment the line when a copyright and license is not present in all source files + #set(ament_cmake_copyright_FOUND TRUE) + # the following line skips cpplint (only works in a git repo) + # uncomment the line when this package is not in a git repo + #set(ament_cmake_cpplint_FOUND TRUE) + ament_lint_auto_find_test_dependencies() +endif() + +ament_package() diff --git a/q2d_teleop/launch/display.launch b/q2d_teleop/launch/display.launch deleted file mode 100644 index 87fb46b..0000000 --- a/q2d_teleop/launch/display.launch +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/q2d_teleop/launch/display.launch.xml b/q2d_teleop/launch/display.launch.xml new file mode 100644 index 0000000..61e7a99 --- /dev/null +++ b/q2d_teleop/launch/display.launch.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/q2d_teleop/launch/gazebo.launch b/q2d_teleop/launch/gazebo.launch deleted file mode 100644 index 5a801ac..0000000 --- a/q2d_teleop/launch/gazebo.launch +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/q2d_teleop/launch/gazebo.launch.xml b/q2d_teleop/launch/gazebo.launch.xml new file mode 100644 index 0000000..3ea4c31 --- /dev/null +++ b/q2d_teleop/launch/gazebo.launch.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/q2d_teleop/launch/q2d_teleop_rviz.launch b/q2d_teleop/launch/q2d_teleop_rviz.launch deleted file mode 100644 index 3a9ecfc..0000000 --- a/q2d_teleop/launch/q2d_teleop_rviz.launch +++ /dev/null @@ -1,4 +0,0 @@ - - - diff --git a/q2d_teleop/launch/q2d_teleop_rviz.launch.xml b/q2d_teleop/launch/q2d_teleop_rviz.launch.xml new file mode 100644 index 0000000..7424bc4 --- /dev/null +++ b/q2d_teleop/launch/q2d_teleop_rviz.launch.xml @@ -0,0 +1,4 @@ + + + diff --git a/q2d_teleop/launch/q2d_teleop_tablet.launch b/q2d_teleop/launch/q2d_teleop_tablet.launch deleted file mode 100644 index 0dd86d9..0000000 --- a/q2d_teleop/launch/q2d_teleop_tablet.launch +++ /dev/null @@ -1,4 +0,0 @@ - - - diff --git a/q2d_teleop/launch/q2d_teleop_tablet.launch.xml b/q2d_teleop/launch/q2d_teleop_tablet.launch.xml new file mode 100644 index 0000000..83ea1c1 --- /dev/null +++ b/q2d_teleop/launch/q2d_teleop_tablet.launch.xml @@ -0,0 +1,4 @@ + + + diff --git a/q2d_teleop/package.xml b/q2d_teleop/package.xml index 3c36231..2340893 100644 --- a/q2d_teleop/package.xml +++ b/q2d_teleop/package.xml @@ -1,85 +1,28 @@ - + + q2d_teleop - 2.1.0 + 3.0.0 The q2d_teleop package - - - - Walter Fetter Lages - - - - GPLv3 + ament_cmake - - - - - + rclcpp + Eigen3 + cmake_modules + geometry_msgs + kdl_parser + orocos_kdl + sensor_msgs + std_msgs + urdf - - - - - Walter Fetter Lages + ament_lint_auto + ament_lint_common - - - - - - - - - - - - - - - - - - - - - catkin - Eigen3 - cmake_modules - geometry_msgs - kdl_parser - orocos_kdl - roscpp - sensor_msgs - std_msgs - urdf - Eigen3 - cmake_modules - geometry_msgs - kdl_parser - orocos_kdl - roscpp - sensor_msgs - std_msgs - urdf - Eigen3 - cmake_modules - geometry_msgs - kdl_parser - orocos_kdl - roscpp - sensor_msgs - std_msgs - urdf - - - - - + ament_cmake