From: Walter Fetter Lages Date: Wed, 9 Mar 2022 06:26:32 +0000 (-0300) Subject: Port twil_description and twil_bringup to Galactic. X-Git-Url: http://git.ece.ufrgs.br/?a=commitdiff_plain;h=76ae79f5cb4719c1bd2934d539469d01d13554a8;p=twil.git Port twil_description and twil_bringup 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/twil/CMakeLists.txt b/twil/CMakeLists.txt index ccd3cdb..9b578cd 100644 --- a/twil/CMakeLists.txt +++ b/twil/CMakeLists.txt @@ -1,4 +1,5 @@ -cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.8) project(twil) -find_package(catkin REQUIRED) -catkin_metapackage() + +find_package(ament_cmake REQUIRED) +ament_package() diff --git a/twil/package.xml b/twil/package.xml index 3b74f8c..0b3f803 100644 --- a/twil/package.xml +++ b/twil/package.xml @@ -1,65 +1,24 @@ - + + twil - 4.1.0 - The twil package - - - - + 4.2.0 + Twil Metapackage Walter Fetter Lages - - - - - GPLv3 + ament_cmake - - - - - - - - - - - Walter Fetter Lages - - - - - - - - - - - - - - - - - - - - - - - catkin - - twil_bringup - twil_description - twil_gazebo_ros_control - twil_ident + twil_description + twil_bringup + twil_ident + twil_gazebo_ros_control + twil_2dnav + ament_lint_auto + ament_lint_common - - - + ament_cmake diff --git a/twil_bringup/CMakeLists.txt b/twil_bringup/CMakeLists.txt index d4f221d..187e527 100644 --- a/twil_bringup/CMakeLists.txt +++ b/twil_bringup/CMakeLists.txt @@ -1,207 +1,30 @@ -cmake_minimum_required(VERSION 3.0.2) +cmake_minimum_required(VERSION 3.8) project(twil_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 - controller_manager - effort_controllers - joint_state_controller - twil_description -) - -## 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) -## 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 twil_bringup -# CATKIN_DEPENDS controller_manager effort_controllers joint_state_controller twil_description -# DEPENDS system_lib +install(PROGRAMS scripts/test_openloop.sh + DESTINATION lib/${PROJECT_NAME} ) -########### -## Build ## -########### - -## Specify additional locations of header files -## Your package locations should be listed before other locations -include_directories( -# include - ${catkin_INCLUDE_DIRS} +install(DIRECTORY config launch + DESTINATION share/${PROJECT_NAME} ) -## Declare a C++ library -# add_library(${PROJECT_NAME} -# src/${PROJECT_NAME}/twil_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/twil_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_twil_bringup.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/twil_bringup/config/dynamics_linearizing_controller.yaml b/twil_bringup/config/dynamics_linearizing_controller.yaml index d228ddb..212b7fd 100644 --- a/twil_bringup/config/dynamics_linearizing_controller.yaml +++ b/twil_bringup/config/dynamics_linearizing_controller.yaml @@ -1,24 +1,23 @@ # Watch-out: The indentation here is relevant to the semantic! -joint_state_controller: - type: joint_state_controller/JointStateController - publish_rate: 100 - extra_joints: - - name: caster_wheel_joint - - name: caster_base_joint - - name: front_caster_wheel_joint - - name: front_caster_base_joint +/joint_state_controller: + ros__parameters: + extra_joints: + - caster_wheel_joint + - caster_base_joint + - front_caster_wheel_joint + - front_caster_base_joint -dynamics_linearizing_controller: - type: effort_controllers/DynamicsLinearizingController - joints: - - left_wheel_joint - - right_wheel_joint - F: [0.0, 0.08444758509282763, 3.770688129256381, 0.0] - G: [2.6468901285322475, 2.6468901285322475, -16.084061415321404, 16.084061415321404] - wheel_separation: 0.322 - wheel_radius: [0.075, 0.075] - odom_frame_id: "odom" - base_frame_id: "twil_origin" - priority: 99 - time_step: 0.01 +/dynamics_linearizing_controller: + ros__parameters: + joints: + - left_wheel_joint + - right_wheel_joint + F: [0.0, 0.08444758509282763, 3.770688129256381, 0.0] + G: [2.6468901285322475, 2.6468901285322475, -16.084061415321404, 16.084061415321404] + wheel_separation: 0.322 + wheel_radius: [0.075, 0.075] + odom_frame_id: "odom" + base_frame_id: "twil_origin" + priority: 99 + time_step: 0.01 diff --git a/twil_bringup/config/joint_effort_controller.yaml b/twil_bringup/config/joint_effort_controller.yaml index bd28cfc..1fed36f 100644 --- a/twil_bringup/config/joint_effort_controller.yaml +++ b/twil_bringup/config/joint_effort_controller.yaml @@ -1,16 +1,17 @@ -joint_state_controller: - type: joint_state_controller/JointStateController - publish_rate: 100 - extra_joints: - - name: caster_wheel_joint - - name: caster_base_joint - - name: front_caster_wheel_joint - - name: front_caster_base_joint +/joint_state_broadcaster: + ros__parameters: + extra_joints: + - caster_wheel_joint + - caster_base_joint + - front_caster_wheel_joint + - front_caster_base_joint -left_wheel_joint_effort_controller: - type: effort_controllers/JointEffortController - joint: left_wheel_joint +/left_wheel_joint_effort_controller: + ros__parameters: + joints: [left_wheel_joint] + interface_name: effort -right_wheel_joint_effort_controller: - type: effort_controllers/JointEffortController - joint: right_wheel_joint +/right_wheel_joint_effort_controller: + ros__parameters: + joints: [right_wheel_joint] + interface_name: effort diff --git a/twil_bringup/config/joint_velocity_controller.yaml b/twil_bringup/config/joint_velocity_controller.yaml index 15fe54a..a12a0cc 100644 --- a/twil_bringup/config/joint_velocity_controller.yaml +++ b/twil_bringup/config/joint_velocity_controller.yaml @@ -1,18 +1,19 @@ -joint_state_controller: - type: joint_state_controller/JointStateController - publish_rate: 100 - extra_joints: - - name: caster_wheel_joint - - name: caster_base_joint - - name: front_caster_wheel_joint - - name: front_caster_base_joint +/joint_state_controller: + ros__parameters: + extra_joints: + - caster_wheel_joint + - caster_base_joint + - front_caster_wheel_joint + - front_caster_base_joint -left_wheel_joint_velocity_controller: - type: effort_controllers/JointVelocityController - joint: left_wheel_joint - pid: {p: 0.0, i: 0.0, d: 0.0} +/left_wheel_joint_velocity_controller: + ros__parameters: + joint: left_wheel_joint + pid: {p: 0.0, i: 0.0, d: 0.0} + interface_name: effort -right_wheel_joint_velocity_controller: - type: effort_controllers/JointVelocityController - joint: right_wheel_joint - pid: {p: 0.0, i: 0.0, d: 0.0} +/right_wheel_joint_velocity_controller: + ros__parameters: + joint: right_wheel_joint + pid: {p: 0.0, i: 0.0, d: 0.0} + interface_name: effort diff --git a/twil_bringup/config/nonsmooth_backstep_controller.yaml b/twil_bringup/config/nonsmooth_backstep_controller.yaml index 14acf94..cbea9f1 100644 --- a/twil_bringup/config/nonsmooth_backstep_controller.yaml +++ b/twil_bringup/config/nonsmooth_backstep_controller.yaml @@ -1,26 +1,25 @@ # Watch-out: The indentation here is relevant to the semantic! -joint_state_controller: - type: joint_state_controller/JointStateController - publish_rate: 100 - extra_joints: - - name: caster_wheel_joint - - name: caster_base_joint - - name: front_caster_wheel_joint - - name: front_caster_base_joint +/joint_state_controller: + ros__parameters: + extra_joints: + - caster_wheel_joint + - caster_base_joint + - front_caster_wheel_joint + - front_caster_base_joint -nonsmooth_backstep_controller: - type: effort_controllers/NonSmoothBackstepController - joints: - - left_wheel_joint - - right_wheel_joint - F: [0.0, 0.08444758509282763, 3.770688129256381, 0.0] - G: [2.6468901285322475, 2.6468901285322475, -16.084061415321404, 16.084061415321404] - lambda: [200.0, 6.0, 6.0, 500.0, 1000.0] - gamma: [10.0, 1.0, 10.0, 50.0] - wheel_separation: 0.322 - wheel_radius: [0.075, 0.075] - odom_frame_id: "odom" - base_frame_id: "twil_origin" - priority: 99 - time_step: 0.01 +/nonsmooth_backstep_controller: + ros__parameters: + joints: + - left_wheel_joint + - right_wheel_joint + F: [0.0, 0.08444758509282763, 3.770688129256381, 0.0] + G: [2.6468901285322475, 2.6468901285322475, -16.084061415321404, 16.084061415321404] + lambda: [200.0, 6.0, 6.0, 500.0, 1000.0] + gamma: [10.0, 1.0, 10.0, 50.0] + wheel_separation: 0.322 + wheel_radius: [0.075, 0.075] + odom_frame_id: "odom" + base_frame_id: "twil_origin" + priority: 99 + time_step: 0.01 diff --git a/twil_bringup/config/nonsmooth_backstep_controller_step.yaml b/twil_bringup/config/nonsmooth_backstep_controller_step.yaml index eaa5656..f8e1a75 100644 --- a/twil_bringup/config/nonsmooth_backstep_controller_step.yaml +++ b/twil_bringup/config/nonsmooth_backstep_controller_step.yaml @@ -1,26 +1,25 @@ # Watch-out: The indentation here is relevant to the semantic! -joint_state_controller: - type: joint_state_controller/JointStateController - publish_rate: 100 - extra_joints: - - name: caster_wheel_joint - - name: caster_base_joint - - name: front_caster_wheel_joint - - name: front_caster_base_joint +/joint_state_controller: + ros__parameters: + extra_joints: + - caster_wheel_joint + - caster_base_joint + - front_caster_wheel_joint + - front_caster_base_joint -nonsmooth_backstep_controller: - type: effort_controllers/NonSmoothBackstepController - joints: - - left_wheel_joint - - right_wheel_joint - F: [0.0, 0.08444758509282763, 3.770688129256381, 0.0] - G: [2.6468901285322475, 2.6468901285322475, -16.084061415321404, 16.084061415321404] - lambda: [200.0, 40.0, 40.0, 500.0, 1000.0] - gamma: [10.0, 1.0, 10.0, 50.0] - wheel_separation: 0.322 - wheel_radius: [0.075, 0.075] - odom_frame_id: "odom" - base_frame_id: "twil_origin" - priority: 99 - time_step: 0.01 +/nonsmooth_backstep_controller: + ros__parameters: + joints: + - left_wheel_joint + - right_wheel_joint + F: [0.0, 0.08444758509282763, 3.770688129256381, 0.0] + G: [2.6468901285322475, 2.6468901285322475, -16.084061415321404, 16.084061415321404] + lambda: [200.0, 40.0, 40.0, 500.0, 1000.0] + gamma: [10.0, 1.0, 10.0, 50.0] + wheel_separation: 0.322 + wheel_radius: [0.075, 0.075] + odom_frame_id: "odom" + base_frame_id: "twil_origin" + priority: 99 + time_step: 0.01 diff --git a/twil_bringup/config/odometry_publisher.yaml b/twil_bringup/config/odometry_publisher.yaml index c81d863..528a971 100644 --- a/twil_bringup/config/odometry_publisher.yaml +++ b/twil_bringup/config/odometry_publisher.yaml @@ -1,9 +1,9 @@ # Watch-out: The indentation here is relevant to the semantic! -odometry_publisher: - wheel_separation: 0.322 - wheel_radius: [0.075, 0.075] - odom_frame_id: "odom" - base_frame_id: "twil_origin" - publish_rate: 100 - \ No newline at end of file +/odometry_publisher: + ros__parameters: + wheel_separation: 0.322 + wheel_radius: [0.075, 0.075] + odom_frame_id: "odom" + base_frame_id: "twil_origin" + publish_rate: 100 diff --git a/twil_bringup/config/twist_mrac_linearizing_controller.yaml b/twil_bringup/config/twist_mrac_linearizing_controller.yaml index 89cbf19..53034b7 100644 --- a/twil_bringup/config/twist_mrac_linearizing_controller.yaml +++ b/twil_bringup/config/twist_mrac_linearizing_controller.yaml @@ -1,25 +1,24 @@ # Watch-out: The indentation here is relevant to the semantic! -joint_state_controller: - type: joint_state_controller/JointStateController - publish_rate: 100 - extra_joints: - - name: caster_wheel_joint - - name: caster_base_joint - - name: front_caster_wheel_joint - - name: front_caster_base_joint +/joint_state_controller: + ros__parameters: + extra_joints: + - caster_wheel_joint + - caster_base_joint + - front_caster_wheel_joint + - front_caster_base_joint -twist_mrac_linearizing_controller: - type: effort_controllers/TwistMracLinearizingController - joints: - - left_wheel_joint - - right_wheel_joint - F: [0.0, 0.08444758509282763, 3.770688129256381, 0.0] - G: [2.6468901285322475, 2.6468901285322475, -16.084061415321404, 16.084061415321404] - Alpha: [10.0, 10.0] - wheel_separation: 0.322 - wheel_radius: [0.075, 0.075] - odom_frame_id: "odom" - base_frame_id: "twil_origin" - priority: 99 - time_step: 0.01 +/twist_mrac_linearizing_controller: + ros__parameters: + joints: + - left_wheel_joint + - right_wheel_joint + F: [0.0, 0.08444758509282763, 3.770688129256381, 0.0] + G: [2.6468901285322475, 2.6468901285322475, -16.084061415321404, 16.084061415321404] + Alpha: [10.0, 10.0] + wheel_separation: 0.322 + wheel_radius: [0.075, 0.075] + odom_frame_id: "odom" + base_frame_id: "twil_origin" + priority: 99 + time_step: 0.01 diff --git a/twil_bringup/launch/adaptive_dynamics_linearizing_controller.launch b/twil_bringup/launch/adaptive_dynamics_linearizing_controller.launch deleted file mode 100644 index 09c0561..0000000 --- a/twil_bringup/launch/adaptive_dynamics_linearizing_controller.launch +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/twil_bringup/launch/adaptive_dynamics_linearizing_controller.launch.xml b/twil_bringup/launch/adaptive_dynamics_linearizing_controller.launch.xml new file mode 100644 index 0000000..a5afa24 --- /dev/null +++ b/twil_bringup/launch/adaptive_dynamics_linearizing_controller.launch.xml @@ -0,0 +1,29 @@ + + + + + + + + + + diff --git a/twil_bringup/launch/adaptive_nonsmooth_backstep_controller.launch b/twil_bringup/launch/adaptive_nonsmooth_backstep_controller.launch deleted file mode 100644 index 75a68fc..0000000 --- a/twil_bringup/launch/adaptive_nonsmooth_backstep_controller.launch +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/twil_bringup/launch/adaptive_nonsmooth_backstep_controller.launch.xml b/twil_bringup/launch/adaptive_nonsmooth_backstep_controller.launch.xml new file mode 100644 index 0000000..392a63d --- /dev/null +++ b/twil_bringup/launch/adaptive_nonsmooth_backstep_controller.launch.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + diff --git a/twil_bringup/launch/dynamics_linearizing_controller.launch b/twil_bringup/launch/dynamics_linearizing_controller.launch deleted file mode 100644 index 2c69505..0000000 --- a/twil_bringup/launch/dynamics_linearizing_controller.launch +++ /dev/null @@ -1,4 +0,0 @@ - - - diff --git a/twil_bringup/launch/dynamics_linearizing_controller.launch.xml b/twil_bringup/launch/dynamics_linearizing_controller.launch.xml new file mode 100644 index 0000000..94ac674 --- /dev/null +++ b/twil_bringup/launch/dynamics_linearizing_controller.launch.xml @@ -0,0 +1,25 @@ + + + + + diff --git a/twil_bringup/launch/gazebo.launch b/twil_bringup/launch/gazebo.launch deleted file mode 100644 index 28b9b9e..0000000 --- a/twil_bringup/launch/gazebo.launch +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/twil_bringup/launch/gazebo.launch.xml b/twil_bringup/launch/gazebo.launch.xml new file mode 100644 index 0000000..d51f5f8 --- /dev/null +++ b/twil_bringup/launch/gazebo.launch.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/twil_bringup/launch/gazebo8.launch b/twil_bringup/launch/gazebo8.launch deleted file mode 100644 index e10cbac..0000000 --- a/twil_bringup/launch/gazebo8.launch +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/twil_bringup/launch/gazebo8.launch.xml b/twil_bringup/launch/gazebo8.launch.xml new file mode 100644 index 0000000..eaabb9a --- /dev/null +++ b/twil_bringup/launch/gazebo8.launch.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/twil_bringup/launch/joint_effort_controller.launch b/twil_bringup/launch/joint_effort_controller.launch deleted file mode 100644 index c982dd1..0000000 --- a/twil_bringup/launch/joint_effort_controller.launch +++ /dev/null @@ -1,4 +0,0 @@ - - - diff --git a/twil_bringup/launch/joint_effort_controller.launch.xml b/twil_bringup/launch/joint_effort_controller.launch.xml new file mode 100644 index 0000000..830c08d --- /dev/null +++ b/twil_bringup/launch/joint_effort_controller.launch.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/twil_bringup/launch/joint_velocity_controller.launch b/twil_bringup/launch/joint_velocity_controller.launch deleted file mode 100644 index c6993b6..0000000 --- a/twil_bringup/launch/joint_velocity_controller.launch +++ /dev/null @@ -1,4 +0,0 @@ - - - diff --git a/twil_bringup/launch/joint_velocity_controller.launch.xml b/twil_bringup/launch/joint_velocity_controller.launch.xml new file mode 100644 index 0000000..cd7d396 --- /dev/null +++ b/twil_bringup/launch/joint_velocity_controller.launch.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/twil_bringup/launch/nonsmooth_backstep_controller.launch b/twil_bringup/launch/nonsmooth_backstep_controller.launch deleted file mode 100644 index 6f19272..0000000 --- a/twil_bringup/launch/nonsmooth_backstep_controller.launch +++ /dev/null @@ -1,4 +0,0 @@ - - - diff --git a/twil_bringup/launch/nonsmooth_backstep_controller.launch.xml b/twil_bringup/launch/nonsmooth_backstep_controller.launch.xml new file mode 100644 index 0000000..58b169a --- /dev/null +++ b/twil_bringup/launch/nonsmooth_backstep_controller.launch.xml @@ -0,0 +1,25 @@ + + + + + diff --git a/twil_bringup/launch/twist_mrac_linearizing_controller.launch b/twil_bringup/launch/twist_mrac_linearizing_controller.launch deleted file mode 100644 index 97763c3..0000000 --- a/twil_bringup/launch/twist_mrac_linearizing_controller.launch +++ /dev/null @@ -1,4 +0,0 @@ - - - diff --git a/twil_bringup/launch/twist_mrac_linearizing_controller.launch.xml b/twil_bringup/launch/twist_mrac_linearizing_controller.launch.xml new file mode 100644 index 0000000..0b1089e --- /dev/null +++ b/twil_bringup/launch/twist_mrac_linearizing_controller.launch.xml @@ -0,0 +1,25 @@ + + + + + diff --git a/twil_bringup/package.xml b/twil_bringup/package.xml index 9d01932..2a8cff1 100644 --- a/twil_bringup/package.xml +++ b/twil_bringup/package.xml @@ -1,72 +1,23 @@ - + + twil_bringup - 4.1.0 - The twil_bringup package - - - - + 5.0.0 + Twil mobile robot bringup Walter Fetter Lages - - - - - GPLv3 + ament_cmake - - - - - - - - - - - Walter Fetter Lages - - - - - - - - - - - - - - - - - - - - - - - catkin - controller_manager - effort_controllers - joint_state_controller - twil_description - controller_manager - effort_controllers - joint_state_controller - twil_description controller_manager effort_controllers - joint_state_controller + joint_state_broadcaster twil_description + ament_lint_auto + ament_lint_common - - - + ament_cmake diff --git a/twil_bringup/scripts/test_openloop.sh b/twil_bringup/scripts/test_openloop.sh index e568f67..c83f241 100755 --- a/twil_bringup/scripts/test_openloop.sh +++ b/twil_bringup/scripts/test_openloop.sh @@ -1,7 +1,6 @@ #!/bin/bash - -rostopic pub -1 /twil/left_wheel_joint_effort_controller/command std_msgs/Float64 "0.5" -rostopic pub -1 /twil/right_wheel_joint_effort_controller/command std_msgs/Float64 "0.5" +ros2 topic pub -1 /left_wheel_joint_effort_controller/commands std_msgs/msg/Float64MultiArray '{data: [0.5]}' +ros2 topic pub -1 /right_wheel_joint_effort_controller/commands std_msgs/msg/Float64MultiArray '{data: [0.5]}' sleep 3 -rostopic pub -1 /twil/left_wheel_joint_effort_controller/command std_msgs/Float64 "0.0" -rostopic pub -1 /twil/right_wheel_joint_effort_controller/command std_msgs/Float64 "0.0" +ros2 topic pub -1 /left_wheel_joint_effort_controller/commands std_msgs/msg/Float64MultiArray '{data: [0.0]}' +ros2 topic pub -1 /right_wheel_joint_effort_controller/commands std_msgs/msg/Float64MultiArray '{data: [0.0]}' diff --git a/twil_description/CMakeLists.txt b/twil_description/CMakeLists.txt index 0865541..7505676 100644 --- a/twil_description/CMakeLists.txt +++ b/twil_description/CMakeLists.txt @@ -1,202 +1,26 @@ -cmake_minimum_required(VERSION 3.0.2) +cmake_minimum_required(VERSION 3.8) project(twil_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) -## 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 twil_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 config launch meshes rviz xacro + DESTINATION share/${PROJECT_NAME} ) -## Declare a C++ library -# add_library(${PROJECT_NAME} -# src/${PROJECT_NAME}/twil_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/twil_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_twil_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/twil_description/config/controller_manager.yaml b/twil_description/config/controller_manager.yaml new file mode 100644 index 0000000..c12730f --- /dev/null +++ b/twil_description/config/controller_manager.yaml @@ -0,0 +1,4 @@ +controller_manager: + ros__parameters: + update_rate: 1000 + use_sim_time: true diff --git a/twil_description/config/gazebo.yaml b/twil_description/config/gazebo.yaml new file mode 100644 index 0000000..c9cdc3c --- /dev/null +++ b/twil_description/config/gazebo.yaml @@ -0,0 +1,4 @@ +gazebo: + ros__parameters: + # This is the /clock update rate + publish_rate: 1000.0 diff --git a/twil_description/launch/display.launch b/twil_description/launch/display.launch deleted file mode 100644 index a967bfd..0000000 --- a/twil_description/launch/display.launch +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/twil_description/launch/display.launch.xml b/twil_description/launch/display.launch.xml new file mode 100644 index 0000000..36e856a --- /dev/null +++ b/twil_description/launch/display.launch.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + diff --git a/twil_description/launch/gazebo.launch b/twil_description/launch/gazebo.launch deleted file mode 100644 index 307df51..0000000 --- a/twil_description/launch/gazebo.launch +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/twil_description/launch/gazebo.launch.xml b/twil_description/launch/gazebo.launch.xml new file mode 100644 index 0000000..ea607c6 --- /dev/null +++ b/twil_description/launch/gazebo.launch.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/twil_description/launch/twil.launch b/twil_description/launch/twil.launch deleted file mode 100644 index d894ade..0000000 --- a/twil_description/launch/twil.launch +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/twil_description/launch/twil.launch.xml b/twil_description/launch/twil.launch.xml new file mode 100644 index 0000000..db78c72 --- /dev/null +++ b/twil_description/launch/twil.launch.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/twil_description/package.xml b/twil_description/package.xml index d8f9073..b968f79 100644 --- a/twil_description/package.xml +++ b/twil_description/package.xml @@ -1,60 +1,22 @@ - + + twil_description - 4.1.0 - The twil_description package - - - - + 5.0.0 + Twil mobile robot description Walter Fetter Lages - - - - - GPLv3 + ament_cmake - - - - - + xacro + joint_state_publisher_gui - - - - - Walter Fetter Lages + ament_lint_auto + ament_lint_common - - - - - - - - - - - - - - - - - - - - - - catkin - - - - - + ament_cmake + diff --git a/twil_description/rviz/display.rviz b/twil_description/rviz/display.rviz index a7b228d..77e012f 100644 --- a/twil_description/rviz/display.rviz +++ b/twil_description/rviz/display.rviz @@ -1,31 +1,28 @@ Panels: - - Class: rviz/Displays + - Class: rviz_common/Displays Help Height: 78 Name: Displays Property Tree Widget: Expanded: - /Global Options1 - /Status1 - - /Odometry1 - - /Pose1 - Splitter Ratio: 0.5 - Tree Height: 559 - - Class: rviz/Selection + Splitter Ratio: 0.6764705777168274 + Tree Height: 549 + - 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 - Experimental: true + - Class: rviz_common/Time + Experimental: false Name: Time SyncMode: 0 SyncSource: "" @@ -34,11 +31,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 @@ -51,8 +48,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 @@ -65,6 +70,21 @@ Visualization Manager: Show Axes: false Show Trail: false Value: true + bottom_sonar_box: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + bottom_sonar_cover: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + bottom_sonar_sensor: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true caster_base: Alpha: 1 Show Axes: false @@ -149,39 +169,150 @@ Visualization Manager: Show Axes: false Show Trail: false Value: true + top_sonar_box: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + top_sonar_cover: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + top_sonar_sensor: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + tower: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + tower_motor: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true twil_origin: Alpha: 1 Show Axes: false Show Trail: false Name: RobotModel - Robot Description: robot_description TF Prefix: "" Update Interval: 0 Value: true Visual Enabled: true - - Angle Tolerance: 0.1 - Class: rviz/Odometry - Color: 255; 25; 0 - Enabled: true - Keep: 42 - Length: 1 - Name: Odometry - Position Tolerance: 0.3 - Topic: /nonsmooth_backstep_controller/odom - Value: true - - Alpha: 1 - Axes Length: 1 - Axes Radius: 0.1 - Class: rviz/Pose - Color: 85; 0; 255 + - Class: rviz_default_plugins/TF Enabled: true - Head Length: 0.3 - Head Radius: 0.1 - Name: Pose - Shaft Length: 1 - Shaft Radius: 0.05 - Shape: Arrow - Topic: /command_stamped + Frame Timeout: 15 + Frames: + All Enabled: false + battery: + Value: false + bottom_sonar_box: + Value: false + bottom_sonar_cover: + Value: false + bottom_sonar_sensor: + Value: false + caster_base: + Value: true + caster_support: + Value: false + caster_wheel: + Value: true + chassis: + Value: false + chassis_top: + Value: false + cpu: + Value: false + fan: + Value: false + front_caster_base: + Value: true + front_caster_support: + Value: false + front_caster_wheel: + Value: true + left_wheel: + Value: true + left_wheel_support: + Value: false + map: + Value: false + motor_driver: + Value: false + power_supply: + Value: false + right_wheel: + Value: true + right_wheel_support: + Value: false + stepper_driver: + Value: false + top_sonar_box: + Value: false + top_sonar_cover: + Value: false + top_sonar_sensor: + Value: false + tower: + Value: true + tower_motor: + Value: false + twil_origin: + Value: false + Marker Scale: 1 + Name: TF + Show Arrows: true + Show Axes: true + Show Names: false + Tree: + map: + twil_origin: + chassis: + battery: + {} + caster_support: + caster_base: + caster_wheel: + {} + chassis_top: + {} + cpu: + {} + fan: + {} + front_caster_support: + front_caster_base: + front_caster_wheel: + {} + left_wheel_support: + left_wheel: + {} + motor_driver: + {} + power_supply: + {} + right_wheel_support: + right_wheel: + {} + stepper_driver: + {} + tower: + bottom_sonar_box: + bottom_sonar_cover: + bottom_sonar_sensor: + {} + top_sonar_box: + top_sonar_cover: + top_sonar_sensor: + {} + tower_motor: + {} + Update Interval: 0 Value: true Enabled: true Global Options: @@ -190,39 +321,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: 7.48193 + Class: rviz_default_plugins/Orbit + Distance: 3.0386643409729004 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 - Y: 0 - Z: 0 + X: -0.10992246121168137 + Y: -0.17255422472953796 + Z: 0.6963587999343872 + Focal Shape Fixed Size: true + Focal Shape Size: 0.05000000074505806 + Invert Z Axis: false Name: Current View - Near Clip Distance: 0.01 - Pitch: 0.785398 + Near Clip Distance: 0.009999999776482582 + Pitch: -0.10960151255130768 Target Frame: Value: Orbit (rviz) - Yaw: 0.785398 + Yaw: 1.160394310951233 Saved: ~ Window Geometry: Displays: @@ -230,7 +386,7 @@ Window Geometry: Height: 846 Hide Left Dock: false Hide Right Dock: false - QMainWindow State: 000000ff00000000fd00000004000000000000013c000002bafc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005300fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000036000002ba000000b700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002bafc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730100000036000002ba0000009b00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004b00000003efc0100000002fb0000000800540069006d00650100000000000004b0000002c200fffffffb0000000800540069006d0065010000000000000450000000000000000000000259000002ba00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd000000040000000000000156000002b0fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d000002b0000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002b0fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d000002b0000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004b00000003efc0100000002fb0000000800540069006d00650100000000000004b00000025300fffffffb0000000800540069006d006501000000000000045000000000000000000000023f000002b000000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false Time: diff --git a/twil_description/xacro/twil.urdf.xacro b/twil_description/xacro/twil.urdf.xacro index 8302069..76c84f9 100644 --- a/twil_description/xacro/twil.urdf.xacro +++ b/twil_description/xacro/twil.urdf.xacro @@ -1,5 +1,5 @@ - + @@ -126,17 +126,41 @@ + + + gazebo_ros2_control/GazeboSystem + + + + + -100 + 100 + + + + + + + + + -100 + 100 + + + + + + + - - - - - - - 0.001 - + + robot_description + robot_state_publisher + $(find twil_description)/config/controller_manager.yaml + +