Git Product home page Git Product logo

apollo-platform's People

Contributors

bjtulynn avatar capri2014 avatar fengjingchao-cn avatar fengqikai1414 avatar golancer avatar hillbrook avatar lemonk3664 avatar pixep avatar quning18 avatar startcode avatar westeast avatar xiaoxq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

apollo-platform's Issues

I have translated a design doc to Chinese , Can I pull a request for it

https://github.com/ApolloAuto/apollo-platform/blob/master/ros/docs/design/shm_transport.md

how about I put it in '/apollo-platform/blob/master/ros/docs/design/shm_transport_cn.md' ?

设计文档: 基于共享内存的ROS消息高效通信机制

问题定义

Ros支持Node和Nodelet两种节点组织方式。对于 node节点, pub/sub服务是基于 socket通信的,因为每一个结点都是一个独立的进程。对于nodelet结点,pub/sub服务是基于共享内存的,不同的 nodelet是在同一进程内的不同的线程。

在自动驾驶领域,用 ROS的原生设计,我们遇到了如下的一系列问题:

  • 对于node类型节点,每一个pub/sub 都会在应用节点和内核结点之间来回copy同一个消息。而且当多个订阅者订阅同一个topic时,消息copy的数量就线性增长,这就导致资源利用和性能问题。
  • 对于线程模式的nodelet来说,虽然他们有更好的基于共享内存的通信机制,但各节点的独立性比 node差。

新特性描述

因此我们提出了共享内存的 ROS消息传递层, 这种方式可以降低node节点间的消息通信延迟和内存占用. 基于次我们支持下面的特性 :

  • 基于共享内存和socket的消息传递共存机制,而且发步器会根据当前的通信节点部署环境而选择正确的通信机制。
  • 基于共享内存的消息通信机制是默认的通信机制,如果条件满足的话会优先使用。

如何使用

查看 Example talker and listener来了解如何使用此特性。

FAQ

  1. 此特性对应用层透明吗?
    A: 是的,应用层使用方法各原生ros一样.

  2. 如果两个结点在不同的机器上会怎么?
    A: ROS会根据部署环境自动选择使用哪种消息通信机制。如果两个节点在不同的机器上,会自动选择基于socket的消息通信机制。

  3. 使用nodelet的会怎么样?
    A: Nodelet已经是在传递指针了, 它和这个特性是兼容的。

  4. Python节点是否支持?
    A: Python节点暂时还不支持这个特性. Python在节点间消息通信的时候仍然使用socket.

  5. 如何关闭基于内存的消息通信机制?
    A: 查看如下配置文件 config file. 也可以找到"etc/ros/transport_mode.yaml"这个路径来查看配置文件。

fastrtps 启动过程中发生死锁

系统开机自启,多个应用程序会自启动。存在概率性死锁问题。
通过添加打印,发现程序:
一方面:"BuiltinProtocols::initBuiltinProtocols ---> WLP::initWL --> WLP::createEndpoints --> RTPSParticipantImpl::createAndAssociateReceiverswithEndpoint --> RTPSParticipantImpl::assignEndpoint2LocatorList-->MessageReceiver::associateEndpoint " and can not get the mtx locker.
同时另一个线程调用 MessageReceiver::processCDRMsg call MessageReceiver::proc_Submsg_Data but this function not return.

关于shared memory大小的问题

初步看代码,人为每一个topic对应一个shared_memory,而且大小是fixed=queue_size*first_msg_size+etc,如果msg每次数据大小不断变化,而且变化很大是不是会存不下queue_size个msg了?

Shutdown! Another node registered with same name

We installed LI-USB30-AR023ZWDR USB 3.0 camera. The driver successfully built in docker with : sudo bash apollo.sh build_usbcam. When we run in docker : roslaunch usb_cam start_leopard.launch , we find the following issue. The topics:
/apollo/sensor/camera/traffic/image_short
/apollo/sensor/camera/traffic/image_short/camera_info
/camera_long/camera_nodelet_manager/bond
/camera_short/camera_nodelet_manager/bond

If we record ROS bag the bag is empty.

Error:

[rosout-1] process has finished cleanly
log file: /home/vdjapic/.ros/log/c9253b76-3d06-11e8-9137-d46a6aafd44d/rosout-1*.log
[rosout-1] restarting process
process[rosout-1]: started with pid [6139]
/apollo/rrrrrr/apollo-platform/ros/ros_comm/roscpp/src/libros/broadcast_manager.cpp:239 BroadcastManager::commonCallback() [ERROR] [1523396236.426661286]: Shutdown! Another node registered with same name

build error

编译apollo-kernel,提示如下错误:
2
平台:ubuntu14.04

share memory performance test

Hi, I do some test about share memory performance.
I write a publish demo and a subscriber demo, send data and record the run time to compare share memory performance and socket performance. but run time is almost the some.
I select different mode by edit $ROS_ETC_DIR/transport_mode.yaml

send size of each time Number of frames run time of share memory run time of socket
30M 1024 83s 84s
20M 1024 53.5s 53s
15M 1024 39.4s 44.4s
10M 1024 26.4s 26.4s
5M 1024 13s 13s

pb_msg_example CMakeLists.txt

In apollo-platform/ros/pb_msgs_example/CMakeLists.txt, there is a line:

include_directories(${CATKIN_INCLUDE_DIRS})

I had to change it into

include_directories(${catkin_INCLUDE_DIRS})

to make build work. Otherwise, the path to dependant header files is not added to the compile command line (-I flag) for this package.

ROS_DOMAIN_ID

what is the ROS_DOMAIN_ID env? if it's not the same in two terminal, rostopic has no msg

FastRTPS Usage

I have a few questions about the usage of FastRTPS in this repo.

  1. Is FastRTPS only used to send around meta information? The README sort of suggests all ROS messages are sent using FastRTPS, but I only see the discovery portion of ros_comm actually using FastRTPS.
  2. If so, are messages still transported the same as vanilla ROS (using TCPROS)? The only difference is that they could be serialized protobuf messages or serialized vanilla ROS messages (but never FastRTPS messages?).

Thanks!

apollo run issue fix : symbol not found

#19 is the issue not fixed but closed anyway.

runtime error :

system/indigo/src/install/ros_x86_64/lib/rosout/rosout: symbol lookup error: system/indigo/src/install/ros_x86_64/lib/librosconsole_log4cxx.so: undefined symbol: ZN7log4cxx16AppenderSkeleton9setOptionERKSsS2

the error will jump out when i build apollo-platform with boost 1.58.0 .

root cause : build.sh will copy librosconsole_log4cxx.so under third_party/lib directory to install directory, for the existed librosconsole_log4cxx.so under third_party/lib was built with boost-1.54.0.
it will print error message when you run any binary use with librosconsole_log4xx.so.

the fix here is easy, just ignore librosconsole_log4cxx.so copy action ,let the catkin_make_isolate install it for you.

BTW, the swig wrapper script is really a trifle when run building . i integrate swig-wrapper build to the build.sh #

deadlock issue of apollo ros

This gtest case will find a deadlock issue of ros-platform:
./devel_isolated/actionlib/lib/actionlib/actionlib-server_goal_handle_destruction

How to correct it ?

Can I use normal ubuntu kernel to use your platform?

Is your apollo-kernel necessary for this ros?
Can I use normal ubuntu kernel to use your platform?
What is the difference when use apollo-kernel and normal ubuntu kernel?
It influences the performance?
I know apollo-kernel is a real time linux.

errors occur when build apollo-platform

/usr/bin/cmake -E cmake_progress_report /home/nvxx/software/apollo/apollo-platform-master/ros/build_isolated/audio_capture/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec4110979644.dir/CheckSymbolExists.c.o
/usr/bin/cc -o CMakeFiles/cmTryCompileExec4110979644.dir/CheckSymbolExists.c.o -c /home/nvxx/software/apollo/apollo-platform-master/ros/build_isolated/audio_captur
e/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTryCompileExec4110979644
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec4110979644.dir/link.txt --verbose=1
/usr/bin/cc CMakeFiles/cmTryCompileExec4110979644.dir/CheckSymbolExists.c.o -o cmTryCompileExec4110979644 -rdynamic
CMakeFiles/cmTryCompileExec4110979644.dir/CheckSymbolExists.c.o:在函数‘main’中:
CheckSymbolExists.c:(.text+0x16):对‘pthread_create’未定义的引用
collect2: error: ld returned 1 exit status
make[1]:正在离开目录 `/home/nvxx/software/apollo/apollo-platform-master/ros/build_isolated/audio_capture/CMakeFiles/CMakeTmp'
make[1]: *** [cmTryCompileExec4110979644] 错误 1
make: *** [cmTryCompileExec4110979644/fast] 错误 2

File /home/nvxx/software/apollo/apollo-platform-master/ros/build_isolated/audio_capture/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>

int main(int argc, char** argv)
{
(void)argv;
#ifndef pthread_create
return ((int*)(&pthread_create))[argc];
#else
(void)argc;
return 0;
#endif
}

Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/nvxx/software/apollo/apollo-platform-master/ros/build_isolated/audio_capture/CMakeFiles/CMakeTmp

Run Build Command:/usr/bin/make "cmTryCompileExec1707986552/fast"
/usr/bin/make -f CMakeFiles/cmTryCompileExec1707986552.dir/build.make CMakeFiles/cmTryCompileExec1707986552.dir/build
make[1]: 正在进入目录 `/home/nvxx/software/apollo/apollo-platform-master/ros/build_isolated/audio_capture/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/nvxx/software/apollo/apollo-platform-master/ros/build_isolated/audio_capture/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec1707986552.dir/CheckFunctionExists.c.o
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTryCompileExec1707986552.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunction
Exists.c
Linking C executable cmTryCompileExec1707986552
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1707986552.dir/link.txt --verbose=1
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTryCompileExec1707986552.dir/CheckFunctionExists.c.o -o cmTryCompileExec1707986552 -rdynamic -lpthrea
ds
/usr/bin/ld: 找不到 -lpthreads
collect2: error: ld returned 1 exit status

where is the file "roscpp/SharedMemoryHeader.h"

in this file apollo-platform/ros/ros_comm/roscpp/include/ros/publisher.h it includes "roscpp/SharedMemoryHeader.h" , but I can`t find SharedMemoryHeader.h in the source code? where is this file?

关于将apollo的ros从docker中提取出来后发生的问题

我将apollo的ros indigo提取出来部署在一台没有docker的x86 ubuntu14的pc上,关掉所有网卡,只保留lo正在工作,这时我启动roscore,再使用rostopic list或者echo,都会什么都看不到,没有任何消息。

反过来如果我打开wlan0,并且连接一个wifi,甚至只是设置一个ip,再重启roscore,消息就可以正常工作。

这些现象在原版的ros中没有发生过,并且如果我在这台PC上安装了docker,,即使不使用apollo的docker,仅使用apollo的ros indigo,这个问题也会恢复正常。

另外,我在/etc/network/interface里面给eth0设置固定IP,这样虽然IP有效,但是ros的消息依然无效,然而如果我再将wlan0的IP也在这里设置好,ros的消息就有效了。

也就是说apollo的ros indigo似乎依赖于网卡和ip地址的一些关系,但是我现在不想使用docker,并且网络环境确实不允许随意设定IP,因此我想请问开发者们,你们对这个现象有没有什么见解,或者解决方案

runtime platfom

SHM, PTSP, proto, do apollo-platform team have specific change documents? The source code or, function? thanks .@westeast

关于pb_msgs_example的topic echo的问题

我将pb_msgs_example从apollo-platform中单独提取出来了,并且在apollo-dev docker环境下使用catkin_make单独编译,通过后用rosrun运行pb_talker和pb_listener,通信成功,但我想使用rostopic echo查看的时候却不能查看成功,提示:
/use_sim_time is not set, will not subscribe to simulated time [/clock] topic
ERROR: Cannot load message class for [pb_msgs/Counter]. Are your messages built?
这个是因为什么呢

apollo-platform roscore failed to start

I built Apollo-platform by using build.sh build. (OS Ubuntu 16.04)
But I failed to start the roscore.
the logs were below:
Traceback (most recent call last):
File "/home/allen/test/apollo-platform-2.1.2/ros/install/ros_x86_64/bin/roscore", line 36, in
from rosmaster.master_api import NUM_WORKERS
File "/home/allen/test/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rosmaster/init.py", line 35, in
from .main import rosmaster_main
File "/home/allen/test/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rosmaster/main.py", line 43, in
import rosmaster.master
File "/home/allen/test/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rosmaster/master.py", line 45, in
import rosgraph.xmlrpc
File "/home/allen/test/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rosgraph/init.py", line 36, in
from . masterapi import Master, MasterFailure, MasterError, MasterException
File "/home/allen/test/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rosgraph/masterapi.py", line 49, in
from rospy.impl.broadcast_manager import BroadcastManager
File "/home/allen/test/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/init.py", line 49, in
from .client import spin, myargv, init_node,
File "/home/allen/test/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/client.py", line 60, in
import rospy.impl.init
File "/home/allen/test/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/init.py", line 54, in
from .tcpros import init_tcpros
File "/home/allen/test/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/tcpros.py", line 45, in
import rospy.impl.tcpros_service
File "/home/allen/test/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 65, in
from broadcast_manager import BroadcastManager
File "/home/allen/test/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/broadcast_manager.py", line 58, in
from rospy.impl import participant
File "/home/allen/test/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/participant.py", line 28, in
_participant = swig_import_helper()
File "/home/allen/test/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/participant.py", line 20, in swig_import_helper
import _participant
ImportError: /home/allen/test/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/_participant.so: undefined symbol: _ZN3ros11Participant8read_msgEv

I thought about this for a couple of days, but I can not solve this problem.
Any idea? Thanks!

FastRTPS participantID needs to be set explicitly

I only come across to this issue on QNX. Basically all running nodes do not see each other (cannot be discovered) because every participant has the same participant ID. The related file is "apollo-platform/ros/ros_comm/roscpp/src/libros/discovery/participant.cpp". Here is the diff of a possible fix:

diff --git a/ros/ros_comm/roscpp/src/libros/discovery/participant.cpp b/ros/ros_comm/roscpp/src/libros/discovery/participant.cpp
index b987738..83a1608 100644
--- a/ros/ros_comm/roscpp/src/libros/discovery/participant.cpp
+++ b/ros/ros_comm/roscpp/src/libros/discovery/participant.cpp
@@ -102,6 +102,8 @@ bool Participant::init(user_callback cb)
     }
   }

+  srand(time(NULL));
+
   eprosima::fastrtps::ParticipantAttributes participant_param;
   participant_param.rtps.defaultSendPort = 50000;
   participant_param.rtps.use_IP6_to_send = false;
@@ -112,6 +114,7 @@ bool Participant::init(user_callback cb)
   participant_param.rtps.builtin.domainId = domain_id;
   participant_param.rtps.builtin.leaseDuration = c_TimeInfinite;
   participant_param.rtps.builtin.leaseDuration_announcementperiod.seconds = 3;
+  participant_param.rtps.participantID = rand % 100 + 1;
   participant_param.rtps.setName(_name.c_str());

sharedmem_transport::SharedMemorySegment 是线程安全的吗?

在 docker(apolloauto/apollo:dev-x86_64-20180413_2000) 的 ros 之上运行一个多线程 node,ros 报错:

Program received signal SIGILL, Illegal instruction.
[Switching to Thread 0x7fffb4ed0700 (LWP 3918)]
0x00007ffff5f2b1bd in boost::gregorian::date::date(boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day) ()
from /usr/local/lib/libpcl_common.so.1.7

在gdb下查看堆栈信息:

(gdb) bt
#0 0x00007ffff5f2b1bd in boost::gregorian::date::date(boost::gregorian::greg_year, boost::gregorian::greg_month, boost::gregorian::greg_day) ()
from /usr/local/lib/libpcl_common.so.1.7
#1 0x00007ffff57618b5 in create_time (converter=
0x7ffff56da7f0 <boost::date_time::c_time::gmtime(long const*, tm*)>)
at /usr/include/boost/date_time/microsec_time_clock.hpp:103
#2 universal_time ()
at /usr/include/boost/date_time/microsec_time_clock.hpp:76
#3 sharedmem_transport::SharedMemorySegment::read_data (this=0x7fffaeed4118,
msg=..., last_read_index=@0x7fffb4ecfb60: 1,
descriptors_sub=descriptors_sub@entry=0x7fffaeed4d18,
addr_sub=addr_sub@entry=0x7fffc00009e0, helper=..., topic="/imu",
header_ptr=...)
at /apollo/apollo-platform/ros/ros_comm/roscpp/src/libros/sharedmem_transport/sharedmem_segment.cpp:217
#4 0x00007ffff575c5b6 in operator() (__closure=0x7fffc0000d90)
at /apollo/apollo-platform/ros/ros_comm/roscpp/src/libros/shm_manager.cpp:242
#5 _M_invoke<> (this=0x7fffc0000d90) at /usr/include/c++/4.8/functional:1732
#6 operator() (this=0x7fffc0000d90) at /usr/include/c++/4.8/functional:1720
#7 std::thread::_Impl<std::_Bind_simpleros::ShmManager::threadFunc()::__lambda1() >::_M_run(void) (this=0x7fffc0000d78) at /usr/include/c++/4.8/thread:115
#8 0x00007ffff4b035b0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#9 0x00007ffff6673184 in start_thread (arg=0x7fffb4ed0700)
at pthread_create.c:312
#10 0x00007ffff428affd in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

可以看到引起错误的代码在sharedmem_transport::SharedMemorySegment::read_data 的这句代码中:

boost::posix_time::ptime max_wait =
boost::posix_time::microsec_clock::universal_time() +
boost::posix_time::seconds(ROS_SHM_BLOCK_MUTEX_TIMEOUT_SEC);

根据这里,boost::gregorian本身不是线程安全的。那么,apollo ros下是否可运行多线程 结点?或者如果需要在apollo ros下运行多线程结点,需要做什么工作?

YAML FAULT when build libroscpp

I'm trying to build ros:I want to know the yaml-cpp version.
here I using yaml-cpp 0.5.3 I got:

==> Processing catkin package: 'audio_capture'
==> Building with env: '/apollo/data/apollo-platform/ros/install/ros_x86_64/env.sh'
Makefile exists, skipping explicit cmake invocation...
==> make cmake_check_build_system in '/apollo/data/apollo-platform/ros/build_isolated/audio_capture'
==> make -j8 -l8 in '/apollo/data/apollo-platform/ros/build_isolated/audio_capture'
[  0%] Built target roscpp_generate_messages_lisp
[  0%] Built target roscpp_generate_messages_py
[  0%] Built target audio_common_msgs_generate_messages_cpp
[  0%] Built target std_msgs_generate_messages_lisp
[  0%] Built target std_msgs_generate_messages_py
[  0%] Built target rosgraph_msgs_generate_messages_lisp
[  0%] Built target rosgraph_msgs_generate_messages_cpp
[  0%] Built target audio_common_msgs_generate_messages_lisp
[  0%] Built target rosgraph_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_cpp
[  0%] Built target audio_common_msgs_generate_messages_py
[  0%] Built target roscpp_generate_messages_cpp
[ 50%] Linking CXX executable /apollo/data/apollo-platform/ros/devel_isolated/audio_capture/lib/audio_capture/audio_capture
/apollo/data/apollo-platform/ros/install/ros_x86_64/lib/libroscpp.so: undefined reference to `YAML::detail::node_data::empty_scalar[abi:cxx11]'
/apollo/data/apollo-platform/ros/install/ros_x86_64/lib/libroscpp.so: undefined reference to `YAML::detail::node_data::set_scalar(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/apollo/data/apollo-platform/ros/install/ros_x86_64/lib/libroscpp.so: undefined reference to `YAML::LoadFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
CMakeFiles/audio_capture.dir/build.make:120: recipe for target '/apollo/data/apollo-platform/ros/devel_isolated/audio_capture/lib/audio_capture/audio_capture' failed
make[2]: *** [/apollo/data/apollo-platform/ros/devel_isolated/audio_capture/lib/audio_capture/audio_capture] Error 1
CMakeFiles/Makefile2:206: recipe for target 'CMakeFiles/audio_capture.dir/all' failed
make[1]: *** [CMakeFiles/audio_capture.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
<== Failed to process package 'audio_capture': 
  Command '['/apollo/data/apollo-platform/ros/install/ros_x86_64/env.sh', 'make', '-j8', '-l8']' returned non-zero exit status 2

Reproduce this error by running:
==> cd /apollo/data/apollo-platform/ros/build_isolated/audio_capture && /apollo/data/apollo-platform/ros/install/ros_x86_64/env.sh make -j8 -l8

Command failed, exiting.
============================
[ERROR] Build ros failed!

@quning78

which tag of ros_comm is using

specific which tag of ros_comm was using for apollo would be great. That we could compare the difference between decentralized version and shm mechanism. Thanks in advance!

apollo_platform_master install error , please help me, thanks!!!

when I installed the apollo_platform_master on a ubuntu 16.04, I got the error, what is the problem, does it need some dependence or someelse.Thank you very much.

==> Processing catkin package: 'pb_msgs'
==> Building with env: '/home/fire/program/Apollo/apollo-platform-master/ros/install/ros_x86_64/env.sh'
Makefile exists, skipping explicit cmake invocation...
==> make cmake_check_build_system in '/home/fire/program/Apollo/apollo-platform-master/ros/build_isolated/pb_msgs'
==> make -j8 -l8 in '/home/fire/program/Apollo/apollo-platform-master/ros/build_isolated/pb_msgs'
[ 20%] Generating C++ code from pb_msgs/time.proto
make[2]: PROTOBUF_PROTOC_EXECUTABLE-NOTFOUND: Command not found
CMakeFiles/pb_msgs_proto.dir/build.make:61: recipe for target '/home/fire/program/Apollo/apollo-platform-master/ros/devel_isolated/pb_msgs/include/time.pb.h' failed
make[2]: *** [/home/fire/program/Apollo/apollo-platform-master/ros/devel_isolated/pb_msgs/include/time.pb.h] Error 127
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/pb_msgs_proto.dir/all' failed
make[1]: *** [CMakeFiles/pb_msgs_proto.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 40%] Generating C++ code from pb_msgs/time.proto
[ 40%] Built target pb_msgs_generate_messages_lisp
make[2]: PROTOBUF_PROTOC_EXECUTABLE-NOTFOUND: Command not found
CMakeFiles/pb_msgs_generate_messages_cpp.dir/build.make:60: recipe for target '/home/fire/program/Apollo/apollo-platform-master/ros/devel_isolated/pb_msgs/include/time.pb.h' failed
make[2]: *** [/home/fire/program/Apollo/apollo-platform-master/ros/devel_isolated/pb_msgs/include/time.pb.h] Error 127
CMakeFiles/Makefile2:200: recipe for target 'CMakeFiles/pb_msgs_generate_messages_cpp.dir/all' failed
make[1]: *** [CMakeFiles/pb_msgs_generate_messages_cpp.dir/all] Error 2
[ 60%] Generating Python from proto pb_msgs/time.proto
make[2]: PROTOBUF_PROTOC_EXECUTABLE-NOTFOUND: Command not found
CMakeFiles/pb_msgs_generate_messages_py.dir/build.make:60: recipe for target '/home/fire/program/Apollo/apollo-platform-master/ros/install/ros_x86_64/lib/python2.7/dist-packages/pb_msgs/msg/time_pb2.py' failed
make[2]: *** [/home/fire/program/Apollo/apollo-platform-master/ros/install/ros_x86_64/lib/python2.7/dist-packages/pb_msgs/msg/time_pb2.py] Error 127
CMakeFiles/Makefile2:168: recipe for target 'CMakeFiles/pb_msgs_generate_messages_py.dir/all' failed
make[1]: *** [CMakeFiles/pb_msgs_generate_messages_py.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
<== Failed to process package 'pb_msgs':
Command '['/home/fire/program/Apollo/apollo-platform-master/ros/install/ros_x86_64/env.sh', 'make', '-j8', '-l8']' returned non-zero exit status 2

build sucess but run error?

./build.sh build
result:

<== Finished processing package [231 of 231]: 'xacro'
============================
[ OK ] Build ros succeed!
============================

run roscore

Traceback (most recent call last):
  File "/home/westeast/git/indigo/src/install/ros_x86_64/bin/roscore", line 36, in <module>
    from rosmaster.master_api import NUM_WORKERS
  File "/home/westeast/git/indigo/src/install/ros_x86_64/lib/python2.7/dist-packages/rosmaster/__init__.py", line 35, in <module>
    from .main import rosmaster_main
  File "/home/westeast/git/indigo/src/install/ros_x86_64/lib/python2.7/dist-packages/rosmaster/main.py", line 43, in <module>
    import rosmaster.master
  File "/home/westeast/git/indigo/src/install/ros_x86_64/lib/python2.7/dist-packages/rosmaster/master.py", line 45, in <module>
    import rosgraph.xmlrpc
  File "/home/westeast/git/indigo/src/install/ros_x86_64/lib/python2.7/dist-packages/rosgraph/__init__.py", line 36, in <module>
    from . masterapi import Master, MasterFailure, MasterError, MasterException
  File "/home/westeast/git/indigo/src/install/ros_x86_64/lib/python2.7/dist-packages/rosgraph/masterapi.py", line 49, in <module>
    from rospy.impl.broadcast_manager import BroadcastManager
  File "/home/westeast/git/indigo/src/install/ros_x86_64/lib/python2.7/dist-packages/rospy/__init__.py", line 49, in <module>
    from .client import spin, myargv, init_node, \
  File "/home/westeast/git/indigo/src/install/ros_x86_64/lib/python2.7/dist-packages/rospy/client.py", line 60, in <module>
    import rospy.impl.init
  File "/home/westeast/git/indigo/src/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/init.py", line 54, in <module>
    from .tcpros import init_tcpros
  File "/home/westeast/git/indigo/src/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/tcpros.py", line 45, in <module>
    import rospy.impl.tcpros_service
  File "/home/westeast/git/indigo/src/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 65, in <module>
    from broadcast_manager import BroadcastManager
  File "/home/westeast/git/indigo/src/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/broadcast_manager.py", line 58, in <module>
    from rospy.impl import participant
  File "/home/westeast/git/indigo/src/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/participant.py", line 28, in <module>
    _participant = swig_import_helper()
  File "/home/westeast/git/indigo/src/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/participant.py", line 20, in swig_import_helper
    import _participant
ImportError: /home/westeast/git/indigo/src/install/ros_x86_64/lib/_participant.so: undefined symbol: _ZN3ros11Participant8read_msgEv

apollo-platform使用rqt和rviz

我编译完apollo-platform之后把rqt和rviz相关的packages加入进去,然后编译通过。但是使用rqt的topic monitor看不到topic的内容(可以显示频率)。我要使用rqt和rviz要做什么样的修改呢?

ros ./build.sh build failed

my compiler log is:
In file included from /usr/include/eigen3/Eigen/Core:254:0,
from /disk9/charles.gcj/third_party/apollo-platform/ros/geometry/eigen_conversions/include/eigen_conversions/eigen_msg.h:46,
from /disk9/charles.gcj/third_party/apollo-platform/ros/geometry/eigen_conversions/src/eigen_msg.cpp:31:
/usr/include/eigen3/Eigen/src/Geometry/Transform.h: In instantiation of ‘Eigen::Transform<Scalar, Dim, Mode, _Options>::Transform(const Eigen::Transform<_Scalar, Dim, OtherMode, OtherOptions>&) [with int OtherMode = 2; int OtherOptions = 0; _Scalar = double; int _Dim = 3; int _Mode = 1; int Options = 0]’:
/disk9/charles.gcj/third_party/apollo-platform/ros/geometry/eigen_conversions/src/eigen_msg.cpp:53:7: required from ‘void tf::{anonymous}::poseMsgToEigenImpl(const Pose&, T&) [with T = Eigen::Transform<double, 3, 1>; geometry_msgs::Pose = geometry_msgs::Pose
<std::allocator >]’
/disk9/charles.gcj/third_party/apollo-platform/ros/geometry/eigen_conversions/src/eigen_msg.cpp:120:26: required from here
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:313:5: error: ‘YOU_PERFORMED_AN_INVALID_TRANSFORMATION_CONVERSION’ is not a member of ‘Eigen::internal::static_assertion’
EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(OtherMode==int(Affine)||OtherMode==int(AffineCompact), Mode!=int(Isometry)),
^
make[2]: *** [CMakeFiles/eigen_conversions.dir/src/eigen_msg.cpp.o] Error 1
make[1]: *** [CMakeFiles/eigen_conversions.dir/all] Error 2
make: *** [all] Error 2
<== Failed to process package 'eigen_conversions':
Command '['/disk9/charles.gcj/third_party/apollo-platform/ros/install/ros_x86_64/env.sh', 'make', '-j24', '-l24']' returned non-zero exit status 2

and i installed
ii libeigen3-dev 3.0.5-1 lightweight C++ template library for linear algebra

Publish is thread-safe?

I call publish in multi thread, then coredump, I use gdb finding coredump in ros::Publisher::publish.

Question: missing serializationLength function in generated protobuf files

I have been trying to cross-compile one apollo module onto qnx. Most of ROS packages in this repo (except a few python ros packages which do not matter for the moment) are already x-compiled onto QNX. The compilation errors are as the following:

In file included from /home/cdgros/baidu_ws/qnx/install/opt/ros/autonomoose/include/ros/publisher.h:34:0,
                 from /home/cdgros/baidu_ws/qnx/install/opt/ros/autonomoose/include/ros/node_handle.h:32,
                 from /home/cdgros/apollo_stage/ros/include/ros/ros.h:45,
                 from /home/cdgros/code/avic/baidu/apollo/modules/../modules/canbus/canbus.h:29,
                 from /home/cdgros/code/avic/baidu/apollo/modules/canbus/canbus.cc:17:
/home/cdgros/baidu_ws/qnx/install/opt/ros/autonomoose/include/ros/serialization.h: In instantiation of 'static uint32_t ros::serialization::Serializer<T, Enable>::serializedLength(typename boost::call_traits<T>::param_type) [with T = apollo::canbus::Chassis; Enable = void; uint32_t = unsigned int; typename boost::call_traits<T>::param_type = const apollo::canbus::Chassis&]':
/home/cdgros/baidu_ws/qnx/install/opt/ros/autonomoose/include/ros/serialization.h:173:41:   required from 'uint32_t ros::serialization::serializationLength(const T&) [with T = apollo::canbus::Chassis; uint32_t = unsigned int]'
/home/cdgros/baidu_ws/qnx/install/opt/ros/autonomoose/include/ros/serialization.h:849:37:   required from 'ros::SerializedMessage ros::serialization::serializeMessage(const M&) [with M = apollo::canbus::Chassis]'
/home/cdgros/baidu_ws/qnx/install/opt/ros/autonomoose/include/ros/publisher.h:123:26:   required from 'void ros::Publisher::publish(const M&) const [with M = apollo::canbus::Chassis]'
/home/cdgros/code/avic/baidu/apollo/modules/../modules/common/adapters/adapter_manager.h:238:3:   required from here
/home/cdgros/baidu_ws/qnx/install/opt/ros/autonomoose/include/ros/serialization.h:145:34: error: 'const class apollo::canbus::Chassis' has no member named 'serializationLength'
     return t.serializationLength();
                                  ^
compilation terminated due to -Wfatal-errors.

How does this customized ROS know whether it is a standard ros msg or a protobuf defined msg? Does ros publisher treat these two msgs differently? As my understanding, it make senses that 'const class apollo::canbus::Chassis' has no member named 'serializationLength' since it is generated by 'protoc'.

ROS indigo package not installing.

I am trying to install diagnostic_updater using apt-get. It gets installed in /opt/ros/indigo/ and not in /home/tmp/ros.

I am doing this action in the docker container, and apollo_base.sh has been sourced. Please help, I need this dependency to build another package.

how to modify the code

Hi developers,
Thanks for your work.
I was wondering if I want to modified the codes from roscpp_tutorials like listener.cpp and talker.cpp, how could I recompile the code and rerun it?
For example, I try to write an image transportation function. After I complete my code, what command should I type?

仿造apollo将protocbuffer移植到ros jade上遇到了问题

我按照apollo的思路将protocbuffer移植到ros jade上,并且运行pb_msg_example,talker和listener已经可以通信了,但是我确信这个通信仍然是在本地回环进行的,我尝试将etc/transport_mode.yaml复制到jade中,并没有起到任何效果,etc/transport_mode.yaml的内容正常:
transport_mode:0
topic_white_list: ["/shm_sample1", "/shm_sample2"]
我认为是这个文件没有被读取或采用,有哪位朋友做过类似的行为吗,希望能够给我一些提示

Cross compile for Arm 64, link fail while link ros-1.5.1/lib/libroscpp.so

Hi community! I have an issue while link ros-1.5.1/lib/libroscpp.so from ros-indigo-apollo-1.5.1-aarch64.tar.gz.

Host pc running Ubuntu 16.04, g++ version

aarch64-gnu-linux-g++ (GCC) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Target platform is 64 bit ARM, Ubuntu version is 16.04.
I have a simple test code:

#include <../../ros-1.5.1/include/ros/ros.h>
#include <../../ros-1.5.1/include/std_msgs/String.h>
int main(int argc, char** argv) {
  ros::init(argc, argv, "talker");
  ros::NodeHandle n;
  ros::Publisher chatter_pub = n.advertise<std_msgs::String>("chatter", 1000);
  ros::Rate loop_rate(10);
  int count = 0;
  while (ros::ok()) {
    std_msgs::String msg;
    std::stringstream ss;
    ss << "hello world " << count;
    msg.data = ss.str();
    ROS_INFO("%s", msg.data.c_str());
    chatter_pub.publish(msg);
    ros::spinOnce();
    loop_rate.sleep();
    ++count;
  }
  return 0;
}

While linking libroscpp.so, the error message came out:

CMakeFiles/camera_ros_server.dir/src/main.cpp.o: In function `main':
main.cpp:(.text.startup+0x68): undefined reference to `ros::init(int&, char**, std::string const&, unsigned int)'
main.cpp:(.text.startup+0xbc): undefined reference to `ros::NodeHandle::NodeHandle(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&)'
main.cpp:(.text.startup+0x79c): undefined reference to `ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)'
collect2: error: ld returned 1 exit status
src/camera_ros_server/CMakeFiles/camera_ros_server.dir/build.make:148: recipe for target 'devel/lib/camera_ros_server/camera_ros_server' failed
make[2]: *** [devel/lib/camera_ros_server/camera_ros_server] Error 1
make[2]: Leaving directory '/home/yuan/build'
CMakeFiles/Makefile2:1564: recipe for target 'src/camera_ros_server/CMakeFiles/camera_ros_server.dir/all' failed
make[1]: *** [src/camera_ros_server/CMakeFiles/camera_ros_server.dir/all] Error 2
make[1]: Leaving directory '/home/yuan/build'
Makefile:116: recipe for target 'all' failed
make: *** [all] Error 2

However, I use command objdump -TC libroscpp.so to dump symbols.
I run command objdump -TC ros-1.5.1/lib/libroscpp.so | grep -i 'init(', the output is:

0000000000000000      DF *UND*	0000000000000000              MD5::init()
0000000000000000      DF *UND*	0000000000000000              ros::Time::init()
0000000000000000      DF *UND*	0000000000000000  GLIBCXX_3.4.11 std::ctype<char>::_M_widen_init() const
0000000000000000      DF *UND*	0000000000000000  GLIBCXX_3.4 std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)
0000000000000000      DF *UND*	0000000000000000  GLIBCXX_3.4 std::ios_base::Init::Init()
0000000000000000      DF *UND*	0000000000000000  GLIBCXX_3.4 std::ios_base::Init::~Init()
0000000000137fe0 g    DF .text	0000000000000f8c  Base        ros::file_log::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
0000000000116550 g    DF .text	00000000000003a8  Base        ros::StatisticsLogger::init(boost::shared_ptr<ros::SubscriptionCallbackHelper> const&)
00000000000d6d68 g    DF .text	0000000000000dcc  Base        ros::param::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
00000000000fc7d8 g    DF .text	00000000000003a0  Base        ros::names::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
000000000015d828 g    DF .text	00000000000001e0  Base        ros::init(std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)
00000000000bab20 g    DF .text	00000000000003cc  Base        ros::master::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
000000000015d208 g    DF .text	000000000000061c  Base        ros::init(int&, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)
000000000015c1a8 g    DF .text	0000000000000174  Base        ros::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)
0000000000181758 g    DF .text	0000000000000630  Base        ros::this_node::init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, unsigned int)
00000000000c1390 g    DF .text	00000000000007f8  Base        ros::network::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
00000000001b01c0 g    DF .text	0000000000002378  Base        ros::Participant::init(std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>)

Then I run, objdump -TC /home/yuan/isee_px2/ros-1.5.1/lib/libroscpp.so | grep -i 'NodeHandle'
The output is:

000000000012ee30 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool> > >&) const
000000000012d248 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<float, std::allocator<float> > const&) const
000000000012d4e8 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > > const&) const
00000000000c3188  w   DF .text	0000000000000150  Base        boost::detail::sp_if_not_array<ros::NodeHandle>::type boost::make_shared<ros::NodeHandle, ros::NodeHandle const&>(ros::NodeHandle const&)
000000000012df10 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<int, std::allocator<int> >&) const
000000000012ef10 g    DF .text	000000000000039c  Base        ros::NodeHandle::initRemappings(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
000000000012cd10 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, XmlRpc::XmlRpcValue const&) const
000000000012e070 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&) const
00000000001309f0 g    DF .text	00000000000002e4  Base        ros::NodeHandle::subscribe(ros::SubscribeOptions&)
000000000020fe68  w   DO .data.rel.ro	0000000000000018  Base        typeinfo for boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >
0000000000130248 g    DF .text	00000000000001f0  Base        ros::NodeHandle::NodeHandle(ros::NodeHandle const&)
000000000012fcc0 g    DF .text	000000000000023c  Base        ros::NodeHandle::NodeHandle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
000000000012eac0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<bool, std::allocator<bool> >&) const
000000000012bc20 g    DF .text	0000000000000124  Base        ros::NodeHandle::resolveName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const
000000000012f828 g    DF .text	0000000000000100  Base        ros::NodeHandle::~NodeHandle()
000000000012c008 g    DF .text	00000000000003f0  Base        ros::NodeHandle::createTimer(ros::Duration, boost::function<void (ros::TimerEvent const&)> const&, bool, bool) const
000000000012b868 g    DF .text	00000000000003b4  Base        ros::NodeHandle::resolveName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, ros::NodeHandle::no_validate) const
000000000012d8e0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, XmlRpc::XmlRpcValue&) const
00000000001b6530  w   DO .rodata	0000000000000052  Base        typeinfo name for boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >
000000000012d398 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<bool, std::allocator<bool> > const&) const
000000000012d990 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const
000000000012ec20 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >&) const
00000000000c2e38  w   DF .text	0000000000000008  Base        boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >::get_untyped_deleter()
000000000012bd48 g    DF .text	0000000000000238  Base        ros::NodeHandle::remapName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
000000000012c880 g    DF .text	0000000000000490  Base        ros::NodeHandle::shutdown()
000000000012dc50 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool&) const
000000000012da40 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double&) const
000000000012daf0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float&) const
00000000000c2e48  w   DF .text	0000000000000060  Base        boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >::get_deleter(std::type_info const&)
000000000012dba0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int&) const
00000000000c3188  w   DF .text	0000000000000150  Base        boost::detail::sp_if_not_array<ros::NodeHandle>::type boost::make_shared<ros::NodeHandle, ros::NodeHandle const&>(ros::NodeHandle const&)
0000000000130438 g    DF .text	0000000000000200  Base        ros::NodeHandle::NodeHandle(ros::NodeHandle const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
00000000000fcbc8 g    DF .text	00000000000001d0  Base        ros::topic::waitForMessageImpl(ros::SubscribeOptions&, boost::function<bool ()> const&, ros::NodeHandle&, ros::Duration)
000000000012fcc0 g    DF .text	000000000000023c  Base        ros::NodeHandle::NodeHandle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
000000000012d788 g    DF .text	00000000000000a4  Base        ros::NodeHandle::hasParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
00000000001189f8  w   DF .text	0000000000000800  Base        ros::Publisher ros::NodeHandle::advertise<rosgraph_msgs::TopicStatistics_<std::allocator<void> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, bool)
00000000000c2f30  w   DF .text	0000000000000040  Base        boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >::~sp_counted_impl_pd()
000000000012f4b0 g    DF .text	0000000000000374  Base        ros::NodeHandle::destruct()
000000000012e120 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >&) const
000000000012ddb0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<double, std::allocator<double> >&) const
000000000012d8d8 g    DF .text	0000000000000008  Base        ros::NodeHandle::getParamNames(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) const
00000000000c2f08  w   DF .text	0000000000000028  Base        boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >::~sp_counted_impl_pd()
000000000012ce60 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*) const
000000000012e490 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const
000000000012ea10 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<int, std::allocator<int> >&) const
000000000012f2b0 g    DF .text	0000000000000200  Base        ros::NodeHandle::searchParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const
0000000000130638 g    DF .text	00000000000003b4  Base        ros::NodeHandle::advertise(ros::AdvertiseOptions&)
000000000012d830 g    DF .text	00000000000000a4  Base        ros::NodeHandle::deleteParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
000000000012e3e0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, XmlRpc::XmlRpcValue&) const
000000000012d638 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > const&) const
000000000012bf80 g    DF .text	0000000000000088  Base        ros::NodeHandle::createTimer(ros::TimerOptions&) const
00000000000c2bb8 g    DF .text	000000000000027c  Base        ros::Subscriber::Subscriber(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::NodeHandle const&, boost::shared_ptr<ros::SubscriptionCallbackHelper> const&)
000000000012ff00 g    DF .text	0000000000000154  Base        ros::NodeHandle::operator=(ros::NodeHandle const&)
000000000012d2f0 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<int, std::allocator<int> > const&) const
00000000000f0bc8 g    DF .text	00000000000002dc  Base        ros::Publisher::Publisher(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::NodeHandle const&, boost::shared_ptr<ros::SubscriberCallbacks> const&, unsigned int const&)
000000000012de60 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<float, std::allocator<float> >&) const
000000000012e1d0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, float, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, float> > >&) const
000000000012dd00 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) const
000000000020fec0  w   DO .data.rel.ro	0000000000000040  Base        vtable for boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >
00000000000e0648 g    DF .text	0000000000000280  Base        ros::ServiceServer::ServiceServer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::NodeHandle const&)
00000000000f0bc8 g    DF .text	00000000000002dc  Base        ros::Publisher::Publisher(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::NodeHandle const&, boost::shared_ptr<ros::SubscriberCallbacks> const&, unsigned int const&)
000000000012b860 g    DF .text	0000000000000008  Base        ros::NodeHandle::setCallbackQueue(ros::CallbackQueueInterface*)
000000000012f828 g    DF .text	0000000000000100  Base        ros::NodeHandle::~NodeHandle()
0000000000130058 g    DF .text	00000000000001f0  Base        ros::NodeHandle::NodeHandle(ros::NodeHandle const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
00000000000e0648 g    DF .text	0000000000000280  Base        ros::ServiceServer::ServiceServer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::NodeHandle const&)
000000000012eb70 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&) const
0000000000130058 g    DF .text	00000000000001f0  Base        ros::NodeHandle::NodeHandle(ros::NodeHandle const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
000000000012cdb8 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
0000000000130cd8 g    DF .text	00000000000002dc  Base        ros::NodeHandle::advertiseService(ros::AdvertiseServiceOptions&)
000000000012e330 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool> > >&) const
0000000000130fb8 g    DF .text	0000000000000298  Base        ros::NodeHandle::serviceClient(ros::ServiceClientOptions&)
000000000012d590 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<c0000000000000000      DF *UND*	0000000000000000              ros::console::initializeLogLocation(ros::console::LogLocation*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::console::levels::Level)har>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, float, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, float> > > const&) const
000000000012ed80 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >&) const
000000000012dfc0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<bool, std::allocator<bool> >&) const
000000000012d050 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const
000000000012cf08 g    DF .text	000000000000009c  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double) const
000000000012cfa8 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) const
000000000012e750 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool&) const
000000000012e540 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double&) const
000000000012e5f0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float&) const
000000000012e6a0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int&) const
000000000012e8b0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<double, std::allocator<double> >&) const
0000000000130438 g    DF .text	0000000000000200  Base        ros::NodeHandle::NodeHandle(ros::NodeHandle const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
000000000012d440 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) const
000000000012d6e0 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool> > > const&) const
00000000001b6468  w   DO .rodata	0000000000000033  Base        typeinfo name for boost::detail::sp_ms_deleter<ros::NodeHandle>
000000000012e280 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >&) const
000000000012d1a0 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<double, std::allocator<double> > const&) const
00000000000c2f08  w   DF .text	0000000000000028  Base        boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >::~sp_counted_impl_pd()
000000000012e800 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) const
000000000012ecd0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, float, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, float> > >&) const
00000000000c2bb8 g    DF .text	000000000000027c  Base        ros::Subscriber::Subscriber(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::NodeHandle const&, boost::shared_ptr<ros::SubscriptionCallbackHelper> const&)
000000000012c488 g    DF .text	00000000000003f0  Base        ros::NodeHandle::createWallTimer(ros::WallDuration, boost::function<void (ros::WallTimerEvent const&)> const&, bool, bool) const
0000000000130248 g    DF .text	00000000000001f0  Base        ros::NodeHandle::NodeHandle(ros::NodeHandle const&)
000000000012f928 g    DF .text	0000000000000394  Base        ros::NodeHandle::construct(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)
000000000012eee0 g    DF .text	000000000000002c  Base        ros::NodeHandle::ok() const
000000000012c400 g    DF .text	0000000000000088  Base        ros::NodeHandle::createWallTimer(ros::WallTimerOptions&) const
000000000012e960 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<float, std::allocator<float> >&) const
000000000012d0f8 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const
00000000000c2f70  w   DF .text	0000000000000038  Base        boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >::dispose()

I run command, objdump -TC /home/yuan/isee_px2/ros-1.5.1/lib/libroscpp.so | grep -i 'ros::console::initializeLogLocation('
The output:

0000000000000000      DF *UND*	0000000000000000              ros::console::initializeLogLocation(ros::console::LogLocation*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::console::levels::Level)

may be a bug

rostopic list 有时没有消息显示,有时连rosout rosout_agg都没有,有时有消息,但是rostopic echo不出来,也不知道怎么查这个bug,消息应该是有publish出来的, 我在ubuntu 14.04上用的,

occurs error when build apollo ros

`==> Processing catkin package: 'pb_msgs'
==> Building with env: '/home/liupp/workplace/apollo-platform/ros/install/ros_x86_64/env.sh'
Makefile exists, skipping explicit cmake invocation...
==> make cmake_check_build_system in '/home/liupp/workplace/apollo-platform/ros/build_isolated/pb_msgs'
==> make -j3 -l3 in '/home/liupp/workplace/apollo-platform/ros/build_isolated/pb_msgs'
[ 0%] Built target pb_msgs_generate_messages_lisp
[ 25%] Generating Python from proto pb_msgs/time.proto
[ 50%] make[2]: PROTOBUF_PROTOC_EXECUTABLE-NOTFOUND: Command not found
make[2]: *** [/home/liupp/workplace/apollo-platform/ros/install/ros_x86_64/share/ros/../../lib/python2.7/dist-packages/pb_msgs/msg/time_pb2.py] Error 127
[ 75%] make[1]: *** [CMakeFiles/pb_msgs_generate_messages_py.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Generating C++ code from pb_msgs/time.proto
make[2]: PROTOBUF_PROTOC_EXECUTABLE-NOTFOUND: Command not found
make[2]: *** [/home/liupp/workplace/apollo-platform/ros/devel_isolated/pb_msgs/include/pb_msgs/../time.pb.h] Error 127
make[1]: *** [CMakeFiles/pb_msgs_proto.dir/all] Error 2
Generating C++ code from pb_msgs/time.proto
make[2]: PROTOBUF_PROTOC_EXECUTABLE-NOTFOUND: Command not found
make[2]: *** [/home/liupp/workplace/apollo-platform/ros/devel_isolated/pb_msgs/include/pb_msgs/../time.pb.h] Error 127
make[1]: *** [CMakeFiles/pb_msgs_generate_messages_cpp.dir/all] Error 2
make: *** [all] Error 2
<== Failed to process package 'pb_msgs':
Command '['/home/liupp/workplace/apollo-platform/ros/install/ros_x86_64/env.sh', 'make', '-j3', '-l3']' returned non-zero exit status 2

Reproduce this error by running:
==> cd /home/liupp/workplace/apollo-platform/ros/build_isolated/pb_msgs && /home/liupp/workplace/apollo-platform/ros/install/ros_x86_64/env.sh make -j3 -l3
`

sharedmemory 中锁的问题

阿波罗是如何考虑 sharememroy在构建过程(boost的内置的锁) , 修改 _wrote_num_mutex 等锁定后进程被kill后的 无法重新使用的问题的。

No parameters are recovered after ROS master

设置了ROS_MASTER_SNAPSHOT=1环境变量,运行时无论kill掉roscore还是talker还是listener,在$ROS_ROOT下都找不到snapshot文件.

按文档 里的设置了:
No parameters are recovered after ROS master restarts?
A: To enable recovery from the snapshot, you need to setup ROS_MASTER_SNAPSHOT, which is disabled as default.

Where is the snapshot file?
A: $ROS_ROOT/.master_snapshot.

Question on perception

Line 39 in perception.cc is ros::waitForShutdown();. As stated in ROS tutorial, this line will keep the node blocked until the node is shut down. Thus, how the lines below this line can be excuted?

Fail to run catkin_make

In apollo docker, I followed the ros tutorial, run:
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/
$ catkin_make

Then I met error:

nian@in_dev_docker:~/catkin_ws$ catkin_make
Base path: /home/nian/catkin_ws
Source space: /home/nian/catkin_ws/src
Build space: /home/nian/catkin_ws/build
Devel space: /home/nian/catkin_ws/devel
Install space: /home/nian/catkin_ws/install
Creating symlink "/home/nian/catkin_ws/src/CMakeLists.txt" pointing to "/opt/ros/indigo/share/catkin/cmake/toplevel.cmake"

Running command: "cmake /home/nian/catkin_ws/src -DCATKIN_DEVEL_PREFIX=/home/nian/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/nian/catkin_ws/install -G Unix Makefiles" in "/home/nian/catkin_ws/build"

-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
CMake Error at CMakeLists.txt:20 (message):
Search for 'catkin' in workspace failed (catkin_find_pkg catkin
/home/nian/catkin_ws/src): Traceback (most recent call last):

File "/usr/local/bin/catkin_find_pkg", line 9, in <module>
  load_entry_point('catkin-pkg==0.3.6', 'console_scripts', 'catkin_find_pkg')()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 351, in load_entry_point
  return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2363, in load_entry_point
  return ep.load()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2088, in load
  entry = __import__(self.module_name, globals(),globals(), ['__name__'])

ImportError: No module named cli.find_pkg

Does anyone have a clue? Thanks!

block and segment size question?

In my opinion, one segment contains many blocks, by why the size of segment is 1.5 times the size of block?

const uint64_t ROS_SHM_BLOCK_SIZE = 2000000; // Block size, Bit
const uint64_t ROS_SHM_SEGMENT_SIZE = 3000000; // Segment size, Bit
in file shardmem_block.h

ShareMemory 实现中存在的问题, 请确认

前提: 这里仅讨论使用ShareMemory的场景

  1. mutex释放、reader_count不减问题。Subscribe端获取Manager中的mutex后,读ShareMemory内存慢会导致Block被占住。如果这样的subscriber如果占住所有block, 或者有subscriber异常退出没有释放导致block中的reader_count 不减,Publisher一端将无法写入问题, 且会在找可用block的循环逻辑里面,导致CPU 100%。

  2. TOPIC ShareMemory重置问题。 当需要publish的新消息长度超过计算出来的消息长度时,会丢弃对用Topic里面的数据, 哪怕数据没有被其他端消费。且重建ShareMemory的逻辑导致了整体代码过于复杂。

  3. 丢消息问题。Publisher 通过Signal唤醒Subscribers收取数据, 但是如果Subscriber没有及时收走数, 而Publisher publish速度较快, 会导致Subscriber拿到的智能是wrote_num对应的数据, 而不能取到当前Subscriber last_index -> wrote_num 之间的数据

麻烦开发者帮我确认一下, 先谢了。

节点在发布消息时被阻塞

您好!我在使用apollo-platform时发现,如果级联的节点较多,节点在发布消息时会被阻塞。例如:A->B->C->D->...,其中A是起始节点,向B pub消息,B在回调函数中将收到的消息pub给C,以此类推。我们发现,对普通字符串消息而言,节点D在收到C的消息再pub时,被阻塞,即一直停留在publish函数上。

附件中是我的测试程序:
test_pub.tar.gz

=======================
另外,如果发布的消息内容较大(例如图片),这个现象则更加明显。对于480p分辨率的图片,只能级联发布两个节点;720p图片,只能级联发布一个节点;而1080p图片,则从起始节点都发不出去。

与此相比,ROS则不存在这个问题,它支持多层节点的级联发布,无论普通字符串消息还是图片消息。我猜测是不是apollo-platform分配共享内存时出现了问题。

我的实验环境是原生的apollo docker,分别实验了apollo 2.0版本的apolloauto/apollo:dev-x86_64-20171103_2113和1.0版本的apolloauto/apollo:dev-x86_64-20171103_2113,我分别采用了以下两种方式使用apollo-platform:
(1)直接source /home/tmp/setup.sh,然后编译我的测试程序,运行;
(2)从源代码编译apollo-platform,然后编译我的测试程序,运行。
但两种方式均出现消息发布被阻塞的现象。我不确定是环境配置所导致,还是apollo-platform自身的问题。望解答,谢谢!

Runtime error

when I run roscore after source compile, some one met same problem?

Traceback (most recent call last):
  File "/home/bailiqun/apollo-platform-2.1.2/ros/install/ros_x86_64/bin/roscore", line 36, in <module>
    from rosmaster.master_api import NUM_WORKERS
  File "/home/bailiqun/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rosmaster/__init__.py", line 35, in <module>
    from .main import rosmaster_main
  File "/home/bailiqun/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rosmaster/main.py", line 43, in <module>
    import rosmaster.master
  File "/home/bailiqun/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rosmaster/master.py", line 45, in <module>
    import rosgraph.xmlrpc
  File "/home/bailiqun/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rosgraph/__init__.py", line 36, in <module>
    from . masterapi import Master, MasterFailure, MasterError, MasterException
  File "/home/bailiqun/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rosgraph/masterapi.py", line 49, in <module>
    from rospy.impl.broadcast_manager import BroadcastManager
  File "/home/bailiqun/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/__init__.py", line 49, in <module>
    from .client import spin, myargv, init_node, \
  File "/home/bailiqun/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/client.py", line 60, in <module>
    import rospy.impl.init
  File "/home/bailiqun/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/init.py", line 54, in <module>
    from .tcpros import init_tcpros
  File "/home/bailiqun/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/tcpros.py", line 45, in <module>
    import rospy.impl.tcpros_service
  File "/home/bailiqun/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 65, in <module>
    from broadcast_manager import BroadcastManager
  File "/home/bailiqun/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/broadcast_manager.py", line 58, in <module>
    from rospy.impl import participant
  File "/home/bailiqun/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/participant.py", line 28, in <module>
    _participant = swig_import_helper()
  File "/home/bailiqun/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/python2.7/dist-packages/rospy/impl/participant.py", line 20, in swig_import_helper
    import _participant
ImportError: /home/bailiqun/apollo-platform-2.1.2/ros/install/ros_x86_64/lib/_participant.so: undefined symbol: _ZN3ros11Participant8read_msgEv

Run roscore error after build in Ubuntu 16.04

I build the apollo-platform in Ubuntu 16.04, and it passed.
But when I run roscore, it outputs the error like below:

Traceback (most recent call last):
  File "/home/apollo/Apollo/apollo-platform/install_isolated/bin/rosmaster", line 34, in <module>
    import rosmaster
  File "/home/apollo/Apollo/apollo-platform/install_isolated/lib/python2.7/dist-packages/rosmaster/__init__.py", line 35, in <module>
    from .main import rosmaster_main
  File "/home/apollo/Apollo/apollo-platform/install_isolated/lib/python2.7/dist-packages/rosmaster/main.py", line 43, in <module>
    import rosmaster.master
  File "/home/apollo/Apollo/apollo-platform/install_isolated/lib/python2.7/dist-packages/rosmaster/master.py", line 45, in <module>
    import rosgraph.xmlrpc
  File "/home/apollo/Apollo/apollo-platform/install_isolated/lib/python2.7/dist-packages/rosgraph/__init__.py", line 36, in <module>
    from . masterapi import Master, MasterFailure, MasterError, MasterException
  File "/home/apollo/Apollo/apollo-platform/install_isolated/lib/python2.7/dist-packages/rosgraph/masterapi.py", line 49, in <module>
    from rospy.impl.broadcast_manager import BroadcastManager
  File "/home/apollo/Apollo/apollo-platform/install_isolated/lib/python2.7/dist-packages/rospy/__init__.py", line 49, in <module>
    from .client import spin, myargv, init_node, \
  File "/home/apollo/Apollo/apollo-platform/install_isolated/lib/python2.7/dist-packages/rospy/client.py", line 60, in <module>
    import rospy.impl.init
  File "/home/apollo/Apollo/apollo-platform/install_isolated/lib/python2.7/dist-packages/rospy/impl/init.py", line 54, in <module>
    from .tcpros import init_tcpros
  File "/home/apollo/Apollo/apollo-platform/install_isolated/lib/python2.7/dist-packages/rospy/impl/tcpros.py", line 45, in <module>
    import rospy.impl.tcpros_service
  File "/home/apollo/Apollo/apollo-platform/install_isolated/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 65, in <module>
    from broadcast_manager import BroadcastManager
  File "/home/apollo/Apollo/apollo-platform/install_isolated/lib/python2.7/dist-packages/rospy/impl/broadcast_manager.py", line 58, in <module>
    from rospy.impl import participant
  File "/home/apollo/Apollo/apollo-platform/install_isolated/lib/python2.7/dist-packages/rospy/impl/participant.py", line 28, in <module>
    _participant = swig_import_helper()
  File "/home/apollo/Apollo/apollo-platform/install_isolated/lib/python2.7/dist-packages/rospy/impl/participant.py", line 20, in swig_import_helper
    import _participant
ImportError: /home/apollo/Apollo/apollo-platform/install_isolated/lib/_participant.so: undefined symbol: _ZN3ros11Participant8read_msgEv

Should I solve this problem?
I find the issue like #52 #19
But I can not find a solution for this.

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.