- 博客(44)
- 收藏
- 关注
原创 Win10+Ubuntu20.04双系统双硬盘(SSD+HDD)安装与启动
Ubuntu+Windows的双系统安装其实并不复杂,网上很多写的很好的教程。但是,这些教程似乎都是在电脑只有一个硬盘的情况下安装的,而目前大部分电脑都不只有一个硬盘。比如说:你有一台新电脑。它配备了一个磁盘空间有限的SSD,比如120 GB,以及一个额外的硬盘HDD,有500 GB或1 TB的磁盘空间。这通常是游戏笔记本电脑的场景,大磁盘空间对存储游戏文件很重要,但SSD读写文件和数据更快。1 TB的SSD将大大增加系统价格,因此出现了这种特殊的SSD和HDD组合。
2023-10-26 11:15:01
15129
7
原创 ROS noetic,ROS melodic 安装 MoveIt 并运行
在安装过程中我也碰壁过很多次,尤其实在很多教程中说直接运行:就可以安装成功,但是试过就知道,ROS melodic版本(包括 noetic 版本)下的Moveit需要首先下载Moveit源码并成功编译后才能够安装成功,否则无法运行。
2023-07-25 15:52:08
5871
1
原创 ROS踩坑记录
ROS踩坑记录问题:ubuntu 没有 /dev/ttyUSB0问题:运行 launch 文件或 ROS 节点时出现 exit code -9 错误提示问题:windows使用vscode远程连接(ssh)ubuntu时出现 “过程试图写入的管道不存在”问题:AMCL 过程中出现 Request for map failed; trying again...问题:AMCL 过程中,在rviz里粒子分布(即那些红色箭头)没有显示ubuntu 卡死问题:ubuntu 没有 /dev/ttyUSB01、跟换数
2022-05-12 09:43:02
2604
原创 树莓派4B安装 ubuntu20.04 & VNC远程桌面 & 安装ROS noetic
树莓派4B安装ubuntu20.04 & VNC远程桌面1、安装ubuntu方式1:下载Imager文件。方式2:下载镜像文件。2、查询树莓派 IP 地址3、使用ssh远程登录树莓派4、更新源地址5、更新6、安装桌面环境7、允许root登陆8、登陆远程桌面9、设置中文1、安装ubuntu方式1:下载Imager文件。...
2022-03-08 18:07:21
23288
31
原创 ROS 学习笔记(13)—— 常用可视化工具的使用
常用可视化工具的使用1、QT 工具箱1.1、日志输出工具 —— rqt_console1.2、数据绘图工具 —— rqt_plot1.3、图像渲染工具 —— rqt_image_view1.4、计算图可视化工具 —— rqt_graph1.5、综合工具 —— rqt2、rviz3、Gazebo 仿真平台1、QT 工具箱1.1、日志输出工具 —— rqt_consolerqt_console 可以收集系统里的日志信息,可用于调试,如下面我们可以让小海龟碰墙,那么这个控制台中就会收集到一些警告信息。通过
2022-02-05 17:31:31
3389
1
原创 ROS 学习笔记(12)—— launch 文件使用方法
launch 文件使用方法1、launch文件语法1.1 node 标签1.2、param & rosparam 标签1.3、arg 标签1.4、remap 标签1.5、include 标签2、实例1、launch文件语法launch文件中的根元素采用<launch>标签定义。1.1 node 标签
2022-02-05 16:38:02
3765
1
原创 ROS 学习笔记(11)—— tf 坐标系广播与监听的编程实现
tf 坐标系广播与监听的编程实现步骤一:创建新的功能包步骤二:编写 cpp 代码步骤三:配置 CMakeLists.txt 的编译规则步骤四:编译并运行步骤一:创建新的功能包回到/catkin_ws/src文件夹下,创建一个新的功能包,名为learning_tf:catkin_create_pkg learning_tf roscpp rospy tf turtlesim步骤二:编写 cpp 代码tf 广播器代码:在/catkin_ws/src/learning_tf/src/目录下新建tur
2022-02-04 17:23:13
1943
原创 ROS 学习笔记(9)—— 参数的使用与编程方法
参数的使用与编程方法1、模型2、编程实现步骤一:创建新的功能包步骤二:编写 cpp 代码步骤三:配置 CMakeLists.txt 的编译规则步骤四:编译并运行3、可能遇到的问题
2022-01-30 17:55:18
1575
1
原创 ROS 学习笔记(8)—— 服务数据的定义与使用
服务数据的定义与使用1、前言2、模型3、开始自定义服务步骤一:定义 srv 文件步骤二:在 package.xml 中添加功能包依赖步骤三:在 CMakeLists.txt 添加编译选项步骤四:编写 cpp 程序步骤五:编译、运行4、小知识
2022-01-15 21:27:15
620
原创 ROS 学习笔记(7)—— 服务端Server的编程实现
服务端Server的编程实现1、模型2、编程实现步骤一:编写 cpp 代码步骤二:配置 CMakeLists.txt 的编译规则步骤三:编译并运行
2022-01-15 17:17:41
1399
原创 ROS 学习笔记(5)—— 话题消息的定义与使用
话题消息1、前言2、模型3、开始自定义消息步骤一:定义 msg 文件步骤二:在package.xml中添加功能包依赖步骤三:在CMakeLists.txt添加编译选项步骤四:编写 cpp 程序步骤五:编译、运行4、小知识
2022-01-12 15:32:00
1233
原创 ROS 学习笔记(3)—— 发布者 publisher 的编程实现
发布者 publisher 的编程实现1、模型2、创建功能包3、编写程序4、编译功能包
2022-01-11 15:58:39
2410
原创 ROS学习笔记 (1)—— 安装虚拟机、Ubuntu、以及ROS系统
1、VMware 及 Ubuntu 安装(虚拟机)Ubuntu 镜像下载地址:https://ubuntu.com/download/desktop建议下载带有 LTS 后缀的镜像,LTS (Long-term support) 即长期支持版本官方会对这类镜像进行长期维护,所以较为稳定。虚拟机以及Ubuntu安装教程点这里,教程非常详细,强力推荐。2、ROS 系统安装根据Ubuntu版本的不同,ROS系统安装步骤有所差异,根据以下链接中的步骤即可完成安装。ROS系统安装:http://wiki.
2022-01-11 11:35:29
642
原创 优快云 MarkDown编辑器的使用——设置字体和图片操作
1. 设置字体颜色将“正文”设置为红色字体。<font color=red> 正文 </font>实例结果: 正文 常用颜色:bluemediumblueredblackbrownbright brownchartreusegreendarkgreenorangedarkorangepinkgoldyellowlawngreenpurplebright magentateal2. 设置文字样式将“楷体”设置为楷体。<fon
2021-06-28 22:47:32
996
转载 机器人正运动学(9)—— 修改DH参数
目录1. 引言2. 修改DH参数3. 标准DH坐标系与修改DH坐标系的对比4. 总结1. 引言 在机器人正运动学(7)—— 连杆坐标系与DH参数(后面简称参考文章)中我们介绍了DH坐标系,其实建立机器人坐标系的方式不只一种。为了克服标准DH参数的一些缺陷,后来发展出了修改DH参数。2. 修改DH参数 之前一直强调DH坐标系是建立在传动轴上的,修改DH坐标系恰恰相反,它是建立在连杆的驱动轴上。如下图就是建立的修改DH坐标系示意图,你可以和参考文章中建立的标准DH坐标系进行对比,就能看出两者的区别了
2021-06-28 14:29:18
3379
转载 机器人正运动学(8)—— DH坐标系建立技巧
目录1. 引言2. 建立DH坐标系的技巧2.1 理清关节和连杆2.2 画 z 轴2.3 确定 x 轴2.3.1 x轴方向2.3.2 x轴起始点(坐标系原点)2.4 小结3. 总结1. 引言 关于DH参数上一篇文章介绍了基本概念和物理意义,但是还有一些内容没有提到。这篇文章主要介绍DH坐标系建立的一些技巧。2. 建立DH坐标系的技巧 DH参数本身并不复杂,但是最初我在应用DH参数对机器人建立坐标系时的感受就一个字,乱。乱的原因是比较多的,罗列一下有这么几个点:在机器人上不太容易一一区分出各个连
2021-06-28 14:22:16
15923
13
转载 机器人正运动学(7)—— 连杆坐标系与DH参数
目录1. 引言2. 连杆坐标系3 DH参数3.1 DH参数的介绍3.2 DH参数定义3.2.1 连杆长度和扭角3.2.2 连杆转角和连杆偏距4. 解决问题5. 总结1. 引言 前面的文章我们一直在介绍坐标系以及它们之间的变换关系,数学的意味还是很浓的。讲了那么多的公式和规律,它们要怎么用在机器人上呢?这篇文章将介绍坐标系和机器人之间的纽带即连杆坐标系。完成这篇文章的介绍之后我们就可以利用一些机器人的开发平台如ROS,Robotic Toolbox,SimMechanics等来进行一些基本的机器人建模与
2021-06-28 13:40:52
9404
4
转载 机器人正运动学(6)—— 齐次变换矩阵的三种解读
目录1. 引言2. 齐次变换矩阵的三种解读2.1 坐标系表示2.2 坐标系变换2.3 点的操作算子3. 解决问题3.1 齐次变换矩阵的逆3.2 多重变换时的顺序4. 总结1. 引言 上一篇文章我们讲到了齐次变换矩阵,表面上看我们得到了一个十分简洁的表达式。如果你认为到这里关于齐次变换的问题已经十分明了那就大错特错了。相反,我认为这恰恰是混乱的开始。 举个例子,首先一个坐标系{A}绕其x轴旋转 α\alphaα 得到坐标系{B},根据前面讲过的知识你很容易明白坐标系{A}和{B}之间的关系为 TBA
2021-06-28 12:00:49
7699
2
转载 机器人正运动学(5)—— 齐次变换矩阵
目录1. 引言2. 齐次坐标系变换2.1 坐标系之间的位姿关系2.2 齐次变换矩阵2.3 齐次变换矩阵的逆4. 总结1. 引言 前面的文章中我们分别讨论了坐标系及其平移,旋转两种变换。但是到目前为止我们一直都在分开讨论平移和旋转,而在实际应用中两个坐标系之间的关系往往既有平移又有旋转,因此这篇文章我们将讨论一下如何以一种更为紧凑的方式来表达两个坐标系之间的位置及姿态关系。2. 齐次坐标系变换 我们可以把这个问题分解开来看,详细说来就是当我们无法一下看出两个坐标系{A}和{B}的变换关系时,可以尝
2021-06-28 11:21:49
6520
转载 机器人正运动学(4)—— 理解变换矩阵
目录1. 引言2. 旋转矩阵的几个性质2.1 旋转矩阵是坐标轴的投影2.2 旋转矩阵是正交矩阵2.3 旋转矩阵的每一列都是单位向量3. 举例4. 总结1. 引言在上一篇文章中我们介绍了坐标系及其变换关系,但是我们过分依赖了公式推导,导致在实际应用中缺少可操作性。想一下给定旋转轴和旋转角你要怎样得到相应的变换矩阵呢?比如绕x轴旋转45度对应的变换矩阵怎么得到?如果每次写一个变换矩阵都要把前面的推导过程进行一遍,想来都很恐怖。因此我们需要更为直观和简洁的理解。2. 旋转矩阵的几个性质首先我们需要澄清一点
2021-06-28 10:56:58
2959
转载 机器人正运动学(3)—— 坐标系及其变换
1. 引言 个人认为机器人运动学是整个机器人学的核心内容。仍然以前面的SCARA机器人为例,如下图所示,假设笛卡尔坐标系{A}是一个固定坐标系(笛卡尔坐标系实际上就是利用相交于一点的三条数轴来衡量空间中点的位置的一种坐标系,相对应的有极坐标系,球坐标系等;所谓固定坐标系就是坐标系不随着机器人运动)。蓝色的P点是机器人丝杆末端的上的一个点。 想像一下,如果我们知道机器人各个关节当前旋转的角度,如何确定P点在坐标系{A}中的坐标P(x,y,z)呢?老实说即使是这样一个问题也曾经困扰了我很久。 这就
2021-06-28 10:41:41
5471
转载 机器人正运动学(2)—— 自由度
目录1. 自由度的定义2. 自由度的计算2.1 刚体的自由度2.2 运动副2.3 自由度算例3. 总结1. 自由度的定义自由度在很多领域中会出现,对于机器人而言,我们这里谈的也就是机构的自由度。任何一台机器人都可以认为是一个机构。所谓自由度通俗的讲就是为了唯一确定一个机构的运动状态所必须的独立变量的个数。在自由度的定义中,唯一、必须、独立是三个比较关键的词。唯一确定即给定这些变量后机器人具有唯一的位型;必须则是一种最少的概念,也就是能够确定机器人状态的最少的变量数;独立则表示这些变量可以独立的变化。
2021-06-28 09:49:36
16635
1
转载 机器人正运动学(1)—— 机器人简介
目录1. 前言2. 什么是机器人3. 为什么要有机器人4. 机器人分类5. 机器人研究领域6. 声明1. 前言都说机器人学是一门跨学科的学问,这句话说得一点不错。搞机械的设计了机器人的结构;搞机电的设计了电机、液压等各种各样的驱动装置;搞硬件的设计了机器人的集成电路板;搞物理的分析受力;搞化学的研究材料;搞系统的提供硬件抽象,搞软件的提供软件平台;搞控制的让机器人动起来;搞算法的让机器人动的更灵活、更智能…一直很热爱机器人这个行业,前前后后接触了也有几年的时间了,总是希望能写点什么来总结一下,因此希望
2021-06-28 09:27:18
1550
原创 树莓派4B学习笔记(11)—— 串口配置与基础用法
一、串口基本介绍树莓派3/4B的外设一共包含两个串口,一个称之为硬件串口(/dev/ttyAMA0),一个称之为mini串口(/dev/ttyS0)。硬件串口由硬件实现,有单独的波特率时钟源,性能高、可靠。在树莓派1代2代中 ,引出的串口默认是CPU的那个硬件串口。在树莓派3/4B中,由于板载蓝牙模块,因此这个硬件串口被默认分配给与蓝牙模块通信了。mini串口性能低,功能也简单,并且没有波特率专用的时钟源而是由CPU内核时钟提供,因此mini串口有个致命的弱点是:波特率受到内核时钟的影响。内核若在智能
2021-03-20 14:04:26
2874
2
原创 树莓派4B学习笔记(10)—— PWM输出
一、软件PWMZAazzzzzzzzzzxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#include <stdio.h>#include <wiringPi.h>#include <softPwm.h> //必不可少int main( void){ int pwm_gpio5 = 1; //使用GPIO5 int i=0; wiringPiSetup(); //写的不严谨 应该也判断一下, 看初始化是
2021-03-17 19:59:27
9044
6
原创 树莓派wiringPi库函数
目录前言一、初始化函数※ int wiringPiSetup (void) :※ int wiringPiSetupGpio (void) :二、GPIO※ void pinMode(int pin,int mode):※ void pullUpDnControl(int pin,int pud):※ void digitalWrite(int pin,int value):※ void digitalWriteByte(int value);※ int digitalRead(int pin):※ Ana
2021-03-15 22:48:49
5926
7
原创 树莓派4B学习笔记(9)—— OpenCV视频基本操作
一、代码示例1、摄像头显示彩色视图显示摄像头采集到的彩色视频,并实现按下键盘上的q退出的功能。代码如下:# -*- coding: utf-8 -*-import cv2cap = cv2.VideoCapture(0)while (cap.isOpened()): ret,frame = cap.read() if ret == True: frame1 = cv2.flip(frame,0) # 垂直翻转 cv2.imshow('color',frame1) # 显示彩
2021-03-13 17:45:12
4959
6
原创 树莓派4B静态IP与屏幕分辨率设置
由于动态地址与路由器有关,因此设置一个静态IP可以让我们更方便的连接树莓派。首先打开树莓派的命令行,输入:sudo nano /etc/dhcpcd.conf在文件的末尾加入:①若是网线连接,加入下面语句:interface eth0static ip_address=192.168.0.10/24 # 静态IP设置为了192.168.0.10static routers=192.168.0.1static domain_name_servers=8.8.8.8②若是WiFi连接,
2021-03-12 17:12:03
3282
8
原创 树莓派4B学习笔记(8)—— OpenCV环境搭建和基本操作
一、OpenCV环境搭建运行下面两条命令安装OpenCV。sudo apt-get install libopencv-devsudo apt-get install python-opencv然后输入下面指令,测试一下是否安装成功。pythonimport cv2cv2.__version__若正常出现下图所示的版本号,则表示安装成功!最后退出python环境,可以输入exit(),或者直接快捷键ctrl+D。二、照片灰度化保存下面图片到桌面,修改文件名为xiaor.jpg。
2021-03-11 22:39:29
1413
1
原创 树莓派4B学习笔记(7)—— 使用motion实现摄像头的监控功能
一、安装motionmotion是Linux下一款开源的摄像头监控软件,用命名行运行,只保存有运动物体的图像。sudo apt-get install motion二、配置motion1. 允许motion后台运行执行以下指令,将文件中 “start_motion_daemon=no” 的no改为yes。sudo nano /etc/default/motion2. 修改motion的配置文件:sudo nano /etc/motion/motion.conf这个文件中保存了许多m
2021-03-11 20:12:30
9662
8
原创 树莓派4B学习笔记(6)—— 摄像头的简单使用
一、摄像头安装安装起来没什么难度,直接看图。二、摄像头配置在树莓派中使能摄像头。终端中输入sudo raspi-config。选择 Interfacing Option—>camera—>是—>确定—>finish—>是。设置好后,终端输入vcgencmd get_camera,得到supported = 1 detected = 1,若supported=0,则没成功使能摄像头服务或使能后没有重启树莓派,若detected = 0,则可能是摄像头的排
2021-03-11 17:27:08
3863
11
原创 树莓派4B学习笔记(5)—— 来个GPIO操作吧
一. GPIO库介绍对于树莓派,现在有wiringPi,BCM2835,python三种库可以使用。python开发语言:python简单介绍:树莓派官方资料中推荐且容易上手,毫无疑问的说python非常适合树莓派,树莓派也非常适合python。wiring PI开发语言:C、C++简单介绍:功能很强大,适合那些具有C语言基础,在接触树莓派之前已经接触过单片机或者嵌入式开发的人群。wiring Pi的API函数和arduino非常相似,且作者也给出了很多示例代码,这也使得它广受欢迎。
2021-03-11 15:29:29
8226
7
原创 树莓派4B学习笔记(4)——Hello World!
1. Hello World!打开IDE输入代码,就一行…print("helloworld!")然后就成了。不过这种方式写代码非常的难受,没有代码补全,而且界面也不是很舒服,有时候界面还会有卡顿。代码比较简单的话还勉强能接受,但是代码比较复杂的话就很难受了,所以我们写比较复杂的代码时都是在Windows上写完,然后利用一个软件传到树莓派上运行的。2. 你画我猜看看这段代码画的是什么吧。import turtleturtle.speed(1)turtle.pensize(4)t
2021-03-09 20:24:35
747
3
原创 树莓派4B学习笔记(3)—— 原理图与设置界面
树莓派4B学习笔记(3)——原理图与设置界面1. 树莓派4B介绍戳这里获取原理图。目前树莓派4只支持,2019年7月10日发布的新系统raspbian-buster,有精简版和全功能版。对于之前任何能与树莓派3兼容的系统,树莓派4一概不支持。树莓派4B 支持5V 3A的电源输入,具备1.5Ghz运行的64位四核处理器,最高支持以60fps 速度刷新的4K分辨率的双显示屏,高达8GB RAM(可根据型号选择1GB、2GB、4GB、8GB),2.4/5.0 Ghz 双频无线LAN,蓝牙5.0/BLE,千
2021-03-09 19:46:06
18120
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人