/home/echo/catkin_ws/src/laser_control/src/control.cpp:15:17: error: ‘struct mavros_msgs::CommandLong’ has no member named ‘command’ 15 | servo_command.command = 183; // MAV_CMD_DO_SET_SERVO 请问这个代码我需要怎么修改
时间: 2023-12-23 19:06:23 浏览: 27
这个错误可能是由于 `mavros_msgs::CommandLong` 结构体中没有名为 `command` 的成员变量导致的。你可以尝试修改 `servo_command.command = 183;` 这行代码,将 `command` 改为 `broadcast`,即 `servo_command.broadcast = true;`。如果你需要设置具体的命令,可以使用 `command` 成员变量的替代方案 `command = mavros_msgs::CommandCode::DO_SET_SERVO`。
相关问题
yahboom@Transbot:~/dev/catkin_ws$ catkin_make Base path: /home/yahboom/dev/catkin_ws Source space: /home/yahboom/dev/catkin_ws/src Build space: /home/yahboom/dev/catkin_ws/build Devel space: /home/yahboom/dev/catkin_ws/devel Install space: /home/yahboom/dev/catkin_ws/install #### #### Running command: "make cmake_check_build_system" in "/home/yahboom/dev/catkin_ws/build" #### #### #### Running command: "make -j6 -l6" in "/home/yahboom/dev/catkin_ws/build" ####
这段输出来自 `catkin_make` 命令,它用于编译 ROS packages。在这个例子中,`catkin_make` 在 `/home/yahboom/dev/catkin_ws` 目录下编译 ROS packages。输出中的信息表示:
- Base path: `/home/yahboom/dev/catkin_ws`:`catkin_make` 命令在这个路径下查找 ROS packages 的源代码和 build、devel、install 目录。
- Source space: `/home/yahboom/dev/catkin_ws/src`:ROS packages 的源代码目录。
- Build space: `/home/yahboom/dev/catkin_ws/build`:编译 ROS packages 时生成的中间文件和目标文件目录。
- Devel space: `/home/yahboom/dev/catkin_ws/devel`:编译 ROS packages 后生成的可执行文件和库文件目录。
- Install space: `/home/yahboom/dev/catkin_ws/install`:安装 ROS packages 后生成的可执行文件和库文件目录。
接下来的输出显示了 `catkin_make` 命令运行的步骤。首先运行 `make cmake_check_build_system` 命令检查 build 目录是否存在,以及 build 目录中是否存在 CMakeLists.txt 文件。然后运行 `make -j6 -l6` 命令编译 ROS packages。`-j6` 表示使用 6 个 CPU 核心并行编译,`-l6` 表示在编译过程中限制系统负载不超过 6。
bash: cd: /home/username/catkin_ws/src/my_package: No such file or directory
这个错误通常是因为你的 ROS package 的路径不正确。请确保你在运行 `cd` 命令之前已经正确地创建了 ROS package。你可以按照以下步骤检查:
1. 在 catkin workspace 的 `src` 目录下创建一个新的 ROS package:
```
cd /home/username/catkin_ws/src
catkin_create_pkg my_package rospy roscpp std_msgs
```
2. 使用 `catkin_create_pkg` 命令创建一个名为 `my_package` 的 ROS package,并添加了 `rospy`、`roscpp` 和 `std_msgs` 三个依赖项。你可以根据自己的需求修改依赖项。
3. 确保你已经成功创建了 ROS package。你可以通过运行以下命令来检查:
```
ls /home/username/catkin_ws/src
```
这个命令应该列出你的 ROS package,它的名称应该是 `my_package`。如果你看到一个名为 `my_package` 的文件夹,说明你已经成功创建了 ROS package。
4. 现在你可以使用以下命令进入 ROS package 的目录:
```
cd /home/username/catkin_ws/src/my_package
```
请用你自己的 ROS package 的名称替换这个命令中的名称,并重新运行它。