前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何使用CentOS 7上的Bottle Micro Framework部署Python Web应用程序

如何使用CentOS 7上的Bottle Micro Framework部署Python Web应用程序

原创
作者头像
苏子晨
修改于 2018-09-26 09:16:31
修改于 2018-09-26 09:16:31
2.1K00
代码可运行
举报
运行总次数:0
代码可运行

介绍

由于其灵活性和高级功能,Python是一种优秀的Web编程语言。Web框架可以使编程Web应用程序更加简单,因为它们连接了强大的Web界面所需的许多组件。

虽然一些网络框架试图提供一切,但其他人试图在处理重要的、难以实施的问题时避开障碍。Bottle是一个Python框架,属于第二类。它非常轻巧,但也可以快速开发应用程序。

在本教程中,我们将介绍如何设置和使用Bottle在CentOS 7服务器上创建简单的Web应用程序。

准备

在开始本教程之前,您需要以下内容:

  • CentOS 7 CVM,没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器
  • 了解如何从命令行编辑文本文件的工作知识。
  • 一个可以使用sudo命令的非root账号。

第一步 - 为Python安装虚拟环境

Python是用于构建Bottle的编程语言,默认情况下安装在CentOS上。

我们将安装python-virtualenv包以将我们的Python项目与系统的Python环境隔离开来。virtualenv软件允许我们为Python项目创建一个独立的、包含的环境,不会影响整个操作系统。

更新您的包裹清单:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo yum update

从存储库安装python-virtualenv

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo yum install python-virtualenv

我们将在主目录中创建一个文件夹projects,然后在此文件夹中创建一个虚拟环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir ~/projects
cd ~/projects
virtualenv --no-site-packages venv

这将在projects目录中创建一个名为venv的目录。它在此文件夹中安装了一些Python实用程序,并创建了一个目录结构来安装其他工具。

第二步 - 激活Python的虚拟环境

在开始处理我们的项目之前,我们必须激活虚拟环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
source venv/bin/activate

命令提示符将更改以反映我们现在在虚拟环境中运行的事实。

如果以后需要重新连接,请确保使用以下命令再次激活环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/projects
source venv/bin/activate

如果需要退出虚拟环境,可以随时输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
deactivate

此时不要停用您的虚拟环境。

第三步 - 安装Bottle

pip是virtualenv程序安装的工具之一。

这个工具允许我们从Python包索引(一个在线存储库)轻松安装Python包。

如果我们想要搜索与Bottle有关的Python包,我们可以运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip search bottle

我们将从安装Bottle包开始:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install bottle

在该过程完成后,我们应该能够在我们的应用程序中使用Bottle框架。

第四步 - 创建您的第一个Bottle应用程序

与大多数框架一样,Bottle实现了MVC软件模式的一个版本。MVC代表模型,视图和控制器,它描述了分离用户界面的不同功能的决定。

模型是一组数据的表示,负责存储,查询和更新数据。该视图描述了如何向用户呈现信息。它用于格式化和控制数据的表示。该控制器是应用程序,它决定如何响应用户的请求的主处理中心。

Bottle应用程序非常简单。在最简单的形式中,它可以在单个文件中实现所有这些组件。我们将创建一个“hello world”应用程序来展示如何完成。

用你喜欢的文本编辑器,创建一个名为hello.py的Python应用程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nano ~/projects/hello.py

我们将每次向您显示每一行,并在本节末尾包含最终文件。

在这个文件中,我们将添加的第一行从Bottle包中导入一些功能。这将允许我们在我们的应用程序中使用框架工具:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from bottle import route, run

这一行告诉我们的程序我们要导入路径并从Bottle包中运行模块。

  • run我们导入的模块可用于在开发服务器上运行应用程序,这对于快速查看程序结果非常有用。
  • route我们导入的模块负责告诉应用程序由哪些Python函数处理哪些URL请求。Bottle应用程序通过为每个请求的URL调用单个Python函数来实现路由。然后它将函数的结果返回给用户。

我们现在可以添加一个与URL模式匹配的路由/hello。在文件底部添加一个新行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from bottle import route, run
​
@route('/hello')

此路径装饰器匹配URL /hello,因此在服务器上请求该路径时,将执行直接跟随的功能。在文件末尾再添加两行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from bottle import route, run
​
@route('/hello')
def hello():
    return "<h1>Hello World!</h1>"

此函数非常简单,但它完成了路由功能的唯一要求:它返回一个可以在Web浏览器中显示的值。在这种情况下,该值是一个简单的HTML字符串。我们可以删除h1标头标签,相同的信息将以未修饰的方式显示。

最后,我们需要使用开发服务器运行我们的应用程序。添加最后一行,现在您的文件已完成:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from bottle import route, run
​
@route('/hello')
def hello():
    return "<h1>Hello World!</h1>"run(host='0.0.0.0', port=8080)

该行将运行服务器实例。

  • 通过传递参数host='0.0.0.0',这将把内容提供给任何计算机,而不仅仅是本地计算机。这很重要,因为我们的应用程序是远程托管的
  • port参数指定将使用的端口

保存并关闭文件。

我们可以使用以下命令运行此应用程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python ~/projects/hello.py

您可以在Web浏览器中访问此应用程序,方法是转到您的IP地址,然后是我们选择运行的端口(8080),然后是我们创建的路径(/ hello):

  • http://your_server_ip:8080/hello

它看起来像这样:

您可以通过输入以下命令随时停止服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CTRL-C

第五步 - 创建Bottle模型

我们现在已经实施了第一个应用程序,这很简单,但它并没有真正实现MVC原则,或做任何特别有趣的事情。让我们这次创建一个稍微复杂的应用程序。

我们将从我们的模型开始。这是我们程序中处理数据存储的部分。通过使用插件,Bottle可以轻松实现各种数据后端。

我们将为我们的数据库使用SQLite数据库文件。这是一个非常简单的数据库,专为轻量级任务而设。

SQLite包含在CentOS 7默认映像中,但如果您需要重新安装它,一个命令就可以轻松安装它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo yum install sqlite

它应该已经安装好了。

我们还需要下载并安装允许我们使用这些数据库的Bottle插件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install bottle-sqlite

现在我们有了组件,我们将创建一个Python文件,该文件将生成带有一些数据的SQLite数据库。我们可以在Python解释器中执行此操作,但创建文件可以轻松重复。

创建文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nano ~/projects/picnic_data.py

将此内容添加到文件中。它将创建一个充满原生库存物品的数据库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sqlite3
db = sqlite3.connect('picnic.db')
db.execute("CREATE TABLE picnic (id INTEGER PRIMARY KEY, item CHAR(100) NOT NULL, quant INTEGER NOT NULL)")
db.execute("INSERT INTO picnic (item,quant) VALUES ('bread', 4)")
db.execute("INSERT INTO picnic (item,quant) VALUES ('cheese', 2)")
db.execute("INSERT INTO picnic (item,quant) VALUES ('grapes', 30)")
db.execute("INSERT INTO picnic (item,quant) VALUES ('cake', 1)")
db.execute("INSERT INTO picnic (item,quant) VALUES ('soda', 4)")
db.commit()

在这个文件中,我们:

  • 导入SQLite包
  • 执行创建表并插入数据的命令
  • 最后,我们提交更改

保存并关闭文件。

执行该文件,该文件将在当前目录中创建picnic.db数据库文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python ~/projects/picnic_data.py

如果您愿意,可以在目录中用ls命令确认是否已创建数据库文件。

我们程序的模型部分现在相当完整。我们可以看到,我们的模型将说明我们的控制部分必须如何与我们的数据交互。

第六步 - 创建Bottle控制器

现在我们有了一个数据库,我们可以开始开发我们的主应用程序了。这将主要实现我们的控制器功能。它也将是与我们的第一个应用程序最相似的文件。

创建一个存储我们的主应用程序的名为picnic.py的文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nano ~/projects/picnic.py

和以前一样,我们将逐行解释文件,并在步骤结束时显示已完成的文件。

在这个文件中,我们需要从Bottle包中导入一些东西,就像之前一样。我们需要一些以前没有使用的附加模块。另外,我们需要导入SQLite功能:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sqlite3
from bottle import route, run, template

接下来,我们将定义与URL路径匹配的路由/picnic

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sqlite3
from bottle import route, run, template
​
@route('/picnic')

我们将实现连接到我们的数据库的函数,从表中获取我们的数据,并调用我们的视图来呈现页面。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sqlite3
from bottle import route, run, template
​
@route('/picnic')
def show_picnic():
    db = sqlite3.connect('picnic.db')
    c = db.cursor()
    c.execute("SELECT item,quant FROM picnic")
    data = c.fetchall()
    c.close()
    output = template('bring_to_picnic', rows=data)
    return output
  • 这是连接到数据库的db = sqlite3.connect('picnic.db')命令
  • 我们查询数据库,并使用接下来的四行选择所有值
  • 我们称视图格式化数据的行是output = template('bring_to_picnic', rows=data)。这会调用一个模板(视图)来调用bring_to_picnic.tpl格式化数据。它将data变量作为模板变量传递给rows
  • 最后,它将格式化的输出返回给我们的用户

最后,我们需要添加run命令来运行实际的服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sqlite3
from bottle import route, run, template
​
@route('/picnic')
def show_picnic():
    db = sqlite3.connect('picnic.db')
    c = db.cursor()
    c.execute("SELECT item,quant FROM picnic")
    data = c.fetchall()
    c.close()
    output = template('bring_to_picnic', rows=data)
    return output
​
run(host='0.0.0.0', port=8080)

保存并关闭文件。

我们将在下一节中创建此模板文件bring_to_picnic.tpl

第七步 - 创建Bottle视图

现在我们有了模型和控制器,唯一剩下要创建的是我们的视图。使用Bottle的内置模板引擎可以轻松处理。

应用程序将搜索与模板函数中给出的名称匹配的模板,以.tpl结尾。它可以位于项目的主目录中,也可以位于名为view的目录中。

使用上一个脚本中的output行中的模板函数创建一个与我们调用文件匹配的文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nano ~/projects/bring_to_picnic.tpl

在这个文件中,我们可以混合使用HTML和编程。我们会很简单。它将使用循环来创建一个表,我们将使用我们的模型数据填充该表。将所有这些行添加到文件中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<h1>Things to bring to our picnic</h1><table>
    <tbody>
        <tr><th>Item</th><th>Quantity</th></tr>
        %for row in rows:
        <tr>
        %for col in row:
            <td>{{col}}</td>
        %end
        </tr>
    %end
    <tbody>
</table>

这将以HTML格式呈现我们的页面。

  • 我们在这里看到的模板语言基本上是Python。
  • 在设计输出时,我们可以使用传递给模板的rows变量。
  • 我们可以通过前面的增加 %的方式输入Python行。
  • 我们可以使用{{var}}语法访问HTML中的变量。

保存并关闭文件。

第八步 - 启动Bottle应用程序

我们的申请现已完成。

我们可以通过在主文件上调用Python来启动程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python ~/projects/picnic.py

我们可以通过访问我们的IP地址和端口,加上我们创建的URL路由来查看结果:

  • http://your_server_ip:8080/picnic

您的网页应如下所示:

CTRL-C停止应用程序。

(可选)第九步 - 上传您自己的应用程序

要上传您自己的Bottle应用程序,您需要将所有项目文件复制到此目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
~/projects/

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scp myproject.py sammy@your_server_ip:~/projects/

以类似的方式上传与此项目关联的所有文件。如果您不熟悉scpSFTP是一种上传文件的不同方式。

(可选)第十步 - 启动您自己的应用程序

激活您的虚拟环境(如果您还没有这样做)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/projects/
source venv/bin/activate

我们将使用该python命令启动应用程序。我们将通过在后台启动该过程使其不那么简陋,这意味着您可以关闭终端并且应用程序将继续运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nohup python ~/projects/myproject.py &

在输出中,您应该看到您的进程ID号和以下消息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[1] 20301
(venv)[sammy@bottle projects]$ nohup: ignoring input and appending output to ‘nohup.out’

一旦您准备好投入生产,我们强烈建议您为应用程序制定更强大的启动计划。(只是在后台启动它意味着你的应用程序将在服务器重启后停止。)CentOS 7使用systemd。

结论

到目前为止,您应该能够看到如何使用像Bottle这样的简单的微框架来构建复杂的应用程序。虽然我们的示例很简单,但利用更高级的功能也很容易。

Bottle的插件系统也是一项重要的资产。插件在社区中被主动共享,并且通过插件系统很容易实现更复杂的行为。

例如,找到与Bottle兼容的插件的一种简单方法是使用该pip search bottle命令。这将让您了解一些更受欢迎的选项。

想要了解更多关于Linux的开源信息教程,请前往腾讯云+社区学习更多知识。

参考文献:《How To Deploy Python Web Applications with the Bottle Micro Framework on CentOS 7》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
具身智能机器人学习路线全解析
具身智能机器人作为融合了机器人学、人工智能、认知科学等多领域知识的前沿技术,正逐渐改变着我们的生活和工作方式。从工业制造到家庭服务,从医疗护理到太空探索,具身智能机器人都展现出了巨大的潜力。对于想要深入了解和学习这一领域的人来说,构建一个系统的学习路线至关重要。
芯动大师
2025/05/15
560
具身智能机器人学习路线全解析
KUKA机器人有哪些指令
HI 各位小伙伴你们好。大家都知道kuka机器人没有专门的指令讲解说明。这着实让人很难上手,我来简单总结一下,提供大家参考。可能不一定写的全,还请见谅。
用户4442670
2022/06/29
2.4K0
KUKA机器人有哪些指令
工业机器人运动编程和运动指令
你是否也想在风口下大展拳脚?工业机器人走进我们的生活,很多人没有就业方向,工资年年不见涨也是愁得慌,你是否没有一技之长,而难以胜任高薪岗位?而自己也不知如何改变现状,虽然身处时代的风口,也依然无法起飞。学工业机器人技术怎么能不懂工业机器人运动编程和运动指令?
机器人网
2018/07/23
1.4K0
工业机器人运动编程和运动指令
怎么让信号发送不受预读影响
HELLO 各位小伙伴,机器人和外围设备进行数据交互这是我们作为程序猿必须掌握的基础技能,所以今天我们来聊聊KRL语言中都有哪些控制输出的指令,这些指令如何使用。
用户4442670
2022/06/29
1.4K0
怎么让信号发送不受预读影响
SLAM+路径规划:巡检机器人算法设计
标题:Research on SLAM and Path Planning Method of Inspection Robot in Complex Scenarios
一点人工一点智能
2023/08/25
1.8K0
SLAM+路径规划:巡检机器人算法设计
技术猿 | 机器人编程你需要知道的知识
---- 机器人编程为使机器人完成某种任务而设置的动作顺序描述。机器人运动和作业的指令都是由程序进行控制,常见的编制方法有两种,示教编程方法和离线编程方法。其中示教编程方法包括示教、编辑和轨迹再现,可以通过示教盒示教和导引式示教两种途径实现。 由于示教方式实用性强,操作简便,因此大部分机器人都采用这种方式。离线编程方法是利用计算机图形学成果,借助图形处理工具建立几何模型,通过一些规划算法来获取作业规划轨迹。与示教编程不同,离线编程不与机器人发生关系,在编程过程中机器人可以照常工作。工业上离线工具只作为
机器人网
2018/04/19
1.1K0
操作步骤:工业机器人简单切换功能的编程
今天我们给大家介绍《工业机器人简单切换功能的编程》。 一、简便的切换功能 1、通过切换功能可将数字信号传送给外围设备。 为此要使用先前相应分配给接口的输出端编号。 2、信号设为静态,即它一直存在,直至
机器人网
2018/04/19
8040
操作步骤:工业机器人简单切换功能的编程
【基础知识】工业机器人分类、组成和特点
工业机器人是面向工业领域的多关节机械手或多自由度的机器装置,它能自动执行工作,是靠自身动力和控制能力来实现各种功能的一种机器。它可以接受人类指挥,也可以按照预先编排的程序运行,现代的工业机器人还可以根据人工智能技术制定的原则纲领行动。 一、工业机器人按臂部的运动形式分为四种:   1、直角坐标型的臂部可沿三个直角坐标移动;   2、圆柱坐标型的臂部可作升降、回转和伸缩动作;   3、球坐标型的臂部能回转、俯仰和伸缩;   4、关节型的臂部有多个转动关节。   二、工业机器人按执行机构运动的控制机能又可分点位
机器人网
2018/04/20
5.6K0
【基础知识】工业机器人分类、组成和特点
【C语言经典算法实战】:从“移动距离”问题看矩阵坐标计算
在一个由 n 行 m 列构成的二维矩阵空间中,每个单元格都拥有唯一的坐标标识 (i, j) ,其中 i 代表行号(从 0 开始计数), j 代表列号(同样从 0 开始计数)。假设有一个机器人,初始位于起始坐标 (x1, y1) ,目标是移动至坐标 (x2, y2) 。机器人在移动过程中,每次仅允许在水平或垂直方向移动一个单元格,即只能执行向上、向下、向左、向右这四种移动操作。我们的核心任务是设计算法,准确计算机器人从起始点抵达目标点所需的 最短移动距离 。
User_芊芊君子
2025/04/25
1020
【C语言经典算法实战】:从“移动距离”问题看矩阵坐标计算
RRT: 机器人路径规划RRT算法(1)
RRT*算法是一种基于随机采样的路径规划方法,不仅具有概率完备性,还具有渐进优化能力。假设 代表 维构型空间,
ZC_Robot机器人技术
2021/04/18
4.2K0
RRT: 机器人路径规划RRT算法(1)
【01】人形机器人研究试验-被有些网友痛骂“工业垃圾”“人工智障”上春晚的人形AI机器人-宇树科技机器人到底怎么样??
春晚舞台上,人形AI机器人惊艳亮相,它们灵动地跳着二人转,这一精彩表现令海外都为之惊叹。然而,在国内的评论区,却有一些不和谐的声音。有人肆意贬低,称其为“工业垃圾”,还有人不屑地说“没什么大不了的,不过是编程稍好的工业机器”,甚至有人嘲讽是“人工智障机器人”。但事实真的如此吗?
卓伊凡
2025/02/25
1470
工业机器人典型控制系统及结构
工业机器人由主体、驱动系统和控制系统三个基本部分组成。 主体即机座和执行机构,包括臂部、腕部和手部,有的机器人还有行走机构。大多数工业机器人有3~6个运动自由度,其中腕部通常有1~3个运动自由度。 驱
机器人网
2018/04/24
2.3K0
工业机器人典型控制系统及结构
工业机器人的编程语言和种类
机器人的开发语言一般为C、C++、C++ Builder、VB、VC等语言,主要取决于执行机构(伺服系统)的开发语言;而机器人编程分为示教、动作级机器人编程语言、任务级编程语言三个级别;机器人编程语言
机器人网
2018/04/20
3.3K0
工业机器人的编程语言和种类
SLAM+路径规划:巡检机器人算法设计
标题:Research on SLAM and Path Planning Method of Inspection Robot in Complex Scenarios
一点人工一点智能
2023/05/30
1.3K0
SLAM+路径规划:巡检机器人算法设计
解读工业机器人的大脑:控制系统基础
如果工业机器人只有主体和驱动器,机械臂是不能正常工作。原因是传感器输出的信号没有起作用,驱动电动机也得不到驱动电压和电流,所以机器人需要有一个控制器,用硬件坨和软件组成一个的控制系统,故控制器有“工业机器人大脑”一称,那么今天我们就来一起了解工业机器人的“大脑”:控制系统。 一、什么是机器人控制系统 机器人控制系统是机器人的大脑,是决定机器人功能和性能的主要因素。工业机器人控制技术的主要任务就是控制工业机器人在工作空间中的运动位置、姿态和轨迹、操作顺序及动作的时间等。具有编程简单、软件菜单操作、友好的人机交
机器人网
2018/04/13
1.2K0
攻城狮必读 | 一文详解,工业机器人结构、驱动及技术
此文将工业机器人结构、驱动及技术指标描述很为详尽,值得细看! 一、常用运动学构形 1、笛卡尔操作臂 优点:很容易通过计算机控制实现,容易达到高精度。 缺点:妨碍工作, 且占地面积大, 运动速度
机器人网
2018/04/25
1.3K0
攻城狮必读 | 一文详解,工业机器人结构、驱动及技术
机器人运动规划方法综述
随着应用场景的日益复杂,机器人对旨在生成无碰撞路径(轨迹)的自主运动规划技术的需求也变得更加迫切。虽然目前已产生了大量适应于不同场景的规划算法,但如何妥善地对现有成果进行归类,并分析不同方法间的优劣异同仍是需要深入思考的问题。以此为切入点,首先,阐释运动规划的基本内涵及经典算法的关键步骤;其次,针对实时性与解路径(轨迹)品质间的矛盾,以是否考虑微分约束为标准,有层次地总结了现有的算法加速策略;最后,面向不确定性(即传感器不确定性、未来状态不确定性和环境不确定性)下的规划和智能规划提出的新需求,对运动规划领域的最新成果和发展方向进行了评述,以期为后续研究提供有益的参考。
一点人工一点智能
2023/05/09
1.5K0
机器人运动规划方法综述
工业机器人的基本组成及技术参数
工业机器人的基本组成   工业机器人由3大部分6个子系统组成。 3大部分是机械部分、传感部分和控制部分。 6个子系统是驱动系统、机械结构系统、感受系统、机器人-环境交互系统、人机交互系统和控制系统,
机器人网
2018/04/25
6.6K0
工业机器人的基本组成及技术参数
无人驾驶常用路径规划
无人驾驶系统非常复杂,由多个模块组成,例如感知、融合、规划、控制、定位等等组成。其中规划主要包括行为决策、运动轨迹规划等等。
物流IT圈
2023/03/09
1.4K0
无人驾驶常用路径规划
机械臂焊接机器人轨迹控制原理
随着制造业的不断发展,机器人技术在各个领域都得到了广泛应用,其中机械臂焊接机器人在汽车制造、电子产品制造等行业中发挥着重要作用。机械臂焊接机器人的轨迹控制是其关键技术之一,对于实现高质量、高效率的焊接任务至关重要。
创想智控
2023/11/16
4160
机械臂焊接机器人轨迹控制原理
推荐阅读
相关推荐
具身智能机器人学习路线全解析
更多 >
LV.1
LazadaJava高级工程师
目录
  • 介绍
  • 准备
  • 第一步 - 为Python安装虚拟环境
  • 第二步 - 激活Python的虚拟环境
  • 第三步 - 安装Bottle
  • 第四步 - 创建您的第一个Bottle应用程序
  • 第五步 - 创建Bottle模型
  • 第六步 - 创建Bottle控制器
  • 第七步 - 创建Bottle视图
  • 第八步 - 启动Bottle应用程序
  • (可选)第九步 - 上传您自己的应用程序
  • (可选)第十步 - 启动您自己的应用程序
  • 结论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档