GithubHelp home page GithubHelp logo

Comments (18)

Durant35 avatar Durant35 commented on August 16, 2024 1

Could push your changes to a develop branch on https://github.com/jediofgever/ROS_Raw_Kitti_Player? that I can cooperate with you tonight after work.

from object_builders_lib.

Durant35 avatar Durant35 commented on August 16, 2024 1

@jediofgever I think it's naming conflicts that cause the above errors. Thus I have added a namespace to protect our data type, now only common_lib and object_builder_lib.

You can try it just update our submodules to the latest version, you can refer to use following command

git submodule foreach git pull origin master

from object_builders_lib.

jediofgever avatar jediofgever commented on August 16, 2024 1

Namespace is indeed crucial for integrational development. I will update the issue once I pulled your changes. Thank you very much for looking into it.

from object_builders_lib.

jediofgever avatar jediofgever commented on August 16, 2024 1

Update!,

I pulled your changes and sucessfully builded project. I had some issue to integrate segmenter_lib because of changed namspaces. I integrated segmenter_lib in perception module of my project,
Finally I can use all segmenter_lib, common_lib and object_builder_lib.
I am trying to create a benchmark for different segmenters so far I have tried RegionEuclidian the results are as follows ;

screenshot from 2019-02-05 16-18-23
screenshot from 2019-02-05 16-18-30
screenshot from 2019-02-05 16-19-52

It is reasonable by any means however we pursue for better as engineers :)
So I will keep playing with parameters to get a better result. Especially segmenter sometimes segmentes a single object into multi (2nd and 3rd picture). Do you have any suggestions to avoid this ?

Lastly; When I uncomment to use other segmenters inside segmenter_manager.hpp I got compilation errors, have they been implemented ? , the related part is ;

        /*} else if (params.segmenter_type == "RegionGrowingSegmenter") {
            segmenter = std::unique_ptr<Segmenter>(new
        RegionGrowingSegmenter(params)); } else if (params.segmenter_type ==
        "DoNSegmenter") { segmenter = std::unique_ptr<Segmenter>(new
        DoNSegmenter(params));*/

from object_builders_lib.

jediofgever avatar jediofgever commented on August 16, 2024 1

I see , I fine tuned parameters for Euclidean segmenter and it works very good for me. So I think no need to use the ones as you said they are lack of efficiency and accuracy.
I will have a look into tracking Lib to see what is in there and how I can benefit from using it. I will probably open up issue under tracking lib. For now I am closing this issue.
Thank you for your time

from object_builders_lib.

Durant35 avatar Durant35 commented on August 16, 2024 1

You're welcome. Never mind to open any issue if having problem.

from object_builders_lib.

Durant35 avatar Durant35 commented on August 16, 2024

Seems that it is errors triggered by pcl, have you installed pcl? >1.7 is recommended.

from object_builders_lib.

jediofgever avatar jediofgever commented on August 16, 2024

Yes indeed that was first thing I tried, ROS kinetic comes with pcl 1.7 , so I builded pcl 1.8 from source.
The package builds successfully however when I add headers into my source code it triggers the error.
In my ros package I do link against pcl 1.8 , so it seems like the source of problem is something else ?

from object_builders_lib.

Durant35 avatar Durant35 commented on August 16, 2024

have you add this lib(package) as your catkin depend package? find_package...

from object_builders_lib.

jediofgever avatar jediofgever commented on August 16, 2024

Yes , I followed the structure of segmenters_lib , because that package also uses object_builders_lib , I followed its cmakelist.txt and package.xml
But still got same error

from object_builders_lib.

Durant35 avatar Durant35 commented on August 16, 2024

have tried to build our segment_lib on your system?

from object_builders_lib.

jediofgever avatar jediofgever commented on August 16, 2024

I haven’t try that , what I need is object_buildder But to see if I encounter same problem I will install segmentlib soon and update here

from object_builders_lib.

jediofgever avatar jediofgever commented on August 16, 2024

Update,
So I builded segmenters, it buils sucessfully but my package still stuck on same error. I was building it with catkin_make I migrated to catkin build but it gave me exactly same error. I am attaching my CMakeList.txt, maybe I am missing something on there ?


1. cmake_minimum_required(VERSION 2.8.3)
2. project(kitti_ros)
3. 
4. ## Compile as C++11, supported in ROS Kinetic and newer
5. add_compile_options(-std=c++11)
6. 
7. 
8. 
9. ## Find catkin macros and libraries
10. ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
11. ## is used, also find other catkin packages
12. find_package(catkin REQUIRED COMPONENTS
13.   pcl_conversions
14.   pcl_ros
15.   roscpp
16.   sensor_msgs
17.   std_msgs
18.   helper
19.   cv_bridge
20.   cmake_modules
21.   common_lib
22.   object_builders_lib
23. )
24. find_package(PCL 1.8 REQUIRED COMPONENTS
25.     common
26.     io
27.     filters
28.     features
29.     segmentation
30. )
31. 
32. add_definitions(${PCL_DEFINITIONS})
33. link_directories(${PCL_LIBRARY_DIRS})
34. find_package(OpenCV REQUIRED )
35. find_package(Eigen3 REQUIRED)
36. 
37. catkin_package(
38.   CATKIN_DEPENDS roscpp std_msgs object_builders_lib  
39.   INCLUDE_DIRS include 
40.   LIBRARIES kitti_ros
41.  )
42. 
43. 
44. include_directories(
45.   include
46.   ${catkin_INCLUDE_DIRS}
47.   ${helper_INCLUDE_DIRS}
48.   ${PCL_INCLUDE_DIRS}
49.   ${OpenCV_INCLUDE_DIRS}
50.   ${Eigen3_INCLUDE_DIRS}
51. )
52.  
53. 
54. add_executable (kitti_ros_node  src/kitti_ros_node.cpp
55. src/kitti_data_operator.cpp
56. src/kitti_object_operator.cpp
57. src/util/kitti_ros_utils.cpp
58. src/perception/sensor_fusion.cpp
59. src/perception/grid_cell_costmap.cpp)
60. target_link_libraries (kitti_ros_node ${PCL_LIBRARIES} ${OpenCV_LIBS} ${catkin_LIBRARIES} ${Eigen3_LIBRARIES} 
61.     )
62. 
63. 
64. 
65. install(TARGETS
66.     # layers
67.     ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
68.     LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
69. )
70. 
71. 
72. ## Uncomment this if the package has a setup.py. This macro ensures
73. ## modules and global scripts declared therein get installed
74. ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
75. # catkin_python_setup()
76. 
77. ################################################
78. ## Declare ROS messages, services and actions ##
79. ################################################
80. 
81. ## To declare and build messages, services or actions from within this
82. ## package, follow these steps:
83. ## * Let MSG_DEP_SET be the set of packages whose message types you use in
84. ##   your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
85. ## * In the file package.xml:
86. ##   * add a build_depend tag for "message_generation"
87. ##   * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET
88. ##   * If MSG_DEP_SET isn't empty the following dependency has been pulled in
89. ##     but can be declared for certainty nonetheless:
90. ##     * add a exec_depend tag for "message_runtime"
91. ## * In this file (CMakeLists.txt):
92. ##   * add "message_generation" and every package in MSG_DEP_SET to
93. ##     find_package(catkin REQUIRED COMPONENTS ...)
94. ##   * add "message_runtime" and every package in MSG_DEP_SET to
95. ##     catkin_package(CATKIN_DEPENDS ...)
96. ##   * uncomment the add_*_files sections below as needed
97. ##     and list every .msg/.srv/.action file to be processed
98. ##   * uncomment the generate_messages entry below
99. ##   * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
100. 
101. ## Generate messages in the 'msg' folder
102. # add_message_files(
103. #   FILES
104. #   Message1.msg
105. #   Message2.msg
106. # )
107. 
108. ## Generate services in the 'srv' folder
109. # add_service_files(
110. #   FILES
111. #   Service1.srv
112. #   Service2.srv
113. # )
114. 
115. ## Generate actions in the 'action' folder
116. # add_action_files(
117. #   FILES
118. #   Action1.action
119. #   Action2.action
120. # )
121. 
122. ## Generate added messages and services with any dependencies listed here
123. # generate_messages(
124. #   DEPENDENCIES
125. #   sensor_msgs#   std_msgs
126. # )
127. 
128. ################################################
129. ## Declare ROS dynamic reconfigure parameters ##
130. ################################################
131. 
132. ## To declare and build dynamic reconfigure parameters within this
133. ## package, follow these steps:
134. ## * In the file package.xml:
135. ##   * add a build_depend and a exec_depend tag for "dynamic_reconfigure"
136. ## * In this file (CMakeLists.txt):
137. ##   * add "dynamic_reconfigure" to
138. ##     find_package(catkin REQUIRED COMPONENTS ...)
139. ##   * uncomment the "generate_dynamic_reconfigure_options" section below
140. ##     and list every .cfg file to be processed
141. 
142. ## Generate dynamic reconfigure parameters in the 'cfg' folder
143. # generate_dynamic_reconfigure_options(
144. #   cfg/DynReconf1.cfg
145. #   cfg/DynReconf2.cfg
146. # )
147. 
148. ###################################
149. ## catkin specific configuration ##
150. ###################################
151. ## The catkin_package macro generates cmake config files for your package
152. ## Declare things to be passed to dependent projects
153. ## INCLUDE_DIRS: uncomment this if your package contains header files
154. ## LIBRARIES: libraries you create in this project that dependent projects also need
155. ## CATKIN_DEPENDS: catkin_packages dependent projects also need
156. ## DEPENDS: system dependencies of this project that dependent projects also need
157. catkin_package(
158. #  INCLUDE_DIRS include
159. #  LIBRARIES kitti_ros
160. #  CATKIN_DEPENDS pcl_ros roscpp sensor_msgs std_msgs
161. #  DEPENDS system_lib
162. )
163. 
164. ###########
165. ## Build ##
166. ###########
167. 
168. ## Specify additional locations of header files
169. ## Your package locations should be listed before other locations
170. 
171. 
172. ## Declare a C++ library
173. # add_library(${PROJECT_NAME}
174. #   src/${PROJECT_NAME}/kitti_ros.cpp
175. # )
176. 
177. ## Add cmake target dependencies of the library
178. ## as an example, code may need to be generated before libraries
179. ## either from message generation or dynamic reconfigure
180. # add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
181. 
182. ## Declare a C++ executable
183. ## With catkin_make all packages are built within a single CMake context
184. ## The recommended prefix ensures that target names across packages don't collide
185. # add_executable(${PROJECT_NAME}_node src/kitti_ros_node.cpp)
186. 
187. ## Rename C++ executable without prefix
188. ## The above recommended prefix causes long target names, the following renames the
189. ## target back to the shorter version for ease of user use
190. ## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node"
191. # set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "")
192. 
193. ## Add cmake target dependencies of the executable
194. ## same as for the library above
195. # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
196. 
197. ## Specify libraries to link a library or executable target against
198. # target_link_libraries(${PROJECT_NAME}_node
199. #   ${catkin_LIBRARIES}
200. # )
201. 
202. #############
203. ## Install ##
204. #############
205. 
206. # all install targets should use catkin DESTINATION variables
207. # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
208. 
209. ## Mark executable scripts (Python etc.) for installation
210. ## in contrast to setup.py, you can choose the destination
211. # install(PROGRAMS
212. #   scripts/my_python_script
213. #   DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
214. # )
215. 
216. ## Mark executables and/or libraries for installation
217. # install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node
218. #   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
219. #   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
220. #   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
221. # )
222. 
223. ## Mark cpp header files for installation
224. # install(DIRECTORY include/${PROJECT_NAME}/
225. #   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
226. #   FILES_MATCHING PATTERN "*.h"
227. #   PATTERN ".svn" EXCLUDE
228. # )
229. 
230. ## Mark other files for installation (e.g. launch and bag files, etc.)
231. # install(FILES
232. #   # myfile1
233. #   # myfile2
234. #   DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
235. # )
236. 
237. #############
238. ## Testing ##
239. #############
240. 
241. ## Add gtest based cpp test target and link libraries
242. # catkin_add_gtest(${PROJECT_NAME}-test test/test_kitti_ros.cpp)
243. # if(TARGET ${PROJECT_NAME}-test)
244. #   target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
245. # endif()
246. 
247. ## Add folders to be run by python nosetests
248. # catkin_add_nosetests(test)

from object_builders_lib.

jediofgever avatar jediofgever commented on August 16, 2024

wow Thank you,

I have cretaed a branch and added both libs common_lib and object_builder_lib as submodule to my project.
Find the branch here;
https://github.com/jediofgever/ROS_Raw_Kitti_Player/tree/develop

Please let me know what is output from your machine when you try to build

Edit; the changes are at last 3 commits here;
https://github.com/jediofgever/ROS_Raw_Kitti_Player/commits/develop

from object_builders_lib.

jediofgever avatar jediofgever commented on August 16, 2024

Sure , I will update by tomorrow but we’re you able to reproduce the error ?

from object_builders_lib.

Durant35 avatar Durant35 commented on August 16, 2024

I reproduced the error, and after adding namespace to protect, I can successfully build. I think it's better to protect our whole project's codes using a unify namespace, like some SDKs I have used.

from object_builders_lib.

Durant35 avatar Durant35 commented on August 16, 2024

You're welcome. Also, the protect macro in header file is the same, after searching your project. I found some header files are lack of this.

from object_builders_lib.

Durant35 avatar Durant35 commented on August 16, 2024
  • I have updated these related repos, segmenters_lib and roi_filters_lib
    • Solved the problem you mentioned above
    • RegionGrowingSegmenter and DoNSegmenter are too old, not recommended, for not only computation, but also accuracy
  • How to improve in over-segmentation situation?
    • Fine tunning some parameters
    • I improved this by tracking-help segmentation in tracking_lib
    • Maybe we can open another issue, where we can discuss more deeply.

from object_builders_lib.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.