Ubuntu 16.04 Roboware Turtlesim 测试
博客参考:https://www.jianshu.com/p/5509c8ba522b?utm_campaign
利用Turtlesim,编写简单的消息发布器和订阅器
1. Twist消息,它的Topic是/cmd_vel,base controler订阅Twist消息来控制电机, 在终端中执行以下指令查看Twist消息的具体内容
rosmsg show geometry_msgs/Twist
2. 编写一个控制turtlesim的发布器
2.1 Roboware 创建turtlesim package, then add Src Folder including source file talker.cpp
#include <ros/ros.h>
#include <std_msgs/String.h>
#include <geometry_msgs/Twist.h> int main(int argc, char** argv)
{
ros::init(argc, argv,"talker");
ros::NodeHandle n; ros::Publisher pub = n.advertise<geometry_msgs::Twist>("/turtle1/cmd_vel", 1000);
ros::Rate loop_rate(10); while(ros::ok())
{
geometry_msgs::Twist msg; msg.linear.x = 1;
msg.angular.z = 1; pub.publish(msg);
ros::spinOnce();
loop_rate.sleep();
} return 0;
}
源代码内重要的部分
1. 定义一个publisher类的对象,其中advertise内的参数为(话题,发布的缓冲区大小)
ros::Publisher chatter_pub = n.advertise<geometry_msgs::Twist>("/turtle1/cmd_vel", 1000);
2 geometry_msgs::Twist msg
//定义一个twist类消息对象
msg.linear.x = 1; // 设置线速度为1m/s,正为前进,负为后退
msg.angular.z = 1; // 设置角速度为1rad/s,正为左转,负为右转
3 pub.publish(msg)
通过刚才创建的publisher对象发布刚才创建的twist类对象, 这样执行完上面的代码,我们就可以将复制好linear和angular参数的twist对象广播出去,广播的topic是/turtle1/cmd_vel,也就是turtlesim会自动订阅的topic.
运行
1. 运行roscore
2. 运行turtlesim仿真器
rosrun turtlesim turtlesim_node
3. 运行编译的消息发布结点
source devel/setup.bash
rosrun turrlesim talker
测试效果如下
Ubuntu 16.04 Roboware Turtlesim 测试的更多相关文章
- Ubuntu 16.04 Roboware安装和使用
博客参考:https://blog.csdn.net/qq_41450811/article/details/80305846 RoboWare Studio是一个ROS集成开发环境.它使 ROS开发 ...
- Ubuntu 16.04安装JMeter测试工具
JMeter是Java的测试工具,由Apache开发. 同样,JMeter是跨平台的. 下载: http://jmeter.apache.org/download_jmeter.cgi 安装: 7z ...
- Ubuntu 16.04 安装PCL库以及测试
参考链接:https://blog.csdn.net/dantengc/article/details/78446600 参考博客,官网一直安装不成功,后来参照一篇博客终于安装成功了,记录如下. 1. ...
- Ubuntu 16.04安装测试MQTT Mosquitto
环境:Ubuntu 16.04 介绍MQTT MQTT是一种机器到机器的消息传递协议,旨在为“物联网”设备提供轻量级的发布/订阅通信.它通常用于地理跟踪车队,家庭自动化,环境传感器网络和公用事业规模数 ...
- Ubuntu 16.04上安装SkyEye及测试
说明一下,在Ubuntu 16.04上安装SkyEye方法不是原创,是来自互联网,仅供学习参考. 一.检查支持软件包 gcc,make,vim(optional),ssh,subversionbinu ...
- Ubuntu 16.04 LAMP server 指南 - 配置 Apache2.4,PHP7,和MariaDB(而不是MySQL)
翻译自:https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-on-ubuntu-16-04-lamp/ 昨天在虚 ...
- ubuntu 16.04安装docker
环境 操作系统:ubuntu 16.04 64位,默认安装 准备 1. 添加GPG key: $ sudo apt-key adv --keyserver hkp://p80.pool.sks-key ...
- Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel
Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel 1.MySQL安装[安装 MariaDB]MariaDB是MySQL的一个分支首 ...
- tips of my ubuntu 16.04 LTS
update_0 : sudo .../idea.sh 才会把idea安装上,不加sudo也会启动,但是不会在开始菜单中找到程序. ---------------------------------- ...
随机推荐
- springboot 打包太大,打包瘦身,打包thin
pom文件修改: <build> <resources> <resource> <directory>src/main/resources</di ...
- 【Netty】初识Netty
一.为什么会出现Netty 之前我们使用通用的应用程序或库来相互通信.例如,我们经常使用HTTP客户机库从web服务器检索信息,并通过web服务调用远程过程调用.然而,通用协议或其实现有时伸缩性不是很 ...
- Idea热部署插件JRebel
安装部署:https://blog.csdn.net/weixin_42831477/article/details/82229436 Jrebel不生效的原因和解决办法:https://www.cn ...
- Python使用Thrift
2019年07月30日 14:59:29 Shower稻草人 阅读数 25更多 分类专栏: Python 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接 ...
- django项目中使用KindEditor富文本编辑器。
先从官网下载插件,放在static文件下 前端引入 <script type="text/javascript" src="/static/back/kindedi ...
- C语言入门hello world
1.安装软件 c语言开发工具众多,初学者推荐使用Dev-Cpp 5.6.3 TDM-GCC x64 4.8.1 Setup.exe:安装过程全部默认安装即可. 2.使用Dev-Cpp编写第一个入门实例 ...
- 项目Beta冲刺随笔集合
班级:软件工程1916|W 作业:项目Beta冲刺 团队名称:SkyReach 目标:完成项目Beta版本 项目Github地址 评审表 团队博客汇总 队员学号 队员姓名 个人博客地址 备注 2216 ...
- 在 iTunes Connect 中,无法找到“My Apps”选项
Cannot find "My Apps" option in iTunes Connect, to upload my app on the app-store:stackove ...
- 学习:SLT_string容器
前言:这个学了感觉没多大用,自己只需要了解就好,忘记了可以参考以下网站的示例 参考网站:https://github.com/AnkerLeng/Cpp-0-1-Resource/blob/maste ...
- SecureCRT 日记保存带时间戳
%h:%m:%s:%t--- result: