![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ROS
文章平均质量分 72
Dynamicw
菜鸟起飞
展开
-
ROS服务中自定义数据类型
ROS服务中自定义数据类型在上一篇文章中,描述了一种两层封装的点集传输服务消息类型,比较复杂。上一篇文章事后我就在想何必包两层,直接在服务中利用提供的数据类型定义数组不就行了。所以动手试了一下:自定义数据类型代码应用//server端#include "ros/ros.h"#include "gm_ros_package/objectPosition.h"#include "gm_ros_package/test.h"bool process_position(gm_ros_pac原创 2021-01-14 09:43:44 · 997 阅读 · 0 评论 -
ROS中自定义复杂数据类型
ROS中自定义复杂数据类型先说一下需求,想要服务的请求数据为一个point(x,y,z)的数组。具体的形式表示如:[point1,point2,...]geometry_msgs::Point首先是对ROS官方提供的数据类型geometry::Point的认识和理解:可以看到该数据类型格式如上图。所以我们想是不是定义一个Point的数组就可以了。自定义新的数据类型gm_ros_package::Points来看一下自定义的数据类型的格式:实现对geometry_msgs::Poin原创 2021-01-13 20:22:40 · 1064 阅读 · 0 评论 -
ROS----龟界三角恋
ROS----龟界三角恋ROS中的tf利用一个节点发布两个坐标之间的变换关系,然后更新tf树,在监听中,订阅该tf树,然后从tf树中得到所需要的变换关系。对于发布变换关系tf_broadcaster,ROS中对通用的publish进行了一定的封装,但其本质仍旧是发布topic,对于订阅tf_listener,对通用的订阅进行一定的封装。今天做个有趣的实验,利用三只乌龟,实现"龟界三角恋"。t...原创 2020-01-10 09:39:34 · 544 阅读 · 0 评论 -
ROS----小乌龟之你追我赶
ROS----小乌龟之你追我赶生成八个小乌龟,分别命名为/turtle1、/turtle2、/turtle3、/turtle4、/turtle5、/turtle6、/turtle7、/turtle8然后实现turtle1自己运动,然后turtle2追turtle1,记为turtle2->turtle1。最终实现turtle8->turtle7->turtle6->turt...原创 2020-01-09 08:58:07 · 1553 阅读 · 0 评论 -
ROS----好多小乌龟
ROS----好多小乌龟当我们运行完rosrun turtlesim turtlesim_node后在桌面上出现一只小乌龟,显得那么孤单和寂寞,所以我们就来杀死这个单身龟,再创建一群小乌龟。之前乌龟的控制是通过topic的发布和订阅来实现,此处的乌龟的死亡和新生是通过service来实现。启动小乌龟,然后rosservice list看一下,有哪些服务被启动。可以看到一个/clear、/ki...原创 2020-01-08 11:18:16 · 2142 阅读 · 2 评论 -
ROS----窃听小乌龟行动计划
ROS----窃听小乌龟行动计划已经知道乌龟运动所订阅的topic为/turtle1/cmd_vel想要得到小乌龟是如何运动的,我们就需要知道/turtle1/cmd_vel的内容,首先在终端中测试一下我们的监听手段:首先启动小乌龟画圆的节点,然后。。。rostopic echo /turtle1/cmd_vel可以看到我们从画圆节点发送出来的topic内容接下来需要使用C++来编写...原创 2020-01-07 09:52:13 · 227 阅读 · 0 评论 -
ROS----小乌龟画圆
ROS----小乌龟画圆接触ros的人一定不会忘记安装好ros以后的一行测试命令roscorerosrun turtlesim turtlesim_node上述两个命令在不同的终端中输入。就可以看到一个小乌龟出现在屏幕上然后再在另一个终端中输入rosrun turtlesim turtle_teleop_key就可以使用键盘的上下左右键去控制乌龟拐弯前进。那么今天就是通过编写...原创 2020-01-07 09:12:26 · 5383 阅读 · 0 评论 -
ROS在编译生成自定义消息时报错ModuleNotFoundError: No module named 'em'
ROS在编译生成自定义消息时报错ModuleNotFoundError: No module named 'em'最终,在花费了几个小时的时间后成功解决。首先报错,肯定意识到时没有包下意识第一步;pip install em然后发现,权限不对,于是有了这个操作sudo pip install em然后又提示:Traceback (most recent cal...原创 2019-12-26 16:02:19 · 1833 阅读 · 0 评论 -
ROS服务中存在string类型变量,如何给string类型变量赋值及取值
首先,我们来看一下ROS中的服务如何定义的:string name---string rename我们这个服务目的为,客户端向服务端发送name字节,然后服务端回复客户端rename字节。先来看一下服务端的代码: std::stringstream ss; ss << "hello"; res.rename = ss.str(); ROS_INFO...原创 2019-08-31 21:47:12 · 4177 阅读 · 0 评论