自动驾驶C++软开项目ros-proto

技术栈:c++,c++模板,shell,docker,protobuf,cmake,ros序列化库,特征库
项目简介:
ros-protobuf-bridge是一个基于ROS和Protobuf的桥接项目,旨在实现 ROS 消息和 protobuf 消息之间的兼容和互操作性。
主要特点和贡献:
1. 构建环境自动化: 使用 docker 构建整个项目环境,通过 dockerfile 安装 ROS-Noetic 组件、protobuf、cmake 等依赖项,同时使用 Shell 脚本编写第三方库源码安装和容器操作脚本,以实现项目构建流程的自动化和部署的便利性。
2. 兼容性和可扩展性: 基于C++模板编程中的 SFINAE 机制,修改了 roscpp 的核心库 roscpp_serialization 和 roscpp_traits 的底层代码。这样,ros-protobuf-bridge可以同时兼容ROS原生msg和Protobuf消息。
3. 项目管理和构建: 使用 cmake 作为项目的构建系统,编写 proto 测试文件生成相应的静态库,供 ros 自定义功能模块调用。简化了项目的管理和构建过程,并提供灵活的扩展机制,便于后续添加复杂数据类型。
4. 插件化设计: ros-protobuf-bridge 可以作为一个插件嵌入到各种复杂的ROS功能项目中。通过将该项目中的cmake 指令集成到目标项目中,可以轻松地实现基于proto数据的发布和订阅。
#我的成功项目解析#  #我的实习求职记录#  #自动驾驶#  #后端#  #秋招#  #如何一边实习一边秋招#  #项目#
全部评论
自动驾驶和机器人开发路线,ros是基本技术栈,并且作为开发要深入ros源码,通过这个项目可以深入学习ros源码,性价比超高
1
送花
回复
分享
发布于 05-30 13:04 北京
老哥,怎么在哪个平台上都能看到你啊
点赞
送花
回复
分享
发布于 05-18 16:00 吉林
秋招专场
校招火热招聘中
官网直投

相关推荐

头像
05-17 11:57
C++
技术栈:c++,shell,TCP/UDP,docker,cmake,网络编程,系统编程项目简介: 是一个基于 IO多路复用 的 安全可靠的 UDP 文本传输框架。主要特点:1. docker 模块: 使用 docker 构建整个 safe-udp 项目环境,通过 dockerfile 安装 glog、cmake 等依赖项,并使用 Shell 编写容器操作脚本,以实现项目构建流程的自动化和部署的便利性。2. UDP_Transport 模块:    - 封装应用层 UDP Data Segment: 序列号、确认号、ACK、FIN等字段;并封装 序列化/反序列化 接口供上层调用。  - 根据 RFC规范 加权计算 平滑 RTT 和超时重传 RTO ,并与 IO多路复用(select) 结合设置 超时逻辑,监听客户端的响应。  - 封装 Sliding Window 和 Buffer,跟踪和管理 发送/接收数据包的缓冲区,并设置相应索引指针,处理接收到 ACK逻辑。  - 动态调节接收/拥塞窗口大小,自适应开启 慢启动、拥塞避免、拥塞发生、超时重传、快恢复 功能,并计算 cwnd、ssthresh 的值。  - 封装统计模块,统计慢启动、拥塞避免、超时重传 的数据包量和比率,反馈网络性能和行为,利于后续网络服务优化。  - 动态模拟 网络丢包和时延 状况, 校验 safe-udp 的可靠性和容错性(重传机制) 。3. 项目管理和构建: 使用 cmake 作为项目的构建系统,构建 udp_tansport 动态库,供第三方模块调用;并通过 git ,clang-format等工具,管理仓库代码。4. 功能测试和验证模块:构建 server、client 测试程序,验证safe-udp 可靠传输功能;并编写 diff.sh 脚本判断收发的文本内容是否完备。 #我的成功项目解析#  #我的失利项目复盘#  #软件开发薪资爆料#   #我的实习求职记录#  #我的实习求职记录#  #后端#  #秋招#  #项目#
点赞 评论 收藏
转发
头像
05-17 12:12
C++
github仓库开源地址:https://github.com/superxiaobai-1/proto_rpc(参考陈硕大佬的 muduo )从事c++方向基本技术栈要求,和websever一样技术栈:c++,c++常用特性,shell,docker,protobuf,cmake,网络编程,系统编程项目简介:是一个基于 protobuf 构建的高性能 RPC 框架,采用多 Reactor 多线程模型和回调机制,实现SOA架构下的分布式系统通信。主要特点:1. 构建环境自动化: 使用 docker 构建整个 rpc 项目环境,通过 dockerfile 安装 protobuf、cmake 等依赖项,同时使用 Shell 编写第三方库源码安装和容器操作脚本,以实现项目构建流程的自动化和部署的便利性。2. SOA架构: 项目遵循 SOA 的设计,network、rpc_framework、docker 分为独立的模块,提供特定的功能和接口,便于上层调用和耦合。3. network 模块: 基于事件驱动、非阻塞 I/O 和 Reactor 模式的网络模块。4. rpc_framework 模块: 基于底层 network 模块;proto 编码、反射机制;服务注册与发现等服务,构建上层高性能RPC 框架。5. 项目管理和构建: 使用 cmake 作为项目的构建系统,并构建相应的静/动态库,供第三方模块调用;并通过 git ,clang-format等工具,管理仓库代码。SOA(Service-Oriented Architecture,面向服务的架构)是一种软件架构设计理念,其中软件系统被设计为由相互独立、可重用、松散耦合的服务组成。
点赞 评论 收藏
转发
1 10 评论
分享
牛客网
牛客企业服务