ROS发布日期 | ROS版本 | 对应Ubuntu版本 |
---|---|---|
2018.5 | ROS Melodic Morenia | Ubuntu 18.04/17.10 |
2016.3 | ROS Kinetic Kame | Ubuntu 16.04/15.10 |
2015.3 | ROS Jade Turtle | Ubuntu 15.04/14.10/14.04 |
2014.7 | ROS Indigo Igloo | Ubuntu 14.04/13.10 |
在正式的安装前,先检查下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
sudo apt-get install ros-melodic-desktop-full
注:如果遇到无法下载的情况,建议运行以下指令
sudo apt-get install ros-melodic-desktop-full --fix-missing
sudo rosdep init
rosdep update
注:这里可能会遇到错误情况,可以多试几次或者连接手机热点进行初始化
添加到系统环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
立即更新
source ~/.bashrc
注:这里需要对应ROS的版本号
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
创建工作空间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
进入到~/catkin_ws/src目录
cd ~/catkin_ws/src
创建包
catkin_create_pkg hello.cpp
进入hello_ros包
创建并编辑hello.cpp文件
sudo gedit hello.cpp
复制以下代码:
#include
int main(int argc, char **argv)
{
ros::init(argc,argv,"hello");
ros::NodeHandle n;
ROS_INFO("Hello ROS!");
ros::spinOnce();
}
编辑hello_ros目录下的CMakeLists.txt文件
sudo gedit 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
打开新终端启动ROS
roscore
打开另外一个终端 运行hello_ros程序
rosrun hello_ros hello