Try   HackMD

git push to Github

可以參考的 git commit style

scl_amr

cd ~/ros2_ws/src/scl_amr/
git add .
git commit -m "nav2 : data" 
git push -u origin main

# ERROR : Please commit your changes or stash them before you merge.
git reset --hard
git pull

# back to last version
git reset --hard HEAD

mechatronics system

main (sencor + tf + chassic)

cd ~/ros2_ws/
source install/setup.bash
ros2 launch scl_amr mechatronics.launch.py

keyboard control

ros2 run teleop_twist_keyboard teleop_twist_keyboard

TF + sensor

cd ~/ros2_ws/
source install/setup.bash
ros2 launch scl_amr sensor.launch.py

encoder data

ros2 topic echo /encoder_right
ros2 topic echo /encoder_left
ping 192.168.0.10
ping 192.168.1.11

only TF

cd ~/ros2_ws/
source install/setup.bash
ros2 launch scl_amr AMR_model.launch.py

Off-Line SLAM

Record baf file

cd ~/ros2_ws/src/scl_amr/bagfile/
ros2 bag record -a -o b1_2rounds_no_vehivle

DLIO SLAM

# bag 
cd ~/ros2_ws/src/scl_amr/bagfile/
ros2 bag play b1_2rounds_no_vehivle

# slam
cd ~/ros2_ws/
source install/setup.bash
ros2 launch scl_amr dlio.launch.py

# save pcd
cd ~/ros2_ws/
source install/setup.bash
ros2 service call /save_pcd direct_lidar_inertial_odometry/srv/SavePCD "{'leaf_size': 0.1, 
'save_path': '/home/scl/ros2_ws/src/scl_amr/map/'}"

# pcd view
pcl_viewer ~/ros2_ws/src/scl_amr/map/dlio_map.pcd

# pointcloud_to_2dmap_ros2
ros2 launch pointcloud_to_2dmap_ros2 pointcloud_to_2dmap.launch.py

Fast_lio SLAM

# bag 
cd ~/ros2_ws/src/scl_amr/bagfile/
ros2 bag play b1_2rounds

# slam
cd ~/ros2_ws/
source install/setup.bash
ros2 launch scl_amr offline_faster_lio.launch.py

# save pcd
ros2 service call /map_save std_srvs/Trigger

# pcd view
pcl_viewer ./src/scl_amr/map/test.pcd

# pcd2pgm
ros2 launch pcd2pgm pcd2pgm.launch.py
ros2 run nav2_map_server map_saver_cli -f /home/scl/ros2_ws/src/scl_amr/map/test
cd ~/ros2_ws/
source install/setup.bash
ros2 launch scl_amr mechatronics.launch.py

cd ~/ros2_ws/
source install/setup.bash
ros2 launch scl_amr dlio.launch.py

cd ~/nav2_ws/
source install/setup.bash
cd ~/ros2_ws/
source install/setup.bash
ros2 launch scl_amr navigation_bringup_launch.py

cd ~/nav2_ws/
source install/setup.bash
cd ~/ros2_ws/
source install/setup.bash
ros2 launch scl_amr single_navigate_and_log.launch.py mode:=1

cd ~/nav2_ws/
source install/setup.bash
cd ~/ros2_ws/
source install/setup.bash
ros2 launch scl_amr multi_navigate_and_log.launch.py log_csv:=5.csv

Clear global costmap

ros2 service call /global_costmap/clear_entirely_global_costmap nav2_msgs/srv/ClearEntireCostmap "{}"

Clear local costmap

ros2 service calllocal_costmap/clear_entirely_local_costmap nav2_msgs/srv/ClearEntireCostmap "{}"

rviz copy

cp /home/scl/ros2_ws/install/scl_amr/share/scl_amr/rviz/nav2_scl.rviz /home/scl/ros2_ws/src/scl_amr/rviz/

Map server

rviz2
# add map topic, add topic name 'map'

ros2 launch scl_amr map.launch.py

# ros2 run nav2_map_server map_server --ros-args --params-file ~/ros2_ws/src/scl_amr/config/map_server_params.yaml

# ros2 lifecycle set /map_server configure
# ros2 lifecycle set /map_server activate

AMCL localization

ros2 launch scl_amr mechatronics.launch.py

ros2 launch rf2o_laser_odometry rf2o_laser_odometry.launch.py

rviz2

ros2 launch nav2_bringup localization_launch.py
然後要拉 2D pose estimate

常用指令

編譯專案

rosdep install --from-paths src --ignore-src -r -y --rosdistro humble
colcon build --symlink-install
source install/setup.bash

Source 設定

source ~/nav2_ws/install/setup.bash
source ~/ros2_ws/install/setup.bash

依賴更新

rosdep update
rosdep install --from-paths src --ignore-src -r -y --rosdistro humble

移除及檢查已安裝的 Packages

sudo apt remove ros-humble-navigation2
sudo apt autoremove
sudo apt list --installed

about tf

ros2 run rqt_tf_tree rqt_tf_tree --force-discover


ros2 run tf2_ros tf2_echo map odom