├── README.md
├── Tutorial ROS - Gazebo.odt
├── mybot_control
├── CMakeLists.txt
├── config
│ └── mybot_control.yaml
├── launch
│ └── mybot_control.launch
└── package.xml
├── mybot_description
├── CMakeLists.txt
├── package.xml
└── urdf
│ ├── macros.xacro
│ ├── materials.xacro
│ ├── mybot.gazebo
│ └── mybot.xacro
└── mybot_gazebo
├── CMakeLists.txt
├── launch
└── mybot_world.launch
├── mybot.rviz
├── mybot_control
├── CMakeLists.txt
├── config
│ └── mybot_control.yaml
├── launch
│ └── mybot_control.launch
└── package.xml
├── mybot_description
├── CMakeLists.txt
├── package.xml
└── urdf
│ ├── macros.xacro
│ ├── materials.xacro
│ ├── mybot.gazebo
│ └── mybot.xacro
├── package.xml
└── worlds
└── mybot.world
/README.md:
--------------------------------------------------------------------------------
1 | mybot_gazebo_tutorial
2 | =====================
3 |
4 | Tutorial on creating a ROS-enabled mobile robot in Gazebo
5 |
--------------------------------------------------------------------------------
/Tutorial ROS - Gazebo.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HumaRobotics/mybot_gazebo_tutorial/d661a35306d4186bb33a776c47358d6848872600/Tutorial ROS - Gazebo.odt
--------------------------------------------------------------------------------
/mybot_control/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(mybot_control)
3 |
4 | ## Find catkin macros and libraries
5 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
6 | ## is used, also find other catkin packages
7 | find_package(catkin REQUIRED)
8 |
9 | ## System dependencies are found with CMake's conventions
10 | # find_package(Boost REQUIRED COMPONENTS system)
11 |
12 |
13 | ## Uncomment this if the package has a setup.py. This macro ensures
14 | ## modules and global scripts declared therein get installed
15 | ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
16 | # catkin_python_setup()
17 |
18 | ################################################
19 | ## Declare ROS messages, services and actions ##
20 | ################################################
21 |
22 | ## To declare and build messages, services or actions from within this
23 | ## package, follow these steps:
24 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in
25 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
26 | ## * In the file package.xml:
27 | ## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
28 | ## * If MSG_DEP_SET isn't empty the following dependencies might have been
29 | ## pulled in transitively but can be declared for certainty nonetheless:
30 | ## * add a build_depend tag for "message_generation"
31 | ## * add a run_depend tag for "message_runtime"
32 | ## * In this file (CMakeLists.txt):
33 | ## * add "message_generation" and every package in MSG_DEP_SET to
34 | ## find_package(catkin REQUIRED COMPONENTS ...)
35 | ## * add "message_runtime" and every package in MSG_DEP_SET to
36 | ## catkin_package(CATKIN_DEPENDS ...)
37 | ## * uncomment the add_*_files sections below as needed
38 | ## and list every .msg/.srv/.action file to be processed
39 | ## * uncomment the generate_messages entry below
40 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
41 |
42 | ## Generate messages in the 'msg' folder
43 | # add_message_files(
44 | # FILES
45 | # Message1.msg
46 | # Message2.msg
47 | # )
48 |
49 | ## Generate services in the 'srv' folder
50 | # add_service_files(
51 | # FILES
52 | # Service1.srv
53 | # Service2.srv
54 | # )
55 |
56 | ## Generate actions in the 'action' folder
57 | # add_action_files(
58 | # FILES
59 | # Action1.action
60 | # Action2.action
61 | # )
62 |
63 | ## Generate added messages and services with any dependencies listed here
64 | # generate_messages(
65 | # DEPENDENCIES
66 | # std_msgs # Or other packages containing msgs
67 | # )
68 |
69 | ###################################
70 | ## catkin specific configuration ##
71 | ###################################
72 | ## The catkin_package macro generates cmake config files for your package
73 | ## Declare things to be passed to dependent projects
74 | ## INCLUDE_DIRS: uncomment this if you package contains header files
75 | ## LIBRARIES: libraries you create in this project that dependent projects also need
76 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need
77 | ## DEPENDS: system dependencies of this project that dependent projects also need
78 | catkin_package(
79 | # INCLUDE_DIRS include
80 | # LIBRARIES mybot_control
81 | # CATKIN_DEPENDS other_catkin_pkg
82 | # DEPENDS system_lib
83 | )
84 |
85 | ###########
86 | ## Build ##
87 | ###########
88 |
89 | ## Specify additional locations of header files
90 | ## Your package locations should be listed before other locations
91 | # include_directories(include)
92 |
93 | ## Declare a cpp library
94 | # add_library(mybot_control
95 | # src/${PROJECT_NAME}/mybot_control.cpp
96 | # )
97 |
98 | ## Declare a cpp executable
99 | # add_executable(mybot_control_node src/mybot_control_node.cpp)
100 |
101 | ## Add cmake target dependencies of the executable/library
102 | ## as an example, message headers may need to be generated before nodes
103 | # add_dependencies(mybot_control_node mybot_control_generate_messages_cpp)
104 |
105 | ## Specify libraries to link a library or executable target against
106 | # target_link_libraries(mybot_control_node
107 | # ${catkin_LIBRARIES}
108 | # )
109 |
110 | #############
111 | ## Install ##
112 | #############
113 |
114 | # all install targets should use catkin DESTINATION variables
115 | # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
116 |
117 | ## Mark executable scripts (Python etc.) for installation
118 | ## in contrast to setup.py, you can choose the destination
119 | # install(PROGRAMS
120 | # scripts/my_python_script
121 | # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
122 | # )
123 |
124 | ## Mark executables and/or libraries for installation
125 | # install(TARGETS mybot_control mybot_control_node
126 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
127 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
128 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
129 | # )
130 |
131 | ## Mark cpp header files for installation
132 | # install(DIRECTORY include/${PROJECT_NAME}/
133 | # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
134 | # FILES_MATCHING PATTERN "*.h"
135 | # PATTERN ".svn" EXCLUDE
136 | # )
137 |
138 | ## Mark other files for installation (e.g. launch and bag files, etc.)
139 | # install(FILES
140 | # # myfile1
141 | # # myfile2
142 | # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
143 | # )
144 |
145 | #############
146 | ## Testing ##
147 | #############
148 |
149 | ## Add gtest based cpp test target and link libraries
150 | # catkin_add_gtest(${PROJECT_NAME}-test test/test_mybot_control.cpp)
151 | # if(TARGET ${PROJECT_NAME}-test)
152 | # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
153 | # endif()
154 |
155 | ## Add folders to be run by python nosetests
156 | # catkin_add_nosetests(test)
157 |
--------------------------------------------------------------------------------
/mybot_control/config/mybot_control.yaml:
--------------------------------------------------------------------------------
1 | mybot:
2 | # Publish all joint states -----------------------------------
3 | joint_state_controller:
4 | type: joint_state_controller/JointStateController
5 | publish_rate: 50
6 |
7 |
8 | # Effort Controllers ---------------------------------------
9 | leftWheel_effort_controller:
10 | type: effort_controllers/JointEffortController
11 | joint: left_wheel_hinge
12 | pid: {p: 100.0, i: 0.1, d: 10.0}
13 | rightWheel_effort_controller:
14 | type: effort_controllers/JointEffortController
15 | joint: right_wheel_hinge
16 | pid: {p: 100.0, i: 0.1, d: 10.0}
17 |
--------------------------------------------------------------------------------
/mybot_control/launch/mybot_control.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 |
12 |
13 |
14 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/mybot_control/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | mybot_control
4 | 0.0.0
5 | The mybot_control package
6 |
7 |
8 |
9 |
10 | gr
11 |
12 |
13 |
14 |
15 |
16 | TODO
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | catkin
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/mybot_description/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(mybot_description)
3 |
4 | ## Find catkin macros and libraries
5 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
6 | ## is used, also find other catkin packages
7 | find_package(catkin REQUIRED)
8 |
9 | ## System dependencies are found with CMake's conventions
10 | # find_package(Boost REQUIRED COMPONENTS system)
11 |
12 |
13 | ## Uncomment this if the package has a setup.py. This macro ensures
14 | ## modules and global scripts declared therein get installed
15 | ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
16 | # catkin_python_setup()
17 |
18 | ################################################
19 | ## Declare ROS messages, services and actions ##
20 | ################################################
21 |
22 | ## To declare and build messages, services or actions from within this
23 | ## package, follow these steps:
24 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in
25 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
26 | ## * In the file package.xml:
27 | ## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
28 | ## * If MSG_DEP_SET isn't empty the following dependencies might have been
29 | ## pulled in transitively but can be declared for certainty nonetheless:
30 | ## * add a build_depend tag for "message_generation"
31 | ## * add a run_depend tag for "message_runtime"
32 | ## * In this file (CMakeLists.txt):
33 | ## * add "message_generation" and every package in MSG_DEP_SET to
34 | ## find_package(catkin REQUIRED COMPONENTS ...)
35 | ## * add "message_runtime" and every package in MSG_DEP_SET to
36 | ## catkin_package(CATKIN_DEPENDS ...)
37 | ## * uncomment the add_*_files sections below as needed
38 | ## and list every .msg/.srv/.action file to be processed
39 | ## * uncomment the generate_messages entry below
40 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
41 |
42 | ## Generate messages in the 'msg' folder
43 | # add_message_files(
44 | # FILES
45 | # Message1.msg
46 | # Message2.msg
47 | # )
48 |
49 | ## Generate services in the 'srv' folder
50 | # add_service_files(
51 | # FILES
52 | # Service1.srv
53 | # Service2.srv
54 | # )
55 |
56 | ## Generate actions in the 'action' folder
57 | # add_action_files(
58 | # FILES
59 | # Action1.action
60 | # Action2.action
61 | # )
62 |
63 | ## Generate added messages and services with any dependencies listed here
64 | # generate_messages(
65 | # DEPENDENCIES
66 | # std_msgs # Or other packages containing msgs
67 | # )
68 |
69 | ###################################
70 | ## catkin specific configuration ##
71 | ###################################
72 | ## The catkin_package macro generates cmake config files for your package
73 | ## Declare things to be passed to dependent projects
74 | ## INCLUDE_DIRS: uncomment this if you package contains header files
75 | ## LIBRARIES: libraries you create in this project that dependent projects also need
76 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need
77 | ## DEPENDS: system dependencies of this project that dependent projects also need
78 | catkin_package(
79 | # INCLUDE_DIRS include
80 | # LIBRARIES mybot_description
81 | # CATKIN_DEPENDS other_catkin_pkg
82 | # DEPENDS system_lib
83 | )
84 |
85 | ###########
86 | ## Build ##
87 | ###########
88 |
89 | ## Specify additional locations of header files
90 | ## Your package locations should be listed before other locations
91 | # include_directories(include)
92 |
93 | ## Declare a cpp library
94 | # add_library(mybot_description
95 | # src/${PROJECT_NAME}/mybot_description.cpp
96 | # )
97 |
98 | ## Declare a cpp executable
99 | # add_executable(mybot_description_node src/mybot_description_node.cpp)
100 |
101 | ## Add cmake target dependencies of the executable/library
102 | ## as an example, message headers may need to be generated before nodes
103 | # add_dependencies(mybot_description_node mybot_description_generate_messages_cpp)
104 |
105 | ## Specify libraries to link a library or executable target against
106 | # target_link_libraries(mybot_description_node
107 | # ${catkin_LIBRARIES}
108 | # )
109 |
110 | #############
111 | ## Install ##
112 | #############
113 |
114 | # all install targets should use catkin DESTINATION variables
115 | # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
116 |
117 | ## Mark executable scripts (Python etc.) for installation
118 | ## in contrast to setup.py, you can choose the destination
119 | # install(PROGRAMS
120 | # scripts/my_python_script
121 | # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
122 | # )
123 |
124 | ## Mark executables and/or libraries for installation
125 | # install(TARGETS mybot_description mybot_description_node
126 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
127 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
128 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
129 | # )
130 |
131 | ## Mark cpp header files for installation
132 | # install(DIRECTORY include/${PROJECT_NAME}/
133 | # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
134 | # FILES_MATCHING PATTERN "*.h"
135 | # PATTERN ".svn" EXCLUDE
136 | # )
137 |
138 | ## Mark other files for installation (e.g. launch and bag files, etc.)
139 | # install(FILES
140 | # # myfile1
141 | # # myfile2
142 | # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
143 | # )
144 |
145 | #############
146 | ## Testing ##
147 | #############
148 |
149 | ## Add gtest based cpp test target and link libraries
150 | # catkin_add_gtest(${PROJECT_NAME}-test test/test_mybot_description.cpp)
151 | # if(TARGET ${PROJECT_NAME}-test)
152 | # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
153 | # endif()
154 |
155 | ## Add folders to be run by python nosetests
156 | # catkin_add_nosetests(test)
157 |
--------------------------------------------------------------------------------
/mybot_description/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | mybot_description
4 | 0.0.0
5 | The mybot_description package
6 |
7 |
8 |
9 |
10 | gr
11 |
12 |
13 |
14 |
15 |
16 | TODO
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | catkin
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/mybot_description/urdf/macros.xacro:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
10 |
13 |
14 |
15 |
16 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | Gazebo/Black
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 | transmission_interface/SimpleTransmission
68 |
69 |
70 | EffortJointInterface
71 | 10
72 |
73 |
74 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/mybot_description/urdf/materials.xacro:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/mybot_description/urdf/mybot.gazebo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | /mybot
7 |
8 |
9 |
10 |
11 |
12 | true
13 | 100
14 | left_wheel_hinge
15 | right_wheel_hinge
16 | ${chassisWidth+wheelWidth}
17 | ${2*wheelRadius}
18 | 20
19 | mybot/cmd_vel
20 | mybot/odom_diffdrive
21 | odom
22 | footprint
23 |
24 |
25 |
26 |
27 |
28 | map
29 | chassis
30 | mybot/odom
31 | 30.0
32 |
33 |
34 |
35 |
36 | Gazebo/Orange
37 |
38 |
39 |
40 | 0.0
41 | 0.0
42 | Gazebo/Grey
43 |
44 |
45 |
46 | Gazebo/Grey
47 |
48 | 30.0
49 |
50 | 1.3962634
51 |
52 | 800
53 | 800
54 | R8G8B8
55 |
56 |
57 | 0.02
58 | 300
59 |
60 |
61 |
62 | true
63 | 0.0
64 | mybot/camera1
65 | image_raw
66 | camera_info
67 | camera_link
68 | 0.07
69 | 0.0
70 | 0.0
71 | 0.0
72 | 0.0
73 | 0.0
74 |
75 |
76 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/mybot_description/urdf/mybot.xacro:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
--------------------------------------------------------------------------------
/mybot_gazebo/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(mybot_gazebo)
3 |
4 | ## Find catkin macros and libraries
5 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
6 | ## is used, also find other catkin packages
7 | find_package(catkin REQUIRED COMPONENTS
8 | gazebo_ros
9 | )
10 |
11 | ## System dependencies are found with CMake's conventions
12 | # find_package(Boost REQUIRED COMPONENTS system)
13 |
14 |
15 | ## Uncomment this if the package has a setup.py. This macro ensures
16 | ## modules and global scripts declared therein get installed
17 | ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
18 | # catkin_python_setup()
19 |
20 | ################################################
21 | ## Declare ROS messages, services and actions ##
22 | ################################################
23 |
24 | ## To declare and build messages, services or actions from within this
25 | ## package, follow these steps:
26 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in
27 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
28 | ## * In the file package.xml:
29 | ## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
30 | ## * If MSG_DEP_SET isn't empty the following dependencies might have been
31 | ## pulled in transitively but can be declared for certainty nonetheless:
32 | ## * add a build_depend tag for "message_generation"
33 | ## * add a run_depend tag for "message_runtime"
34 | ## * In this file (CMakeLists.txt):
35 | ## * add "message_generation" and every package in MSG_DEP_SET to
36 | ## find_package(catkin REQUIRED COMPONENTS ...)
37 | ## * add "message_runtime" and every package in MSG_DEP_SET to
38 | ## catkin_package(CATKIN_DEPENDS ...)
39 | ## * uncomment the add_*_files sections below as needed
40 | ## and list every .msg/.srv/.action file to be processed
41 | ## * uncomment the generate_messages entry below
42 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
43 |
44 | ## Generate messages in the 'msg' folder
45 | # add_message_files(
46 | # FILES
47 | # Message1.msg
48 | # Message2.msg
49 | # )
50 |
51 | ## Generate services in the 'srv' folder
52 | # add_service_files(
53 | # FILES
54 | # Service1.srv
55 | # Service2.srv
56 | # )
57 |
58 | ## Generate actions in the 'action' folder
59 | # add_action_files(
60 | # FILES
61 | # Action1.action
62 | # Action2.action
63 | # )
64 |
65 | ## Generate added messages and services with any dependencies listed here
66 | # generate_messages(
67 | # DEPENDENCIES
68 | # std_msgs # Or other packages containing msgs
69 | # )
70 |
71 | ###################################
72 | ## catkin specific configuration ##
73 | ###################################
74 | ## The catkin_package macro generates cmake config files for your package
75 | ## Declare things to be passed to dependent projects
76 | ## INCLUDE_DIRS: uncomment this if you package contains header files
77 | ## LIBRARIES: libraries you create in this project that dependent projects also need
78 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need
79 | ## DEPENDS: system dependencies of this project that dependent projects also need
80 | catkin_package(
81 | # INCLUDE_DIRS include
82 | # LIBRARIES mybot_gazebo
83 | # CATKIN_DEPENDS gazebo_ros
84 | # DEPENDS system_lib
85 | )
86 |
87 | ###########
88 | ## Build ##
89 | ###########
90 |
91 | ## Specify additional locations of header files
92 | ## Your package locations should be listed before other locations
93 | # include_directories(include)
94 | include_directories(
95 | ${catkin_INCLUDE_DIRS}
96 | )
97 |
98 | ## Declare a cpp library
99 | # add_library(mybot_gazebo
100 | # src/${PROJECT_NAME}/mybot_gazebo.cpp
101 | # )
102 |
103 | ## Declare a cpp executable
104 | # add_executable(mybot_gazebo_node src/mybot_gazebo_node.cpp)
105 |
106 | ## Add cmake target dependencies of the executable/library
107 | ## as an example, message headers may need to be generated before nodes
108 | # add_dependencies(mybot_gazebo_node mybot_gazebo_generate_messages_cpp)
109 |
110 | ## Specify libraries to link a library or executable target against
111 | # target_link_libraries(mybot_gazebo_node
112 | # ${catkin_LIBRARIES}
113 | # )
114 |
115 | #############
116 | ## Install ##
117 | #############
118 |
119 | # all install targets should use catkin DESTINATION variables
120 | # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
121 |
122 | ## Mark executable scripts (Python etc.) for installation
123 | ## in contrast to setup.py, you can choose the destination
124 | # install(PROGRAMS
125 | # scripts/my_python_script
126 | # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
127 | # )
128 |
129 | ## Mark executables and/or libraries for installation
130 | # install(TARGETS mybot_gazebo mybot_gazebo_node
131 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
132 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
133 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
134 | # )
135 |
136 | ## Mark cpp header files for installation
137 | # install(DIRECTORY include/${PROJECT_NAME}/
138 | # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
139 | # FILES_MATCHING PATTERN "*.h"
140 | # PATTERN ".svn" EXCLUDE
141 | # )
142 |
143 | ## Mark other files for installation (e.g. launch and bag files, etc.)
144 | # install(FILES
145 | # # myfile1
146 | # # myfile2
147 | # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
148 | # )
149 |
150 | #############
151 | ## Testing ##
152 | #############
153 |
154 | ## Add gtest based cpp test target and link libraries
155 | # catkin_add_gtest(${PROJECT_NAME}-test test/test_mybot_gazebo.cpp)
156 | # if(TARGET ${PROJECT_NAME}-test)
157 | # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
158 | # endif()
159 |
160 | ## Add folders to be run by python nosetests
161 | # catkin_add_nosetests(test)
162 |
--------------------------------------------------------------------------------
/mybot_gazebo/launch/mybot_world.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/mybot_gazebo/mybot.rviz:
--------------------------------------------------------------------------------
1 | Panels:
2 | - Class: rviz/Displays
3 | Help Height: 78
4 | Name: Displays
5 | Property Tree Widget:
6 | Expanded:
7 | - /Global Options1
8 | - /Status1
9 | - /RobotModel1
10 | - /RobotModel1/Status1
11 | - /TF1
12 | - /TF1/Frames1
13 | - /Image1
14 | Splitter Ratio: 0.5
15 | Tree Height: 567
16 | - Class: rviz/Selection
17 | Name: Selection
18 | - Class: rviz/Tool Properties
19 | Expanded:
20 | - /2D Pose Estimate1
21 | - /2D Nav Goal1
22 | - /Publish Point1
23 | Name: Tool Properties
24 | Splitter Ratio: 0.588679
25 | - Class: rviz/Views
26 | Expanded:
27 | - /Current View1
28 | Name: Views
29 | Splitter Ratio: 0.5
30 | - Class: rviz/Time
31 | Experimental: false
32 | Name: Time
33 | SyncMode: 0
34 | SyncSource: Image
35 | Visualization Manager:
36 | Class: ""
37 | Displays:
38 | - Alpha: 0.5
39 | Cell Size: 1
40 | Class: rviz/Grid
41 | Color: 160; 160; 164
42 | Enabled: true
43 | Line Style:
44 | Line Width: 0.03
45 | Value: Lines
46 | Name: Grid
47 | Normal Cell Count: 0
48 | Offset:
49 | X: 0
50 | Y: 0
51 | Z: 0
52 | Plane: XY
53 | Plane Cell Count: 10
54 | Reference Frame:
55 | Value: true
56 | - Alpha: 1
57 | Class: rviz/RobotModel
58 | Collision Enabled: false
59 | Enabled: true
60 | Links:
61 | All Links Enabled: true
62 | Expand Joint Details: false
63 | Expand Link Details: false
64 | Expand Tree: false
65 | Link Tree Style: Links in Alphabetic Order
66 | camera:
67 | Alpha: 1
68 | Show Axes: false
69 | Show Trail: false
70 | Value: true
71 | caster_wheel:
72 | Alpha: 1
73 | Show Axes: false
74 | Show Trail: false
75 | Value: true
76 | chassis:
77 | Alpha: 1
78 | Show Axes: false
79 | Show Trail: false
80 | Value: true
81 | footprint:
82 | Alpha: 1
83 | Show Axes: false
84 | Show Trail: false
85 | left_wheel:
86 | Alpha: 1
87 | Show Axes: false
88 | Show Trail: false
89 | Value: true
90 | right_wheel:
91 | Alpha: 1
92 | Show Axes: false
93 | Show Trail: false
94 | Value: true
95 | Name: RobotModel
96 | Robot Description: robot_description
97 | TF Prefix: ""
98 | Update Interval: 0
99 | Value: true
100 | Visual Enabled: true
101 | - Class: rviz/TF
102 | Enabled: true
103 | Frame Timeout: 15
104 | Frames:
105 | All Enabled: false
106 | camera:
107 | Value: true
108 | caster_wheel:
109 | Value: true
110 | chassis:
111 | Value: true
112 | footprint:
113 | Value: true
114 | left_wheel:
115 | Value: true
116 | odom:
117 | Value: true
118 | right_wheel:
119 | Value: true
120 | Marker Scale: 1
121 | Name: TF
122 | Show Arrows: true
123 | Show Axes: true
124 | Show Names: true
125 | Tree:
126 | odom:
127 | footprint:
128 | chassis:
129 | camera:
130 | {}
131 | caster_wheel:
132 | {}
133 | left_wheel:
134 | {}
135 | right_wheel:
136 | {}
137 | Update Interval: 0
138 | Value: true
139 | - Class: rviz/Image
140 | Enabled: true
141 | Image Topic: /mybot/camera1/image_raw
142 | Max Value: 1
143 | Median window: 5
144 | Min Value: 0
145 | Name: Image
146 | Normalize Range: true
147 | Queue Size: 2
148 | Transport Hint: raw
149 | Value: true
150 | Enabled: true
151 | Global Options:
152 | Background Color: 48; 48; 48
153 | Fixed Frame: footprint
154 | Frame Rate: 30
155 | Name: root
156 | Tools:
157 | - Class: rviz/Interact
158 | Hide Inactive Objects: true
159 | - Class: rviz/MoveCamera
160 | - Class: rviz/Select
161 | - Class: rviz/FocusCamera
162 | - Class: rviz/Measure
163 | - Class: rviz/SetInitialPose
164 | Topic: /initialpose
165 | - Class: rviz/SetGoal
166 | Topic: /move_base_simple/goal
167 | - Class: rviz/PublishPoint
168 | Single click: true
169 | Topic: /clicked_point
170 | Value: true
171 | Views:
172 | Current:
173 | Class: rviz/Orbit
174 | Distance: 2.14674
175 | Enable Stereo Rendering:
176 | Stereo Eye Separation: 0.06
177 | Stereo Focal Distance: 1
178 | Swap Stereo Eyes: false
179 | Value: false
180 | Focal Point:
181 | X: 0.00432968
182 | Y: -0.0489216
183 | Z: 0.0105162
184 | Name: Current View
185 | Near Clip Distance: 0.01
186 | Pitch: 0.198228
187 | Target Frame:
188 | Value: Orbit (rviz)
189 | Yaw: 3.52362
190 | Saved: ~
191 | Window Geometry:
192 | Camera:
193 | collapsed: false
194 | Displays:
195 | collapsed: false
196 | Height: 1056
197 | Hide Left Dock: false
198 | Hide Right Dock: false
199 | Image:
200 | collapsed: false
201 | QMainWindow State: 000000ff00000000fd00000004000000000000026a00000396fc020000000bfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006400fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000028000002c6000000dd00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d006100670065000000015f000000a70000000000000000fb0000000c00430061006d006500720061000000028b000001330000001600000016fb0000000a0049006d00610067006501000002f4000000ca0000001600ffffff000000010000010f00000396fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000002800000396000000b000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000073f0000003efc0100000002fb0000000800540069006d006501000000000000073f000002f600fffffffb0000000800540069006d00650100000000000004500000000000000000000003ba0000039600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
202 | Selection:
203 | collapsed: false
204 | Time:
205 | collapsed: false
206 | Tool Properties:
207 | collapsed: false
208 | Views:
209 | collapsed: false
210 | Width: 1855
211 | X: 58
212 | Y: 24
213 |
--------------------------------------------------------------------------------
/mybot_gazebo/mybot_control/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(mybot_control)
3 |
4 | ## Find catkin macros and libraries
5 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
6 | ## is used, also find other catkin packages
7 | find_package(catkin REQUIRED)
8 |
9 | ## System dependencies are found with CMake's conventions
10 | # find_package(Boost REQUIRED COMPONENTS system)
11 |
12 |
13 | ## Uncomment this if the package has a setup.py. This macro ensures
14 | ## modules and global scripts declared therein get installed
15 | ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
16 | # catkin_python_setup()
17 |
18 | ################################################
19 | ## Declare ROS messages, services and actions ##
20 | ################################################
21 |
22 | ## To declare and build messages, services or actions from within this
23 | ## package, follow these steps:
24 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in
25 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
26 | ## * In the file package.xml:
27 | ## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
28 | ## * If MSG_DEP_SET isn't empty the following dependencies might have been
29 | ## pulled in transitively but can be declared for certainty nonetheless:
30 | ## * add a build_depend tag for "message_generation"
31 | ## * add a run_depend tag for "message_runtime"
32 | ## * In this file (CMakeLists.txt):
33 | ## * add "message_generation" and every package in MSG_DEP_SET to
34 | ## find_package(catkin REQUIRED COMPONENTS ...)
35 | ## * add "message_runtime" and every package in MSG_DEP_SET to
36 | ## catkin_package(CATKIN_DEPENDS ...)
37 | ## * uncomment the add_*_files sections below as needed
38 | ## and list every .msg/.srv/.action file to be processed
39 | ## * uncomment the generate_messages entry below
40 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
41 |
42 | ## Generate messages in the 'msg' folder
43 | # add_message_files(
44 | # FILES
45 | # Message1.msg
46 | # Message2.msg
47 | # )
48 |
49 | ## Generate services in the 'srv' folder
50 | # add_service_files(
51 | # FILES
52 | # Service1.srv
53 | # Service2.srv
54 | # )
55 |
56 | ## Generate actions in the 'action' folder
57 | # add_action_files(
58 | # FILES
59 | # Action1.action
60 | # Action2.action
61 | # )
62 |
63 | ## Generate added messages and services with any dependencies listed here
64 | # generate_messages(
65 | # DEPENDENCIES
66 | # std_msgs # Or other packages containing msgs
67 | # )
68 |
69 | ###################################
70 | ## catkin specific configuration ##
71 | ###################################
72 | ## The catkin_package macro generates cmake config files for your package
73 | ## Declare things to be passed to dependent projects
74 | ## INCLUDE_DIRS: uncomment this if you package contains header files
75 | ## LIBRARIES: libraries you create in this project that dependent projects also need
76 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need
77 | ## DEPENDS: system dependencies of this project that dependent projects also need
78 | catkin_package(
79 | # INCLUDE_DIRS include
80 | # LIBRARIES mybot_control
81 | # CATKIN_DEPENDS other_catkin_pkg
82 | # DEPENDS system_lib
83 | )
84 |
85 | ###########
86 | ## Build ##
87 | ###########
88 |
89 | ## Specify additional locations of header files
90 | ## Your package locations should be listed before other locations
91 | # include_directories(include)
92 |
93 | ## Declare a cpp library
94 | # add_library(mybot_control
95 | # src/${PROJECT_NAME}/mybot_control.cpp
96 | # )
97 |
98 | ## Declare a cpp executable
99 | # add_executable(mybot_control_node src/mybot_control_node.cpp)
100 |
101 | ## Add cmake target dependencies of the executable/library
102 | ## as an example, message headers may need to be generated before nodes
103 | # add_dependencies(mybot_control_node mybot_control_generate_messages_cpp)
104 |
105 | ## Specify libraries to link a library or executable target against
106 | # target_link_libraries(mybot_control_node
107 | # ${catkin_LIBRARIES}
108 | # )
109 |
110 | #############
111 | ## Install ##
112 | #############
113 |
114 | # all install targets should use catkin DESTINATION variables
115 | # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
116 |
117 | ## Mark executable scripts (Python etc.) for installation
118 | ## in contrast to setup.py, you can choose the destination
119 | # install(PROGRAMS
120 | # scripts/my_python_script
121 | # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
122 | # )
123 |
124 | ## Mark executables and/or libraries for installation
125 | # install(TARGETS mybot_control mybot_control_node
126 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
127 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
128 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
129 | # )
130 |
131 | ## Mark cpp header files for installation
132 | # install(DIRECTORY include/${PROJECT_NAME}/
133 | # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
134 | # FILES_MATCHING PATTERN "*.h"
135 | # PATTERN ".svn" EXCLUDE
136 | # )
137 |
138 | ## Mark other files for installation (e.g. launch and bag files, etc.)
139 | # install(FILES
140 | # # myfile1
141 | # # myfile2
142 | # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
143 | # )
144 |
145 | #############
146 | ## Testing ##
147 | #############
148 |
149 | ## Add gtest based cpp test target and link libraries
150 | # catkin_add_gtest(${PROJECT_NAME}-test test/test_mybot_control.cpp)
151 | # if(TARGET ${PROJECT_NAME}-test)
152 | # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
153 | # endif()
154 |
155 | ## Add folders to be run by python nosetests
156 | # catkin_add_nosetests(test)
157 |
--------------------------------------------------------------------------------
/mybot_gazebo/mybot_control/config/mybot_control.yaml:
--------------------------------------------------------------------------------
1 | mybot:
2 | # Publish all joint states -----------------------------------
3 | joint_state_controller:
4 | type: joint_state_controller/JointStateController
5 | publish_rate: 50
6 |
7 |
8 | # Effort Controllers ---------------------------------------
9 | leftWheel_effort_controller:
10 | type: effort_controllers/JointEffortController
11 | joint: left_wheel_hinge
12 | pid: {p: 100.0, i: 0.1, d: 10.0}
13 | rightWheel_effort_controller:
14 | type: effort_controllers/JointEffortController
15 | joint: right_wheel_hinge
16 | pid: {p: 100.0, i: 0.1, d: 10.0}
17 |
--------------------------------------------------------------------------------
/mybot_gazebo/mybot_control/launch/mybot_control.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 |
12 |
13 |
14 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/mybot_gazebo/mybot_control/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | mybot_control
4 | 0.0.0
5 | The mybot_control package
6 |
7 |
8 |
9 |
10 | gr
11 |
12 |
13 |
14 |
15 |
16 | TODO
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | catkin
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/mybot_gazebo/mybot_description/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(mybot_description)
3 |
4 | ## Find catkin macros and libraries
5 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
6 | ## is used, also find other catkin packages
7 | find_package(catkin REQUIRED)
8 |
9 | ## System dependencies are found with CMake's conventions
10 | # find_package(Boost REQUIRED COMPONENTS system)
11 |
12 |
13 | ## Uncomment this if the package has a setup.py. This macro ensures
14 | ## modules and global scripts declared therein get installed
15 | ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
16 | # catkin_python_setup()
17 |
18 | ################################################
19 | ## Declare ROS messages, services and actions ##
20 | ################################################
21 |
22 | ## To declare and build messages, services or actions from within this
23 | ## package, follow these steps:
24 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in
25 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
26 | ## * In the file package.xml:
27 | ## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
28 | ## * If MSG_DEP_SET isn't empty the following dependencies might have been
29 | ## pulled in transitively but can be declared for certainty nonetheless:
30 | ## * add a build_depend tag for "message_generation"
31 | ## * add a run_depend tag for "message_runtime"
32 | ## * In this file (CMakeLists.txt):
33 | ## * add "message_generation" and every package in MSG_DEP_SET to
34 | ## find_package(catkin REQUIRED COMPONENTS ...)
35 | ## * add "message_runtime" and every package in MSG_DEP_SET to
36 | ## catkin_package(CATKIN_DEPENDS ...)
37 | ## * uncomment the add_*_files sections below as needed
38 | ## and list every .msg/.srv/.action file to be processed
39 | ## * uncomment the generate_messages entry below
40 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
41 |
42 | ## Generate messages in the 'msg' folder
43 | # add_message_files(
44 | # FILES
45 | # Message1.msg
46 | # Message2.msg
47 | # )
48 |
49 | ## Generate services in the 'srv' folder
50 | # add_service_files(
51 | # FILES
52 | # Service1.srv
53 | # Service2.srv
54 | # )
55 |
56 | ## Generate actions in the 'action' folder
57 | # add_action_files(
58 | # FILES
59 | # Action1.action
60 | # Action2.action
61 | # )
62 |
63 | ## Generate added messages and services with any dependencies listed here
64 | # generate_messages(
65 | # DEPENDENCIES
66 | # std_msgs # Or other packages containing msgs
67 | # )
68 |
69 | ###################################
70 | ## catkin specific configuration ##
71 | ###################################
72 | ## The catkin_package macro generates cmake config files for your package
73 | ## Declare things to be passed to dependent projects
74 | ## INCLUDE_DIRS: uncomment this if you package contains header files
75 | ## LIBRARIES: libraries you create in this project that dependent projects also need
76 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need
77 | ## DEPENDS: system dependencies of this project that dependent projects also need
78 | catkin_package(
79 | # INCLUDE_DIRS include
80 | # LIBRARIES mybot_description
81 | # CATKIN_DEPENDS other_catkin_pkg
82 | # DEPENDS system_lib
83 | )
84 |
85 | ###########
86 | ## Build ##
87 | ###########
88 |
89 | ## Specify additional locations of header files
90 | ## Your package locations should be listed before other locations
91 | # include_directories(include)
92 |
93 | ## Declare a cpp library
94 | # add_library(mybot_description
95 | # src/${PROJECT_NAME}/mybot_description.cpp
96 | # )
97 |
98 | ## Declare a cpp executable
99 | # add_executable(mybot_description_node src/mybot_description_node.cpp)
100 |
101 | ## Add cmake target dependencies of the executable/library
102 | ## as an example, message headers may need to be generated before nodes
103 | # add_dependencies(mybot_description_node mybot_description_generate_messages_cpp)
104 |
105 | ## Specify libraries to link a library or executable target against
106 | # target_link_libraries(mybot_description_node
107 | # ${catkin_LIBRARIES}
108 | # )
109 |
110 | #############
111 | ## Install ##
112 | #############
113 |
114 | # all install targets should use catkin DESTINATION variables
115 | # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
116 |
117 | ## Mark executable scripts (Python etc.) for installation
118 | ## in contrast to setup.py, you can choose the destination
119 | # install(PROGRAMS
120 | # scripts/my_python_script
121 | # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
122 | # )
123 |
124 | ## Mark executables and/or libraries for installation
125 | # install(TARGETS mybot_description mybot_description_node
126 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
127 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
128 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
129 | # )
130 |
131 | ## Mark cpp header files for installation
132 | # install(DIRECTORY include/${PROJECT_NAME}/
133 | # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
134 | # FILES_MATCHING PATTERN "*.h"
135 | # PATTERN ".svn" EXCLUDE
136 | # )
137 |
138 | ## Mark other files for installation (e.g. launch and bag files, etc.)
139 | # install(FILES
140 | # # myfile1
141 | # # myfile2
142 | # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
143 | # )
144 |
145 | #############
146 | ## Testing ##
147 | #############
148 |
149 | ## Add gtest based cpp test target and link libraries
150 | # catkin_add_gtest(${PROJECT_NAME}-test test/test_mybot_description.cpp)
151 | # if(TARGET ${PROJECT_NAME}-test)
152 | # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
153 | # endif()
154 |
155 | ## Add folders to be run by python nosetests
156 | # catkin_add_nosetests(test)
157 |
--------------------------------------------------------------------------------
/mybot_gazebo/mybot_description/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | mybot_description
4 | 0.0.0
5 | The mybot_description package
6 |
7 |
8 |
9 |
10 | gr
11 |
12 |
13 |
14 |
15 |
16 | TODO
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | catkin
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/mybot_gazebo/mybot_description/urdf/macros.xacro:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
10 |
13 |
14 |
15 |
16 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | Gazebo/Black
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 | transmission_interface/SimpleTransmission
68 |
69 |
70 | EffortJointInterface
71 | 10
72 |
73 |
74 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/mybot_gazebo/mybot_description/urdf/materials.xacro:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/mybot_gazebo/mybot_description/urdf/mybot.gazebo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | /mybot
7 |
8 |
9 |
10 |
11 |
12 | true
13 | 100
14 | left_wheel_hinge
15 | right_wheel_hinge
16 | ${chassisWidth+wheelWidth}
17 | ${2*wheelRadius}
18 | 20
19 | mybot/cmd_vel
20 | mybot/odom_diffdrive
21 | odom
22 | footprint
23 |
24 |
25 |
26 |
27 |
28 | map
29 | chassis
30 | mybot/odom
31 | 30.0
32 |
33 |
34 |
35 |
36 | Gazebo/Orange
37 |
38 |
39 |
40 | 0.0
41 | 0.0
42 | Gazebo/Red
43 |
44 |
45 |
46 | Gazebo/Blue
47 |
48 | 30.0
49 |
50 | 1.3962634
51 |
52 | 800
53 | 800
54 | R8G8B8
55 |
56 |
57 | 0.02
58 | 300
59 |
60 |
61 |
62 | true
63 | 0.0
64 | mybot/camera1
65 | image_raw
66 | camera_info
67 | camera_link
68 | 0.07
69 | 0.0
70 | 0.0
71 | 0.0
72 | 0.0
73 | 0.0
74 |
75 |
76 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/mybot_gazebo/mybot_description/urdf/mybot.xacro:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
--------------------------------------------------------------------------------
/mybot_gazebo/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | mybot_gazebo
4 | 0.0.0
5 | The mybot_gazebo package
6 |
7 |
8 |
9 |
10 | gr
11 |
12 |
13 |
14 |
15 |
16 | TODO
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | catkin
43 | gazebo_ros
44 | gazebo_ros
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/mybot_gazebo/worlds/mybot.world:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | model://ground_plane
8 |
9 |
10 |
11 |
12 | model://sun
13 |
14 |
15 |
16 |
17 |
18 | 4.927360 -4.376610 3.740080 0.000000 0.275643 2.356190
19 | orbit
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------