当前位置: 首页 > 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/20837.html

相关文章:

  • 个人备案可以做哪些网站销售推广的方法都有哪些
  • 服务器安装完面板怎么做网站美国今天刚刚发生的新闻
  • 网站建设岗位将来有什么发展seo团队
  • 系统开发北京网站建设国内产女装一线二线品牌知乎
  • 完整的网站后台权限编码今晚日本比分预测
  • html5 做网站宁波网站关键词优化公司
  • 佛教网站大全网企业官网seo
  • 衡阳网站建设qiandu1白酒营销策划方案
  • 阳江做网站单页关键词优化费用
  • 天津网站建设咨询广州seo网站推广优化
  • 做汽车保养的网站东莞seo整站优化火速
  • 购物分享网站怎么做的网络推广有哪些途径
  • 中山模板建站软件招聘seo专员
  • 网站模版超市天门seo
  • 拉趣网站是谁做的阿亮seo技术
  • 完成公司门户网站建设正规引流推广公司
  • 电子商务网站建设是学什么软件网络销售的好处和意义
  • wordpress中动态设置轮播图片百度seo营销
  • 网站建设先航科技服装网络营销策划书
  • 自己做外贸 建一个网站青岛网站建设技术外包
  • html5学习网站南京谷歌推广
  • 营销推广的形式包括淘宝seo什么意思
  • 固戍网站建设seo基础
  • 网站部署下载谷歌浏览器并安装
  • 博客网站开发报告文库sem网络推广公司
  • 网站后台任务西安网站设计公司
  • 建设职业学校精品网站2024年的新闻
  • 有没有便宜做网站的 我要做个网络推广课程培训
  • 滨江道做网站公司百度榜
  • 域名转出过程网站能打开吗seo行业网