![](https://img-blog.csdnimg.cn/20191105095312648.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
ros2爬坑记录
鲁伯特1996
ros cpp 单片机
展开
-
ros2-Foxy安装教程
ros2已经出到F版了,该如何安装呢,这里选择的是二进制安装方式.首先,确保您的语言环境支持UTF-8。sudo locale-gen en_US en_US.UTF-8sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8export LANG=en_US.UTF-8添加公钥:sudo apt update && sudo apt install curl gnupg2 lsb-releasecurl -s https:原创 2020-08-09 18:19:26 · 3449 阅读 · 6 评论 -
树莓派3B+安装Ubuntu20.04
ros2已经出到F版本了,本来想下载一个尝鲜一下,怒肝了两天终于把Ubuntu20.04装到树莓派里面了。但是,忽然发现F版本的还未发行,只是在网站上更新了安装方法,安装包和公钥都没公布(f?小声嘀咕)。那么我们就先来分享一下如何在树莓派上安装Ubuntu20.04 server。硬件:树莓派3b+ 2017 / 32G闪迪内存卡 / 读卡器 / 电脑???软件:win10 / balenaEtcher / 树莓派Ubuntu20.04 server镜像首先进入Ubuntu官网,进入下载页面,选择R原创 2020-05-10 22:57:56 · 10067 阅读 · 3 评论 -
ros2时间管理-Rate和Timer
ROS2编程的时间处理包括如ros1的rate睡眠,当然在ros2中你会经常用到Timer计时器系统,类似于单片机的定时器中断一类的软件计时器。Rate:这个我们并不陌生,不管是在前面章节还是在ros1中都大量使用,可以让我们在程序中进行睡眠。但是ros2函数API有一点改变:int main(int argc, char** argv){ rclcpp::init(argc, argv)...原创 2020-04-12 16:53:15 · 7666 阅读 · 1 评论 -
ros2 tf坐标变换
坐标变换是机器人学中一个非常重要的概念,机器人本体及工作环境往往存在大量的元素,在机器人设计与机器人应用中涉及到不同组件的位置和姿态,这里引入坐标系及坐标变换概念。坐标变换是机器人系统中非常基础的功能,ros2中由tf2功能包提供。tf2是一个随时间跟踪多个坐标系的功能包,树形结构故不支持并联机器人。使用tf2功能包总的来说就只有两步:1、监听TF变换2、广播TF变换通常我们可以使用tf...原创 2020-04-01 19:55:36 · 2410 阅读 · 2 评论 -
ros2动作编程-client
我们在上一节学习了怎么编写一个action的服务端,那这一节就编写可以调用服务器的客户端。我们进入tutorials_action功能包的src文件夹下创建fibonacci_action_client.cpp文件,代码如下:#进入cmake文件添加编译规则:add_executable(fibonacci_action_client src/fibonacci_action_client...原创 2020-03-30 22:29:52 · 625 阅读 · 0 评论 -
ros2动作编程-server
我们这一节开始学习ros2的动作编程,(预留动作编程原理)将创建运行一个动作服务器节点和动作客户端节点实现斐波那契数列的运算。首先我们进入我们的消息功能包添加一个action文件夹幷在里面新建一个Fibonacci.action文件,内容如下:#goalint32 order---#resultint32[] sequence---#feedbackint32[] partial...原创 2020-03-30 00:44:26 · 803 阅读 · 0 评论 -
ros2服务编程-client
有了上节的服务器,我们就可以写一个客户端对其进行调用。还是在tutorials_service功能包的src文件夹下创建service_client.cpp文件,主要功能是调用上节编写的服务器节点进行加法运算,代码如下:原创 2020-03-25 00:25:32 · 369 阅读 · 0 评论 -
ros2服务编程-server
ros2的服务由服务服务器(service server)和服务客户端(service client)组成,其中服务服务器仅在收到请求(request)时才会响应(response),而服务客户端则会发送请求并接收响应。与话题不同,服务是一次性消息通信。因此,当服务的请求和响应完成时,两个节点的连接会被断开。这种服务通常在让机器人执行特定任务时用到。或者用于需要在特定条件下做出反应的节点。由于它是一次性的通信方式,因此对网络的负载很小,所以是一种非常有用的通信手段,例如被用作一种代替话题的通信手段。原创 2020-03-23 23:29:46 · 778 阅读 · 0 评论 -
ros2激光雷达功能包移植(思岚rplidar A1)
目前来说还未找到思岚官方提供的ros2功能包,周末没事的时候移植了一下,上班的时候把ROSTOGO带到公司试了一下,可以用。根据官方提供的ros1功能包来看,只需要把封装好的sdk放在我们ros2功能包下即可。首先我们先创建功能包rplidar_rosros2 pkg create rplidar_ros --build-type ament_cmake --dependencies std...原创 2020-03-09 21:31:09 · 4192 阅读 · 2 评论 -
ros2 话题编程之订阅者
您已经了解到主题是通道,节点可以在其中写入或读取信息。 您还看到了可以使用发布者来写主题,因此您可能在想,也应该有某种类似的工具可以从主题中读取信息。 你是对的! 这就是所谓的订阅者。 订户是从主题读取信息的节点。 让我们来进行编写订阅者。首先创建一个名为topic_subscriber_pkg的新程序包。 创建软件包时,添加rclcpp和std_msgs作为依赖项。使用以下命令:ros2 p...原创 2020-01-17 15:14:56 · 1128 阅读 · 0 评论 -
ros2 话题编程之发布者
创建一个名为topic_publisher_pkg的新软件包。 创建程序包时,添加rclcpp和std_msgs作为依赖项。为了创建一个具有roscpp和std_msgs作为依赖关系的包,您应该使用以下命令:[ ]: ros2 pkg create topic_publisher_pkg --build-type ament_cmake--dependencies rclcpp std_msg...原创 2020-01-17 14:44:58 · 804 阅读 · 0 评论 -
ros2 launch 常见问题
关于运行launch,(没法自动补全手打)ros2 launch oryxbot_joy oryxbot2_joy.launch.py会报file 'oryxbot2_joy.launch.py' was not found in the share directory of package 'oryxbot_joy' which is at '/home/ln/ros2_ws/inst...原创 2019-11-13 22:14:27 · 8292 阅读 · 5 评论 -
ros2安装第一个坑
从安装ros2到现在也有好几天了。成功把我们oryxTarm底盘功能包从ros1-kinetic移植到ros2-dashing上面。下面就说一下遇到的一些坑,原创 2019-11-07 18:17:44 · 640 阅读 · 1 评论