ROS2 Nav Plugin

规控 动态加载和卸载插件(ClassLoader加载动态链接库–抽象类子类),如控制器、传感器、规划器,下图所示: 几个规划消息: ros2 interface proto geometry_msgs/msg/PoseStamped 位置 header: stamp: sec: 0 nanosec: 0 frame_id: '' pose: position: x: 0.0 y: 0.0 z: 0.0 orientation: x: 0.0 y: 0.0 z: 0.0 w: 1.0 ros2 interface proto nav_msgs/msg/OccupancyGrid 栅格地图 ...

January 25, 2024 · 7 min · biglonglong

ROS2 Demo

前言 来自ROS2理论与实践 | ROS2讲义。事实上,作者也学习过ROS1,但由于工作需求、未来发展等原因,遂从头学起ROS2,理论方面ROS1和ROS2区别不大,但ROS2面向对象编程,而ROS1面向过程,ROS1选手可参考biglonglong/ROS1demo: Some demos for ROS1 basic operation。 流程 文件系统 WorkSpace --- 自定义的工作空间。 |--- build:存储中间文件的目录,该目录下会为每一个功能包创建一个单独子目录。 |--- install:安装目录,该目录下会为每一个功能包创建一个单独子目录。 |--- log:日志目录,用于存储日志文件。 |--- src:用于存储功能包源码的目录。 |-- C++功能包 |-- package.xml:包信息,比如:包名、版本、作者、依赖项。 |-- CMakeLists.txt:配置编译规则,比如源文件、依赖项、目标文件。 |-- src:C++源文件目录。 |-- include:头文件目录。 |-- msg:消息接口文件目录。 |-- srv:服务接口文件目录。 |-- action:动作接口文件目录。 |-- Python功能包 |-- package.xml:包信息,比如:包名、版本、作者、依赖项。 |-- setup.py:与C++功能包的CMakeLists.txt类似。 |-- setup.cfg:功能包基本配置文件。 |-- resource:资源目录。 |-- test:存储测试相关文件。 |-- 功能包同名目录:Python源文件目录。 -------------------------------------------- |-- C++或Python功能包 |-- launch:存储launch文件。 |-- rviz:存储rviz2配置相关文件。 |-- urdf:存储机器人建模文件。 |-- params:存储参数文件。 |-- world:存储仿真环境相关文件。 |-- map:存储导航所需地图文件。 |-- ...... 创建工作空间 ...

December 26, 2024 · 8 min · biglonglong

ROS2 Simulation

前言 经过第一轮 ROS2 入门的学习,基本掌握了如何在各节点之间进行信息通信,但要构建一个完整的机器人系统仍有很长的路要走。 “机器人是一种高度复杂的系统性实现,机器人设计包含了机械结构设计、机械加工、硬件设计、嵌入式软件设计、上层软件设计等诸多模块,是各种硬件与软件的有机结合,甚至可以说机器人系统是当今工业体系的集大成者。机器人体系是相当庞大的,其复杂度之高,以至于没有任何个人、组织甚至公司能够独立完成系统性的机器人研发生产任务。 ...

January 12, 2024 · 13 min · biglonglong

ROS2 Around

工具 命令 查找或展示 node、interface、topic、service、action、param和具体信息 -h:帮助文档 ros2 pkg:查询功能包相关信息的参数 ...

January 6, 2024 · 9 min · biglonglong