当前位置: 首页 > wzjs >正文

建设市政务信息共享网站网站建设文字教程

建设市政务信息共享网站,网站建设文字教程,做网站友情链接都写什么,网络广告策划书模板前言 本篇文章属于ROS2humble的学习笔记,来源于B站鱼香ROSup主。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。 《ROS 2机器人开发从入门到实践》课程介绍_哔哩哔哩_bilibili …

前言

本篇文章属于ROS2humble的学习笔记,来源于B站鱼香ROSup主。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。

《ROS 2机器人开发从入门到实践》课程介绍_哔哩哔哩_bilibili

一、项目一(下载小说,并通过话题间隔5s发送一行)

(1)创建工作空间

在终端中输入:

mkdir -p topic_ws/src

(2)在src目录下创建软件包

处于src目录下,在终端中输入:

ros2 pkg create demo_python_topic --build-type ament_python --dependencies rclpy example_interfaces --license Apache-2.0

回到topic_ws目录下,再输入:

colcon build                 构建文件

 (3)在有__init__.py文件的目录下创建节点文件novel_pub_node.py,节点代码部分如下

import rclpy
from rclpy.node import Node
import requests
from example_interfaces.msg import String
from queue import Queueclass NovelNode(Node):def __init__(self, node_name):super().__init__(node_name)self.get_logger().info(f'{node_name},启动!')self.novel_queue = Queue()  #创建队列self.novel_publisher = self.create_publisher(String, 'novel', 100)self.create_timer(5, self.timer_callback)def timer_callback(self):if self.novel_queue.qsize()>0:line = self.novel_queue.get()msg = String()msg.data = lineself.novel_publisher.publish(msg)self.get_logger().info(f'发布了:{msg}')def download(self, url):responese = requests.get(url)responese.encoding = 'utf-8'text = responese.textself.get_logger().info(f'下载{url},{len(text)}')for line in text.splitlines():self.novel_queue.put(line)def main():rclpy.init()node = NovelNode('novel_pub')node.download('https://fanqienovel.com/reader/7173216089122439711?enter_from=page')rclpy.spin(node)rclpy.shutdown()

(4)执行代码

先找到

entry_points={

'console_scripts': [

],

},

改为

entry_points={

        'console_scripts': [

                'novel_pub_node=demo_python_topic.novel_pub_node:main'

],

},

等号左边是可执行文件的名字,等号右边是软件包名和节点名

然后回到 topic_ws目录下,再输入:

colcon build                 构建文件

再在终端中输入source install/setup.bash

修改一下环境变量

再运行即可:ros2 run demo_python_topic novel_pub_node

二、项目二(订阅小说并合成语音)

import espeakng
import rclpy
from rclpy.node import Node
from example_interfaces.msg import String
from queue import Queue
import threading
import timeclass NovelSubNode(Node):def __init__(self, node_name):super().__init__(node_name)self.get_logger().info(f'{node_name},启动!')self.novel_queue = Queue()self.create_subscription(String, 'novel', self.novel_callback, 10)self.speech_thread_ = threading.Thread(target=self.speaker_thread)self.speech_thread_.start()def novel_callback(self, msg):self.novel_queue.put(msg.data)passdef speaker_thread(self):speaker = espeakng.Speaker()speaker.voice = 'zh'while rclpy.ok():   #检测ROS当前上下文是否okif self.novel_queue.qsize()>0:text = self.novel_queue.get()self.get_logger().info(f'朗读:{text}')speaker.say(text)       #说speaker.wait()        #等说完else:#让当前线程休眠1stime.sleep(1)def main():rclpy.init()node = NovelSubNode('novel_sub')rclpy.spin(node)rclpy.shutdown()

espeakng为朗读引入的库

注意当前线程休眠1s的操作很关键,这能降低CPU功耗

http://www.dtcms.com/wzjs/835422.html

相关文章:

  • 网站描述范例宁波网站建设信息推荐
  • 淄博市网站建设西安有那些做网站的公司
  • 网站301的作用成都网站建设方法数码
  • 告状书放网站上怎么做二级网站开发 一级关系
  • js代码下载网站wordpress 加速乐 wptouch
  • 萍乡建网站软件外包网站
  • 关键词整站优化公司淮阳城乡建设局网站
  • 餐饮网站模板众筹网站怎么做推广
  • 网站建设需要提供那些资料做淘宝客网站服务器
  • 网站图片怎么做超链接中国市场网
  • 网站后台如何更改lofter wordpress
  • 怎么查看一个网站有没有做推广营销型外贸网站建设公司
  • 新开传奇网站排行镇海seo关键词优化费用
  • 网站怎么做备案变更网站建设是怎么赚钱的
  • 做游戏攻略网站赚钱吗wordpress免签
  • 上海史特做网站多少钱青岛栈桥导游词
  • html网站源码下载国内知名网站建设公司
  • 高端网站设计哪家公司好广州企业网站找哪里
  • 企业网站形象建设wordpress shop路径在哪儿
  • 江西省美丽乡村建设公布网站asp企业网站开发技术
  • 网站内容排版设计杭州知名网页设计服务商
  • 网上做外贸都有哪些网站租用阿里云做网站
  • 自己怎么做视频收费网站合肥seo搜索优化
  • 张掖网站设计公司网络工程师app
  • 社交网站盈利吗传奇游戏网站怎么做
  • 伍佰亿网站怎么样长沙网站优化
  • 如何建淘客网站营销策划方案步骤
  • html网站搭建seo高级优化技巧
  • 公司网站制作范文怎么设置 多个首页 wordpress
  • 外贸做网站重庆关键词优化平台