文章目录
一、在Ubuntu中20系统中安装安装对应版本的ROS1.0软件
1.选择软件镜像源
进入设置,找到关于,然后进入软件更新
然后选择最佳服务器
2.添加ROS软件源和密钥
进入ROSwiki官网(https://wiki.ros.org/cn/noetic/Installation/Ubuntu)后,选择ROS镜像源
这里由很多的镜像源,选择其中一个使用即可
然后,给刚才设置的ROS源添加密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
如图成功提示
3.安装ROS1
完成apt的更新,运行下一行代码
sudo apt update
然后继续运行
sudo apt install ros-noetic-desktop-full
无报错即运行成功
4.设置环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
要安装此工具和其他构建ROS软件包的依赖项,请运行:
sudo apt-get install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
5.安装rosinstall
sudo apt install python3-pip
在安装了pip之后,需要对其进行换源,使用国内源能够更快下载文件
mkdir ~/.pip
cd ~/.pip
touch pip.conf
sudo gedit ~/.pip/pip.conf
在弹出的文件中写入,并保存
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
然后,安装rosdepc,执行初始化rosdepc,更新rosdepc
sudo pip install rosdepc
sudo rosdepc init
rosdepc update
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
参考:https://blog.csdn.net/qq_52187415/article/details/129330316?
https://blog.csdn.net/qq_44940689/article/details/128690455?