赞
踩
一 从其他主机搬运源代码
1 ssh连接局域网其他主机找源代码
ros2_ws是我们的目标程序包,我们要把这个程序包整体拷贝到工控机。
远程拷贝命令:scp -r ros2@192.168.0.109:~/ros2_ws ./
解释:-r 拷贝整个文件夹 从远程主机文件目录ros2@192.168.0.109:~/ros2_ws 到本机当前目录 ./,查看局域网主机ip命令用: ifconfig
程序包搬运完成,打开本机主文件夹,能看到ros2_ws文件夹。
src文件夹内是源文件,其他是编译产物,全部删除,只留下src文件夹。
至此所有的源文件都被搬运到工控机。
把ros2_ws/install/setup.bash加入 .bashrc环境变量:
echo source ~/ros2_ws/install/setup.bash >> ~/.bashrc
二 编译源代码
很多功能包一起编译出了错不好处理,所以还是分开编译,用命令:
colcon build --packages-select 包名
注意:包名并不一定是文件夹名称,打开package.xml <name>包名</name> ,2个name中间的才是包名,这个小坑我也是很长时间才明白。
1 编译雷达包:
sudo gedit /etc/udev/rules.d/usb.rules 绑定usb端口
KERNELS=="1-1.2:1.0", MODE:="0777", GROUP:="dialout",SYMLINK+="wheeltec_laser"
sudo udevadm control --reload-rules && sudo udevadm trigger #不关机启用配置
sudo apt install ros-foxy-diagnostic-updater //安装依赖包
sudo apt-get install libpcap-dev //安装依赖包
cd ros2_ws
colcon build --packages-select lslidar_driver lslidar_msgs //编译
ros2 launch lslidar_driver lsm10_uart_launch.py //启动雷达
参考:
在ros2 foxy安装镭神M10激光雷达_JT_BOT的博客-CSDN博客
2 编译底盘速度控制程序:
rikibot_foc_driver serial-ros2 riki_msgs 底盘驱动需要这三个包支持
//安装serial库文件
cd serial_ros2
sudo rm -rf build && mkdir build
cd build
cmake ..
make
sudo make install
//编译rikibot_foc_driver
cd ros2_ws
colcon build --packages-select rikibot_foc_driver riki_msgs serial
usb串口绑定
sudo gedit /etc/udev/rules.d/usb.rules //打开usb规则
KERNELS=="3-1:1.0", MODE:="0777", GROUP:="dialout", SYMLINK+="ttyTHS1" //串口起别名
sudo udevadm control --reload-rules && sudo udevadm trigger//不重启电脑配置usb设备
//启动底盘节点
source install/setup.bash
ros2 launch rikibot_foc_driver rikibot_foc_driver.launch.py //启动底盘launch
ros2 run teleop_twist_keyboard teleop_twist_keyboard 启动键盘
轮子可以在键盘控制节点下转动了,到此底盘速度控制代码安装完成。
3 编译底盘base基础包 模型包 jtbot jtbot_description:
sudo apt install ros-$ROS_DISTRO-joint-state-publisher ros-$ROS_DISTRO-robot-state-publisher //安装关节发布节点
colcon build --packages-select jtbot //编译底盘基础包
colcon build --packages-select jtbot_description //编译模型包
4 安装激光雷达slam建图包
sudo apt install ros-$ROS_DISTRO-cartographer
sudo apt install ros-$ROS_DISTRO-cartographer-ros
ros2 launch jtbot_cartographer cartographer.launch.py //运行建图节点
sudo apt install ros-$ROS_DISTRO-nav2-map-server
cd src/jtbot_cartographer/ && mkdir map && cd map
ros2 run nav2_map_server map_saver_cli -t map -f jtbot_map //保存地图
5 安装激光雷达nav2导航
sudo apt install ros-$ROS_DISTRO-nav2-*
#修改nav2_params.yaml配置文件
robot_radius: 0.35 //修改机器人半径 inflation_radius: 0.1 //修改膨胀地图半径
colcon build --packages-select jtbot_cartographer //编译建图包
colcon build --packages-select jtbot_navigation2 //编译导航包
colcon build --packages-select jt_launch //编译launch包
6 安装orb_slam3
参考:想学ORB_SLAM3,先从编译开始,编译通不过,一切都是浮云_JT_BOT的博客-CSDN博客
6.1 安装c++编译软件
- sudo apt update
- sudo apt install git cmake gcc g++
6.2 安装EIGEN3
sudo apt-get install libeigen3-dev
6.3 安装pangolin0.6
安装依赖
sudo apt install libglew-dev libpython2.7-dev
下载源码 Source code (tar.gz) 解压到主目录,下载网址:
https://github.com/stevenlovegrove/Pangolin/releases/tag/v0.6
安装命令
- cd Pangolin-0.6
- mkdir build
- cd build
- cmake ..
- make
- sudo make install
6.4 安装c++版 opencv4.4
远程拷贝局域网代码包:scp -r ros2@192.168.0.109:~/opencv4.4 ./
- cd opencv4.4
- rm -rf build
- mkdir build
- cd build
- cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.4.0/modules ../opencv-4.4.0
- make -j4
- sudo make install
安装参考 :
ubuntu 20.4完全卸载opencv 安装opencv 4.4_ubuntu卸载opencv4_JT_BOT的博客-CSDN博客4.5 6.5 编译orbslam3
- cd ORB_SLAM3
- chmod +x build.sh
- ./build.sh
6.6 安装orbslam3_ros2
这是orbslam3针对ros2的程序,需要修改话题和自己的摄像头发布的话题一致。
- cd ros2_ws
- colcon build --symlink-install --packages-select orbslam3
参考:ros2机器人foxy版用笔记本摄像头跑单目orb_slam3_JT_BOT的博客-CSDN博客
以上是我的工控机崩溃重装的全部过程。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。