ROS2个人技术文档(采用docker官网的ros2容器)

776 阅读3分钟

docker的对ros2的按照和简单配置以及操作****

首先在虚拟机进行docker的配置

curl -fsSL get.docker.com -o get-docker.sh  //获取docker官方提供的安装shell。

sudo sh get-docker.sh   //启动shell

 

 

sudo usermod -aG docker $USER  //以非root权限进行root的管理

newgrp docker

 

sudo systemctl enable docker.service //将docker配置为开机时启动

sudo systemctl enable containerd.service

 

 

最后登入输入命令

docker login ghcr.io //在GitHub的容器表进行注册

/////////////////////////////////////////////////////////////

· //Username 为 Github 用户名

· Password 为具有 read:packages 权限的 PAT

· PAT自己百度,在GitHub的用户那里进行获取

/////////////////////////////////////////////////////////////

 

 

 

安装好后,

//在dockers中拉取官方已经写好的镜像

sudo docker pull osrf/ros:foxy-desktop

image.png  

//拉取完之后进入安装好的镜像

sudo docker run -it osrf/ros:foxy-desktop

  

image.png  

 

可以使用 ros2 -h查看是否安装成功

image.png

这样就是安好了。

接下来就是要注意的了,网上很多是没有讲清楚的。

docker是一个容器,它把你的本机和在docker里面的东西隔开了,所以你想使用docker镜像的时候要先进入对应的容器。

也就是前面那个指令

sudo docker run -it osrf/ros:foxy-desktop

image.png

到这个界面之后就可以使用ros2的功能了

之后有一点就是,因为我们使用的是镜像不是在本机安装的ros2,

所以我们想使用一些可视化的时候需要在主机(我这里是windows)安装一个软件,我会在群发。

image.png

安装之后新建就可以直接用了,然后这里还有一步,就是保证这个软件随机给你配的局域网和你虚拟机下docker对应的容器的局域网相同。

如:

我这里是

image.png

所以我需要在容器中配置相同的,

这样就配好了,如果你没有在根文件里面设置,则每次你开启一个新的窗口都要重新这样设置,

image.png 这样就配好了,如果你没有在根文件里面设置,则每次你开启一个新的窗口都要重新这样设置, 不然就会报这个错误,

image.png  

配完局域网之后,

输入

ros2 run turtlesim turtlesim_node

开启一个节点。

就会有

  image.png

之后如果想用键盘对它进行控制,

则再开一个新的端,进行刚刚的步骤,然后输入,

ros2 run turtlesim turtle_teleop_key

image.png

 

 

 

最后如果你还是不放心,则在两个端口分别输入

ros2 run demo_nodes_cpp talker

 

ros2 run demo_nodes_cpp listener

 

 

这样也是验证信息互通的一种方式。

image.png

 

这里只是开始,推出这个安装的目的是,为了让后来的人少踩坑,能用更多的时间去学技术而不是配置。****




——2022.6.23 Lee****


 

rqt的简单使用介绍****

根据官方文档:docs.ros.org/en/foxy/How…

这回我们学习的是,ros2在rqt的基本操作。

首先,我们还是重复之前的步骤,通过docker进入ros2容器,进行相应的操作。

 

sudo docker run -it osrf/ros:foxy-desktop****


之后就是打开

image.png

之后就是确定局域,前面和上面讲的一样。

 

之后我们就输入

image.png

之后就会出现这个界面,

image.png

之后

我们在Plugins中选择对应的servers

image.png这里我们选的是Caller,

如果你没有看到这个服务,

关掉这个窗口,

输入

rqt --force-discover

image.png

这个是回到根目录。

 

这里我们做一个小操作,来熟悉servers,

  image.png

我们这里进入spawn的server,这里可以产生我们的新乌龟。

我们可以设置它的对应坐标主题名字。

image.png

image.png

设置好之后点击Call就可以产生了。

 

就会出现两只乌龟的信息。

image.png

image.png

 

之后你还可以给已经有的乌龟设置一些属性,

image.png

 

 

如果你想控制两只乌龟,

需要在建立一个新的窗口,然后进入ros2容器,输入 

ros2 run turtlesim turtle_teleop_key --ros-args --remap turtle1/cmd_vel:=turtle2/cmd_vel

 

——Lee 2022.7.26