ROS学习笔记二:ROS环境搭建

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

  1. 安装ubuntu
  2. 安装ROS
    参考赵虚左老师教程:ROS安装
  3. ROS 快速上手体验
    -使用命令来实现
    –创建工作空间:
    mkdir -p ros_learn_ws/src// ros_learn_ws为自定义空间
    cd ros_learn_ws
    catkin_make
    –创建ROS功能包并添加依赖
    cd src
    catkin_create_pkg demo_01 roscpp rospy std_msgs// demo_01为自定义功能包名
    –C++实现
    -在src下新建cpp文件起名为hello.cpp,内容如下:
#include "ros/ros.h"

int main(int argc, char *argv[])
{
    //执行 ros 节点初始化
    ros::init(argc,argv,"hello");
    //创建 ros 节点句柄(非必须)
    ros::NodeHandle n;
    //控制台输出 hello world
    ROS_INFO("hello world!");

    return 0;
}

-修改CmakeLists文件,其中"Hello_c"为声明的可执行的C++ 文件

add_executable(Hello_c
  src/hello.cpp
)
target_link_libraries(Hello_c
  ${catkin_LIBRARIES}

-进入工作空间目录,执行命令:

source ./devel/setup.bash

-PS:

echo "source ~/工作空间/devel/setup.bash" >> ~/.bashrc

-执行:
cd ros_learn_ws
source ./devel/setup.bash
rosrun demo_01 Hello_c // 无需在工作空间下,主目录下亦可。执行 demo_01功能包下的节点Hello_c

-使用VSCode 实现:替换编译命令为:ctrl+shift+B
python实现:
在ros功能包下新建scripts文件夹,然后新建文件hello2.py

#! /usr/bin/env python

import rospy # 1.导包

if __name__ == "__main__":

    rospy.init_node("Hello_Vscode_p")  # 2.初始化 ROS 节点
    rospy.loginfo("Hello VScode, 我是 Python ....")  #3.日志输出 HelloWorld

修改配置文件:

catkin_install_python(PROGRAMS
  scripts/hello2.py
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

编译后执行:source ./devel/setup.bash
运行节点:rosrun demo_01 hello2.py

-配置launch文件启动多个节点:
在demo_01下新建launch文件夹
新建start_01.launch文件,内容如下

<launch>
    <!-- 执行python节点 -->
    <node pkg="demo_01" type="hello2.py" name="hello_py" output="screen" />
    <!-- 执行C++节点 -->
    <node pkg="demo_01" type="hello" name="hello_c" output="screen" />
    <node pkg="turtlesim" type="turtlesim_node" name="t1"/>
    <node pkg="turtlesim" type="turtle_teleop_key" name="key1" />
</launch>


PS : 修改launch文件无需使用命令:source ./devel/setup.bash,以下是需要使用source ./devel/setup.bash的场景:

  1. 初始化工作空间环境:当你第一次创建并编译一个 ROS 工作空间后,需要运行这个命令来设置环境变量,使得 ROS能够识别工作空间中的包和可执行文件。
  2. 每次打开新的终端:每次打开新的终端窗口时,都需要重新运行这个命令来确保当前终端会话的环境变量正确设置。这是因为环境变量的设置只对当前终端会话有效。
  3. 修改工作空间后:如果你对工作空间进行了修改(例如添加了新的包或编译了新的代码),运行 source ./devel/setup.bash可以确保这些更改被正确地反映在环境变量中。
  4. 在脚本中自动化环境设置:在某些自动化脚本中,你可能会包含这个命令来确保脚本运行时环境变量正确设置。

节点的执行顺序和launch文件中的定义顺序有关,通常C++节点要比python节点执行要快

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小羊太懒了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值