文章目录
工作需要,转行做码农了。。。
大概是无人驾驶相关的,啥都不会。。。
看成败,人生豪迈,只不过是从头再来。。。。。。
❤ 2024.9.10 ❤
首先从啥是ROS开始学。。。
我选择教程是深蓝学院的《机器人操作系统ROS理论与实践》,主讲人是胡春旭,也就是传说中的“古月居”的博主。
※ 安装ubuntu
为了学习ros,我打算在虚拟机里安装ubuntu
为了版本统一,我选择18.04
操作流程参考这篇文章
→→→【ubuntu18-VMware安装和配置】
· 下载
· 创建虚拟机
· 安装系统
· 安装vmware tool
· 更新源
· 安装常用软件
vim、GCC、vscode、等
※ 安装ROS
安装好ubuntu之后就是安装ros,ros的版本和ubuntu需要对应
这里参考这篇文章的流程安装
· 设置软件更新
· 使用清华源安装
- 设置安装源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
- 设置key
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
- 安装
更新软件包索引
sudo apt update
然后,再安装所需类型的 ROS:ROS 多个类型:Desktop-Full、Desktop、ROS-Base。这里介绍较为常用的Desktop-Full(官方推荐)安装: ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception,直接安装FULL完全安装就可以,直接复制
sudo apt install ros-melodic-desktop-full
配置环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
安装构建依赖
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
sudo apt install python-rosdep
- 初始化ros
按照博主所说,这一步是出问题的高发期
首先试一试这个指令
sudo rosdep init
显示这个提示
大概意思是成功了?
按照他的提示
rosdep update
尝试博主提供的方法
sudo apt-get install python3-pip
sudo pip install rosdepc
提示
试试这个
sudo pip3 install rosdepc
OK
然后
sudo rosdepc init
rosdepc update
大佬威武!
· ros测试
打开三个独立的终端,记住是3个终端!!!(ctrl + alt + T 启动3次)
命令界面1键入:roscore
命令界面2键入:rosrun turtlesim turtlesim_node(此时会弹出图形化界面)
命令界面3键入:rosrun turtlesim turtle_teleop_key(在3中可以通过上下左右控制2中乌龟的运动)
这样就成功了吧?
可是为啥我的小乌龟不会动啊,我用的虚拟机,跟这个有关系么?
破案了!
不是虚拟机的关系,使用键盘控制时,不要让小海龟的窗口在最前,要让输入键盘控制指令的窗口在最前!!!
认识ROS
△ ROS特点
- 点对点设计
- 多语言支持
- 架构精简、集成度高
- 组件化工具包丰富
- 免费且开源
△ ROS系统实现
※ 什么是RPC通信
→→→【什么是RPC?有哪些RPC框架?】
※ 如果没有及时更新参数,可能会出错
- 话题与服务的区别
- 文件系统
△ ROS安装
安装过程参见上面的内容
- ros测试
使用roscore打开ros master节点
roscore
※ 关闭roscore:
Ctrl + C,(C是close)
有种很容易按错的感觉。。。
△ ROS常用指令
※ 在终端中,如果需要输入ros相关的命令,可以输入“ros”然后按“Tab”键,就会显示ros开头的指令
※ 需要更进一步知道某个命令的参数,可以输入该命令之后,按空格再按Tab
· ROS计算图:rqt_graph
输入rqt_graph,可以查看计算图,用于查看当前节点、话题等等
rqt_graph
· 查看ROS节点:rosnode
rosnode list
rosnode info /turtlesim
· 查看发布的话题:rostopic
rostopic list
- 查看某个话题信息
rostopic info /turtle1/cmd_vel
- 监听某个话题
rostopic echo /turtle1/cmd_vel
刚开始没有反应,
然后在键盘控制小乌龟移动的终端窗口里按方向键
通过这个命令可以发布话题
· 查看发布的服务:rosservice
rosservice list
查看某个服务的信息
rosservice info /spawn
发布一个服务
rosservice call /spawn "X: 5.0 y: 5.0 theta: 0.0 name: ''"
于是发布了一个新的小海龟
· 曲线绘制工具:rqt_plot
rqt_plot
打开曲线绘制工具后,添加
/turtle1/pose/x和/turtle1/pose/y,然后移动小海龟,曲线就会变化