01-ros1-install-conifg

下载ros1

使用的是ubuntu20.04,因为 绝影lite3 机器狗系统便是这个,选择相同的版本

  • 下载方式 —> 使用鱼香ros下载工具,别折磨自己
wget http://fishros.com/install -O fishros && . fishros

选择 Noetic

工作空间

目录名称

image-20241117113515275

符合一定结构的代码空间

  • catkin_ws
  • src
    • xxxx

ros1下的一些文件目录

  • scripts
    • 存放脚本文件和python程序

ros1编译

进入到工作空间的入口

image-20241117114130517

运行在工作目录,编译

catkin_make

使用source指令载入工作空间的环境设置

source ~/catkin_ws/devel/setup.bash
  • 运行编译好的ros程序
roslaunch wpr_simulation wpb_simple.launch
  • 运行控制软件
rosrun rqt_robot_steering rqt_robot_steering

image-20241117115007475

  • 将工作环境加入到终端脚本./bashrc
vim ~/.bashrc

添加

source ~/catkin_ws/devel/setup.bash

编译

相关工具的下载

  • vscode
  • Terminator

ROS INDEX 去偷轮子!

ros的官方网站

ros index显示了有哪些的包信息,apt中能下载的,和开源代码

https://index.ros.org/


https://index.ros.org/repos/page/1/time/

image-20241117131059049

有闪电的表示可以直接apt下载到可执行文件

vscode开发工具的配置

插件需要:

  • ros
  • cmake tools
  • Remote-SSH
    • 实现在其他平台开写代码,在Linux运行
  • IntelliCode
    • 代码提示工具

vscode的快捷键

  • 编译

    • ctrl + shift + b ,选择编译工具模式
  • 设置

    • ctrl + shift + p 进入设置模式

关闭cmake的每次读取build

image-20241117140119928

点击取消

远程连接

使用 Remote-SSH 来进行远程调试

代码提示

c++会出现vscode代码不提示的问题

解决方法 简单粗暴的方式

  • 方法1

参考博客

https://blog.csdn.net/2301_79744525/article/details/140700029

进入设置,输入

cmake.options

添加或者修改

image-20241119104647574

或者将.vscode 中的 settings.json

image-20241119225806827

"C_Cpp.intelliSenseEngine": "Tag Parser",
  • 方法2

c_cpp_properties.json

image-20241119104810171

"cStandard": "gnu11",
"cppStandard": "c++14"

改为相同的数值 部分代码会红

比如 ROS_INFO()

"cStandard": "gnu11",
"cppStandard": "c++11"

推荐使用方法1

Terminator相关的快捷键

  • 打开终端

    • ctrl + alt + t
  • 创建新窗口

    • ctrl + shift + o 分上下
    • ctrl + shift + e 分左右
  • 切换终端

    • alt + 方向键
  • 关闭窗口

    • ctrl + alt + w

ROS的目录结构

目录

image-20241117144644325

share目录

image-20241117141542635

其中存放了ros共享的一些包pkg

来源:

  • apt install ros-<ros版本>-desktop-full 完全下载下来的基础包
  • apt install ros-<ros版本>xxx 独立扩展包

他们和catkin_ws下的pkg有什么区别?

这些包都是可执行文件,而cakin_ws下的都是源码文件

source /opt/ros/noetic/setup.bash —-> 将ros系统相关的加到path中

source ~/catkin_ws/devel/setup.bash —>

image-20241117141946307

ROS1常见指令

1. 环境和初始化

  • 初始化ROS环境

    source /opt/ros/noetic/setup.bash
    
  • 初始化工作空间

    (通常用于catkin工作空间):

    source devel/setup.bash
    

2. 启动和关闭

  • 启动roscore

    (ROS核心服务,必须先启动):

    roscore
    
  • 启动ROS节点

    (在节点包目录下):

    rosrun <package_name> <node_name>
    
  • 启动launch文件

    (用于同时启动多个节点):

    roslaunch <package_name> <file_name.launch>
    

3. 包和节点

  • 查看ROS包列表

    rospack list
    
  • 找到包的路径

    rospack find <package_name>
    
  • 列出包内的节点

    rosnode list
    

4. 话题(Topics)

  • 查看当前所有话题

    rostopic list
    
  • 查看特定话题的数据类型

    rostopic type <topic_name>
    
  • 发布话题消息

    (常用于测试):

    rostopic pub <topic_name> <msg_type> <msg_data>
    

    例如:

    rostopic pub /chatter std_msgs/String "data: 'hello world'"
    
  • 查看话题的实时消息

    rostopic echo <topic_name>
    

5. 服务(Services)

  • 查看所有可用服务

    rosservice list
    
  • 查看服务类型

    rosservice type <service_name>
    
  • 调用服务

    rosservice call <service_name> <args>
    

    例如:

    rosservice call /spawn "{x: 2, y: 3, theta: 0, name: 'turtle2'}"
    

6. 参数服务器(Parameter Server)

  • 查看所有参数

    rosparam list
    
  • 获取参数值

    rosparam get <param_name>
    
  • 设置参数值

    rosparam set <param_name> <value>
    
  • 删除参数

    rosparam delete <param_name>
    

7. 日志和调试

  • 显示日志输出

    rosconsole
    
  • 记录rosbag文件

    (记录消息数据,便于之后分析):

    rosbag record -O <filename> /topic1 /topic2 ...
    
  • 播放rosbag文件

    rosbag play <filename>
    
github