auroai / apollo_ros_bridge Goto Github PK
View Code? Open in Web Editor NEWBridge messaging between Apollo and ROS
License: Apache License 2.0
Bridge messaging between Apollo and ROS
License: Apache License 2.0
Thanks in advance for any reply.
I just started learning Apollo recently .
I run "bazel build cyber_ros_bridge:all" in the root workspace of the package according to Readme.md and then I got some errors . As shown below:
WARNING: The following rc files are no longer being read, please transfer their contents or import their path into one of the standard rc files: /apollo/apollo_ros_bridge/tools/bazel.rc ERROR: /apollo/apollo_ros_bridge/WORKSPACE:7:1: name 'new_http_archive' is not defined ERROR: /apollo/apollo_ros_bridge/WORKSPACE:16:1: name 'git_repository' is not defined ERROR: /apollo/apollo_ros_bridge/WORKSPACE:35:1: name 'new_http_archive' is not defined ERROR: /apollo/apollo_ros_bridge/WORKSPACE:51:1: name 'new_http_archive' is not defined ERROR: /apollo/apollo_ros_bridge/WORKSPACE:60:1: name 'new_http_archive' is not defined ERROR: /apollo/apollo_ros_bridge/WORKSPACE:69:1: name 'new_http_archive' is not defined ERROR: /apollo/apollo_ros_bridge/WORKSPACE:145:1: name 'new_http_archive' is not defined ERROR: /apollo/apollo_ros_bridge/WORKSPACE:152:1: name 'new_http_archive' is not defined ERROR: /apollo/apollo_ros_bridge/WORKSPACE:196:1: name 'new_http_archive' is not defined ERROR: /apollo/apollo_ros_bridge/WORKSPACE:204:1: name 'new_http_archive' is not defined ERROR: /apollo/apollo_ros_bridge/WORKSPACE:212:1: name 'http_archive' is not defined ERROR: /apollo/apollo_ros_bridge/WORKSPACE:226:1: name 'new_http_archive' is not defined ERROR: /apollo/apollo_ros_bridge/WORKSPACE:247:1: name 'http_archive' is not defined ERROR: error loading package '': Encountered error while reading extension file 'bazel/grpc_deps.bzl': no such package '@com_github_grpc_grpc//bazel': error loading package 'external': Could not load //external package
I don't know why this happened ,because according to the Readme.md , I think it's easy to compile this package.
Thanks again for your help!
Hello.
I was trying to install the SVL Simulator with Apollo 5.0 . I noticed that the simulator can be installed easily on Windows but when it comes to Apollo there's nothing to be found in their documentation (it looks outdated to me) on how to use it on Windows. I know that Docker can run Linux containers but there's no base image that tries to build it (like an .yml file or something like this). Is there Windows compatibility, if yes is there a decent tutorial to follow?
Thank you!
Hi
I have bridged the code for chassis topic (candbus::chassis) between apollo and ros thru your bridge. I can see the updates working correctly.
However, when I try to bridge control topic ( apollo::control::ControlCommand), I do not see any update on the /control topic I have created. I can see the topic in the list, but if I echo, there are no updates. Apollo is publishing this meesage (with LGSVL) and I can see the update in cyber_monitor of Apollo as well as under apollo_ros_bridge cyber_monitor. I have checked the code I have developed and its same as the one I have done for chassis. I checked the yaml file too. The .msg file is a simple declaration of control topic's signals. Please let me know what could be the issue
[ INFO] [1670392428.698230570]: Connected to master at [localhost:11311]
WARNING: Logging before InitGoogleLogging() is written to STDERR
I1207 11:23:48.699414 4357 global_data.cc:150] [cyber_ros_bridge] host ip: 53.217.56.108
W1207 11:23:48.699474 4357 environment.h:33] [cyber_ros_bridge] Environment variable [CYBER_PATH] not set, fallback to
E1207 11:23:48.699488 4357 file.cc:64] [cyber_ros_bridge] Failed to open file /apollo/cyber/conf/cyber.pb.conf in text mode.
E1207 11:23:48.699506 4357 file.cc:90] [cyber_ros_bridge] Failed to open file /apollo/cyber/conf/cyber.pb.conf in binary mode.
E1207 11:23:48.699517 4357 global_data.cc:156] [cyber_ros_bridge] read cyber default conf failed!
F1207 11:23:48.699522 4357 global_data.cc:58] Check failed: InitConfig()
*** Check failure stack trace: ***
Aborted (core dumped)
Got Imu message from apollo with 200HZ, but can only receive ros msg in 1~2HZ.
Is this repo still valid?
Hi,
Does this bridge support Apollo-5.0 and higher as is? If not, should I change anything in the code to take care of this requirment? Please let me know
Thank you
Hello team!
Are you planning to implement a timer mode?
Hi
After commenting out those 3 lines in dev_start.sh, I am not able to get into the docker. It complains " Error: No such container: apollo_dev_dpt". Please let me know
thanks
I executed roslaunch rslidar pointcloud in apollo 3.5 docker.
I can see the point clouds via rviz, and rostopic
I wanna send it to cyberRT.
so I built all of apollo_ros_bridge sources, and I edited default.yaml file.
====> Input_Topic_Name : /rslidar_points.
And then I executed cyber_monitor to monitor it.
but I cannot see any channels in cyber_monitor.
Any comment or advice is truly helpful.
Dear all,
hi, thank you for your wonderful work which solved my problem greatly!
But there's still a problem when I'm using this tool.
My Environment
Apollo 5.5.0, ROS Melodic on Ubuntu 18.04.
Problem
I am using this apollo-ros-bridge to acquire the IMU data from my Apollo to my SLAM algorithm running in ROS. However, my IMU in Apollo has a frequency of 160Hz, but the messages received by ROS topic is only 60~70 Hz. And sometimes I could see irregular messages (e.g. 20 messages in 0.5s and then only 2 messages in the next 0.5s, or something like this). Is there a solution for that?
Thank you again!
Best,
Zifan
Cause by unintilized shared ptr ln apollo_ros_bridge\cyber_ros_bridge\core\cyber_ros_bridge_core.cpp:line 281
std::shared_ptrapollo::drivers::PointCloud pc_apollo
maybe should be
auto pc_apollo = std::make_sharedapollo::drivers::PointCloud();
您好,我运行run.sh,下载总是失败,而且特别慢,这是什么原因呢?谢谢
hello, when i run run.sh, the download always fails and is particularly slow. What's the reason? thank you
Hi AuroAi:
I want to write a apollo_ros2_bridge refer to your apollo_ros_bridge. ros2 - dashing , apollo - 3.5
There is one question when add 'apollo::cyber::Init(argv[0]);' , the subscription of ros2 can't receive anything. Do you have some solutions,
Thanks.
Hi, I want to pull prebuilt docker image,
When I use the command ./run.sh, the problem is:
bash: /home/apollo_ros_bridge/ros_pkgs/devel/setup.bash: No such file or directory
May I ask the solution to it?
The error message now is
INFO: Reading 'startup' options from /home/apollo_ros_bridge/tools/bazel.rc: --batch_cpu_scheduling --host_jvm_args=-XX:-UseParallelGC
INFO: (10-29 18:55:21.102) Found 2 targets...
ERROR: (10-29 18:55:26.198) /home/apollo_ros_bridge/cyber_ros_bridge/lib/BUILD:4:1: C++ compilation of rule '//cyber_ros_bridge/lib:cyber_ros_bridge_lib' failed (Exit 1).
cyber_ros_bridge/lib/module_drivers.cpp: In function 'void cyber_ros_bridge::ApolloImuToROSImu(const std::shared_ptrapollo::drivers::gnss::Imu&, sensor_msgs::Imu&)':
cyber_ros_bridge/lib/module_drivers.cpp:197:21: warning: typedef 'byte' locally defined but not used [-Wunused-local-typedefs]
typedef uint8_t byte;
^
cyber_ros_bridge/lib/module_drivers.cpp: In function 'void cyber_ros_bridge::ApolloChassisToROSChassis(const std::shared_ptrapollo::canbus::Chassis&, chassis_msgs::chassis&)':
cyber_ros_bridge/lib/module_drivers.cpp:251:32: error: cannot convert 'apollo::canbus::Chassis::engine_started' from type 'bool (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis_<std::allocator >::engine_started_type {aka unsigned char}'
chassis_ros.engine_started = chassis_msg->engine_started;
^
cyber_ros_bridge/lib/module_drivers.cpp:252:28: error: cannot convert 'apollo::canbus::Chassis::engine_rpm' from type 'float (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis<std::allocator >::engine_rpm_type {aka double}'
chassis_ros.engine_rpm = chassis_msg->engine_rpm;
^
cyber_ros_bridge/lib/module_drivers.cpp:253:28: error: cannot convert 'apollo::canbus::Chassis::speed_mps' from type 'float (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis<std::allocator >::speed_mps_type {aka double}'
chassis_ros.speed_mps = chassis_msg->speed_mps;
^
cyber_ros_bridge/lib/module_drivers.cpp:254:29: error: cannot convert 'apollo::canbus::Chassis::odometer_m' from type 'float (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis<std::allocator >::odometer_m_type {aka double}'
chassis_ros.odometer_m = chassis_msg->odometer_m;
^
cyber_ros_bridge/lib/module_drivers.cpp:255:38: error: cannot convert 'apollo::canbus::Chassis::throttle_percentage' from type 'float (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis<std::allocator >::throttle_percentage_type {aka double}'
chassis_ros.throttle_percentage = chassis_msg->throttle_percentage;
^
cyber_ros_bridge/lib/module_drivers.cpp:256:35: error: cannot convert 'apollo::canbus::Chassis::brake_percentage' from type 'float (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis<std::allocator >::brake_percentage_type {aka double}'
chassis_ros.brake_percentage = chassis_msg->brake_percentage;
^
cyber_ros_bridge/lib/module_drivers.cpp:257:38: error: cannot convert 'apollo::canbus::Chassis::steering_percentage' from type 'float (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis<std::allocator >::steering_percentage_type {aka double}'
chassis_ros.steering_percentage = chassis_msg->steering_percentage;
^
cyber_ros_bridge/lib/module_drivers.cpp:258:37: error: cannot convert 'apollo::canbus::Chassis::steering_torque_nm' from type 'float (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis<std::allocator >::steering_torque_nm_type {aka double}'
chassis_ros.steering_torque_nm = chassis_msg->steering_torque_nm;
^
cyber_ros_bridge/lib/module_drivers.cpp:259:32: error: cannot convert 'apollo::canbus::Chassis::parking_brake' from type 'bool (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis<std::allocator >::parking_brake_type {aka unsigned char}'
chassis_ros.parking_brake = chassis_msg->parking_brake;
^
cyber_ros_bridge/lib/module_drivers.cpp:260:35: error: cannot convert 'apollo::canbus::Chassis::high_beam_signal' from type 'bool (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis<std::allocator >::high_beam_signal_type {aka unsigned char}'
chassis_ros.high_beam_signal = chassis_msg->high_beam_signal;
^
cyber_ros_bridge/lib/module_drivers.cpp:261:34: error: cannot convert 'apollo::canbus::Chassis::low_beam_signal' from type 'bool (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis<std::allocator >::low_beam_signal_type {aka unsigned char}'
chassis_ros.low_beam_signal = chassis_msg->low_beam_signal;
^
cyber_ros_bridge/lib/module_drivers.cpp:262:35: error: cannot convert 'apollo::canbus::Chassis::left_turn_signal' from type 'bool (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis<std::allocator >::left_turn_signal_type {aka unsigned char}'
chassis_ros.left_turn_signal = chassis_msg->left_turn_signal;
^
cyber_ros_bridge/lib/module_drivers.cpp:263:36: error: cannot convert 'apollo::canbus::Chassis::right_turn_signal' from type 'bool (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis<std::allocator >::right_turn_signal_type {aka unsigned char}'
chassis_ros.right_turn_signal = chassis_msg->right_turn_signal;
^
cyber_ros_bridge/lib/module_drivers.cpp:264:23: error: cannot convert 'apollo::canbus::Chassis::horn' from type 'bool (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis<std::allocator >::horn_type {aka unsigned char}'
chassis_ros.horn = chassis_msg->horn;
^
cyber_ros_bridge/lib/module_drivers.cpp:265:24: error: cannot convert 'apollo::canbus::Chassis::wiper' from type 'bool (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis<std::allocator >::wiper_type {aka unsigned char}'
chassis_ros.wiper = chassis_msg->wiper;
^
cyber_ros_bridge/lib/module_drivers.cpp:266:35: error: cannot convert 'apollo::canbus::Chassis::disengage_status' from type 'bool (apollo::canbus::Chassis::)()const' to type 'chassis_msgs::chassis<std::allocator >::_disengage_status_type {aka unsigned char}'
chassis_ros.disengage_status = chassis_msg->disengage_status;
^
cyber_ros_bridge/lib/module_drivers.cpp: In function 'void cyber_ros_bridge::ROSChassisToApolloChassis(const ConstPtr&, apollo::canbus::Chassis&)':
cyber_ros_bridge/lib/module_drivers.cpp:281:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_engine_started'
chassis_apollo.mutable_engine_started()->set_engine_started(chassis_msg->engine_started);
^
cyber_ros_bridge/lib/module_drivers.cpp:282:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_engine_rpm'
chassis_apollo.mutable_engine_rpm()->set_engine_rpm(chassis_msg->engine_rpm);
^
cyber_ros_bridge/lib/module_drivers.cpp:283:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_speed_mps'
chassis_apollo.mutable_speed_mps()->set_speed_mps(chassis_msg->speed_mps);
^
cyber_ros_bridge/lib/module_drivers.cpp:284:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_odometer_m'
chassis_apollo.mutable_odometer_m()->set_odometer_m(chassis_msg->odometer_m);
^
cyber_ros_bridge/lib/module_drivers.cpp:285:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_throttle_percentage'
chassis_apollo.mutable_throttle_percentage()->set_throttle_percentage(chassis_msg->throttle_percentage);
^
cyber_ros_bridge/lib/module_drivers.cpp:286:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_brake_percentage'
chassis_apollo.mutable_brake_percentage()->set_brake_percentage(chassis_msg->brake_percentage);
^
cyber_ros_bridge/lib/module_drivers.cpp:287:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_steering_percentage'
chassis_apollo.mutable_steering_percentage()->set_steering_percentage(chassis_msg->steering_percentage);
^
cyber_ros_bridge/lib/module_drivers.cpp:288:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_steering_torque_nm'
chassis_apollo.mutable_steering_torque_nm()->set_steering_torque_nm(chassis_msg->steering_torque_nm);
^
cyber_ros_bridge/lib/module_drivers.cpp:289:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_parking_brake'
chassis_apollo.mutable_parking_brake()->set_parking_brake(chassis_msg->parking_brake);
^
cyber_ros_bridge/lib/module_drivers.cpp:290:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_high_beam_signal'
chassis_apollo.mutable_high_beam_signal()->set_high_beam_signal(chassis_msg->high_beam_signal);
^
cyber_ros_bridge/lib/module_drivers.cpp:291:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_low_beam_signal'
chassis_apollo.mutable_low_beam_signal()->set_low_beam_signal(chassis_msg->low_beam_signal);
^
cyber_ros_bridge/lib/module_drivers.cpp:292:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_left_turn_signal'
chassis_apollo.mutable_left_turn_signal()->set_left_turn_signal(chassis_msg->left_turn_signal);
^
cyber_ros_bridge/lib/module_drivers.cpp:293:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_right_turn_signal'
chassis_apollo.mutable_right_turn_signal()->set_right_turn_signal(chassis_msg->right_turn_signal);
^
cyber_ros_bridge/lib/module_drivers.cpp:294:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_horn'
chassis_apollo.mutable_horn()->set_horn(chassis_msg->horn);
^
cyber_ros_bridge/lib/module_drivers.cpp:295:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_wiper'
chassis_apollo.mutable_wiper()->set_wiper(chassis_msg->wiper);
^
cyber_ros_bridge/lib/module_drivers.cpp:296:20: error: 'class apollo::canbus::Chassis' has no member named 'mutable_disengage_status'
chassis_apollo.mutable_disengage_status()->set_disengage_status(chassis_msg->disengage_status);
Thank you. I am now able to run apollo and cyber_monitor alongside apollo-ros bridge.
However, I am not seeing any updates of the topics with rostopic echo on bridge side while cyber_monitor is publishing messages ( with LGSLV). What should I do to see these topics on ROS side? Here is the screen shot
/home/jpm/Pictures/RA_Screenshot from 2019-09-18 17-43-45.png
Originally posted by @Prj1508 in #6 (comment)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.