ROS 操作
系统烧录
shell
wget http://fishros.com/install -O fishros && . fishros1
!!! note "no directory" 切换到bash使用 可以把 . fishros 替换成 bash fishros
注意安装 desktop 版本而不是 sever 版本
shell
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesmi turtle_teleop_key1
2
3
2
3
软件安装
PlotJuggler 画图工具
shell
sudo apt-get install ros-noetic-plotjuggler1
shell
roscore
rosrun plotjuggler plotjuggler1
2
2
然后通过 File–>Load Data 导入CSV或rosbags数据,然后把对应的 topic 数据拖到右侧就可以了。
如果加载 .bag 文件的时候不支持加载 .bag 文件,那么需要安装包ros-noetic-plotjuggler-ros
shell
sudo apt-get install ros-kinetic-plotjuggler-ros1
htop 系统监控工具
shell
sudo apt-get install htop1
ROS操作
创建
shell
roscore1
shell
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace1
2
3
2
3
shell
cd ~/catkin_ws
catkin_make1
2
2
如果出现时间问题
- 删除
devel与build文件夹 - 先进入系统设置调整时区
执行
| 命令 | 重要度 | 详细说明 |
|---|---|---|
rosrun | ★★★ | 运行节点 |
roslaunch | ★★★ | 运行多个节点及设置运行选项 |
rosclean | ★★☆ | 检查或删除 ROS 日志文件 |
topic
| 命令 | 详细说明 |
|---|---|
rostopic bw | 测量消息发布所占用的带宽 |
rostopic delay | 显示话题中消息的延迟 |
rostopic echo | 查看某个话题上发布的消息 |
rostopic find | 按类型查找话题 |
rostopic hz | 测量消息发布的频率 |
rostopic info | 获取更多关于话题的信息 |
rostopic list | 获取当前活跃的话题 |
rostopic pub | 发布数据到话题 |
rostopic type | 打印话题类型 |
shell
rostopic list1
shell
rostopic info /topic_name1
shell
rostopic echo /topic_name1
shell
rostopic type <topic_name> | rosmsg show1
将<topic_name>替换为你要查看的话题名称,该命令将显示该话题消息的字段和数据类型。
查看信息
rosmsg
shell
rosmsg show1
service
shell
rosservice list1
shell
rosservice call [service] [args]1
shell
rosservice type [service] | rossrv show1
shell
rosparam set [parame_name] [args] + rosservice call clear1
shell
rosparam get [parame_name]1
shell
rosparam load [file_name] [namespace]1
shell
rosparam delete1
bag
会在当前目录下生成一个bag.active文件,说明正在记录数据;按Ctrl+C停止记录,生成bag文件。
shell
rosbag record -a1
shell
rosbag record -O subset <topic1> <topic2>1
shell
rosbag info <bagfile_name>1
shell
rosbag play (-r 2) <bagfile_name>1
功能包
rosinstall安装 ROS 附加功能
可视化
rviz
- rviz 操作:平移,2d,视角转换,家
rqt
输入
shell
rosrun rqt_graph rqt_graph
rosrun rqt_plot rqt_plot1
2
3
2
3
可以打开一个界面观察节点与话题的关系 绿色和蓝色的是节点 红色的是话题
外设
风扇
风扇安装与控制
shell
sudo sh -c 'echo 255 > /sys/devices/pwm-fan/target_pwm'
sudo vi /etc/rc.local
sudo chmod 755 /etc/rc.local1
2
3
2
3
shell
#!/bin/bash
sleep 10
sudo /usr/bin/jetson_clocks
sudo sh -c 'echo 255 > /sys/devices/pwm-fan/target_pwm'1
2
3
4
2
3
4
摄像头
shell
#查看摄像头
rqt_image_view1
2
2
蓝牙
jetson nano 之 (6):配置蓝牙音响 – 走着的博客 (openpilot.cc)英伟达 Jetson Nano 新手必备:连接蓝牙音频jetson nano 链接音响许野平的博客-CSDN 博客
激光雷达
shell
#gmapping slam
roslaunch clbrobot bringup.launch
roslaunch clbrobot lidar_slam.launch
#hector slam
roslaunch clbrobot bringup.launch
roslaunch clbrobot hector_slam.launch
rviz
open "slam.rviz"
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
roscd clbrobot/maps/
./map.sh
#Karto SLAM
roslaunch clbrobot bringup.launch
roslaunch clbrobot karto_slam.launch
rviz
open "slam.rviz"
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
#Cartographer SLAM 算法构建地图
roslaunch clbrobot bringup.launch
roslaunch clbrobot rplidar.launch
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
roslaunch clbrobot cartographer_slam.launch
rviz
open config "cartographer.rviz"1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
??? note "jetson Nano 小车"
shell
ifconfig
#底盘
roslaunch clbrobot bringup.launch
#键盘操控
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
小写 & 大写字母
#imu校正
roslaunch clbrobot bringup.launch
rosrun imu_calib do_calib
按照提示调整小车,并按照指示按下enter
#线速度修正
roslaunch clbrobot bringup.launch
rosrun clbrobot_nav calibrate_linear.py
rosrun rqt_reconfigure rqt_reconfigure
设定1m,最后一栏记录实际值,多次实验平均
roscd clbrobot/launch
gedit bringup.launch
#角速度修正
roslaunch clbrobot bringup.launch
rosrun clbrobot_nav calibrate_angular.py
rosrun rqt_reconfigure rqt_reconfigure
#雷达启动
#相机启动
roslaunch clbrobot camera.launch
roslaunch clbrobot clbrobot_web.launch
IP:8080
#相机建图
roslaunch clbrobot bringup.launch
roslaunch clbrobot astra_xtion_gmapping.launch
rviz
打开 home/catkin_ws/src/clbrobot_project/clbrobot/rviz/slam.rviz
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
roscd clbrobot/maps
./map.sh
#相机导航
roslaunch clbrobot bringup.launch
roslaunch clbrobot astra_navigate.launch
rviz
nav goal
#避障
roslaunch clbrobot bringup.launch
roslaunch clbrobot_follower follower.launch
#手机
roslaunch clbrobot bringup.launch
roslaunch clbrobot camera.launch
roslaunch clbrobot lidar_slam.launch
roscd clbrobot/maps
./map.sh
#巡线
roslaunch clbrobot bringup.launch
roslaunch clbrobot camera.launch
roslaunch clbrobot_line_follower clbrobot_line.launch
#二维码识别
roslaunch clbrobot bringup.launch
roslaunch clbrobot camera.launch
roslaunch clbrobot_ar_track clbrobot_ar_camera.launch
roslaunch clbrobot_ar_track clbrobot_ar_large_markers.launch
roslaunch clbrobot_ar_track clbrobot_ar_tags_cog.launch
roslaunch clbrobot_ar_track clbrobot_ar_follower.launch
#多点导航
roslaunch clbrobot bringup.launch
roslaunch clbrobot navigate.launch
rviz
open "navigate.rviz"
use "2D Pose Estimate"
use "Publish Point" to choose dots to be passed
roslaunch clbrobot_hand_pose clbrobot_hand_pose.launch
roslaunch clbrobot_object_detect clbrobot_face_object.launch
```
## 三方库
### darknet
```shell
catkin_make -DCATKIN_WHITELIST_PACKAGES="darknet_ros"
roslaunch clbrobot bringup.launch
roslaunch clbrobot camera.launch
roslaunch darknet_ros darknet_ros.launch
roscd darknet_ros/script
python ObjectLocation.py
roslaunch clbrobot astra_navigate.launch1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
darknet-yolov3 训练自己的数据集,并测试训练结果_dota 数据集在 yolov3 训练结果_pd 很不专业的博客-CSDN 博客
Jetson Nano 之 ROS 入门 -- YOLO 目标检测与定位_ros 目标检测_szu_ljm 的博客-CSDN 博客