ROS 2
文章平均质量分 77
小朱 智能驾驶
这个作者很懒,什么都没留下…
展开
-
ROS 1 和 ROS 2 通过 ros1_bridge 通信
ROS 1 和 ROS 2 通过 ros1_bridge 通信测试环境:ubuntu 18.04ROS 1 melodicROS 2 eloquent两个版本的ROS 均需要按照官网教程进行安装,安装完成以后,soure环境变量都不放到~/.bashrc文件里面测试流程当不需要使用自定义消息类型进行两个ROS 通信的时候,没有必要通过源码编译安装ros1_bridge安装附加功能包:sudo apt install ros-eloquent-ros1-bridge启动 一个新的终原创 2020-11-10 17:22:07 · 2205 阅读 · 1 评论 -
Control Toolbox 学习过程
Control Toolbox 学习过程OverviewControl Toolbox这个库可以用于建模, 控制, 估计, 轨迹优化和模型预测控制.原创 2020-10-19 18:29:39 · 1880 阅读 · 1 评论 -
7. Gazebo仿真器
7. Gazebo 仿真器7.1 Gazebo仿真器 1模块1里包括了上面的的这些内容主流的机器人仿真软件:gazebo,v-rep, webots。gazebo: 用于仿真三维刚体动力学的软件。包含噪声的多种传感器,三维可视化和用户交互,具备大量机器人和环境模型数据库,提供ROS2 接口,使用插件的方式进行扩展。...原创 2020-06-25 10:22:07 · 454 阅读 · 0 评论 -
Win10 ROS2仿真(与Ubuntu 18.04联合仿真)
如果要发布一个话题,需要下图三个模块分别是 blank message、bus assignment、publish,可以在 message 里面选择要发送的 message 类型,在 bus assignment 里选择要发送哪些信息,publish 里可以改变 topic 的名称Bus assignment 中要把左栏中的 signals 选中后再点 select 移到右边去。Publ...原创 2020-06-25 10:21:39 · 455 阅读 · 0 评论 -
常用消息 geometry_msgs/TransformStamped
常用消息 geometry_msgs/TransformStamped1. geometry_msgs/TransformStamped (坐标转换消息)Raw Message Definition# This expresses a transform from coordinate frame header.frame_id# to the coordinate frame child_frame_id## This message is mostly used by the # tf p原创 2020-06-11 08:59:57 · 6873 阅读 · 0 评论 -
常用消息 nav_msgs/Odometry Message
常用消息 nav_msgs/Odometry Message1. nav_msgs/Odometry Message (里程计信息)Raw Message Definition# This represents an estimate of a position and velocity in free space. # The pose in this message should be specified in the coordinate frame given by header.fram原创 2020-06-11 08:55:51 · 11412 阅读 · 0 评论 -
ROS2 常用消息&坐标变换实现方法
ROS2 常用坐标变换实现方法发布一个tf变换定义一个tf广播器std::shared_ptr<tf2_ros::TransformBroadcaster> odom_broadcaster; This expresses a transform from coordinate frame header.frame_id to the coordinate frame child_frame_idgeometry_msgs::msg::TransformStamped odo原创 2020-06-11 08:27:57 · 734 阅读 · 0 评论 -
ROS2 中常用坐标系
ROS2 中常用坐标系frame_id:用来告诉你,发布的数据是来自哪一个坐标系的。在使用ROS进行定位导航等操作时,我们经常会遇到各种坐标系。每种坐标系都有明确的含义。理论上坐标系的名称可以是随意的,但是为了方便不同的软件间共享坐标信息,ROS定义了几个常见的坐标系。1.base_linkbase_link坐标系和机器人的底盘直接连接。其具体位置和方向都是任意的。对于不同的机器人平台,底盘上会有不同的参考点。不过ROS也给了推荐的坐标系取法。x 轴指向机器人前方y 轴指向机器人左方z 轴指向原创 2020-06-11 08:18:53 · 1266 阅读 · 0 评论 -
ROS2 使用 tf2的过程的四元数变换,需要通过python的第三方包进行四元数旋转关系转换
安装sudo apt install ros-dashing-tf2sudo apt install ros-dashing-tf2-rosDemo 实例:https://github.com/ros2/geometry2/tree/ros2/examples_tf2_py/examples_tf2_py原创 2020-06-01 09:34:14 · 3485 阅读 · 3 评论 -
ROS2:spin() spin_some()函数
ROS1 ros::spin()和ros::spinOnce()函数关于ros消息发布器和订阅器的教程: http://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber(c++)消息发布器在一个while里面一直循环发送“hello world”到话题(topic)chatter上。消息订阅器一旦知道chatter上面有data,就会将这data作为参数传入callback函数中,但是此时还没有执行callback函数,而是把callback函数原创 2020-05-27 15:50:36 · 5082 阅读 · 0 评论 -
ROS2 通过 bag 录制与播放数据,bag包的安装与配置
通过桌面版安装ROS2的时候,是没有安装 bag 包的,需要自己进行安装,运行下面这句话:sudo apt-get install ros-<distro>-ros2bag ros-<distro>-rosbag2*有的时候会报错:[ERROR] [rosbag2_storage]: Could not load/open plugin with storage id 'sqlite3'.[ERROR] [rosbag2_transport]: Failed to play原创 2020-05-19 10:14:10 · 7224 阅读 · 4 评论 -
ROS2 创建新的工程文件 创建新功能包的方法
ROS2 创建新的工程文件 创建新功能包的方法https://index.ros.org/doc/ros2/Tutorials/如果有时间,最好完成官网的入门教程,在日后的使用中,遇到问题时,可以先浏览官网教程,看是否有给出解决方案创建工程:mkdir dev_wsmkdir dev_ws/srccd dev_ws/src创建功能包cd dev_ws/srcros2 pkg ...原创 2020-05-12 09:36:04 · 950 阅读 · 1 评论 -
ROS2 删除自定义包后 编译警告 AMENT_PREFIX_PATH doesn't exist
这个问题是因为在历史编译中,你已经删除的包被包含进过 AMENT_PREFIX_PATH,假如你没有删除过 build 文件夹,以及install文件夹的话,即便是手动删除了这个包后,编译依然不会有问题,但是当你删除前面的两个文件夹,彻底重新编译该工程时,就会报上诉的警告AMENT_PREFIX_PATH doesn't exist解决方案:在终端内:printenv AMENT_PRE...原创 2020-05-06 15:22:55 · 4432 阅读 · 1 评论 -
ROS 2 创建自定义消息过程
首先需要注意一点,在ROS 2 dashing发行版里面,只有C++的功能包可以自定义消息类型,也就是说,在创建包的时候,只有选择 ament_cmake方式创建的包才可以自定义消息,但是python类型的功能包可以导入由C++类型包创建的自定义消息。创建过程:前提条件是你已经有一个工作空间了。进入工作空间的源码目录cd src/创建一个C++类型的功能包ros2 pkg crea...原创 2020-05-04 16:09:50 · 2107 阅读 · 2 评论 -
ROS 2 C++成员函数方式创建节点 函数调用
ROS2 的主函数的一般形式如下面的代码所示,实际使用时,当我在类里面创建了一个成员函数的时候,发现无法调用到该函数。int main(int argc, char **argv){ // RCLCPP_INFO(LOGGER, "Initialize node"); rclcpp::init(argc, argv); auto n = std::make_shared...原创 2020-05-04 15:37:43 · 915 阅读 · 1 评论 -
安装ROS2之后需要再安装的包 colcon empy catki_pkg six 等
在能够编译文件需要,可能遇到如下报错:ModuleNotFoundError: No module named ‘catkin_pkg’ModuleNotFoundError: No module named ‘em’运行如下命令:pip uninstall empip install empypip install catkin_pkgpip install rosdep rosi...原创 2020-04-26 11:15:38 · 1441 阅读 · 0 评论 -
Skipping acquire of configured file ‘main/binary-i386/Packages’ as repository
问题描述:在sudo apt update的时候,出现如下问题,N: Skipping acquire of configured file ‘main/binary-i386/Packages’ as repository ‘http://packages.ros.org/ros2/ubuntu bionic InRelease’ doesn’t support architecture ‘...原创 2020-04-25 20:01:26 · 8029 阅读 · 0 评论 -
runtime library [libssl.so.1.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in:/home/
编译ROS工程的过程中,因为安装了anaconda导致系统库的路径被覆盖掉,因而报错的时候runtime library [libssl.so.1.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /home/rw/anaconda3/lib首先查看路径,可以看到返回结果中,第一个查找路径是anaconda的。export...原创 2020-04-16 10:49:49 · 11377 阅读 · 5 评论 -
6. ROS2中的launch文件
launch 是启动多个节点并设置参数的工具使用方法:进入到对应的文件夹,使用命令启动ros2 launch file_name.launch从功能包中启动launchros2 launch package_name file_name.launch...原创 2020-03-21 18:12:23 · 513 阅读 · 0 评论 -
5. ROS2核心概念梳理
查看ROS版本echo $ROS_DISTRO查看和ROS相关的环境变量printenv | grep -i ROS运行节点:ros2 run package_name node_name查看活动节点列表:ros2 node list查看节点信息:ros2 node info node_name列出活动主题ros2 topic list订阅并输出主题内...原创 2020-03-19 16:27:00 · 250 阅读 · 0 评论 -
4. Colcon 工作区和编译系统
安装colconsudo apt install python3-colcon-common-extensions编译工作空间:colcon build工作空间内容:build: 存放编译过程的中间文件,对于每一个包,创建一个子文件夹install: 每个软件包安装的目录,默认情况,每个包都将安装到单独的子目录log:存放工作空间的编译记录,每一次编译都会生成一个文件夹src:...原创 2020-03-11 18:31:26 · 1480 阅读 · 0 评论 -
ROS2 win10和Ubuntu通信配置方法
实验目的:在win10系统里面安装ROS2,Matlab 2019b,Carsim2019,在Ubuntu系统里面部署自动驾驶算法模型与ROS2系统,两者实现联合仿真,win10主要用于车辆的动力学求解。除了Carsim之外,还计划再装一下Prescan,然后进行场景加动力学模型的仿真。因为ROS2 没有主节点概念,配置过程比使用ROS1要方便很多,目前实验室系统逐渐移植到ROS2平台上。...原创 2020-03-10 11:06:38 · 1737 阅读 · 2 评论 -
3 ROS2 控制台命令
前面课程的回顾原创 2020-03-09 21:36:43 · 296 阅读 · 0 评论 -
2. ROS2 节点和主题
1 节点节点的理解每个节点都可以通过 topic,service,action,param 向其他节点发送和接受数据。常用命令ros2 node listros2 node info输入rqt 直接回车可以看到当前ROS系统中的节点关系图,还可以参看很多节点相关信息2 主题ros2 topic bw 主题名ros2 topic bw Display bandwidth ...原创 2020-03-08 17:10:11 · 445 阅读 · 0 评论 -
1 ROS 2 架构与基本概念
1 核心概念ROS2 系统三个核心概念:主题(广播/订阅),服务,动作服务:应答类型的方式,有申请的时候给出反馈动作:给出执行过程情况,例如打扫房间,实时反馈执行进度2 主题/服务/动作的使用场景主题:单一方向持续数据流,传感器数据或机器人状态服务:应答机制,调用服务,完成后受到回复,例如询问天气情况,查询电量动作:一次无法完成,需要多次才可以完成,或者完成过程需要中断,甚至终止,例...原创 2020-03-07 16:52:59 · 938 阅读 · 0 评论