Ubuntu18.04安装与使用ROS(Melodic)

ROS发布日期ROS版本对应Ubuntu版本
2018.5ROS Melodic MoreniaUbuntu 18.04/17.10
2016.3ROS Kinetic KameUbuntu 16.04/15.10
2015.3ROS Jade TurtleUbuntu 15.04/14.10/14.04
2014.7ROS Indigo IglooUbuntu 14.04/13.10

安装ROS

配置初始环境

在正式的安装前,先检查下Ubuntu初始环境是否配置正确。
打开 Ubuntu的设置 -> 软件与更新 -> Ubuntu软件 ->勾选universe , restricted , multiverse 三项。
如图所示:
初始环境

选择安装源

sudo sh -c 'echo "deb http://mirrors.ustc.edu.cn/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-get update

安装ROS(Melodic)完整版

sudo apt-get install ros-melodic-desktop-full

注:如果遇到无法下载的情况,建议运行以下指令

sudo apt-get install ros-melodic-desktop-full --fix-missing

初始化rosdep

sudo rosdep init

ros初始化

rosdep update

ros升级
注:这里可能会遇到错误情况,可以多试几次或者连接手机热点进行初始化

环境配置

添加到系统环境变量

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

立即更新

source ~/.bashrc

注:这里需要对应ROS的版本号

安装rosinstall

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

测试ROS

  1. 打开新的终端运行ROS
roscore
  1. 打开第二个终端,运行turtlesim功能包
rosrun turtlesim turtlesim_node
  1. 打开第三个终端,运行键盘控制,小键盘的方向可控制乌龟
rosrun turtlesim turtle_teleop_key

创建工作空间,运行第一个ROS程序

创建工作空间

创建工作空间catkin_ws,在空间内创建src文件夹放置功能包源码

mkdir -p ~/catkin_ws/src

进入到src文件夹目录下

cd ~/catkin_ws/src

初始化文件夹,生成CMakeLists.txt文件

catkin_init_workspace

初始化文件夹编译工作空间

catkin_make

注意是在~/catkin_ws目录下进行编译

设置环境变量

添加环境变量

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

让配置在当前终端立即生效

source ~/.bashrc

查看环境变量

echo $ROS_PACKAGE_PATH

终端输出的第一个是我们创建的catkin_ws

创建功能包

进入到src目录

cd ~/catkin_ws/src/

创建功能包

catkin_create_pkg learning_communication std_msgs roscpp rospy

std_msgs:包含常见消息类型
roscpp:使用C++实现ROS各种功能
rospy:使用python实现ROS各种功能

编译功能包

返回到catkin_ws目录下

cd ~/catkin_ws

编译

catkin_make

编译功能包

运行第一个Hello ROS程序

进入到~/catkin_ws/src目录

cd ~/catkin_ws/src

创建包

catkin_create_pkg hello.cpp

进入hello_ros包
创建并编辑hello.cpp文件

sudo gedit hello.cpp

复制以下代码:

#include <ros/ros.h>
 int main(int argc, char **argv)
{
	ros::init(argc,argv,"hello");
	ros::NodeHandle n;
	ROS_INFO("Hello ROS!");
	ros::spinOnce();
}

hello.cpp编辑hello_ros目录下的CMakeLists.txt文件

sudo gedit CMakeLists.txt

CMakeLists.txt修改

find_package(catkin REQUIRED )

修改为

find_package(catkin REQUIRED COMPONENTS  roscpp)

include_directories(
# include 
# ${catkin_INCLUDE_DIRS}

注释去掉

在下方添加:

add_executable(hello hello.cpp)
target_link_libraries(hello ${catkin_LIBRARIES})

保存退出

编译工作区

在 ~/catkin_ws目录下编译

catkin_make

编译编译成功即可

设置环境变量

source ~/catkin_ws/devel/setup.bash

执行hello_ros程序

打开新终端启动ROS

roscore

打开另外一个终端 运行hello_ros程序

rosrun hello_ros hello

运行hello.cpp

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值