一、ROS2
1、自定义消息类型
自定义消息的文件名不能有下划线,只能首字母大写
自定义消息的变量只能全大写或者小写,可以有下划线
2、 自动环境变量设置
(1)为什么需要进行source install/setup.bash?
配置ROS2的环境变量和路径,使得使用ros指令时查找到相应的功能包以及可执行文件
(2) 自动配置环境变量
在
.bashrc文件中加入
source /home/auv/AUV/AUV_ws/install/setup.bash
使得每次打开终端时自动执行setup.bash
3、添加资源文件&节点中调用资源文件
说明:为了在节点中调用资源文件(例如*.csv等),并且便于打包
(1)在resource文件夹中添加资源文件
├── auv_ui
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── ui.cpython-38.pyc
│ │ └── UI.cpython-38.pyc
│ ├── UI_Node.py
│ └── UI.py
├── package.xml
├── resource
│ ├── auv_ui
│ └── image
│ └── ship.ico
├── setup.cfg
├── setup.py
└── test
├── test_copyright.py
├── test_flake8.py
└── test_pep257.py
(2)在setup.py文件夹中添加路径
data_files=[
('share/'+package_name+'/resource',#编译后的目标文件夹
['resource/test.csv']),#当前功能包的资源文
],
添加路径并colcon build之后即可在install目录下找到相应的文件
(3)节点中调用资源文件
import os
import ament_index_python
# 获取资源包的安装路径
package_share_directory = ament_index_python.get_package_share_directory('example_topic_rclpy')
print(package_share_directory)
#>>/home/auv/AUV/AUV_ws/install/example_topic_rclpy/share/example_topic_rclpy
# 构建资源文件的路径
resource_file_path = os.path.join(package_share_directory, 'resource', 'test.csv')
print(resource_file_path)
#>>/home/auv/AUV/AUV_ws/install/example_topic_rclpy/share/example_topic_rclpy/resource/test.csv
二、Ubuntu
1、永久更改串口权限及重命名
(1)创建USB规则文件
sudo gedit /etc/udev/rules.d/70-usb-serial.rules
(2)查看设备信息
udevadm info --attribute-walk --name=/dev/ttyUSB0
(3) 编写USB规则文件
idVendor和idProduct
可以标识
一个设备,对于设备连接时通过这两个代码可以查找正确的设备;
KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0777", SYMLINK+="nano"
-
sbgN
是绑定的串口名称
,可以设置一个比较容易记的名字; 0777
是设备权限
,这里默认是所有人都有全部权限
,根据需要可以自行更改,如果设置错误可能会出现不能读取数据的现象,可以设置为0666;- 通过dmesg查询
idVendor和idProduct;
通过lsusb
查询idVendor和idProduct。
(4)更改生效
sudo udevadm trigger
2、 远程桌面(ssh+TigerVNC)
简介:ssh可以远程操作命令行解锁Ubuntu、并开启TigerVNC进行远程桌面
(1)TigerVN安装
sudo apt install tigervnc-common
sudo apt install tigervnc-standalone-server
(2)TigerVN启动
vncserver -localhost no -geometry 1280x720 :1