在workspace目录下(即包含build、devel、src的工作区下)使用命令
在当前的命令行加载工作区环境变量
source devel/setup.bash
给予文件可执行权限
sudo chmod +x [文件名]
创建package,在workspace的src下使用命令,后在工作区下编译
catkin_create_pkg [pkg名字] rospy rosmsg roscpp
catkin_make
列出所有正在运行的node
rosnode list
打开 RQTpublisher模拟 的可视化窗口,可用指定频率向指定频段发送信息
(在ubuntu桌面上启动)
rosrun rqt_publisher rqt_publisher
使用命令行发送则是:
rostopic pub [指定频段(/Hello)] [数据类型(std_msg/String)] "data: '[信息]'" -r [Hz数]
启动小乌龟模拟器
(在ubuntu桌面上启动)
rosrun turtlesim turtlesim_node
启动小乌龟控制器
rosrun turtlesim turtle_teleop_key
启动节点之间的通信关系可视图
(在ubuntu桌面上启动)
rosrun rqt_graph rqt_graph
获取通信频段与信息
rostopic list
rostopic info [频段]
rostopic type [频段]
获取数据类型信息
rosmsg list
简单的PyQt5窗口创建:
#window.py
#!/usr/bin/env python
#coding: utf-8
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
class MainWindow(QWidget):
def __init__(self):
super(MainWindow, self).__init__()
self.setWindowTitle('小乌龟控制')
#布局
layout = QFormLayout()
self.setLayout(layout)
#实例控件
le_linner = QLineEdit()
le_angular = QLineEdit()
btn = QPushButton('发送')
#绘制
layout.addRow('线速度', le_linner)
layout.addRow('角速度', le_angular)
layout.addRow(btn)
#按键回调
btn.clicked.connect(self.click_send)
def click_send(self):
pass
#!/usr/bin/env python
#coding: utf-8
from PyQt5.QtWidgets import *
import sys
from window import MainWindow
if __name__=='__main__':
app = QApplication(sys.argv)
win = MainWindow()
win.show()
sys.exit(app.exec_())
通过类似断言的方法,使得IDE明确某对象的数据类型(VScode Pyplace 可用)
if isinstance(x, [类型]):
#to do
#在这里,IDE就能知道x的数据类型,从而.后可以获取它的成员数据