Ubuntu18.04安装ROS

您所在的位置:网站首页 ubuntu1804下安装ros Ubuntu18.04安装ROS

Ubuntu18.04安装ROS

2023-03-10 04:13| 来源: 网络整理| 查看: 265

目录

一、安装ROS

1、ROS简介

2、安装ROS

 二、ROS初步使用

1、小海龟

 2、控制小海龟走圆形

(1)、创建工作空间

 (2)、编译工作空间

 (3)、配置环境变量

 (4)、画圆程序的编写

 (5)、控制小海龟走圆形

 三、总结

 

一、安装ROS 1、ROS简介

机器人操作系统(Robot Operating System, ROS)是一个应用于机器人上的操作系统,它操作方便、功能强大,特别适用于机器人这种多节点多任务的复杂场景。

2、安装ROS

添加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 keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

 安装ROS

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

安装 rosdep

sudo apt install python-rosdep

初始化rosdep

sudo rosdep init rosdep update

 设置环境变量

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

安装rosinstall

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

 二、ROS初步使用 1、小海龟

启动ROS Master

roscore

启动小海龟仿真器(启动ROS Master后重新打开一个终端再输入)

rosrun turtlesim turtlesim_node

启动海龟控制节点 (启动小海龟仿真器后重新打开一个终端再输入)

rosrun turtlesim turtle_teleop_key

将鼠标指针放在该窗口即可利用键盘的上下左右控制小海龟移动

 2、控制小海龟走圆形 (1)、创建工作空间 mkdir -p ~/test/src cd ~/test/src catkin_init_workspace

 (2)、编译工作空间 cd ~/test catkin_make

 (3)、配置环境变量

在test路径下终端输入source devel/setup.bash,使系统知道功能包放置在test这个工作空间下。 查看当前环境变量,终端输入echo $ROS_PACKAGE_PATH

$ source devel/setup.bash $ echo $ROS_PACKAGE_PATH

 

 (4)、画圆程序的编写

在test/src路径下新建my_turtle_package包

$ cd test/src                            #进入工作空间 $ catkin_create_pkg my_turtle_package rospy roscpp         #新建my_turtle_package包

在my_turtle_package/src 中创建cpp文件

$ cd my_turtle_package/src/     $ touch draw_circle.cpp

 编写画圆代码

gedit draw_circle.cpp

添加代码

#include "ros/ros.h" #include //运动速度结构体类型 geometry_msgs::Twist的定义文件 int main(int argc, char *argv[]) { ros::init(argc, argv, "vel_ctrl"); //对该节点进行初始化操作 ros::NodeHandle n; //申明一个NodeHandle对象n,并用n生成一个广播对象vel_pub ros::Publisher vel_pub = n.advertise("/turtle1/cmd_vel", 10); //vel_pub会在主题"/cmd_vel"(机器人速度控制主题)里广播geometry_msgs::Twist类型的数据 ROS_INFO("draw_circle start...");//输出显示信息 while(ros::ok()) { geometry_msgs::Twist vel_cmd; //声明一个geometry_msgs::Twist 类型的对象vel_cmd,并将速度的值赋值到这个对象里面 vel_cmd.linear.x = 2.0;//前后(+-) m/s vel_cmd.linear.y = 0.0; //左右(+-) m/s vel_cmd.linear.z = 0.0; vel_cmd.angular.x = 0; vel_cmd.angular.y = 0; vel_cmd.angular.z = 1.8; //机器人的自转速度,+左转,-右转,单位是rad/s vel_pub.publish(vel_cmd); //赋值完毕后,发送到主题"/cmd_vel"。机器人的核心节点会从这个主题接受发送过去的速度值,并转发到硬件体上去执行 ros::spinOnce();//调用此函数给其他回调函数得以执行(比例程未使用回调函数) } return 0; }

打开CMakeLists.txt

$ cd ~/test/src/my_turtle_package $ gedit CMakeLists.txt

在Declare a C++ executable前添加

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

 编译

$ cd ~/test/ $ catkin_make

 (5)、控制小海龟走圆形

启动ROS

roscore

 启动小海龟仿真器

rosrun turtlesim turtlesim_node

小海龟画圆

$ cd ~/test/ $ source devel/setup.bash $ rosrun my_turtle_package draw_circle

 三、总结

本次实验主要是对ROS环境配置和对ROS的初步使用,在环境配置中非常顺利,没有遇到较大问题,通过本次实验对ROS有了初步实践了解。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3