<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[robinvista的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/robinvista</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; robinvista]]></copyright><item><title><![CDATA[调试记录2026]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/163029676</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/163029676</guid><author>robinvista</author><pubDate>Mon, 20 Jul 2026 02:47:45 +0800</pubDate><description><![CDATA[生成的点云，效果看上去还可以。2026年7月20日。]]></description><category></category></item><item><title><![CDATA[机器人中的李代数是什么]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/150763582</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/150763582</guid><author>robinvista</author><pubDate>Mon, 25 Aug 2025 21:11:35 +0800</pubDate><description><![CDATA[物体在做直线运动时，速度就是位置曲线的切线斜率，这个切线所在的空间就是位置的切空间。欧拉发现，如果把实数扩展到复数，也就是把复数带入指数函数的定义，可以得到下面的公式，这就是大名鼎鼎的欧拉公式，见式。是一个四维空间中的三维弯曲球面，我们无法在三维空间中展示出来，因此这里使用三维空间中的二维弯曲球面进行示意。在机器人领域，通常用一个被称为旋转矩阵的东西表示物体的姿态，所以用大写字母表示物体的姿态（例如前面的。思路是一样的，我们利用当前时刻的旋转速度进行估计（我们用。同样的，已知物体在当前时刻的姿态是。]]></description><category></category></item><item><title><![CDATA[ROS机器人操作系统底层原理及代码剖析]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/124226042</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/124226042</guid><author>robinvista</author><pubDate>Sat, 30 Apr 2022 22:36:18 +0800</pubDate><description><![CDATA[0　目的
　　介绍ROS的实现原理，从最底层解剖ROS代码。主要分析C++部分。
1　时间
　　不只是机器人，在任何一个系统里，时间都是一个绕不开的重要话题。我们就从万物的起点——时间开始吧。
　　ROS中定义时间的程序都在roscpp_core项目下的rostime中，见下图。如果细分一下，时间其实有两种，一种叫“时刻”，也就是某个时间点；一种叫“时段”或者时间间隔，也就是两个时刻之间的部分。这两者的代码是分开实现的，时刻是time，时间间隔是duration。在Ubuntu中把rostime文件夹中的文]]></description><category></category></item><item><title><![CDATA[安装Apollo时常见的错误总结和使用窍门]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/124056108</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/124056108</guid><author>robinvista</author><pubDate>Sat, 09 Apr 2022 10:09:01 +0800</pubDate><description><![CDATA[　　进入docker后编译时报错：ERROR: An error occurred during the fetch of repository 'zlib'，如下图所示：

　　出现这个错误的原因是Apollo依赖protobuf库，而protobuf库又依赖zlib库。这些库都要从网上下载，而protobuf库提供的zlib下载链接是https://zlib.net/zlib-1.2.11.tar.gz，问题是这个链接已经失效了，下载当然会失败。
　　解决方法是替换新的可用链接，具体就是修改Apollo]]></description><category></category></item><item><title><![CDATA[混合A*算法研究]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/106279968</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/106279968</guid><author>robinvista</author><pubDate>Mon, 26 Jul 2021 09:50:40 +0800</pubDate><description><![CDATA[　　混合A可以看成是探索树和A算法的混血，适合有运动约束的机器人路径规划，例如无人车。就连Matlab居然都内置了混合A*算法函数：plannerHybridAStar，可见这个算法挺有名，但是Matlab使用了占据栅格地图进行碰撞检测。
1　混合A*算法的基本思想
　　混合A算法的思想比较简单，利用探索树生成一段段可行的短路径，然后利用A算法的思想计算启发函数，引导探索树向目标生长。为了限制探索树生长的过密，将空间离散化成栅格，每个栅格只能存在一个树枝。
3　混合A*算法的缺点
　　需要设置的参数有：
　]]></description><category></category></item><item><title><![CDATA[纯跟踪算法用于无人车自动泊车]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/118538616</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/118538616</guid><author>robinvista</author><pubDate>Wed, 07 Jul 2021 09:00:52 +0800</pubDate><description><![CDATA[　 目的
　　通过简单的“纯跟踪算法”和“Reeds-Sheep曲线”就可以实现无人车的自动泊车或者位姿调整。

robinvista2@gmail.com
　 1　Reeds-Sheep曲线
　　使用 https://github.com/hbanzhaf/steering_functions 中提出的曲率连续的改进Reeds-Sheep曲线生成一段连接给定起点和终点的曲线。
　　输出nav_msgs::Path消息，只输出一次，而不是重复输出。输出路径是一系列离散的点，点之间的距离可以自定义，笔者选择每]]></description><category></category></item><item><title><![CDATA[基于Frenet坐标系的无人车轨迹规划详解与实现]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/111400051</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/111400051</guid><author>robinvista</author><pubDate>Wed, 28 Apr 2021 18:37:21 +0800</pubDate><description><![CDATA[　目的
　　本文通俗地介绍Frenet坐标系下的无人车轨迹规划方法，随后探讨在ROS下的代码实现细节，以及如何调节各项参数，需要重点注意的地方。
　前言
　　Frenet坐标系下的无人车轨迹规划方法是由Moritz Werling在2010年提出的，由于其简单有效的特点被广泛采用，甚至MATLAB都设计了相应的函数：trajectoryOptimalFrenet。一些开源的项目虽然不直接使用这种方法，但是也大量借鉴了方法中包含的思想，例如百度的Apollo无人驾驶项目，其中有很多Frenet坐标系的影子。
]]></description><category></category></item><item><title><![CDATA[ROS中使用Intel RealSense D455或L515深度相机]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/115732239</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/115732239</guid><author>robinvista</author><pubDate>Thu, 15 Apr 2021 17:42:10 +0800</pubDate><description><![CDATA[1　安装驱动
　　测试环境: Ubuntu 16.04 + ROS Kinetic + Intel D455
　　安装脚本如下
#!/bin/bash
sudo apt-key adv --keyserver keys.gnupg.net --recv-key C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver 
sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/De]]></description><category></category></item><item><title><![CDATA[ubuntu中用脚本同时启动多个终端窗口]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/110520615</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/110520615</guid><author>robinvista</author><pubDate>Thu, 03 Dec 2020 10:16:05 +0800</pubDate><description><![CDATA[　　在调试ROS程序时，经常需要运行多个节点程序，如果每个都打开一个终端然后输入指令非常繁琐，可以写一个脚本文件，每次运行这个脚本就能一次运行多个节点，方便高效。方法就是利用ubuntu中的terminator小程序，安装好以后在~/.config/terminator路径下的config是它的窗口数量字体等配置文件，下面以启动四个窗口为例说明怎么写脚本。
　　打开config文件，在terminal3下面，给command选项起个名字，例如command = COMMAND1，如下。其它的terminal]]></description><category></category></item><item><title><![CDATA[teb_local_planner讲解]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/104977310</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/104977310</guid><author>robinvista</author><pubDate>Sat, 15 Aug 2020 15:12:43 +0800</pubDate><description><![CDATA[如果出现以下错误，说明你没有source，你应该在安装目录下运行source devel/setup.bash。
q@ubuntu:~$ rosdep install teb_local_planner
ERROR: Rosdep cannot find all required resources to answer your query
Missing resource teb_local_p...]]></description><category></category></item><item><title><![CDATA[轮式移动机器人的运动控制入门]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/104582045</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/104582045</guid><author>robinvista</author><pubDate>Sun, 26 Apr 2020 18:38:53 +0800</pubDate><description><![CDATA[目的
　　无人车点镇定、轨迹跟踪中的控制理论和方法入门。
1　汽车运动模型
　　你有没有注意到，古代的车几乎都是两轮的，不管是东方还是西方，不管是打仗的战车还是载人拉货的货车。原因当然有各方面的，但是最主要的原因是古人一直没搞明白两个车轮以上的车怎么拐弯。可不要小看这个问题，车辆转弯不是那么容易的，在结构设计上不简单，在运动控制上更是极具挑战性。

　　以采用艾克曼转向机构和差速器的四轮小汽车为例...]]></description><category></category></item><item><title><![CDATA[LOAM论文和程序代码的解读]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/104379087</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/104379087</guid><author>robinvista</author><pubDate>Wed, 19 Feb 2020 20:41:53 +0800</pubDate><description><![CDATA[目的
　　LOAM是排名第一的状态估计和激光建图算法，本文分析它的特点，目的是了解它到底厉害在什么地方。
1　利用特征点
　　LOAM采用了特征点提取的策略，让点云帧与帧之间的匹配效率更高、准确度也更高。
　　下图中，绿色的点是velodyne 16线激光雷达的原始点云，扫描环境是笔者的卧室，大概就是一个长方体。图中红色的小圆球是提取出来的边缘点，蓝色的是平面点。可见，边缘点基本上位于房间的角落，...]]></description><category></category></item><item><title><![CDATA[工业机器人控制器]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/88085020</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/88085020</guid><author>robinvista</author><pubDate>Tue, 29 Oct 2019 19:50:08 +0800</pubDate><description><![CDATA[目的
　　本文介绍了工业机器人（包括机械臂和移动机器人）的控制系统架构，主要面向机器人控制器开发人员和感兴趣并希望了解更多细节的用户。
　机械臂控制器　　　　　　　　　　　　　　　　　　　　 　移动机器人控制器　　
1. 机械臂控制器
  机械臂类的控制器发展较早，相对成熟，先来看看现有的控制系统方案。




厂家
硬件
操作系统




ABB
x86
VxWorks


KUKA
x86
V...]]></description><category></category></item><item><title><![CDATA[线虫神经网络仿真]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/99507183</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/99507183</guid><author>robinvista</author><pubDate>Sun, 01 Sep 2019 17:51:45 +0800</pubDate><description><![CDATA[目的
　　对秀丽隐杆线虫的大脑进行仿真，试验了触觉感知功能。
1. 前言
　　秀丽隐杆线虫是一种1mm长的小虫子，别小看它，它是目前世界上唯一的被完整绘制出神经网络的生物。也就是说我们知道这种虫子有多少神经元、神经元之间是怎么连接的、连接的类型等等细节，甚至连每个神经元起什么作用也被试验测试出来了。基于这些信息，我们完全可以在计算机中创造一个虚拟的虫子，观察它的反应。这就很有意思了，因为从某种意义...]]></description><category></category></item><item><title><![CDATA[Reeds-Shepp和Dubins曲线简介]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/95137143</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/95137143</guid><author>robinvista</author><pubDate>Tue, 09 Jul 2019 04:43:21 +0800</pubDate><description><![CDATA[什么是Reeds-Shepp曲线？
　　想象你下班开车回家，到了小区后想把车停到你个人的停车位里面。作为一个喜欢追求挑战的老司机，你想找一条最短的路径把车停进去。那么这样的路径是什么呢？答案就是Reeds-Shepp曲线。Reeds-Shepp曲线由Reeds和Shepp二人在1990年的论文《Optimal paths for a car that goes both forwards and ......]]></description><category></category></item><item><title><![CDATA[AGV控制系统搭建]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/78349627</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/78349627</guid><author>robinvista</author><pubDate>Tue, 25 Jun 2019 15:32:33 +0800</pubDate><description><![CDATA[目的 
　　本文介绍自动导引车（AGV）车载控制系统的实现过程，分为硬件搭建和软件设计两部分，并在其中穿插 AGV 控制的基础知识讲解。 


1. 车载控制器

1.1 控制器的类型

　　车载控制器是控制系统乃至整个 AGV 的核心，那么应该选择哪种控制器呢？根据笔者的经验，现在的 AGV 厂家采用的车载控制器基本可以分为以下三种： 
 
　　下面简要介绍几种控制器的特点： 
　　1. PLC...]]></description><category></category></item><item><title><![CDATA[AGV调度方法入门]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/73348711</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/73348711</guid><author>robinvista</author><pubDate>Sun, 17 Mar 2019 11:49:52 +0800</pubDate><description><![CDATA[（编辑中……） 
目的 
　　本文首先解释AGV调度的概念，然后讨论现有的调度方法。 
　　 
1　AGV及其调度问题1.1 AGV是什么？　　国家标准[1]{[1]}定义AGV（自动导引车）为
  AGV（Automated Guided Vehicle）：装备有电磁或光学等自动导引装置，由计算机控制，以轮式移动为特征，自带动力或动力转换装置，并且能够沿规定的导引路径自动行驶的运输工具，一般具有安]]></description><category></category></item><item><title><![CDATA[基于Mathematica的机器人仿真环境（SLAM篇）]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/77814955</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/77814955</guid><author>robinvista</author><pubDate>Tue, 12 Sep 2017 22:06:35 +0800</pubDate><description><![CDATA[（编辑中……，先别看） 
目的　　本文介绍在 Mathematica 中实现一个 SLAM 仿真的步骤。 
　　 
为什么研究SLAM　　SLAM（Simultaneous Localization and Mapping）的意思是“同步定位和地图创建”，它是移动机器人领域研究的一个问题。没有接触过SLAM的同学可能会觉得它高深莫测，实际上现在很多介绍SLAM的文章对于初学者确实不那么容易理解。本文]]></description><category></category></item><item><title><![CDATA[基于Mathematica的机器人仿真环境（机械臂篇）]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/70231205</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/70231205</guid><author>robinvista</author><pubDate>Thu, 20 Apr 2017 19:46:28 +0800</pubDate><description><![CDATA[目的 
　　本文手把手教你如何在 Mathematica 软件中搭建机械臂的三维仿真环境，包括以下几部分： 
　　1.　如何导入机械臂的三维模型； 
　　2.　如何进行（正/逆）运动学仿真； 
　　3.　如何进行（正/逆）动力学仿真； 
　　4.　如何进行碰撞检测； 
　　5.　如何进行控制方法的验证； 
　　先看一下效果（先尝后买）： 
  
　　对于机器人研发设计人员，一款好用的仿真软件能对他的]]></description><category></category></item><item><title><![CDATA[机器人中的 jog 是什么意思？]]></title><link>https://blog.youkuaiyun.com/robinvista/article/details/65441111</link><guid>https://blog.youkuaiyun.com/robinvista/article/details/65441111</guid><author>robinvista</author><pubDate>Thu, 23 Mar 2017 11:17:06 +0800</pubDate><description><![CDATA[基本含义 
　　用户在操作机器人时经常见到 jog 这个词，它一般翻译成“点动”[1]^{[1]}，或者“单步运动”[2]^{[2]}。在有些时候（例如示教或者标定），用户需要控制机器人以时断时续的方式运动，而不是一直连续的运动。这时，就需要“点动”功能了。通俗的讲，“点动”中“点”的意思是点击按键，“动”的意思是机器人（的关节）运动。所以，点动就是“一点一动，不点不动”[3]^{[3]}。点动一般]]></description><category></category></item></channel></rss>