教你机器人自动分享战绩(二)
如果想要在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();
}
教你机器人自动分享战绩(二)相关推荐
- 解决熊猫助手战绩自动分享延迟的问题
闲聊战绩狗分享机器人,可以自动将熊猫麻将.闲来麻将等各种战绩分享到闲聊群,具体参考方法 . 延迟加载与session关闭的矛盾一般可以这样处理: ① 关闭延迟加载特性.这种方式操作起来比较简单,因为H ...
- python语言表白超炫图形_经验分享 篇二:三分钟教你用Excel制作各种尺寸、底色的证件照...
经验分享 篇二:三分钟教你用Excel制作各种尺寸.底色的证件照 2018-12-29 07:00:00 654点赞 7174收藏 245评论 一.前言 继上一篇用PPT制作了证件照以后 有的值友反应 ...
- 如何实现闲聊群里自动发战绩
闲聊战绩自动分享只需要将我们的分享机器人拉进群里,然后提供闲来合伙人账号.闲聊群名字.亲友圈ID给我们绑定就可以了,绑定成功后既可以自动分享了 希望对你有所帮助, 点击查看参考链接 组牌是麻将中关键性 ...
- 达观数据超自动化机器人实践分享 | 达观数据产品总监邵万骏
8月13日,由苏州市金融科技协会指导,RPA中国主办,达观数据作为顶级联合主办的「第二届中国RPA+AI开发者大赛」在苏州观园流苏酒店圆满落幕.达观数据产品总监邵万骏作为特邀嘉宾,在会上做主题演讲&l ...
- 书生教你cocos2d-x-保卫萝卜(二)
书生教你cocos2d-x-保卫萝卜(二) 上一章搭建了主界面.这一章开始,我们构建游戏里要用的动画类.动画是游戏开发里很重要的一个概念,可惜的是公司不会安排一个新人去写这一块.许多新人朋友接手代码的 ...
- EFQRCode:自动生成花式二维码
原文链接:https://github.com/EyreFree/EFQRCode EFQRCode:自动生成花式二维码.# 为开源点赞# -- 由SwiftLanguage分享 EFQRCode i ...
- Docker最全教程之MySQL容器化 (二十五)
前言 MySQL是目前最流行的开源的关系型数据库,MySQL的容器化之前有朋友投稿并且写过此块,本篇仅从笔者角度进行总结和编写. 目录 镜像说明 运行MySQL容器镜像 1.运行MySQL容器 ...
- Docker最全教程之MySQL容器化 (二十四)
Docker最全教程之MySQL容器化 (二十四) 原文:Docker最全教程之MySQL容器化 (二十四) 前言 MySQL是目前最流行的开源的关系型数据库,MySQL的容器化之前有朋友投稿并且写过 ...
- 安徽关节式焊接机器人_机器人自动焊接技术的优势及应用介绍
焊接生产线机械自动化技术的应用经历了仿制.自行研制.稳步发展三个阶段.焊接制造行业的焊接专机将得到普遍应用,焊接生产过程中,机械化与自动化程度将提高15%左右,焊接自动化程度将达到40-50%,为了发 ...
最新文章
- goland设置goroot_解决GOPATH在GOLAND中的坑
- python的excel库_Python-excel相关库
- html 表格 左侧表头,左侧是表头的JS表格控件(自写,网上没有的)
- 【Python】Turtle绘制科赫雪花
- vconfig命令打通直连网络
- OKB持续拉升突破8美元关口
- 基于libmemcached为php扩展memcached服务
- 【转载】深入理解Java内存模型——final
- 内容 超链接_Word高效办公:自动创建带超链接的内容目录和图表目录
- MAVEN工程引入p6spy打印sql语句日志(Spring+mybatis)
- kasp技术原理_KASP基因分型
- 每日英语--Week8
- 抖音用什么编程语言_抖音是哪个公司的 抖音app所属公司 是哪个公司开发的
- 我的世界java版刷雪球机,我的世界怎么无限得到雪球 刷雪球机介绍
- web前端源码笔记_canvas【爱创课堂专业前端培训】
- 前端上传视频至阿里云
- 常用电平标准 TTL、CMOS、LVTTL、LVCMOS..
- python灰帽子学习感想
- leaflet实现自定义线、矩形和扇形的绘制
- 使用MD5对用户密码加密与解密