Ubuntu18.04安装ROS |
您所在的位置:网站首页 › ubuntu1804下安装ros › Ubuntu18.04安装ROS |
目录 一、安装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 |