ROS学习笔记(一)ROS安装和helloworld

ROS学习笔记(一)ROS安装和helloworld


前言:
本文是新手的学习笔记。如有错误欢迎指正
使用版本: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
####
#### Running command: "make -j20 -l20" in "/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!!!哈哈哈哈哈哈哈哈哈哈
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值