Day1~now#

太神秘了arm64+ubuntu20.04

环境配置#

ssh#

虽然最后还是懒得ssh了

Host alias
    HostName 192.168.31.30
    User agilex

vscode#

喜提vscode底层框架与沙箱机制冲突 发现code --no-sandbox可以解决,遂:

sudo vim /usr/share/applications/code.desktop

修改为 Exec=/usr/share/code/code --no-sandbox %F

docker#

安装#

尝试sudo apt-get update但报错ROS软件源的数字签名密钥过期,导入新秘钥

curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

然后再更新

sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/apt/sources.list.d/docker.list
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

添加 Docker 的官方 GPG 密钥

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

写入软件源地址

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装 Docker Engine

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

将当前用户加入Docker用户组

sudo usermod -aG docker $USER
newgrp docker

配置图形化转发#

忘了怎么配了,要用再说(

熟悉遥控器#

左右电源开关同时按下开关机
左侧第二个SWB切换控制模式:

  • 上:导航模式,接收/cmd_vel

  • 中:手控

  • 下:?

右侧SWC开关切换速度档位,最上低速,最下高速

导航#

居然没怎么配置雷达直接就ping通了

建图#

cartographer的launch文件居然妹有了,只能跑gmapping了

浅改了一下终端配置,以后就不需要反复输source /opt/ros/noetic/setup.bash source ~/agilex_ws/devel/setup.bash

发布baselink2laserlink

roslaunch scout_bringup open_rslidar.launch

启用建图

roslaunch scout_bringup gmapping.launch

保存地图

rosrun map_server map_saver -f ~/agilex_ws/src/scout_ros/scout_description/maps/map

get:
../../_images/1-1.png

导航#

move_base竟然也是/cmd_vel,那感觉架bridge把ros2的cmd_vel转发过去应该是可行的,下一步试试

  • 小坑1,竟然没有重定位,竟然发布目标点之后需要点一下开始导航才开始规划,竟然goal成功了不清除目标点,很神秘吧movebase

  • 小坑2,can通信,没启动can2usb,cmd_vel猛猛发车倒是一点不动,还以为我看漏了:)

发布baselink2laserlink

roslaunch scout_bringup open_rslidar.launch

can通信

rosrun scout_bringup setup_can2usb.bash

启动导航

roslaunch scout_bringup navigation_4wd.launch

懒得每次都要配置can了,写了个开机自启的服务
agilex@agilex-desktop:~$ mkdir -p ~/scripts
agilex@agilex-desktop:~$ gedit ~/scripts/setup_can.sh
agilex@agilex-desktop:~$ chmod +x ~/scripts/setup_can.sh
agilex@agilex-desktop:~$ sudo vim /etc/systemd/system/scout_can.service
agilex@agilex-desktop:~$ sudo systemctl daemon-reload
agilex@agilex-desktop:~$ sudo systemctl enable scout_can.service
Created symlink /etc/systemd/system/multi-user.target.wants/scout_can.service  /etc/systemd/system/scout_can.service.
agilex@agilex-desktop:~$ sudo systemctl start scout_can.service
agilex@agilex-desktop:~$ ifconfig can0
can0: flags=193<UP,RUNNING,NOARP>  mtu 16
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 2999  bytes 23992 (23.9 KB)
        RX errors 0  dropped 2999  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

再见了所有的前摇

改仓库#

emmm居然甚至还没初始化,填了我的邮箱和姓名

目前是src下面的几个子文件夹分别用git管理了,打算还是统一一个git方便一点,把子文件夹的.git全都改成了.git_temp备份,在src重新初始化了一个仓库