古月居《ROS入门21讲》零基础学习笔记

文章目录

  • 前言
  • 1.课程简介
  • 2.Linux系统介绍及安装
  • 3.Linux基础操作(操作集)
      • 命令结构
      • 常用命令
      • 快捷操作
  • 4.cpp&python极简基础(操作集)
    • 简单对比
    • 安装编译器
    • 编译和运行
  • 5.安装ROS
  • 6.ROS是什么
  • 7.ROS的核心概念
    • 节点与节点管理器
      • 节点(Node)--- 执行单元
      • 节点管理器(ROS Master) --- 控制中心
    • 话题通信(异步)
      • 话题 topic
      • 消息 message
    • 服务通信(同步)
      • 服务 service
    • 参数 parameter
    • 文件系统
  • 8.ROS命令行工具的使用(操作集)
  • 9.创建工作空间与功能包
    • 概念
    • 创建工作空间
    • 创建功能包
    • 创建工作空间
    • 创建功能包
  • 10. Publisher的编程实现
  • 11. Subscriber的编程实现
  • 12. 话题消息的定义与使用
  • 13. client的编程实现
  • 14. server的编程实现
  • 15. 服务数据的定义与使用
  • 16. 参数的使用与编程方法
  • 17. ROS中的坐标系管理系统
  • 18. tf坐标系广播与监听的编程实现
  • 19. launch 启动文件的使用方法
  • 20. 常用可视化工具的使用
    • Qt工具箱
    • Rviz
    • Gazebo
  • 一些琐碎信息的整理

前言

”怕什么真理无穷,进一寸有一寸的欢喜。”

——古月 适

本人大一小白一枚,参加了一个本科生科研项目,目前正在学习一些ROS1相关的一些前置基础知识。
在这里以博客的形式记录一下学习的过程、操作的细节及操作的结果、爬坑方法、听课笔记。
希望能给同样在学习相关知识的小伙伴一些问题解决的参考以及学习之路的陪伴。
我是基本按照导师推荐的B站上古月居的《ROS入门21讲》(ROS1)走的
本博客也是按照学习顺序的笔记

1.课程简介

老师的课程使用的是Ubuntu18.04,ROS melodic
我用的是Ubuntu20.04,ROS noetic
由于都是ROS1,所以原理和操作相同

2.Linux系统介绍及安装

先下载VMware
然后建议上某宝安装想要的ubuntu和ros
(推荐 大熊一加一)
此处含泪删除上千字搞机记录

3.Linux基础操作(操作集)

命令结构

命令 选项 参数
command option parameter
之间都要加空格

常用命令

  • pwd查看终端所在路径(Print Working Directory)
    在这里插入图片描述
  • cd切换路径(注意斜杠前面有空格)(change directory)
    cd切换路径
  • cd . .跳回到上级目录(cd和dot之间也要有空格)cd ..
  • mkdir 在当前路径创建目录(make directory)
    mkdir
  • ls 列出当前路径下面的所有文件夹
    ls
  • touch 创建新的文件(该文件相当于text记事本)
    touch
  • mv 移动文件(move)
    (在该文件所在目录的路径下执行此操作)
    mv
  • cp 复制粘贴文件 (copy)
    (在该文件所在目录的路径下执行此操作)
    (cp 文件名 目标目录/重命名的新名称)
    cp
  • rm 删除某个文件(remove)
    在这里插入图片描述
  • rm -r 删除一个文件夹(recursive递归)
    (要删除的文件夹后面加不加斜杠效果好像一样,不知道斜杠的使用逻辑)
    rm -r
  • sudo 提升用户权限(super user do超级用户!)
    (这里以获取软件更新权限为例)
    sudo
  • “- - help “查看帮助
    help

快捷操作

  • Tab快速补全。
    长长的文件名可以用Tab补全
    若文件名首字母有歧义,按两次,出选项
  • 用方向上下键调出之前的命令
    不想找的时候按Ctrl+C,自己输命令
  • 文件名前面加dot是隐藏文件

4.cpp&python极简基础(操作集)

简单对比

  • cpp适合底层硬件开发、框架开发
  • python适合应用层、算法的开发
  • 不同场景选择不同语言

安装编译器

  • 安装g++编译器
    在这里插入图片描述
  • 安装python编译器(点击方向上键重复前一步操作,g++改成python就行了)
    出了点问题
    报错
    在CSDN上找到解决方法,解决方式如下
    在这里插入图片描述
    编译器安装完成
    老师简单讲了一下语言逻辑。并将使用一些源码做演示教学。我在他的微信公众号上进入了github文件地址并下载了源码。

download zip
但是没能够像老师一样简单地复制粘贴到虚拟机。
最后呢,关掉虚拟机改了一个虚拟机设置,把硬件CD/DCD里面,使用ISO文件改成了使用物理驱动器自动检测。(不知道这一步有没有作用)
后面还是拖不动下载的文件夹。但是大文件夹里面的linux文件夹可以拖进虚拟机。我试了一下另一个下面有子目录的文件夹,也是可以拖进去的。或许是因为大文件夹太大了?我不知道。拖到桌面,出现奇怪东东,不明白。(后来重启虚拟机之后消失了)
鬼影文件夹
啊这,我成功吧教学文件夹拖进虚拟机了。方法是什么呢?。。。把文件夹名字改短。。。
改文件名
我又把里面的文件夹拖到桌面,再把原空白目录删除。这一波下来和老师的直接拖动效果一样了,不失为一种办法。
拖到桌面

编译和运行

下面开始编译和运行cpp for 循环的文件。

  • g++ 文件名 -o 输出的可执行的文件的名字
 g++ c++_for.cpp -o c++_for

编译

  • ./ 运行文件
./c++_for

cpp for 运行
python不用编译,直接用
结果寄,SyntaxError: Missing parentheses in call to ‘print‘
记得我之前安装python编译器的时候有过改动,大概偏差出在那里。
于是我进python文件修改了一下语法(print改为print()),与胡老师课件上有一点点不同,运行成功。
python修改语法运行成功
再运行cpp while程序,连按多次方向上键,调出前前条命令。
while运行
做了一件小事,在虚拟机上安装了IDE。关于我决定在虚拟机上学编程这件事,原因一是新鲜感多一些,二是有一位计算机大佬朋友就是这么做的。据说有一些指令会很方便。在虚拟机上安装IDE的时候,我在clion和VScode两者之间还纠结了一阵,最终选择了后者。一方面是之前使用了一段时间clion体验不佳,让我满意的只是图表和页面比较好看;另一方面是听说VS的功能比较强大,甚至可以和人工智能ChatGPT交流,爱了爱了。安装的过程和结果也很干净,期待接下来的学习。

5.安装ROS

省流:上某宝

6.ROS是什么

  • 通信机制+开发工具+应用功能+生态系统

提高机器人研发中的软件复用率
学习过程中建议用谷歌搜索,搜到wiki的网站
(ROSwiki是记录ROS信息文档的主要论坛)

7.ROS的核心概念

节点与节点管理器

节点(Node)— 执行单元

  • 节点是具体的执行单元,执行具体任务的进程,独立运行的可执行文件
  • 不同的节点可以使用不同的编程语言,可分布式运行在不同的主机
  • 节点在系统中的名称必须是唯一的,重名ros系统会找不到

节点管理器(ROS Master) — 控制中心

  • 节点的管理。命名、注册、建立通讯
  • 提供参数服务器,节点使用此服务器存储和检索运行时的参数

话题通信(异步)

话题 topic

  • 分为发布者和订阅者
  • 单向数据传输,从驱动端传到订阅段,发布者到订阅者
  • 通道被定义为话题,时数据传输的总线

消息 message

  • 具有一定的类型和数据结构(有ros提供的标准类型和用户自定义的类型
  • 使用与编程语言无关的 .msg 文件定义类型和数据结构

服务通信(同步)

服务 service

  • 使用客户端/服务器(service/client) 模型,客户端发送请求数据,服务器完成处理后返回应答数据
  • 使用与编程语言无关的, .srv 文件定义请求和应答的数据结构
  • 一般是一次,发出一个配置指令,完成配置内容,返回一个反馈
    在这里插入图片描述
    缓冲区是防止发布与订阅的速度不匹配
    服务是会有阻塞

参数 parameter

  • 适合存储静态、非二进制的配置参数,不适合动态配置的数据

文件系统

  • 功能包 package:ros软件的基本单元,包含源码、配置文件、数据定义
  • 功能包清单 package manifest:记录功能包的基本信息,包含作者信息、许可信息等等信息
  • 元功能包 meta packages:组织多个用于同一目的的功能包

8.ROS命令行工具的使用(操作集)

(开始实操)
键盘突然在虚拟机用不了了。有效解决方案

rosrun

  • roscore启动ROS master(要首先运行的一个指令)
    在这里插入图片描述
  • rosrun来运行一个节点
  • (要呼出一个新终端)
  • (加两个参数,功能包名 节点名)
  • (输入功能包名后按tab可以显示功能包下有的节点)
    在这里插入图片描述
    光标要再键盘控制节点的那个窗口才能控制
    在这里插入图片描述

rqt_graph

  • rqt_graph用来显示系统计算图的工具
  • (直观,可视化,了解系统全貌)
  • (显示了节点和话题的信息)
    在这里插入图片描述

rosnode

  • rosnode list
  • (列出系统当中使用的节点)
  • (rosout是ros默认的一个话题)
    在这里插入图片描述
  • rosnode info
  • (查看某个节点的信息)
  • (发布和订阅的信息)
rosnode info /turtlesim

在这里插入图片描述

rostopic

在这里插入图片描述
看到下面的cmd_vel就是刚才就是键盘控制节点和海龟仿真器节点通讯的话题
在这里插入图片描述
学会使用tab, 这里输入消息类型的时候还要连按两次tab

  • 用pub发布数据给某一个topic
  • 后面跟话题名
  • 再后面跟消息结构(类型)
  • 再跟消息结构里的具体数据
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear:x: 1.0y: 0.0z: 0.0
angular:x: 0.0y: 0.0z: 0.0" 

注意这里线速度的单位是米每秒,角速度单位弧度每秒)
在调具体数据的时候,移动光标只可以用左右方向键(用上下是会调出历史命令)
在这里插入图片描述
在这里插入图片描述
看到小海龟向左前方45度移动了一小段
想让小海龟连续移动

  • -r 表示rate, 10表示10Hz
rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:
>   x: 1.0
>   y: 1.0
>   z: 0.0
> angular:
>   x: 0.0
>   y: 0.0
>   z: 0.0" 

在这里插入图片描述
调angular的z调旋转
看到方向和角速度都是可以调的
圆圈的半径也符合速度和角速度的计算
在这里插入图片描述
在前面加负号也有意义
在这里插入图片描述

rosmsg

  • rosmsg show显示消息的数据结构
    在这里插入图片描述
    这里吐槽一下,好像不方便改设备的名称
    改了之后节点之间的通讯会出现问题
    只好继续用ros-virtual-machine了。。

rosservice

  • rosservice list
  • (提供的所有服务)
  • (服务端都是仿真器)(客户端是终端)
    在这里插入图片描述
  • rosservice call 召唤新海龟
rosservice call /spawn "x: 2.0
y: 2.0
theta: 0.0
name: 'turtle2'" 

在这里插入图片描述
可以看到是有一个反馈的(反馈信息name: “turtle2”)
在这里插入图片描述

  • 话题记录
  • rosbag record -a -O cmd_record
  • (rosbag 记录 all -大写O保存成压缩包 压缩包的名字)

看到了订阅的话题
随便让海龟动几下
结束之后在终端ctrl+c
默认保存到了主文件夹
从回车之后就开始记录了,包括没有操作的等待时间
在这里插入图片描述

  • 话题复现
  • rosbag play cmd_record.bag
    在这里插入图片描述

9.创建工作空间与功能包

概念

  • 工作空间(workspace)是一个存放工程开发相关文件的文件夹。所有的源码、配置文件、可执行文件都是放置在里面的。主要分为四个文件夹:
  • 1.src: 代码空间 (source space)
    放置功能包(里面的代码、配置文件、launch文件
  • 2.build:编译空间 (build space)
    编译过程中的中间文件(不太用关心
  • 3.devel:开发空间 (development space)
    编译生成的一些可执行文件、库、脚本
  • 4.install:安装空间 (install space)
    install命令的结果就放在里面

放一张老师课件截图:
在这里插入图片描述

创建工作空间

overview:
在这里插入图片描述
operation:
在这里插入图片描述

catkin_init_workspace //初始化工作空间(属性变化),看到冒出了CMakeLists.txt
  • 下面对工程编译(catkin_make
  • 要来到工作空间的根目录进行编译
    在这里插入图片描述
    看到出现了另两个空间:
    在这里插入图片描述
    使install空间出现:
    在这里插入图片描述

创建功能包

  • 功能包是放置ROS源码的最小单元
  • 同一个工作空间下不允许存在同名功能包

创建功能包:
(要放在src里面):
在这里插入图片描述

命令 功能包名 依赖1 依赖2 依赖3:

catkin_create_pkg  test_pkg roscpp rospy std_msgs

在这里插入图片描述
打开功能包:
include放置头文件
src放代码
后面两个文件是功能包一定有的,使其区别于普通文件夹的属性
在这里插入图片描述
编译功能包
还是先回到catkin_ws
编译工作空间就行了
因为没有代码所以也没有实际效果
在这里插入图片描述
要运行功能包里某一个程序的话,要先设置一下工作空间的环境变量
设置之后系统才能找到工作空间

设置环境变量

ros@ros-virtual-machine:~/catkin_ws$ source devel/setup.bash 

在这里插入图片描述
在这里插入图片描述
检查环境变量

  • 用echo命令把环境变量打开
  • (ROS_PACKAGE_PATH 是ROS本身的一个环境变量,通过这个环境变量查找所有功能包的路径)
  • 也是只有在前一步设置了工作空间的setup.bash之后,path里面才会包含工作空间的路径
ros@ros-virtual-machine:~/catkin_ws$ echo $ROS_PACKAGE_PATH 
/home/ros/catkin_ws/src:/opt/ros/noetic/share

有点不懂了,贴一下chatGPT的解释
在这里插入图片描述
小结:

创建工作空间

  • 创建:新建工作空间文件夹,该文件夹下新建代码空间
  • cd到代码空间里去
  • 用命令初始化工作空间
  • cd到工作空间里去
  • 用命令编译工作空间
  • source设置环境变量
  • 检查环境变量

创建功能包

  • cd进入工作空间下的代码空间
  • 创建功能包,并配置依赖
  • cd到工作空间
  • 编译工作空间
  • source设置环境变量

10. Publisher的编程实现

  • cd进入工作空间下的代码空间, 创建功能包,并配置依赖
  • 在功能包里面的代码空间里编写C++代码文件
  • 在cmakelist文件里面配置编译规则
  • cd到工作空间,编译工作空间,source设置环境变量
  • 打开roscore, 运行海龟仿真节点,运行功能包里发布者的节点

11. Subscriber的编程实现

  • 编写C++代码文件,配置编译规则
  • cd到工作空间,编译,设置环境变量
  • 打开roscore, 运行海龟节点,运行功能包里面订阅者的节点

12. 话题消息的定义与使用

  • 定义msg文件
  • 在package.xml里面添加功能包依赖
  • 在cmakelist.txt里面添加编译选项
  • 编译生成语言相关文件
  • 编写发布者
  • 编写订阅者
  • 在cmake文件里面配置编译规则:

1. 设置要编译的代码和生成的可执行文件

2. 设置链接库

3. 添加依赖项

  • cd到工作空间,编译,配置环境变量
  • 打开roscore, 运行发布者节点和订阅者节点

13. client的编程实现

  • cd到代码空间,创建功能包

  • 编写C++代码, 配置编译规则

  • cd到工作空间,编译,配置环境变量

  • 打开roscore, 运行海龟仿真节点,运行客户端节点

14. server的编程实现

  • 编写C++代码, 配置编译规则

  • cd到工作空间,编译,配置环境变量

  • 打开roscore, 运行海龟仿真节点,运行服务端节点

  • $ rosservice call /turtle_command"{}" 发布消息

15. 服务数据的定义与使用

  • 定义msg文件,添加功能包依赖,添加编译选项,编译生成相关文件
  • 编写发布者, 编写订阅者
  • 在cmake文件里面配置编译规则:

1. 设置要编译的代码和生成的可执行文件 2. 设置链接库 3. 添加依赖项

  • cd到工作空间,编译,配置环境变量
  • 打开roscore, 运行服务端,运行客户端节点

16. 参数的使用与编程方法

  • cd到代码空间,创建功能包
  • 编写C++代码, 配置编译规则
  • cd到工作空间,编译,配置环境变量
  • 打开roscore, 运行海龟仿真节点,运行参数设置节点

17. ROS中的坐标系管理系统

  • $ sudo apt-getinstall ros-melodic-turtle-tf
  • $ roslaunch turtle_tf turtletf demo.launch
  • $ rosrun turtlesim turtle_teleop_key
  • $ rosrun tf view_frames

18. tf坐标系广播与监听的编程实现

  • cd到代码空间,创建功能包
  • 编写广播器和监听器的C++代码,配置编译规则
  • cd到工作空间,编译,配置环境变量
  • 打开roscore
  • 运行海龟仿真节点
  • 运行turtle1和turtle2的广播器节点
  • 运行监听器节点
  • 运行键盘控制节点

19. launch 启动文件的使用方法

  • launch文件:通过xml文件实现多节点的配置和启动(可自动启动ros master)
  • 在launch里面编写启动节点的语法和参数设置的语法

20. 常用可视化工具的使用

Qt工具箱

  • 提供了一系列可视化工具

Rviz

  • 三维可视化工具

Gazebo

一些琐碎信息的整理

这周主要是复现的古月居老师课程里的代码实现环节

不求背住每一个细节和命令

需要达到的目标是当需要某个功能的时候能够想到在哪里,对着老师的课件实现自己想要的功能

文字识别软件

注意:

命令行和cmakelist里面的语句不要少了空格

注意第11节第6页有一个错误,rosrun里面应该是pose_publisher

  • 三维物理仿真平台
  • 使用老师教学包里python程序,要把python文件的第一行改成python3
    在这里插入图片描述

运行python的时候记得改成python3的语法
运行phthon文件的命令在11讲里有

有什么好说的呢,出错的地方跟着弹幕大佬改就好了
在这里插入图片描述
这里可以调整文本格式,达到高亮效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/20226.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【对话ChatGPT】如何看待java行业内卷的问题?

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"! 作者:ccLoveStudy 当今大环境,编程行业火热,而java行业更是首当其冲,但是为此&#xff0…

Windows 11的最新人工智能应用Windows Copilot面世!

Windows Copilot是Windows 11预览版中的一项AI辅助功能。 Windows 11还包括设置应用程序的更改,更广泛的支持压缩文件格式。 上个月,微软宣布将继续其将ChatGPT应用于所有产品的冒险之旅,推出了名为Copilot的新Windows 11功能。几个月前&…

State of GPT:大神Andrej揭秘OpenAI大模型原理和训练过程

来自:Web3天空之城 进NLP群—>加入NLP交流群 前言 OpenAI的创始人之一,大神Andrej Karpthy刚在微软Build 2023开发者大会上做了专题演讲:State of GPT(GPT的现状)。 在这个朴实无华的题目之下,Andrej带来…

OpenAI大神Andrej爆火演讲,官方第一次揭秘大模型原理和训练过程!

来源 | Web3天空之城 作者 | 天空之城城主 OpenAI的创始人之一,大神Andrej Karpthy刚在微软Build 2023开发者大会上做了专题演讲:State of GPT(GPT的现状)。 在这个朴实无华的题目之下,Andrej带来的是一场超级精彩的分…

Huntly: 一款超强大的自托管信息管理工具,支持管理RSS、自动保存网页、稍后阅读...

公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! ​ 今天推荐的这个项目是「Huntly」,一个自托管的信息管理工具。 简单来说,它包含以下功能: RSS 订阅和阅读;自动保存浏览过的网页&a…

带你从零开始入门AI绘画神器Stable Diffusion

一、本地部署 Stable diffusion 1. 前言 目前市面上比较权威,并能用于工作中的 AI 绘画软件其实就两款。一个叫 Midjourney(简称 MJ),另一个叫 Stable-Diffusion(简称 SD)。MJ 需要付费使用,而…

记一次iOS微信恢复聊天记录的尝试

最近手机坏了,为了到天才吧维修手机,为手机做了一个爱思助手的全备份。结果手机修好之后爱思助手无法恢复备份到手机。之前从来没有想到过iOS备份会失效,所以没有对微信聊天记录做单独的备份。尝试了2次无法恢复,确认不是偶然无法…

跨越时空的对话:如何使用AI阅读工具ChatDOC快速建立数字化身?

跨越时空的对话:如何使用 ChatDOC 快速建立数字化身?以史蒂夫乔布斯 AI 为例 开门见山,这篇文章主要介绍如何将 AI 改造为靠谱、好用、基于某个人物的数字化身。比如,乔布斯 AI、马斯克 AI、张一鸣 AI、王兴 AI、佛陀 AI、孔子 A…

《花雕学AI》16:BingGPT桌面端的另外一个惊喜—完美整合了新Bing的AI作画功能

你是否曾经想过,如果你能用语言描述你想要的画面,就能让AI为你生成一幅美丽的图画,那该有多好?你是否曾经想过,如果你能在桌面端直接与新Bing进行智能、流畅、有趣的对话,而不需要打开浏览器或安装插件&…

“上4休3”公司不建议新公司模仿;甲骨文组队,欲挑战微软OpenAI组合;Qt Creator 11 Beta发布|极客头条...

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#…

我给Chat GPT写了个记忆系统

ChatGPT-LifeTime OpenAI 的模型有一个固定的 Token 限制,例如 GPT-3 的 Davinci 模型最多可以处理2049 个 Token,大约 1500 个英文单词。最新 Turbo 模型大约是 4,096 个 Token,大约是 3000 个英文单词,也就是意味着Chat GPT它会…

微软Copilot“杀疯了”:Windows引入AI助手、Bing接入ChatGPT,弯道超车的机会来了?...

来源:大数据文摘授权转载自AI前线 作者:刘燕、冬梅、核子可乐 5 月 23 日消息,微软在刚刚举办的 Build 大会上宣布了一项令人振奋的消息。毫无疑问,本届大会的重点落在了 AI 上,包括 Copilots for Windows 11 及其他一…

[使用指南]在使用MyEclipse时如何添加 更新插件

MyEclipse v2022.1.0正式版下载 通过Eclipse市场目录或各种更新站点类型添加插件,可以定制你的MyEclipse IDE(或Angular IDE)。 一、从目录中添加插件 添加额外插件最简单方法是通过Eclipse Marketplace目录。 1. 要打开目录,请从Catalog中选择Help&…

HackTheBox - TartarSauce Write Up

IP:10.10.10.88 OS:Linux DIFFICULT:Medium 0x01 Information Gathering 端口扫描指纹识别 rustscan -a 10.10.10.88 -r 1-65535 --ulimit 1000 -- -sV -sC -sT --min-rate 5000.----. .-. .-. .----..---. .----. .---. .--. .-. .…

项目准备工作、笔试题目讲解

目录 讲一下冯诺依曼体系结构输入的处理 查bug基本步骤 我希望你重点可以讲一讲处理的这个过程,该如何处理呢? 介绍一下Maven Maven如何配置阿里云镜像? 介绍一下springboot 介绍一下mybatis 为什么有些人说mybatis不是很好&#xff1f…

vscode IDE 能用的上的扩展工具功能介绍

记录分享vscode扩展,包括提升开发效率。必备。主题美化。ChatGPT等。 参考 vscode-extensions [Best] 记录分享方式,整理自己用的扩展,还有一键备份和还原方法。 ⭐快速下载和使用扩展 后面会介绍很多vscode扩展.这裡有一个技巧,…

vscode中文乱码解决方法总结

第一种方法:直接点下面的 找到GB18030(其实GB都可以,我也不懂,一个一个试吧) 运行就可以了 第二种方法:点击设置, 在上面搜索 编码 ,点击utf8 下拉找到GB 第三种方法: 这种方法我也不会&#xf…

CodeWhisperer的正确使用

重点1:推出Amazon Bedrock。这项新服务允许用户通过API访问来自AI21 Labs、Anthropic、Stability AI和亚马逊的基础模型。(Anthropic 就是之前跟 ChatGPT 掰手腕的 Claude 的模型。Stability AI 就是 Stable Diffusion 背后的公司。) 重点2&…

一分钟生成思维导图

思维导图是一种常用的工具,用于组织和表示复杂的思想和信息。它可以帮助我们更好地理清我们的思路,从而更有效地管理我们的时间和任务。在这篇博客中,我将向你展示如何在一分钟内制作一张简单的思维导图。结尾有彩蛋喔~ 必要条件&#xff1a…

ChatGPT无所不知?? 怎么可能? vscode启用括号对参考线, 他就不知道

牙叔教程 简单易懂 括号对参考线 一开始我是这样问的 问 vscode , 当我点击某个括号时, 显示配对的括号, 有一条线连接两个括号, 怎么实现? vscode自带这个功能吗? 或者用什么插件扩展 ChatGPT答 在 Visual Studio Code 中,这个功能是自带的。当你点击一个括…