本帖最后由 ANUU 于 2021-6-14 01:17 编辑
创建工作空间
首先我们创建一个工作空间
当前桌面 右键打开终端
mkdir -p catkin_workspace/src
- mkdir 创建一个目录
- mkdir -p 递归创建目录
cd catkin_workspace/
cd src/
catkin_init_workspace
于是会跳出以下信息
Creating symlink "/home/amov/Desktop/catkin_workspace/src/CMakeLists.txt" pointing to "/opt/ros/melodic/share/catkin/cmake/toplevel.cmake"
说明创建成功了
- cd 跳转目录
- catkin_init_workspace ROS指令:工作空间初始化
然后我们再编译空间
跳转到工作空间目录
cd ..
catkin_make
此时会跳出一大段信息
随后设置并检查环境变量
source devel/setup.bash
echo $ROS_PACKAGE_PATH
- source : 设置环境变量指令
- echo $ROS_PACKAGE_PATH 跳出ros包执行环境变量路径
执行玩跳出以下信息说明我们环境变量设置好了
/home/amov/Desktop/catkin_workspace/src:/opt/ros/melodic/share
到此 我们工作空间事情做好了
创建工作包
cd src
catkin_create_pkg turtlesplay roscpp rospy std_msgs geometry_msgs turtlesim
- 功能包要在src内创建
- catkin_create_pkg :ROS创建功能包指令 指令后第一个是功能包的名字(turtlesplay) 指令后第二个名字开始则是他的功能包依赖 (std_msgs rospy roscpp)
可以弹出信息框内看见功能包创建成功信息:
然后我们在跳转工作空间编译功能包:
catkin_make
编译没有报错说明我们创建功能包正常
如果报错一般就是没有找到功能包的依赖(有两种情况)(两种我都遇到过.....)
- 依赖包名字打错
如图所示:
首先我们检查有没有依赖名 有没有拼写出错 ,很明显出错了
把 turtlesim 拼写成了tutlesim
这种情况我们删除原来依赖包再重新创建一个就好了!
- ros未安装相关的依赖包
如果未安装依赖包的话,我们就使用ros下载指令
sudo apt-get install ros-XXX(ROS版本)- XXX(功能包)
报错 的话我们确保 ros没有安装出错的话我们就开始安装
安装Visual Studio Code
为了代码编辑开发的效率,建议我们在软件商城安装 Visual Studio Code
安装成功后 我们重新回到我们的工作空间里功能包下
创建一个cpp源文件
touch hello_turtle.cpp
找到我们创建的.c文件 右键属性 打开
选择visual studio Code 作为默认值
然后双击打开 舒适感慢慢有没有
于是我们就可以尽情的使用vis敲代码咯!
创建海龟初始化程序
首先我们将文件中打入这么一段代码
#include
#include
#include
int main(int argc,char **argv)
{
ros::init(argc,argv,"hello_turtle");
//Init of the ROS program "hello_turtle"
ros::NodeHandle n;
// Create a RosNodeHanele n
ros::Publisher turtle_vel_pub = n.advertise("/turtle1/cmd_vel", 100);
// Create a Publisher,make name /turtle1/cmd_vel的topic, message type: geometry_msgs::Twist,quene: 10
ros::Rate loop_rate(100);
// setup the ROS rate
int count = 0;
while(ros::ok())
{
// inti geometry_msgs::Twist
geometry_msgs::Twist vel_msg;
for(count =0;count
|