如果想要在rviz中看到真是机器人是如何运动的,那么需要读取机器人状态的实时反馈信息。

闲聊战绩狗分享机器人,可以自动将熊猫麻将、闲来麻将等各种战绩分享到闲聊群,具体参考方法 。

只需要将战绩狗机器人拉进闲聊群,并绑定对应的亲友圈即可,绑定之后就可以自动分享战绩,绑定只需要提供亲友圈ID。

思路如下:1.读取串口中输入的数据并且接收它
2.把数据广播出去
3.机器人控制程序订阅话题,接收数据
4.使用数据改变机器人的状态

接下来的代码就是读取串口中输入的数据,在试验的时候,可以用两个可以发送和接受数据的U盘,一个发一个收。

这里要主义一下,有一个ros的serial的串口包.
在这里分享其他博友的一篇文章,详细介绍了rosserial.
这里写链接内容

include “ros/ros.h”
include “serial/serial.h” //ROS已经内置了的串口包
include “std_msgs/String.h”
include “std_msgs/Empty.h”
include
include “string”
include
include
include “stdio.h”
using namespace std;
serial::Serial ser; //声明串口对象
//回调函数
void write_callback(const std_msgs::String::ConstPtr &msg){
ROS_INFO_STREAM(“Writing to serial port” << msg->data);
ser.write(msg->data);
}

int main (int argc, char** argv){
//初始化节点
ros::init(argc, argv, “serial_example_node”);
//声明节点句柄
ros::NodeHandle nh;

//订阅主题,并配置回调函数
ros::Subscriber write_sub = nh.subscribe(“write”, 1000, write_callback);
//发布主题
ros::Publisher read_pub = nh.advertise<std_msgs::String>(“read”, 1000);

try
{
//设置串口属性,并打开串口
ser.setPort("/dev/ttyUSB1");
ser.setBaudrate(115200);
serial::Timeout to = serial::Timeout::simpleTimeout(1000);
ser.setTimeout(to);
ser.open();
}
catch (serial::IOException& e)
{
ROS_ERROR_STREAM("Unable to open port ");
// return -1;
}

//检测串口是否已经打开,并给出提示信息
if(ser.isOpen()){
ROS_INFO_STREAM(“Serial Port initialized”);
}else{
return -1;
}

//指定循环的频率
ros::Rate loop_rate(50);
while(ros::ok()){

//处理ROS的信息,比如订阅消息,并调用回调函数
ros::spinOnce();if(ser.available()){ROS_INFO_STREAM("Reading from serial port");std_msgs::String result;result.data = ser.read(ser.available());ROS_INFO_STREAM("Read: " << result.data);
ofstream infile("/home/yu/catkin_ws/src/r2d2/src/a.txt",ios::trunc);

if(!infile)
{
cout<<“unable to open my file”;
exit(1);
}
infile<<result.data;
read_pub.publish(result);
}
loop_rate.sleep();

}

教你机器人自动分享战绩(二)相关推荐

  1. 解决熊猫助手战绩自动分享延迟的问题

    闲聊战绩狗分享机器人,可以自动将熊猫麻将.闲来麻将等各种战绩分享到闲聊群,具体参考方法 . 延迟加载与session关闭的矛盾一般可以这样处理: ① 关闭延迟加载特性.这种方式操作起来比较简单,因为H ...

  2. python语言表白超炫图形_经验分享 篇二:三分钟教你用Excel制作各种尺寸、底色的证件照...

    经验分享 篇二:三分钟教你用Excel制作各种尺寸.底色的证件照 2018-12-29 07:00:00 654点赞 7174收藏 245评论 一.前言 继上一篇用PPT制作了证件照以后 有的值友反应 ...

  3. 如何实现闲聊群里自动发战绩

    闲聊战绩自动分享只需要将我们的分享机器人拉进群里,然后提供闲来合伙人账号.闲聊群名字.亲友圈ID给我们绑定就可以了,绑定成功后既可以自动分享了 希望对你有所帮助, 点击查看参考链接 组牌是麻将中关键性 ...

  4. 达观数据超自动化机器人实践分享 | 达观数据产品总监邵万骏

    8月13日,由苏州市金融科技协会指导,RPA中国主办,达观数据作为顶级联合主办的「第二届中国RPA+AI开发者大赛」在苏州观园流苏酒店圆满落幕.达观数据产品总监邵万骏作为特邀嘉宾,在会上做主题演讲&l ...

  5. 书生教你cocos2d-x-保卫萝卜(二)

    书生教你cocos2d-x-保卫萝卜(二) 上一章搭建了主界面.这一章开始,我们构建游戏里要用的动画类.动画是游戏开发里很重要的一个概念,可惜的是公司不会安排一个新人去写这一块.许多新人朋友接手代码的 ...

  6. EFQRCode:自动生成花式二维码

    原文链接:https://github.com/EyreFree/EFQRCode EFQRCode:自动生成花式二维码.# 为开源点赞# -- 由SwiftLanguage分享 EFQRCode i ...

  7. Docker最全教程之MySQL容器化 (二十五)

    前言 MySQL是目前最流行的开源的关系型数据库,MySQL的容器化之前有朋友投稿并且写过此块,本篇仅从笔者角度进行总结和编写. 目录 镜像说明  运行MySQL容器镜像  1.运行MySQL容器  ...

  8. Docker最全教程之MySQL容器化 (二十四)

    Docker最全教程之MySQL容器化 (二十四) 原文:Docker最全教程之MySQL容器化 (二十四) 前言 MySQL是目前最流行的开源的关系型数据库,MySQL的容器化之前有朋友投稿并且写过 ...

  9. 安徽关节式焊接机器人_机器人自动焊接技术的优势及应用介绍

    焊接生产线机械自动化技术的应用经历了仿制.自行研制.稳步发展三个阶段.焊接制造行业的焊接专机将得到普遍应用,焊接生产过程中,机械化与自动化程度将提高15%左右,焊接自动化程度将达到40-50%,为了发 ...

最新文章

  1. goland设置goroot_解决GOPATH在GOLAND中的坑
  2. python的excel库_Python-excel相关库
  3. html 表格 左侧表头,左侧是表头的JS表格控件(自写,网上没有的)
  4. 【Python】Turtle绘制科赫雪花
  5. vconfig命令打通直连网络
  6. OKB持续拉升突破8美元关口
  7. 基于libmemcached为php扩展memcached服务
  8. 【转载】深入理解Java内存模型——final
  9. 内容 超链接_Word高效办公:自动创建带超链接的内容目录和图表目录
  10. MAVEN工程引入p6spy打印sql语句日志(Spring+mybatis)
  11. kasp技术原理_KASP基因分型
  12. 每日英语--Week8
  13. 抖音用什么编程语言_抖音是哪个公司的 抖音app所属公司 是哪个公司开发的
  14. 我的世界java版刷雪球机,我的世界怎么无限得到雪球 刷雪球机介绍
  15. web前端源码笔记_canvas【爱创课堂专业前端培训】
  16. 前端上传视频至阿里云
  17. 常用电平标准 TTL、CMOS、LVTTL、LVCMOS..
  18. python灰帽子学习感想
  19. leaflet实现自定义线、矩形和扇形的绘制
  20. 使用MD5对用户密码加密与解密

热门文章

  1. matlab怎么定义矩阵变量_matlab文档(一)matlab入门
  2. Kubernetes基于extended-resource扩展资源
  3. 基于Cordova的 B站用户直播闹钟app(安卓版)
  4. 软考高级信息系统项目管理师系列之:详细总结五大过程组案例分析题答题技巧
  5. docker 入门使用
  6. Android Automotive (二)系统架构
  7. SQLServer2008备份服务器数据库到本地
  8. Mathematica9.0中文版软件下载详细图文安装步骤!
  9. 安全需求识别规范--模板
  10. AI在招聘领域的这些应用,你会是被第一轮淘汰的吗