从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)

python简介以及开发环境搭建

  • python简介
  • python开发环境搭建
    • pycharm安装
    • anaconda安装
    • 巧用github

python简介

  对于初学者和完成简单的demo,Python语言是首选。因为python压榨了电脑然后优待了我们用户,举个例子,完成同样一个功能, C语言可能要写200行代码,而Python可能只要20行,但是C语言这200行代码运行只要1秒,而Python 运行这两百行代码需要10秒。至于为啥,相信你用个一年半载的你就明白内部机制了,这里不废话。Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言,而且很多东西我们可以站在巨人的肩膀上——调用代码包。没学过python的小伙伴也不要慌张,因为python是真的简单,我举个例子吧:
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第1张图片
就跟你写稍微格式比较优雅的自然语言(英语)差不多。你跟着我敲两句代码就学会了(当然是简单的部分,不过这门课足够了)。学语言就是做项目的时候边做边学,自己看了半天教程,啥事没干,学个寂寞!

python开发环境搭建

这里我们需要先理解几个概念
编译器:python2.exe,python3.exe。就是将程序编译成机器能处理的二进制文件。
编辑器:pycharm,一个功能较高级的文本记事器,用于编辑程序
好,现在大声读10遍,编译器是翻译工具,编辑器是编辑工具,牢记这两个概念。
软件包:pygame、serial、opencv等,前人的肩膀,我们直接站上去就好了
编译器与软件包管理工具:anaconda,自带python编译器以及各种软件包,编译器与软件包的安装与版本管理,虚拟环境,日后做深度学习也是一个非常棒的工具
开源代码:巧用github与码云

pycharm安装

anaconda安装

1、下载安装:anaconda官网:https://www.anaconda.com/products/individual
下载对应自己系统的64-bit的安装包,安装

2、设置环境变量:
环境变量的作用展示:打开网易云音乐所在的文件夹,在目录中输入cmd,
运行cloudmusic.exe ,在返回桌面打开cmd,运行cloudmusic.exe 做对比,添加path后在如此试试看有何区别。
添加anaconda环境变量:在anaconda3目录下找到Scripts目录,Scripts的意思就是脚本的意思,里面都是exe的可执行程序。把这个目录添加进系统环境变量Path里。

3、修改镜像源:清华源官网提供的使用帮助:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
这里只介绍windows下的方法:先在cmd下执行 conda config --set show_channel_urls yes生成.condarc 文件之后再修改。
注意:生成的文件路径不在安装目录,在C盘用户自己目录下往最下面拉
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第2张图片
用记事本打开,删除里面的内容并替换成以下内容:
注:这里需要把官网上给的https全部替换成http,不然后面下载包时会报错。

channels:
  - defaults
show_channel_urls: true
channel_alias: http://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

然后保存退出,再运行 conda clean -i 清除索引缓存,保证用的是镜像站提供的索引。至此,conda镜像更改完毕。
4、创建虚拟环境
在cmd中输入:conda create -n py36 python=3.6
等待一会窗口出现在这里插入图片描述
输入 y并敲回车即可完成,成功后出现这三个done的提示就说明成功了
在这里插入图片描述
然后关闭该cmd,重新打开cmd,输入conda init即可
5、如何进入虚拟环境并运行 “hello robot”
我们先找到此虚拟环境所在的位置,创建的所有虚拟环境都将在anaconda安装目录下一个叫envs的文件夹下,envs就是environments的缩写,现在你要做的就是记住这个文件夹,以后有大用处。
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第3张图片
打开刚刚创建的py36, 往下面拖拖就能找到python.exe文件了,这就是这个虚拟环境的编译器
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第4张图片

然后我们提前给自己的代码建立一个有序的文件夹,方便自己的查找,这个文件夹建立几层,放哪都可以。打开pychrm,新建一个工程,选择之前我们建立好的那个文件夹,其他的不用管,因为我们后面还可以修改,然后点击 create
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第5张图片
然后进入pycharm的主界面,我们之前说过了这个pycharm它仅仅是个编辑器是吧,那我们还得给他添加编译器呀,现在我们之前创建得那个虚拟环境就其作用了,我们点击左上角的file,然后点击Settings
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第6张图片
我们可以先给自己换个舒服的字体大小从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第7张图片
然后点击Project:XXX,然后点子选项Project Interpreter,中文意思就是项目编译器啦,就会出现以下画面。从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第8张图片
点击这个齿轮
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第9张图片
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第10张图片
选择Add
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第11张图片
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第12张图片
选择我们刚刚创建的虚拟环境的那个文件夹下的编译器,然后点击OK,然后把一直OK下去。从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第13张图片

现在我们有了编译器了,那来写两句代码试试呢。可是我们的项目还空空如也呢,右键点击我们创建的项目文件目录first,然后点击New,然后点Python File
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第14张图片
然后给我们的文件取个名字,这里就去test把。然后点击Python File就可以生成这个test.py文件了。
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第15张图片
然后输入print("hello a")
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第16张图片
第一次运行这个文件的时候都需要点击 Run ,在点击Run…
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第17张图片
然后出现,我们双击要运行的文件,就是test.py,然后程序就运行了
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第18张图片
看输出,大功告成,
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第19张图片
注:以后运行就可以点击那个绿色按钮了
加载虚拟环境的编译器后,pycharm的cmd就自动进入了虚拟环境
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第20张图片

巧用github

6、如何巧用虚拟环境运行一个大项目
很多小伙伴要问了,搞了这么复杂的步骤,就这?就这?
先不要慌,来了来了
打开github,注册一个,关键词搜索 Cosmic Mega project (中文意思就是宇宙超级大项目),当然也可以搜索其他关键词,比如我们搜索机械臂相关的,中英文都可以试试,但是中文可能没几个,然后选择自己喜欢的语言
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第21张图片
点进去,我们摒弃那些花里胡哨的,用最简单粗暴的方式下载下来。这个项目有10多M,大家没有外网的话下起来会非常慢,这里推荐大家去看我B站的一期视频,可能得下半个小时吧,
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第22张图片
此招不行另行其他招呗,我们点击这个Fork,添加分支,也就是把这个项目加入我们的仓库中来,我们可以在自己的仓库看见这个项目了:
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第23张图片

码云:https://gitee.com/
这里大家得先注册一下,然后登录
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第24张图片
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第25张图片
找到该项目,点击导入,其实就是把github的项目导入码云,这个过程需要一段时间,我们得等等
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第26张图片
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第27张图片

我们再从码云上下载,速度非常nice,相当于码云接入github的网速很快,我们接入码云的网速很快,码云给我们做了个中转而已。
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第28张图片
下载下来后打开所在文件夹,不知道文件路径的同学可以用CTRL+J开打最近下载,然后将其解压并复制到我们机器人的文件夹里。然后回到pycharm点击File,点击Open
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第29张图片
选后选择刚刚那个项目所在的文件夹,然后OK,然后选择new window 与this window都行,看你要不要保留之前这个窗口

从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第30张图片
注意这里不要直接打开.py文件,这里需要注意的是先把pycharm的窗口都关闭,不然会直接在之前我们建好的那个项目下,这不是我们想要的,因为这是一个新的项目。

然后用刚才的方法再添加一次编译器,然后运行,
最后你会发现报错,缺少软件包
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第31张图片
那我们先来看看它需要哪些包呢,有一些软件包是系统自带的,有一些需要我们自行安装
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第32张图片

现在我们的之前搭建的虚拟环境的作用就体现出来啦,我们点击Terminal窗口,这个窗口其实就相当于我们在这个.py文件的目录下输入cmd出现的cmd窗口时是一样的。
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第33张图片

从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第34张图片

唯一的区别就是这里因为刚刚我们选了虚拟环境下的编译器,这里已经自动帮我们激活这个虚拟环境了,我们也可以用cmd窗口激活,在cmd窗口中输入conda activate py36同样可以激活。激活的标志如下
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第35张图片
pycharm这里选了虚拟环境下的编译器,就自动激活了
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第36张图片
至此这个虚拟环境的作用就体现出来了,在conda虚拟环境中,安装包非常的方便快捷,依赖包以及版本都会自动给你处理好,这些即可用conda install 包名来安装包,也可以用pip install 包名来安装,反正先用conda,不行再用pip,如果还不行,就百度看包名是否不正确,有一些包得安装名称与导入名称就不一样(这个项目的软件包涵盖了这3种情况,带你们把坑都给踩一遍)。我这里就先用conda install pygame,结果装不上,我用pip install pygame就好了,成功得标志是出现以下信息,不然就是没好
在这里插入图片描述或者出现:
在这里插入图片描述

再运行,还报错,还少包
在这里插入图片描述
继续装,所有包都装完后,再次运行,OK,完美
从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(2)_第37张图片
最后讲一下这个conda虚拟环境的另一个作用,我们介绍python的时候不是说了python2与python3全都要吗,虚拟环境就很好的完成了这一点,现在我们环境是py3.6,然后我们找到了一个py2.7的代码,我们就直接再创建一个py2.7的虚拟环境就好了,如果你不用conda虚拟环境而用传统的全局环境,那你就得卸载py3.6,然后再安装2.7

该教程的视频与源码:包括机械臂系统从上到下的梳理、机械臂的硬件、通讯与控制

你可能感兴趣的:(从零制作视觉抓取机械臂实物系列,#让机械臂动起来,人工智能)