【ubuntu】ROS(1)

1 ROS安装

基于 ubuntu 20.04

ubuntu 镜像下载地址:Index of /

1.1 设置安装源

设置ROS源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

设置密钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

更新

sudo apt update && sudo apt upgrade -y

1.2 安装

如果是开发环境,安装VScode的desktop版本,包含rqt、rivz、gazebo等GUI工具:

sudo apt install ros-noetic-desktop-full -y

如果是机器人导航板,安装base版,无GUI:

sudo apt install ros-noetic-ros-base -y

1.3 设置环境

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc && source ~/.bashrc

1.4 验证是否安装成功

运行小海龟demo

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

1.5 安装开发ROS必要的package

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
sudo apt-get install -y ninja-build
sudo rosdep init
rosdep update

2 HelloWorld

2.1 创建项目和功能包

创建工作空间,例如 ros_workspace ,并在其下创建 src 文件夹。

然后在 ros_workspace 目录下执行 catkin_make

使用 VSCode 打开工作空间,在 src 下创建功能包 HelloWorld ,依赖填写:

roscpp rospy std_msgs

2.2 C++实现HelloWorld

1 src下创建c++源文件

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;
}

2 编辑功能包下的Cmakelist.txt文件

add_executable(步骤3的源文件名
  src/步骤3的源文件名.cpp
)
target_link_libraries(步骤3的源文件名
  ${catkin_LIBRARIES}
)

3 编译

cd 空间名称
catkin_make

4 执行

命令行1执行:

roscore

命令行2执行:

cd 工作空间
source ./devel/setup.bash
rosrun 包名 节点

source ~/ros_workspace/devel/setup.bash可以添加进.bashrc文件,方便使用。

执行:echo "source ~/ros_workspace/devel/setup.bash" >> ~/.bashrc

2.3 Python实现HelloWorld

1 编写python源文件

功能包下创建 scripts 目录,在其下创建 python 文件。

hello.py

#! /usr/bin/env python
​
"""
    Python 版 HelloWorld
"""
import rospy
​
if __name__ == "__main__":
    rospy.init_node("Hello")
    rospy.loginfo("Hello World!!!!")

2 为 python 文件添加可执行权限

chmod +x 文件名.py

3 编辑 ros 包下的 CamkeList.txt 文件

catkin_install_python(PROGRAMS scripts/文件名.py
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

4 进入工作空间目录并编译

cd 空间名称
catkin_make

5 进入工作空间目录并执行

命令行1执行:

roscore

命令行2执行:

cd 工作空间
source ./devel/setup.bash
rosrun 包名 文件名.py

Ubuntu ROS是指在Ubuntu操作系统上运行Robot Operating System(ROS)。ROS是一个灵活、模块化、用于构建机器人应用程序的开源框架。它提供了一系列工具、库和通信机制,使开发者能够快速开发和测试机器人的软件。 Ubuntu作为一种流行的Linux操作系统,与ROS非常配合。首先,Ubuntu提供了稳定性和安全性,这对于机器人应用至关重要。其次,ROS针对Ubuntu进行了优化,因此可以更好地利用Ubuntu的资源和功能。另外,Ubuntu的软件库也包含了很多与ROS相关的软件包,方便用户进行安装和配置。 使用Ubuntu ROS有以下几个优点。首先,ROS具有强大的通信机制,使得不同模块间的数据传输更加简单和高效。其次,ROS提供了大量的软件库和工具,可用于感知、规划、控制和仿真等机器人应用中。此外,ROS还具有可视化和调试工具,方便开发者进行代码调试和模块测试。 同时,使用Ubuntu ROS的过程也存在一些挑战。首先,ROS的学习曲线较陡峭,需要花费一定的时间和精力来理解和掌握其概念和使用方法。其次,ROS的系统要求较高,需要一台性能较好的计算设备来运行较复杂的机器人应用。另外,由于ROS是一个开源框架,其社区贡献和文档资源相对较多,需要不断地进行学习和更新。 总的来说,Ubuntu ROS是一个强大且灵活的机器人开发平台,具有广泛的应用前景。通过充分利用Ubuntu操作系统和ROS框架的优势,开发者可以更加高效地构建和测试机器人应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值