1./etc/udev/rules.d/imu.rules 添加以下内容(需要创建文件)
# set the udev rule , make the device_port be fixed by imu
#
KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{version}==" 2.00", MODE:="0777", SYMLINK+="imu"
2.xiugaiyonghuming
1. 使用root用户权限
sudo su
进入root用户权限。
2. 修改 /etc/passwd用户信息文件
gedit /etc/passwd
找到代表原用户名的那一行,将用户名和后面的用户文件夹目录都修改为新用户名,保存并关闭。
如果没有gedit工具需要先下载gedit,使用其他的文本编辑工具也可以,比如vim。
3. 修改 /etc/shadow用户密码文件
gedit /etc/shadow
找到原用户名对应的地方,修改旧的用户名为新用户名,保存并关闭。
4. 修改 /etc/group用户组文件
gedit /etc/group
这里面会有很多包含旧用户名的组,全部改成新用户名,保存并关闭。
5. 修改用户文件夹目录
这里的文件夹目录是和/etc/passwd中的用户文件夹目录对应的,那里修改了文件夹目录,这里也要修改,如果二者不对应,将无法正常登录。使用以下命令进行修改,比如要将旧的用户名gy,修改为新的用户名rubber,则命令应写为
mv /home/gy /home/rubber
到这一步用户名就修改完成了,重启系统,使用新用户名登录进入。如果登录的时候依然显示的是原来的用户名,可以在图形界面点击右上角的倒三角,点击用户,进入Account Settings界面,在这里将旧用户名改为新用户名即可。
3.将当前用户添加到 ttyS2的组内
rubber@gy-Computer:~$ ls -l /dev/ttyS2
crw-rw---- 1 root dialout 4, 66 4月 13 12:02 /dev/ttyS2
当前组为 dialout 将当前用户rubber添加到dialout
rubber@gy-Computer:~$ sudo usermod -aG dialout rubber
重启用户
查看当前用户是否在组内
rubber@gy-Computer:~$ groups
rubber adm dialout cdrom sudo dip plugdev lpadmin lxd sambashare
3.修改对应的IP修改两个网口的ip对应机械臂和imu在同一个网段
5使用sudo命令时无需输入密码,您可以按照以下步骤进行设置:
打开终端或命令行窗口。
输入以下命令以编辑sudoers文件:
sudo visudo
在打开的文件中,找到以"root ALL=(ALL) ALL"开始的一行。
在该行下面添加以下内容(其中rubber是您的用户名):
rubber ALL=(ALL) NOPASSWD: ALL
保存文件并退出编辑器。
重新启动终端或命令行窗口。
设置完成后,您在使用sudo命令时将不再需要输入密码。
Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.
### **0.1.ubuntu系统安装**
插入u盘,开机,按`del`进入BIOS面板,进入`Advanced`下的`CSM Configuration`,更改`CSM Support`选项为`Enabled`,进入`boot`选项,选择无uefi的选项为`boot option1#`,`f4`保存重启,按`shift`,选U盘启动,进入ubuntu系统安装。
### **0.2.ubuntu系统安装配置ros**
进入fishros一键换源
```bash
$ wget -O fishros && . fishros
```
进入fishros一键配置ros
```bash
$ wget -O fishros && . fishros
```
source /home/rubber/rubber_tapping_robot/carto_ws/devel_isolated/setup.bash source /home/rubber/rubber_tapping_robot/rubber_ws/devel/setup.bash # <<< fishros initialize <<< LD_LIBRARY_PATH=/home/rubber/rubber_tapping_robot/rubber_ws/devel/lib:/home/rubber/rubber_tapping_robot/carto_ws/devel_isolated/cartographer_rviz/lib:/home/rubber/rubber_tapping_robot/carto_ws/install_isolated/lib:/opt/ros/noetic/lib:/opt/ros/noetic/lib/x86_64-linux-gnu:/home/rubber/rubber_tapping_robot/rubber_ws/src/aubo_robot_rubber/aubo_driver/lib/lib64/aubocontroller:/home/rubber/rubber_tapping_robot/rubber_ws/src/aubo_robot_rubber/aubo_driver/lib/lib64/config:/home/rubber/rubber_tapping_robot/rubber_ws/src/aubo_robot_rubber/aubo_driver/lib/lib64/log4cplusexport ENV_ROBOT_TYPE='0001' export ENV_ROBOT_ID='a002'
### **1.1.获取源码**
通过U盘拷贝整个 rubber_tapping_robot 到家目录下
``'''''''
1.
sudo apt-get update
sudo apt-get install -y python3-wstool python3-rosdep ninja-build stow
3.需要通国小鱼 wget -O fishros && . fishros 安装 rosdepc!!!!!!!!!!!!!
rosdepc update
rosdepc install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
set -o errexit
set -o verbose
cd abseil-cpp
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/usr/local/stow/absl ..
ninja
sudo ninja install
cd /usr/local/stow
sudo stow absl
cd ~/rubber_tapping_robot/carto_ws
catkin_make_isolated --install --use-ninja
#### 1.2.1. AprilTag(源码编译)
直接copy或运行命令
```bash
git clone .git
cd apriltag
cmake .
sudo make install
cd ..
sudo rm -rf apriltag
```
#### 1.2.2. Sophus(源码编译)
直接copy或运行命令
```
git clone .git
cd Sophus
git checkout a621ff
mkdir build
cd build
cmake ..
sudo make install
cd ../..
sudo rm -rf Sophus
```
步骤顺利,sudo make install时报错: Sophus/sophus/so2.cpp:32:26:error:lvalue required as left operand of assignment 针对上述报错修改如下:打开Sophus/sophus/so2.cpp修改对应32、33行代码 32 | unit_comples_.real() = 1.; -> unit_comples_.real(1.); 33 | unit_comples_.imag() = 0.; -> unit_comples_.imag(0.);
#### 1.2.3. opencv3.4.5(源码编译)
ubuntu中安装opencv3.4.5
1.opencv的安装
在SSD中需要使用到OPENCV3,那么经过选择安装opencv3.4.5,首先下载opencv3.4.5
打开网址:=4.1.1
选择opencv3.4.5:
选择源代码,tar格式的,右击复制下载链接,使用wget命令下载opencv 源代码,下载之后解压即可
wget .4.
解压命令如下:
tar -xvf 3.4.
解压之后开始编译opencv安装即可。
下面在编译opencv前需要安装一些依赖,使用下面的命令安装依赖项:
首先安装cmake工具,使用下面的命令安装cmake工具:
sudo apt-get install cmake
安装好cmake工具之后,安装一下依赖项
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
安装完依赖项之后,首先进入opencv的目录下,开始使用cmake命令进行编译
cd opencv-3.4.5
创建编译目录
mkdir release && cd release
使用编译命令对opencv3.4.5进行编译
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_OPENGL=ON ..
完成之后使用make命令进行编译,根据自己cpu选择线程数
make -j10
在这一步完成之后输入命令:
sudo make install
至此编译已经完成,接下来添加环境变量:
在位置
sudo gedit /etc/f.f
文件下创建f,在创建好的文件里面添加
/usr/local/lib
如下图:
同时执行命令使得更改生效:
sudo ldconfig
完成这些之后配置bash,具体如下:
在文件/etc/bash.bashrc 的后面添加两行:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
可以借助vim或者winscp实现。之后输入命令
source /etc/bash.bashrc
使得配置生效。并更新数据库:
至此opencv安装完成。
运行命令```bash
sudo apt-key adv --keyserver keyserver.ubuntu --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
sudo add-apt-repository "deb $(lsb_release -cs) main" -u
sudo apt-get install -y librealsense2-dkms librealsense2-utils librealsense2-dev librealsense2-dbg ros-noetic-realsense2-camera
sudo apt-get --yes install ros-noetic-diagnostic-updater -y
sudo apt-get install ros-noetic-realsense2-*sudo apt-get --yes install ros-noetic-ddynamic-reconfigure -y
sudo apt-get --yes install ros-noetic-rgbd-launch
sudo apt install ros-noetic-pcl-ros libeigen3-dev
cd /usr/include
sudo ln -sf eigen3/Eigen Eigen
sudo ln -sf eigen3/unsupported unsupported
sudo apt-get update
sudo apt-get --yes upgrade
```
```bash
$ sudo apt install -y ros-noetic-moveit ros-noetic-moveit-visual-tools ros-noetic-navigation ros-noetic-trac-ik-kinematics-plugin ros-noetic-industrial-core ros-noetic-joy
$ sudo apt install -y build-essential cmake pkg-config libjpeg8-dev libtiff5-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk-3-dev libatlas-base-dev gfortran python2.7-dev ros-noetic-serial
```
直接copy或运行代码
```bash
$ wget .6.1-1.3_amd64.deb
$ sudo dpkg -i libprotobuf9v5_2.6.1-1.3_amd64.deb
```
运行代码
```bash
$ wstool update -t src
```
静态网址设置
enp1s0:192.168.2.1
enp3s0: 192.168.1.102
### **2.3.机器人网口连接**
一般情况下,右侧网口(第一个有线连接)插机械臂,左侧网口(第二个有线连接)插激光雷达。
编写脚本,脚本位置存放在`rubber_tapping_robot/script`中
```shell
/bin/bash
···
···
w$ hile true
do
···
done
```
### **3.2.修改脚本权限**
在脚本存放处打开终端,运行代码
```
chmod +x auto_run.sh
```
```bash
$ gnome-session-properties
```
Command部分添加以下命令
```
gnome-terminal -x bash -c '/home/rubber/rubber_tapping_robot/script/autostart.sh;exec bash'
```
机器人主机安装`x11vnc`与`openssh-server`,远控主机通过deb安装`vncviewer`即可。
机器人主机通过开机自启脚本启动,远程主机运行`vncviewer`并连接机器人IP即可。
### **4.2.VS code-remote ssh插件**
配置时需要主从机连能够接通外网的局域网,以更新server。
### **4.3.远程鱼眼**
使用MJPG-Streamer达到远程观察机器人携带摄像头的用途。
机器人主机安装MJPG-Streamer,并使用remotecam.sh脚本正确启动程序。可能出现/dev/video*对应不上的问题,根据rubber-xcy中的/etc/udev/rules.d/imu.rules中修改相机相应的.rules文件即可解决,保证每次相机连接的都是video0。
远程主机无需额外配置,浏览器地址输入`机器人IP:8080`即可
实机调试之前先仿真调试,使用`roslaunch visual_servo visual_servo_sim.launch`
修改`aubo_ixx_gazebo_control.launch`
修改`(find aubo_ixx_moveit_config)`
除了在示教器以外,还可以在AuboSDK.cpp中修改。
1.启动导航报错
ERROR: cannot launch node of type [move_base/move_base]: move_base
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/home/rubber/rubber_tapping_robot/rubber_ws/src
ROS path [2]=/home/rubber/rubber_tapping_robot/carto_ws/src/cartographer_ros/cartographer_rviz
ROS path [3]=/home/rubber/rubber_tapping_robot/carto_ws/src/cartographer_ros/cartographer_ros
ROS path [4]=/home/rubber/rubber_tapping_robot/carto_ws/src/cartographer_ros/cartographer_ros_msgs
解决方法:
sudo apt install ros-noetic-move-base
2.
ERROR: cannot launch node of type [map_server/map_server]: map_server
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/home/rubber/rubber_tapping_robot/rubber_ws/src
ROS path [2]=/home/rubber/rubber_tapping_robot/carto_ws/src/cartographer_ros/cartographer_rviz
ROS path [3]=/home/rubber/rubber_tapping_robot/carto_ws/src/cartographer_ros/cartographer_ros
ROS path [4]=/home/rubber/rubber_tapping_robot/carto_ws/src/cartographer_ros/cartographer_ros_msgs
ROS path [5]=/opt/ros/noetic/share
解决方法
sudo apt install ros-noetic-map-server
3
.sudo apt install ros-noetic-robot-pose-ekf
4.
[ERROR] [1684392691.155224726]: "chassis_link" passed to lookupTransform argument target_frame does not exist.
[ WARN] [1684392691.160409645]: link 'imu_link' material 'orange' undefined.
process[landmark_broadcaster-14]: started with pid [4009]
[ INFO] [1684392691.161912122]: lslidar type: c16
process[datatest-15]: started with pid [4017]
[ERROR] [1684392691.192080598]: Unable to open port.
[ INFO] [1684392691.250775610]: output frame: odom
[ INFO] [1684392691.261021295]: Only accepting packets from IP address: 192.168.1.200
[ INFO] [1684392691.261069466]: Opening UDP socket: port 2368
[ INFO] [1684392691.264873838]: Only accepting packets from IP address: 192.168.1.200
[ INFO] [1684392691.264908752]: Opening UDP socket: port 2369
[ INFO] [1684392691.266866106]: return mode: 1
[ INFO] [1684392691.270245406]: base frame: ch[ERROR] [1684392691.155224726]: "chassis_link" passed to lookupTransform argument target_frame does not exist.
[ WARN] [1684392691.160409645]: link 'imu_link' material 'orange' undefined.
process[landmark_broadcaster-14]: started with pid [4009]
[ INFO] [1684392691.161912122]: lslidar type: c16
process[datatest-15]: started with pid [4017]
[ERROR] [1684392691.192080598]: Unable to open port.
[ INFO] [1684392691.250775610]: output frame: odom
[ INFO] [1684392691.261021295]: Only accepting packets from IP address: 192.168.1.200
[ INFO] [1684392691.261069466]: Opening UDP socket: port 2368
[ INFO] [1684392691.264873838]: Only accepting packets from IP address: 192.168.1.200
[ INFO] [1684392691.264908752]: Opening UDP socket: port 2369
[ INFO] [1684392691.266866106]: return mode: 1
[ INFO] [1684392691.270245406]: base frame: chassis_link
[ INFO] [1684392691.278525306]: BASE READY!!!
[ INFO] [1684392691.431160967]: default channel is 8
[imu_sonser_spec-7] process has died [pid 3953, exit code 255, cmd /home/rubber/rubber_tapping_robot/rubber_ws/devel/lib/serial_imu/serial_imu __name:=imu_sonser_spec __log:=/home/rubber/.ros/log/8e02c538-f546-11ed-a249-b9230eb60fa5/imu_sonser_spec-7.log].
log file: /home/rubber/.ros/log/8e02c538-f546-11ed-a249-b9230eb60fa5/imu_sonser_spec-7*.log
assis_link
[ INFO] [1684392691.278525306]: BASE READY!!!
[ INFO] [1684392691.431160967]: default channel is 8
[imu_sonser_spec-7] process has died [pid 3953, exit code 255, cmd /home/rubber/rubber_tapping_robot/rubber_ws/devel/lib/serial_imu/serial_imu __name:=imu_sonser_spec __log:=/home/rubber/.ros/log/8e02c538-f546-11ed-a249-b9230eb60fa5/imu_sonser_spec-7.log].
log file: /home/rubber/.ros/log/8e02c538-f546-11ed-a249-b9230eb60fa5/imu_sonser_spec-7*.log
解决方法:
sudo apt install ros-noetic-global-planner
sudo apt install ros-noetic-dwa-local-planner
5.
/home/rubber/rubber_tapping_robot/rubber_ws/src/lslidar_c16/lslidar_driver/include/lslidar_driver/input.h:24:10: fatal error: pcap.h: 没有那个文件或目录
24 | #include <pcap.h>
| ^~~~~~~~
sudo apt-get update
sudo apt-get install libpcap-dev
6,出现websocket 或者mqtt报错
###需安装websocketpp库:
sudo apt-get install libboost-all-dev
git clone .git
cd websocketpp/
mkdir build
cd build/
cmake ..
sudo make install
sudo apt install python3-websocket
###MQTT安装paho.mqtt.c-1.3.0.zip这个包的源码###
源码在:.git
下载编译安装一下:
本文发布于:2024-01-28 13:36:01,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064201677783.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |