ROS学习笔记(一)ROS安装和helloworld
文章目录
- 一、ros安装及测试
- 1. 打开ubuntu软件和更新,进行如下设置
- 2. 设置安装源
- 3. 设置安装密钥
- 4.更新软件源
- 5.安装ros
- 6.添加命令
- 7.初始化rosdep
- 8.设置环境变量
- 9.构建依赖
- 10.测试ros
- 二、利用vscode 编写helloworld全过程
- 1.安装相关功能包
- 2.创建工作空间
- 3.启动vscode
- 4.在vscode中编译ros
- 5.创建ros功能包
- 6.c++代码部分
- 7.配置CMakeLists.txt
- 8.编译执行及最终效果
前言:
本文是新手的学习笔记。如有错误欢迎指正
使用版本:ubuntu20.04
使用语言:c++
参考链接:http://www.autolabor.com.cn/book/ROSTutorials/
https://blog.csdn.net/qq_44339029/article/details/120579608?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168007050016800184160811%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=168007050016800184160811&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-120579608-null-null.142v77insert_down38,201v4add_ask,239v2insert_chatgpt&utm_term=ubuntu20.04%E5%AE%89%E8%A3%85ros&spm=1018.2226.3001.4187
侵删
一、ros安装及测试
1. 打开ubuntu软件和更新,进行如下设置
2. 设置安装源
推荐使用慕雨老师推荐的安装源,官方安装源可能会有境外屏蔽
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
3. 设置安装密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
4.更新软件源
sudo apt update
如果成功升级则进入下一步
5.安装ros
sudo apt install ros-noetic-desktop-full
这一步记得多做几次!直到出现此界面
zzl@zzl-lenovo:~$ sudo apt install ros-noetic-desktop-full
[sudo] zzl 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
ros-noetic-desktop-full 已经是最新版 (1.5.0-1focal.20230225.005309)。
下列软件包是自动安装的并且现在不需要了:
libid3tag0 libimlib2 tint2
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 4 个软件包未被升级。
6.添加命令
sudo apt install python-rosdep2
或者
sudo apt install python3-rosdep2
7.初始化rosdep
sudo rosdep init
若出现
ERROR: default sources list file already exists:
/etc/ros/rosdep/sources.list.d/20-default.list
Delete !!
Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please run
rosdep update
则输入sudo rosdep update 指令,并前往下一步
可能的错误(我犯的):
ERROR: cannot download default sources list from:https : xxxxxxxxxxxxxxx
–通过IPAddress.com查询错误链接的ip地址
我查到的:188.199.108.133,现在查可能第四组数会略微不同
–输入以下语句:
sudo gedit /etc/hosts
188.199.108.133 raw.githubusercontent.com
8.设置环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
9.构建依赖
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
10.测试ros
这里直接引用赵虚左老师的文件
ROS 内置了一些小程序,可以通过运行这些小程序以检测 ROS 环境是否可以正常运行
首先启动三个命令行(ctrl + alt + T)
命令行1键入:roscore
命令行2键入:rosrun turtlesim turtlesim_node(此时会弹出图形化界面)
命令行3键入:rosrun turtlesim turtle_teleop_key(在3中可以通过上下左右控制2中乌龟的运动)
最终结果如下所示:
注意:光标必须聚焦在键盘控制窗口,否则无法控制乌龟运动。
二、利用vscode 编写helloworld全过程
1.安装相关功能包
打开扩展,下载ros、c++、python、中文、cmake tools即可
2.创建工作空间
zzl@zzl-lenovo:~$ mkdir -p hellotry_c/src
zzl@zzl-lenovo:~$ cd hellotry_c
zzl@zzl-lenovo:~/hellotry_c$ catkin_make
出现以下即成功
-- Using Python nosetests: /usr/bin/nosetests3
-- catkin 0.8.10
-- BUILD_SHARED_LIBS is on
-- BUILD_SHARED_LIBS is on
-- Configuring done
-- Generating done
-- Build files have been written to: /home/zzl/hellotry_c/build
3.启动vscode
zzl@zzl-lenovo:~$ cd hellotry_c
zzl@zzl-lenovo:~/hellotry_c$ code .
code和.中间必须有空格!!!
4.在vscode中编译ros
此处引用赵老师教程中的代码和解释
ctrl+shift+B调用,选择catkin_make:build 并且修改vscode/tasks.json文件
// https://go.microsoft.com/fwlink/?LinkId=733558
"version": "2.0.0",
"tasks": [
{
"label": "catkin_make:debug", //代表提示的描述性信息
"type": "shell", //可以选择shell或者process,如果是shell代码是在shell里面运行一个命令,如果是process代表作为一个进程来运行
"command": "catkin_make",//这个是我们需要运行的命令
"args": [],//如果需要在命令后面加一些后缀,可以写在这里,比如-DCATKIN_WHITELIST_PACKAGES=“pac1;pac2”
"group": {"kind":"build","isDefault":true},
"presentation": {
"reveal": "always"//可选always或者silence,代表是否输出信息
},
"problemMatcher": "$msCompile"
}
] }
5.创建ros功能包
右键选定src,create catkin package
设置包名和依赖
6.c++代码部分
*/
#include "ros/ros.h"
int main(int argc, char *argv[]) {
setlocale(LC_ALL,"");
ros::init(argc,argv,"HelloVSCode");
ROS_INFO("Hello VSCode!!!哈哈哈哈哈哈哈哈哈哈");
return 0; } ```
7.配置CMakeLists.txt
编辑本文件下的cmake文件配置,修改通过ctrl+f查找并且改变其中部分
add_executable(节点名称
src/C++源文件名.cpp
)
target_link_libraries(节点名称
${catkin_LIBRARIES}
)
注:好用的快捷键:ctrl+s保存
ctrl+/去注释/加注释
然后ctrl+shift+b看是否编译成功,若失败则说明前面有步骤有问题
8.编译执行及最终效果
zzl@zzl-lenovo:~/hellotry_c$ source ./devel/setup.bash
zzl@zzl-lenovo:~/hellotry_c$ rosrun hellovscode hellovscode_c
[ INFO] [1680092639.533653729]: Hello VSCode!!!哈哈哈哈哈哈哈哈哈哈
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)