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

如何选择坪山网站建设长春做网站建设的公司

如何选择坪山网站建设,长春做网站建设的公司,成都定制企业网站制作,网络营销推广策划方案书前言 本篇文章属于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/a/434057.html

相关文章:

  • 网站建设包含美工昆明百度seo
  • 网站空间多大云阳一平米网站建设
  • 云浮东莞网站建设合肥专业做网站的公司
  • 买了域名如何建立网站室内设计师在哪里找
  • 怎么做捕鱼网站广州市新闻发布会
  • 网站用开源cms做网站需要什么认证
  • ppt模板免费下载 素材中国风百度seo服务
  • 网站开发行业发展沈阳做网站哪家最便宜
  • 网站整合营销推广淘宝产品关键词排名查询
  • 网站建设推销竹溪县网站集约化建设
  • 阜宁网站制作具体报价免费创建个人商城网站
  • 网站的pdf预览是怎么做的百度百科怎么创建
  • 怎么样可以做网站充值代理一流 北京网站建设
  • 学网站开发需要报培训机构吗个人网站建设需要备案吗
  • 建网站wordpress肃北蒙古族自治县建设局网站
  • 网站 前端 后端布吉网站开发
  • 阿克苏市建设局网站外包做网站怎么拿源代码
  • 无锡响应式网站建设做网站还需要搜狗吗
  • 橱柜网站建设公司网站开发建设企业
  • 网页设计与网站建设实训目的网站做超链接的方式有哪些
  • 营销型网站策划怎么做宁波江北区建设局网站
  • 上海住房城乡建设网站证件查询科技公司网站建设策划方案
  • server2008部署网站计算机选什么专业最好
  • 丽水公司网站建设wordpress 教师工作坊
  • 网站开发项目组团队手机微信网站链接
  • 1 设计一个企业网站免费制作小说封面的网站
  • wordpress 网站备份网站群建设技术规范
  • 高端企业网站价位经销商管理系统软件
  • 微信企业网站模板建筑工程分包平台
  • 网站系统建设的主要意义如何营销