ROS基础环境的配置

创建ROS用户

我们创建一个eaibot的用户,用于ROS操作。

sudo useradd  -s /bin/bash -m eaibot
passwd eaibot

为该用户添加sudoer权限,并在执行sudo操作免密码输入的繁琐。方法为在/etc/sudoer文件中添加下面一行,注意以root用户权限使用vim编辑,保存修改的文件使用“wq!”强制保存。

eaibot  ALL=(ALL) NOPASSWD:ALL

时间同步

设置时区

sudo cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

手工操作

sudo apt-get install ntpdate
sudo ntpdate pool.ntp.org

如果报如下错误:

24 Jun 16:50:14 ntpdate[3495]: the NTP socket is in use, exiting

需要先停掉ntp再同步

sudo service ntp stop
sudo ntpdate pool.ntp.org

添加串口访问权限

arduino或激光雷达等外部设备一般使用串口和ROS通讯,所以需要用户拥有串口的读写权限。大部分的串口都属于dialout用户组。所以把eaibot用户加入dialout组就拥有串口访问权限。命令如下:

sudo usermod -a -G dialout eaibot

重启机器使其生效。

设置ROS环境变量

我们把下面内容同时添加在~/.bashrc和 ~/.profile下面

echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

小知识 ~/.bashrc和 ~/.profile区别
要区分 ~/.bashrc和 ~/.profile的用途,首先区分下“login shell”和“no-login shell”。

login shell

代表用户登入, 比如使用 “su -“ 命令, 或者用 ssh 连接到某一个服务器上, 都会使用该用户默认 shell 启动 login shell 模式.

no-login shell

而 no-login shell 的情况是我们在终端下直接输入 bash 或者 bash -c “CMD” 来启动的 shell.

在 login shell模式下的 shell 会去自动执行 /etc/profile 和 ~/.profile 文件, 但不会执行任何的 bashrc 文件的脚本。
在no-login shell 该模式下是不会自动去运行任何的 profile 文件,只会执行/etc/bash.bashrc和~/.bashrc

创建ROS工作空间

创建一个属于自己的ROS工作空间

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_init_workspace
catkin_make

创建ROS包

cd ~/catkin_ws/src
catkin_create_pkg test std_msgs rospy roscpp
catkin_make --pkg test
source ~/.bashrc

如果一个项目包含多个ROS包,创建方法如下:

cd ~/catkin_ws/src
mkdir projectxx
cd projectxx
catkin_create_pkg subproj1 std_msgs rospy roscpp
catkin_create_pkg subproj2 std_msgs rospy roscpp
catkin_create_pkg subproj3 std_msgs rospy roscpp
...
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值