第1周—ROS1.0环境安装与配置
目录
一、在Ubuntu中20系统中安装安装对应版本的ROS1.0软件
1.选择软件镜像源
进入设置,找到关于,然后进入软件更新
然后选择最佳服务器
2.添加ROS软件源和密钥
进入ROSwiki官网(https://wiki.ros.org/cn/noetic/Installation/Ubuntu)后,选择ROS镜像源
这里由很多的镜像源,选择其中一个使用即可
然后,给刚才设置的ROS源添加密钥
3.安装ROS1
4.设置环境变量
要安装此工具和其他构建ROS软件包的依赖项,请运行:
cd ~/catkin_ws
source ~/catkin_ws/devel/setup.bash
rosrun learning_topic publisher
5.安装rosinstall
在安装了pip之后,需要对其进行换源,使用国内源能够更快下载文件
在弹出的文件中写入,并保存
然后,安装rosdepc,执行初始化rosdepc,更新rosdepc
6.检查是否安装成功、控制小海龟移动
打开三个终端、分别输入
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
然后将鼠标聚焦到输入最后一个命令的窗口,通过键盘的上下左右键,控制海龟
二、C++编码实现小海龟圆周运动
1.创建ROS工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws
catkin_make
source devel/setup.bash
echo $ROS_PACKAGE_PATH
2.创建ROS功能包
cd ~/catkin_ws/src
catkin_create_pkg learning_topic std_msgs rospy roscpp geometry_msgs
cd ~/catkin_ws
catkin_make
source devel/setup.bash
3.写入代码
1.在位置~/catkin_ws/src/learning_topic/src/下创建publisher.cpp文件.
2.写入代码
#include <sstream>
#include "ros/ros.h"
#include "std_msgs/String.h"
#include "geometry_msgs/Twist.h"
int main(int argc, char **argv)
{
//初始化节点
ros::init(argc, argv, "publisher");
//创建节点句柄
ros::NodeHandle n;
//创建publisher,发布话题[/turtle1/cmd_vel],消息类型[geometry_msgs::Twist]
ros::Publisher chatter_pub = n.advertise<geometry_msgs::Twist>("/turtle1/cmd_vel", 1000);
//设置循环频率
ros::Rate loop_rate(100);
while (ros::ok())
{
//定义发布的数据
geometry_msgs::Twist msg;
//定义linear数据
geometry_msgs::Vector3 linear;
linear.x=1;
linear.y=0;
linear.z=0;
//定义angular数据
geometry_msgs::Vector3 angular;
angular.x=0;
angular.y=0;
angular.z=1;
msg.linear=linear;
msg.angular=angular;
//发布msg数据
chatter_pub.publish(msg);
//循环等待回调函数
ros::spinOnce();
//按照循环频率延时
loop_rate.sleep();
}
return 0;
}
3.添加编译选项
//打开CMakeLists.txt
cd ~/catkin_ws/src/learning_topic
gedit CMakeLists.txt
//在文件末尾加上
add_executable(publisher src/publisher.cpp)
target_link_libraries(publisher ${catkin_LIBRARIES})
//保存退出,再输入编译命令
cd ~/catkin_ws
catkin_make
4.启动小海龟程序
roscore
再打开新终端运行
rosrun turtlesim turtlesim_node
再打开新终端
cd ~/catkin_ws
source ~/catkin_ws/devel/setup.bash
rosrun learning_topic publisher