- 博客(384)
- 资源 (26)
- 收藏
- 关注
原创 RK3568开机自启动配置
1、 新建脚本 /usr/local/bin/runrobot.sh。3、新建/etc/init.d/RobotStart0.sh。2、权限设置为最大权限。4、 添加软链接文件。
2023-12-28 16:39:51 633
原创 【OpenPLC】在linux板卡上添加CANOpen功能
在Interactive_server.cpp文件中添加一项,以便能够停止和启动CAN任务,当PLC退出时,能够在终止自身之前停止所有运行的任务。参考:https://openplc.discussion.community/post/openplc-using-can-bus-9820826?step1:添加自己的 canbus .cpp 代码,在main.cpp文件上为CAN接口创建一个任务,该任务只会调用canbus.cpp文件的main函数,该函数永远运行;
2023-09-26 19:26:18 351
原创 【OpenPLC】自定义含有c语言程序的功能块
目标:使用C语言(二进制)实现复杂的逻辑功能,然后封装为功能块,提供给OpenPLC Editor和Runtimer使用。
2023-09-26 10:08:19 300 2
原创 多进程直接共享内存的数据类型multiprocess ctypes
注意:value 只读和只写 是线程安全的,如果是 count.value+=1 这种又读又写就不是原子操作。
2023-09-21 11:56:36 67
原创 移动机器人系列6——移动机器人预测、决策、规划、控制介绍
路径规划和轨迹规划框架路径规划 path planning给出机器人的空间位置序列。包括全局路径规划和局部路径规划。全局路径规划可以用djstra,A star。一般是一个折线。轨迹规划 motion planning求出车辆位置的时空序列。行为决策主要是做抽象的驾驶决策,决定当前应该是跟车还是换道。路径规划时在决定换道后,该沿着一条什么样的曲线来进行移动。轨迹规划:决定什么时候加减速,什么时候打多大方向盘。车辆导航:车辆从一个地方运动到另一个地方。关于乘用车的思考无人车的决策规
2022-04-15 03:29:21 1267
原创 移动机器人系列5——机器人的闭环控制
1 移动机器人的开环控制根据移动机器人的路径规划所生成的线速度、角速度直接控制移动机器人,而没有考虑机器人当时的行进速度与瞬时位置。这样会存在什么问题呢,问题如下所示:没有考虑当前的行进速度,当控制命令与移动机器人的速度差别大时,恒定的加速度会导致速度增加过急或过缓。加速过急会使车产生较大震动加速过缓则不能及时到达预定目标速度,从而便宜路线当没有位置反馈时,移动机器人并不能准确沿着路线规划时的路径运动,会导致轨迹偏离目标路线。解决办法:同时考虑机器人的当前位置和瞬时速度,再结合机器人的控
2022-04-15 02:10:03 2038
原创 移动机器人系列4——移动机器人动力学
1 机器人动力学模型(差分驱动模型)非完整约束移动机器人(可控自由度数小于机器人的总自由度数)的拉格朗日方程表示如下(一脸懵逼):对于差分移动机器人,qqq是机器人的状态,有位置和速度在平面里面机器人的自由度是3,就是前后,左右,旋转。差速轮机器人没有左右自由度,所以是非完整约束机器人。移动机器人的整个系统动能表示如下(我也不知道怎么推倒的,先假装知道,我的高中物理动能定理还需要复习一下)对机器人的x,y,θx,y,\thetax,y,θ位置以及左右轮子速度进行求导。...
2022-04-15 01:15:50 1231
原创 移动机器人系列2——移动机器人正运动学
1 移动机器人坐标系表示机器人在局部坐标系内的位姿表示为ξR\xi_RξR在全局坐标系内的位姿表示为ξI\xi_IξI我们可以得出机器人的状态为:ξI=[xyθ]\xi_I=\left[\begin{matrix} x\\ y \\ \theta\\ \end{matrix}\right]ξI=⎣⎡xyθ⎦⎤在线性代数里面,线性变换就是一个矩阵,而一个向量的线性变换是一个旋转,所以矩阵就是一个旋转。在平面中,机器人只绕zzz轴旋转,机器人的旋转矩阵如下:R(θ)=[cos
2022-04-15 01:02:29 395
原创 移动机器人系列1——移动机器人分类
1、差分类型双轮驱动四轮驱动场景的机器人场景。2、 三轮车型3、自行车型在电动汽车和无人驾驶车里很常见。4、全向移动型全向轮可以绕轮子主轴旋转,也可以绕轮子轴心旋转。机器人的轮子左上角斜向下,右轮斜向上。四轮转速相同,合力向左...
2022-04-15 00:18:25 773 5
原创 【昇腾AI系列】在200DK上搭建一个ROS环境
前提:在200DK上安装了cann5.0.4版本,ubuntu18的系统。添加ROS软件源sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'添加公钥sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1C
2022-03-20 15:05:55 335
原创 【昇腾AI系列】 在200DK运行MindX SDK的Yolov3+Resnet50样例
注意:巨坑提醒:python版本和mindx sdk有关联,python3.7.5最高支持的mindx sdk版本为2.0.3如果使用2.0.4版本,会报错:如果有遇到这类问题的小伙伴一定要记得注意一下Python和MindX SDK的版本哈。MindX SDK2.0.4推荐Python用3.9.2版本,我的上面使用3.7.5是报错了。基于MindX SDK部署应用的源码介绍Mindx sdk提供了极简易用的开发sdk,可以快速部署应用。我们运行mxVision样例,使用python实现。整
2022-03-20 14:44:23 2633
原创 【昇腾AI系列】 在200DK上安装MindX SDK
MindX SDK 是华为推出的软件开发套件(SDK),提供极简易用、高性能的API和工具,助力昇腾AI处理器赋能各应用场景。安装SDK:在/home/HwHiAiUser目录下新建MindX_SDK文件夹。执行./Ascend-mindxsdk-mxvision_2.0.3_linux-aarch64.run --install注意:这里我后面改成了2.0.3去安装了。我没安装2.0.4版本的MindX SDK是因为我的Python版本是3.7.5。之前安装2.0.4版本翻车了。无奈又重新卸载
2022-03-20 14:39:41 2351 1
原创 【昇腾AI系列】在Atlas200DK上运行第一个样例
推理模型应用的架构如下安装samplesgit clone https://gitee.com/ascend/samples.git获取mnist的air格式模型wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/lenet/mnist.air模型转换atc --framework=1 --model=mnist.air --output=mnist --
2022-03-20 14:33:12 4412
原创 【昇腾AI系列】MindStudio环境搭建
前提:已经在x86的电脑上安装了vmware虚拟机,在虚拟机中安装了ubuntu18的镜像。创建用户: useradd -d /home/HwHiAiUser -s /bin/bash -m HwHiAiUser passwd HwHiAiUser说明:-d:指定用户的家目录-s:用户的登录shell-m:创建用户家目录安装CANN开发工具启动镜像,执行下面命令:./Ascend-cann-toolkit_{version}_linux-x86_64.run --check./Asc
2022-03-20 14:24:29 3184 1
原创 【昇腾AI系列】Atlas 200DK环境适配
SD卡制作:Step1:sd制作我使用的是CANN 5.0.4版本,ubuntu为18.0.4,安装dd镜像(其实我不懂dd是啥意思)https://support.huaweicloud.com/dedg-A200dk_3000_c75/atlased_04_0013.htmlStep2:通过网线接好后,远程登陆登录:ssh [email protected]用户HwHiAiUser缺省登录密码为“Mind@123”。root用户:su - rootMind@123部署Py
2022-03-20 14:09:40 3593
原创 linux驱动设备开发1——字符设备驱动
0 LInux内核linux内核的内部结构:内核各个模块如下所示linux的驱动只有三种类型:字符设备驱动(键盘,鼠标)、块设备驱动(硬盘)、网络设备驱动(网卡,can等)驱动的静态加载和动态加载区别:系统启动时先是用户的启动,然后是linux内核,最后是文件系统。加载时机、存在位置、编译选项都不同:Y编译到内核,M编译成一个驱动文件。静态加载,编译选项是Y,编译完成后存在到内核镜像里面,在内核启动时候加载; 动态加载:编译选项是M,编译完后存在文件系统上,等文件系统启动后手动用insmod加
2022-03-17 01:45:26 556
原创 Webots教程1——建立第一个世界
webot学习文档1、学习文档官方文档:https://cyberbotics.com/doc/guide/indexgithub:https://github.com/Beta-y/webots_referenceswebots软件目录介绍安装完webots后,目录如下,加载大疆无人机的仿真世界创建一个新世界添加背景添加底板添加一个机器人...
2022-03-14 23:27:42 548
原创 鸿蒙应用开发学习1——应用完整开发流程
1 注册华为开发者账号进入鸿蒙官方网站:https://www.harmonyos.com/推荐使用手机号注册进行实名认证2 开发工具鸿蒙应用开发 : Java/JS/C++鸿蒙设备开发:C/C++这里我们重点介绍应用开发https://developer.harmonyos.com/cn/develop/deveco-studio#download_beta安装路径不要有中文和空格。settings的设置的使用自动提示快捷键:ctrl+shift+空格修改注释颜色为绿色设置大.
2022-01-27 02:38:13 15650 2
原创 树莓派+ROS环境构建
1 无网线 无屏幕连接笔记本制作好镜像后在树莓派的boot盘添加文件:ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1country=CN network={ ssid="wifi名称" psk="wifi密码" key_mgmt=WPA-PSK priority=1}country=CN 必须要添加,否则文件会被系统删除。参考:h
2021-10-14 02:48:22 275
原创 leetcode 并查集类型题目练习
一 、并查集解决的问题如下图所示,有ABCDEFGHIJKLM这些元素,每两个元素之间有一个连接线。通过并查集功能,就可以将每一个元素所属于的集合给划分出来,也就是下面的蓝色圈子。简化问题后,对应的输入是:123456789112355678输出是:111155555二、并查集实现1、 最慢的合并操作 O(n)step1:黄色的线 表示 两个元素有连接,即 value[A] = value[C] = A,两个元素不相连,则有A = value[A] != value[E]。 构造函数
2021-08-24 01:37:57 309 6
原创 2021 年 Java 程序员应该学习的 8 件事
1. 学习 Java 性能调优很多人并不缺乏Java语法知识,最缺乏的是对 JVM 内部过程、GC行为和 Java 性能调优的知识与理解。一个Java程序员随着经验的不断增长,常常需要了解 Java 基础的大局和小细节。如果无法分析应用程序,或者无法弄清楚为什么它变慢或如何使它变快,那么我们应该阅读一本关于 JVM性能调优的好书,英文不错的同学可以阅读 Scott Oaks 的畅销书 《Java Performance the Definitive Guide》。如果没有充足的时间看书,可以学习B站
2021-08-23 00:58:34 1817
原创 三分钟带你详解SSL认证与加密技术
What SSL/TLS我们先来看看 SSL/TLS的概念TLS(Transport Layer Security) 是 SSL(Secure Socket Layer) 的后续版本(TLS更牛逼),它们是用于在互联网两台计算机之间用于身份验证和加密的一种协议。很多在线业务(如在网站购物)最重要的一个步骤是创建一个高度安全的交易系统,这样客户就可以放心地把钱转过去,SSL和TLS可以实现这个目的。SSL/TLS = X.509 证书(一种数字文档,将网站和公司的实体信息绑定到加密密钥来进行工作)
2021-08-23 00:25:05 6003 4
原创 十分钟入门 Kafka,通俗易懂地理解分布式消息系统!!
在读这篇文章前,你可能会有如下的问题,读完之后,都迎刃而解。问题什么是分布式消息中间件?消息中间件的作用是什么?消息中间件的使用场景是什么?消息中间件选型?初识 KafkaKafka知识树1 Why Kafka活动跟踪:Kafka 可以用来跟踪用户行为,比如我们经常回去淘宝购物,你打开淘宝的那一刻,你的登陆信息,登陆次数都会作为消息传输到 Kafka ,当你浏览购物的时候,你的浏览信息,你的搜索指数,你的购物爱好都会作为一个个消息传递给 Kafka ,这样就可以生成报告,可以做智能
2021-08-23 00:03:39 7594 67
原创 基于realsense D435深度相机的障碍物感知
代码的核心思路是首先通过二值化,将一米之外的安全距离置零不考虑,然后通过开运算去除掉一些噪点(这个后来发现不一定有必要),在求出所有障碍物的凸包,这个时候要计算面积,当面积小于一定的阈值的时候不予考虑,最终输出障碍物的凸包坐标。//find_obstacle函数是获取深度图障碍物的函数,返回值是每个障碍物凸包的坐标,参数一depth是realsense返回的深度图(ushort型),//参数二...
2021-07-08 01:22:55 2882
原创 大数据之spark——1入门(概念、环境搭建与部署)
1 Spark概述1.1 Spark是什么Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。(没有存储功能)1.2 Spark and HadoopSpark是用Scala语言开发的快速、通用、可扩展的大数据分析引擎。Spark Core中提供 了Spark最基础和最核心的功能。Spark SQL是Spark用来操作结构化数据的组件,通过Spark SQL,用户可以使用SQL或者Apache Hive的SQL方言(HQL)来查询数据。Spark Streaming 是Spark
2021-07-05 01:59:44 1833 1
原创 大数据之Hadoop——3HDFS(HDFS组成、shell操作、API、读写流程、工作机制)
1 HDFS概述1.1 产生背景和定义1)HDFS产生背景随着数据流越来越大,在一个操作系统存不下所有数据时,就需要分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS是分布式文件管理系统中的一种。2)HDFS定义HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件,其次它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器各有其角色。H.
2021-07-04 23:57:25 4415 3
原创 大数据之Hadoop——2Hadoop运行集群搭建超详细(超长博客!!!创建hadoop环境虚拟机,克隆虚拟机,集群搭建,文件同步,免密传输,日志配置,集群时间同步)
1 准备工作1.1 模板虚拟机环境准备1) 安装模板虚拟机,IP地址 192.168.10.100、主机名称hadoop100、内存、4G、硬盘50G。为什么要搭建模板虚拟机:搭建完一个虚拟机后,可以直接拷贝多个虚拟机,不需要重复的安装过程。...
2021-07-03 03:29:16 2177 1
原创 大数据技术总体概括
1、知识点1.1 RDBMSRelational DataBase Magement System关系型数据库管理系统相关技术栈:SQL、SQL databases(MySQL、Postgres、Oracle等),Data Modeling(FB DE)1.2 SQL1.3 Batch ETLExtract,Transform,Load从数据仓库中提取数据,使用slicing和dicing规则去传输和加载数据到marts中。1.4 data warehouse数据仓库与数据库DB的区别
2021-06-27 01:42:11 2013
原创 Nginx 最简教程~~图文并茂~~
1 关于NginxNginx是轻量级,高性能(响应快,高并发)的Web服务器、反向代理服务器及电子邮件代理服务器。最大支持5万个并发请求的响应。1.1 为什么要用nginx一个项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发的时候,只需要在服务器的Tomcat中放一个jar包启动应用就够了。当平台用户越来越多后,并发量增大,这时候一台服务器无法满足需求。需要添加多台服务器,但是这么多服务器,每次请求该访问哪个呢,我们需要一个中间服务器,将我们的请求帮忙发送到其他几台服务器上面,完成一个请求
2021-06-25 23:53:31 2497
原创 大数据之Hive学习——1三分钟快速入门
第一章 Hive数据类型1 Hive数据类型本篇文章介绍Hive不同的数据类型, 用于创建表. Hive所有的数据类型分为四种类型, 给出如下.列类型文字Null 值复杂类型1.1 列类型列类型被用作Hive的列数据类型. 它们如下:整型整形数据可以指定使用整型数据类型, INT. 当数据范围超过INT的范围时, 需要使用BIGINT, 如果数据范围比INT小, 使用SMALLINT. TINYINT比SMALLINT 小.下表描述了各类INT数据类型.类型后缀示例
2021-06-24 02:21:51 1984 1
原创 大数据hadoop与spark研究——1 spark环境搭建
第一章 介绍一、 spark组件Spark是一个用于集群计算的通用计算框架Spark可将如何Hadoop分布式文件系统(HDFS)上的文件读取为分布式数据集(RDD)Spark是用Scala写的,运行在Java虚拟机(JVM)上。Spark Core任务调度,内存管理,错误恢复,与存储系统交互,对RDD的api定义RDD表示分布在多个计算节点上可以并行操作的元素集合Spark SQLspark用来操作结构化数据的程序包支持将SQL和传统的RDD编程的数据操作方式相结合
2021-06-24 02:10:39 2404
IMX6ULL_MINI_V1.7(Mini底板原理图).pdf
2020-06-18
A Survey of Simultaneous Localization and Mapping(2).pdf
2019-10-28
Visual-lidar+odometry+and+mapping_+low-drift,+robust,+and+fast.pdf
2019-10-22
2019_ral_mapreuse__final_.pdf
2019-10-21
基于模型的轮式车辆实时路径规划
2019-10-20
基于移动平台的激光雷达点云投影到相机图像上的不确定性估计
2019-10-20
向人类学习如何抓取:数据驱动的架构 拟人软手自主抓握
2019-10-20
ICRA2019中文翻译.docx
2019-10-18
基于SE(2)-XYZ约束的地面车辆视觉里程计定位与地图构建--中文.pdf
2019-10-17
使用三维栅格地图的移动机器人路径规划_张彪.pdf
2019-10-17
ORBSLAM翻译.docx
2019-10-17
具有多重抓取和跨域图像匹配的杂波中的新物体的机器人拾取和放置
2018-08-22
Arduino Nano 电路原理图
2023-09-19
机器视觉光源打光技巧总结PPT,包含二十多个项目的打光实战案例介绍
2023-09-14
基于ROS的叉车定位导航+运动控制方案
2023-09-14
2023-美赛-z题准备和详细代码介绍
2023-09-14
蓝桥杯备赛:蓝桥杯备赛练习题与答案
2023-09-14
2023电赛运动目标控制与自动追踪系统
2023-09-14
基于Ruoyi框架的前后端分离MES源码(带详细部署教程)
2023-09-13
前后端分离的仓库物料管理系统(源代码+部署视频教程)
2023-09-13
开源mes系统:Java springboot + layui + mysql,看板和后端独立
2023-09-13
Rk3399核心板原理图与PCB图
2022-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人