安装
apt install ros-melodic-desktop-full
rosdep update
echo “source /opt/ros/indigo/setup.bash” >> ~/.bashrc
- 添加源码编译的时候,每次启动都要source ./devel/setup.bash 否则terminal启动覆盖
- 不添加,terminal默认找不到roscore等命令,只能在vscode中调用ros terminal
source ~/.bashrc
sudo apt-get install python-rosinstall
官网:https://www.ros.org
异常
-
roscore启动失败后调试(whereis roscore查看路径):
python -m pdb roscore路径
write_pid_file写文件权限不够(chmod 777 -R 路径)roscore启动roscore和rosmaster两个进程
另起2个终端运行,测试内置的小乌龟程序是否正常
rosrun 包名 节点名(源码包编译的文件lib文件夹下):- rosrun turtlesim turtlesim_node
- rosrun turtlesim turtle_teleop_key
- roslaunch 运行launch文件,打开多个节点
-
poll failed with error Interrupted system call
断点调试问题
查看程序响应rosnode ping 节点 -
roscore cannot run as another roscore/master is already running
killall -9 roscore
killall -9 rosmaster
命令
rosdep或者catkin安装包的依赖项
rosnode查看进程(节点、/全局命令空间、~私有命令空间(产生的默认路径不同https://blog.csdn.net/jack_20/article/details/70746736))
- rosnode list
- rosnode cleanup清楚
- rosnode ping
- rosnode info 节点
通过info中的direction判断输入输出,连接两个节点进行通信
rosmsg通信数据类型
rostopic节点发布消息道话题,订阅发布
rosparam获取节点参数
rossrv通信过程 ----符号,分割请求和响应
rospack find 包名(tab键,rospack通过package.xml查找包)
rospack depends 包名(查看包的依赖)
rosstack find stack名(一个stack包含多个包)
roscd 包名(tab键,进入包后,…/…/lib/相同目录下可以查询节点名称)
rosls 包名(tab键)
rosmake pack1 pack2
rospy python客户端
roscpp C客户端
rosjava java客户端
rosed 包名 文件名(vim编辑器)
rosinstall 安装包
catkin_init_worksapce 拷贝ros系统下的cmakelists.txt文件
catkin_make 源码放在src目录,生成cmakelists.txt失败清空build目录,catkin_make编译src下的所有文件夹
catkin_make编译生成build和devel文件夹,source devel/setup.bash 临时启用ros包
cmakelists.txt中catkin_package查找catkin包,devel目录下的lib文件夹包含包和节点,rosrun自动搜索src下的所有文件
vscode插件
vscode安装ros插件,可以调试和查询ros系统中所有节点,
ros startcore 启动roscore并调用source ./devel/setup.bash
ros showstatus 查看rosnode list
调试:launch.json program的value改为,devel下面的节点路径即可
vscode调试不能命中断点,检查是否有pdb文件生成,否则
- catkin_make -DCMAKE_BUILD_TYPE=Debug
可添加vscode任务,配置catkin_make(ros插件),Ctrl+F7执行默认编译任务(文件->首选项菜单,查看键盘快捷键)。
参考https://blog.csdn.net/fb_941219/article/details/84453645
模拟
ros模拟
- rviz(ros的三维可视化平台)
- rviz -d rviz文件
- rqt(ros二维可视化平台)
gazebo模拟
- 兼容ros系统
v-rep模拟
- ./vrep.sh启动,集成了很多资源
参考
https://www.ncnynl.com/archives/201608/497.html