<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[IPGsoz的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/IPGsoz</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; IPGsoz]]></copyright><item><title><![CDATA[[ROS2]Introducing turtlesim and rqt]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/122845275</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/122845275</guid><author>IPGsoz</author><pubDate>Wed, 09 Feb 2022 16:55:01 +0800</pubDate><description><![CDATA[Introducing turtlesim and rqt — ROS 2 Documentation: Galactic documentation

根据官方教程尝试小海龟程序。

1.准备工作

依次运行

turtlesim turtlesim_node，这是运行小海龟程序，会弹出TurtleSim窗口


turtlesim turtle_teleop_key，这是通过键盘控制小海龟移动的输入窗口


rqt，这是发送服务命令的GUI窗口程序，待会可以通过这个窗口孪生第二个小海龟，并定义它的属性.]]></description><category></category></item><item><title><![CDATA[[ROS2] 安装注意事项，找不到qwindows.dll]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/122838328</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/122838328</guid><author>IPGsoz</author><pubDate>Wed, 09 Feb 2022 11:32:09 +0800</pubDate><description><![CDATA[Installing ROS 2 on Windows — ROS 2 Documentation: Galactic documentation

安装ROS2基本上的流程都是按照上方链接ROS2的官方教程来操作，只不过在安装Qt5的时候，官方文档里面写的内容会造成之后运行海龟程序的时候出错。

根据官方教程，应该将QT_QPA_PLATFORM_PLUGIN_PATH设为Qt的安装路径下，如下所示：


set Qt5_DIR=C:\Qt\5.15.0\msvc2019_64
set QT_QPA_PL]]></description><category></category></item><item><title><![CDATA[OpenScenarioEditor安装]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/119937491</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/119937491</guid><author>IPGsoz</author><pubDate>Thu, 26 Aug 2021 18:14:51 +0800</pubDate><description><![CDATA[1. OpenScenarioEditor下载

ebadi/OpenScenarioEditor: ASAM Open Scenario Editor (github.com)

2. 运行

Running on Windows


	First install Python3and use pip tool to install PyQt5 (pip install pyqt5)
	

这里使用了Anaconda环境去使用python安装，方便后期管理





	Download the p...]]></description><category></category></item><item><title><![CDATA[使用git上传项目到gitee]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/116460875</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/116460875</guid><author>IPGsoz</author><pubDate>Thu, 06 May 2021 19:21:03 +0800</pubDate><description><![CDATA[根据以下方法

1. git bash



(68条消息) 如何将本地代码提交到gitee上，完整图文步骤_70Kylin的博客-优快云博客

期间发生没有权限的问题，根据下面的博客，建立ssh密钥来链接

Git报错解决：git@gitee.com: Permission denied (publickey). - 尚码园 (shangmayuan.com)

之后git remote add origin&lt;SSH的路径&gt; //注意不是HTTPS

2. git GUI

(68条消...]]></description><category></category></item><item><title><![CDATA[Wsl2 Ubuntu20.04安装图形化界面]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/116017749</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/116017749</guid><author>IPGsoz</author><pubDate>Thu, 22 Apr 2021 16:05:53 +0800</pubDate><description><![CDATA[今天搞了好久，按照下面的教程配置界面

Xfce4 Desktop Environment and X Server for Ubuntu on WSL 2

但是，就一直不成功，后来发现原来是电脑的防火墙没有关闭，主机可以ping通wsl2，但反之失败。关闭防火墙之后就可以初始化桌面了。

几个关键坑：

1. 报错：/usr/bin/startxfce4: X server already running on display 172.17.194.1:0

刚开始没有关闭防火墙的时候，只报这个错误，但]]></description><category></category></item><item><title><![CDATA[Git 操作]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/114917770</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/114917770</guid><author>IPGsoz</author><pubDate>Wed, 17 Mar 2021 16:22:19 +0800</pubDate><description><![CDATA[1. 版本回退

第一步：使用git log 命令，找到离没删文件前最近的commit id


git log



git log 下所有的黄色字段 commit xxxx，这个xxxx就是所有提交的id记录



第二步：ctrl+c 退出这个模式，使用下面的命令


git reset --hard 这里是commit id，也就是我上面说的xxxx




就这样，删掉的文件就找回来啦。当然这也是版本回退的方法。
...]]></description><category></category></item><item><title><![CDATA[C++ 报错“redefinition of xxx“]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/114930167</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/114930167</guid><author>IPGsoz</author><pubDate>Wed, 17 Mar 2021 14:47:21 +0800</pubDate><description><![CDATA[参考链接

原因

“#include “xxxx.h” “指令实际上是将”.h"文件内容铺开在”.h"文件之前，如果没有加上条件编译语句，会重复引用和循环递归include指令。

解决办法

在.h文件的头和尾加上对应的展开判定指令，如果该文件已经包含在其中，则系统会直接跳过


#ifndef _ROADEVALUATION_H_
#define _ROADEVALUATION_H_

&lt;...&gt;

#endif


...]]></description><category></category></item><item><title><![CDATA[Linux更改将Python环境默认]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/109647754</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/109647754</guid><author>IPGsoz</author><pubDate>Thu, 12 Nov 2020 16:50:47 +0800</pubDate><description><![CDATA[linux下将Python环境默认更改为Python3.6

步骤：


#删除原来指向python2的软链接
sudo mv /usr/bin/python /usr/bin/python.bak 
#/usr/local/python3.6/bin/python3.6 这个路径为实际的python3.6的bin文件夹下的Python3.6的路径，这个按照自己的实际情况进行更改 
sudo ln -s /usr/bin/python3.6 /usr/bin/python  

然后再窗口直接输入pytho]]></description><category></category></item><item><title><![CDATA[[OpenSCENARIO] 标准解析（平民版）]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/109566513</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/109566513</guid><author>IPGsoz</author><pubDate>Mon, 09 Nov 2020 22:41:46 +0800</pubDate><description><![CDATA[目录

1. 背景介绍

2. 本文参考

3. 标准详解

3.1 什么是场景

3.2 OpenSCENARIO的范围

3.3 概念

3.3.1 场景的构成：三个要素

3.3.2 场景剧本

3.3.3 动作

3.3.4 条件和触发器

4. 示例



1. 背景介绍

在自动驾驶仿真领域，场景一直是大家关注的重中之重。因为自动驾驶仿真与传统的仿真的最大区别就是缺少了人。面对复杂的交通状况做出灵活应对，在自动驾驶之前一直是人类驾驶员的责任，而在自动驾驶面世之后，车辆本身需要对自己负责、对乘坐.]]></description><category></category></item><item><title><![CDATA[矩阵的逆变换]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/108017489</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/108017489</guid><author>IPGsoz</author><pubDate>Sat, 15 Aug 2020 09:09:29 +0800</pubDate><description><![CDATA[概念



性质



求解方法

1. 待定系数法

假设有矩阵A =，其逆矩阵B=

那么，AB = 

AB===

那么，求解逆矩阵的过程最终变成了求解方程式，只需要求解出a,b,c,d的值，就可以确定A的逆矩阵B

B =



2. 伴随矩阵法

求解之前，需要先知道两个概念。

代数余子式 和 行列式

参考这篇博客







好了，有了以上基础知识就可以求矩阵的伴随矩阵了

（1）伴随矩阵是矩阵元素所对应的代数余子式，所构成的矩阵，转置后得到的新矩阵。

首先，...]]></description><category></category></item><item><title><![CDATA[旋转矩阵]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/107899812</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/107899812</guid><author>IPGsoz</author><pubDate>Mon, 10 Aug 2020 22:58:32 +0800</pubDate><description><![CDATA[二维

推导三维的旋转矩阵之前，先进行二维的推导，以方便理解。





三维

在计算二维的旋转矩阵过程中，我们知道坐标转换其实就是计算一个向量在一个坐标系各坐标轴上的投影，如果换到另外一个坐标系，其投影应该是多少？能否从第一个坐标系的投影长度来推算。

而三维的旋转矩阵说白了就是计算新的坐标轴在老的坐标轴上的投影是多少。比如一个坐标系为R0：{X0,Y0,Z0}, 现有一个新坐标系R1:{X1,Y1,Z1}，如果需要计算由R0到R1的变换，其旋转矩阵就是X1,Y1,Z1经旋转后在X0,Y0,Z0上...]]></description><category></category></item><item><title><![CDATA[【C语言】socket编程-2：客户端-服务器 通信案例]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/105624607</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/105624607</guid><author>IPGsoz</author><pubDate>Sun, 19 Apr 2020 23:22:10 +0800</pubDate><description><![CDATA[1. 服务器


* ***************************************** */
/* Echoserver.c */
/* ***************************************** */
#include &lt;unistd.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/socke...]]></description><category></category></item><item><title><![CDATA[【C语言】socket编程-1：理论基础]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/105624369</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/105624369</guid><author>IPGsoz</author><pubDate>Sun, 19 Apr 2020 22:58:37 +0800</pubDate><description><![CDATA[1. 理论基础

1.1 IPV4 socket 地址结构 （3大要素）


struct sockaddr_in {
 uint8_t    sin_len;
 sa_family_t  sin_family;//地址族:在这里必须设为AF_INET(代表IPV4),AF_INET6(代表IPV6)
 in_port_t   sin_port; //端口: ...]]></description><category></category></item><item><title><![CDATA[window10上安装VMWare/CentOS7]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/105617422</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/105617422</guid><author>IPGsoz</author><pubDate>Sun, 19 Apr 2020 16:31:48 +0800</pubDate><description><![CDATA[1.安装vmware14，和CentOS7

具体步骤操作下面博客：

https://www.runoob.com/w3cnote/vmware-install-centos7.html

2.安装vmtools

https://www.cnblogs.com/roooookie/p/8473640.html

3.安装完vmtools之后，重启黑屏，无法启动

是因为VMware软件跟本地网...]]></description><category></category></item><item><title><![CDATA[tcl [5]:list大全]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/105458529</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/105458529</guid><author>IPGsoz</author><pubDate>Sat, 11 Apr 2020 20:06:18 +0800</pubDate><description><![CDATA[1. list的基本操作：创建、访问、计长、分割


#&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;list&gt;&gt;&gt;&gt;&gt;&gt;&gt;
# list 可由数字，字符，字符串或者别的list组成
# &lt;1&gt; 创建一个list
set x "a b c"
# 结果：a b c
# &lt;2&gt; 通过index(0...)取li...]]></description><category></category></item><item><title><![CDATA[tcl [4]: 循环和分支]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/105458482</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/105458482</guid><author>IPGsoz</author><pubDate>Sat, 11 Apr 2020 19:58:16 +0800</pubDate><description><![CDATA[# &lt;6&gt; 循环
# &gt;&gt;&gt; for loop
# &gt;&gt;&gt; 循环中的为已知变量赋值，都是用set variable value
set number [expr {int (1.2/0.1) }]
for {set i o} {$i &lt;= $number} {incr i} {
	set x [expr {$i*0.1}]
	puts $x
...]]></description><category></category></item><item><title><![CDATA[tcl [3]: 设置变量，数学运算，强制类型转换]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/105458452</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/105458452</guid><author>IPGsoz</author><pubDate>Sat, 11 Apr 2020 19:56:58 +0800</pubDate><description><![CDATA[# &lt;2&gt; 设置变量
set X "this is a string, Y=:"
set Y 1.23
puts $X
puts $Y
puts "**********"
puts "$X $Y"

# &lt;3&gt; 数学计算
# [expr {$a - $b}]
# &gt;&gt;&gt;&gt;&gt; eq ne in ni &lt;&lt;&lt;&lt;&lt;&l...]]></description><category></category></item><item><title><![CDATA[tcl [1]: proc 可变参数args]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/105447671</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/105447671</guid><author>IPGsoz</author><pubDate>Sat, 11 Apr 2020 10:04:09 +0800</pubDate><description><![CDATA[# proc
# &gt;&gt;&gt; 
proc example {{a 1} {b View2}} {
	Movie window create $a
	Movie camera select $b

}

proc add {a b} {

	return ($a + $b)

}
#调用proc example，使用默认的参数
#proc 就是c里面的封装函数
example
...]]></description><category></category></item><item><title><![CDATA[tcl [2]: upvar的使用和proc的套用]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/105407636</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/105407636</guid><author>IPGsoz</author><pubDate>Thu, 09 Apr 2020 12:25:13 +0800</pubDate><description><![CDATA[upvar定义

从tcl的tutorial中对upvar的说明如下，一开始真是看的云里雾里，终于在多次试验之后，终于知道了这个玩意该怎么使用了。

Theupvarcommand is similar. It "ties" the name of a variable in the current scope to a variable in a different scope. This ...]]></description><category></category></item><item><title><![CDATA[C：指针与数组 详解]]></title><link>https://blog.youkuaiyun.com/IPGsoz/article/details/105233071</link><guid>https://blog.youkuaiyun.com/IPGsoz/article/details/105233071</guid><author>IPGsoz</author><pubDate>Tue, 31 Mar 2020 23:16:52 +0800</pubDate><description><![CDATA[目录

指针与数组：

数组指针与指针数组



指针与数组：

指针是左值，而数组名不是左值，它是常量。

数组指针与指针数组

数组指针：首先它是一个指针，指向一个数组。
	指针数组：首先它是一个数组，数组元素都是指针。

	//指针数组
		//初始化：因为指针数组是一个数组，存放的都是指针变量（字符指针），因此初始化的时候，
        //就是要给每一个字符指针（字符串）赋值...]]></description><category></category></item></channel></rss>