2024_7_7
一. Ubuntu安装:
(一)镜像链接:
夸克网盘镜像连接https://pan.quark.cn/s/efc3bb994122
(二)安装参考视频:
一定安装在和Win相同的系统盘,在Bios中才可有切换选项
后面常用的工具软件:
Clash —— Clash Verge Rev下载 | Clash Verge Revhttps://clashvergerev.com/download.html)
EveryThing(fsearch)——ubuntu20.04安装fsearch(linux版everything)_everything ubuntu-CSDN博客文章浏览阅读2.4k次,点赞4次,收藏4次。安装fsearch_everything ubuntuhttps://blog.csdn.net/xiuerzei6/article/details/129742384
安装DEB文件指令示例:sudo dpkg -i /home/linux-console/teamviewer_amd64.deb
(三)终端常用命令
查看当前终端所在路径
pwd
位置变换
cd
查看当前路径下的文件
ls
在当前路径文件夹下创建文件
touch test_file
文件剪切
move test_file /home/canti/桌面
文件复制
cp test_file /home/canti/桌面/test_file_2
文件和文件夹的删除
rm test_file
rm -r test_folder/
更新系统软件源列表
sudo apt-get update
查阅指令使用方法
rm --help
二. ROS——noetic安装
(一)安装
rosdep update
sudo apt update
sudo apt dist-upgrade
小鱼的一键安装系列http://wget http://fishros.com/install -O fishros && . fishros
(二)ROS学习记录
节点和节点管理器
通讯方式
参数(储存在节点管理器中的全局变量)
文件系统
(三)ROS实践1——海龟
小乌龟代码解析
基于QT的可视化工具
rqt_graph
基于rosnode的节点工具(显示节点相关信息)
查看当前系统中的所有节点
rsonode list
查看节点具体信息
rosnode info /节点名称
基于rostopic的话题工具(显示节点话题相关信息)
查看当前运行中的ROS话题列表
rostopic list
点动
rostopic pub 话题名称 ......(TAB自动补全内容)
循环去动 ( 频率为10HZ,每秒发送10次 )
rostopic pub -r 10 话题名称 ......(TAB自动补全内容)
基于rosmsg的话题—消息—结构查看
rosmsg show geometry_msgs/Twist
rosmsg show 话题名称/消息名称
基于rosservice的服务工具
rosservice list(查看服务列表)
rosservice call 服务名称
基于rosbag的话题记录工具(动作记录与复现)
rosbag record -a -O cmd_record——保存记录
-a(保存所有记录到的数据0);-O(将所有的数据保存在一个压缩包中)
cmd_record 数据所在压缩包名称
rosbag play cmd_record.bag ——复现记录
cmd_record.bag 默认保存在主文件夹
(四)ROS实践2——工作空间与功能包
创建工作空间
catkin系列指令——ros定制的编译构建系统,对cmake的扩展。
创建工作空间、
mkdir -p ~canti_ws/src
cd ~/canti_ws/src
catkin_init_workspace
编译工作空间 ( 回到工作空间根目录 )
cd ~/canti_ws
catkin_make
截至此处已经有创建和生成src,devel,build的文件结构
建立编译效果( 产生install文件 )
catkin_make install
设置环境变量
source devel/setup.bash
检查环境变量
echo
创建功能包
创建功能包
cd ~/canti_ws/src
cantkin_create_pkg canti_testpkg std_msgs rospy rpscpp
错误可能
未添加环境变量(未source);下面为检查方法
(五)ROS实践3——发布者Publisher的实现
话题模型
创建功能包
进入工作空间的src目录下创建功能包
cd ~/canti_ws/src
创建学习功能包
catkin_create_pkg canti_topic roscpp rospy std_msgs geometry_msgs turtlesim
创建发布者代码
/***********************************************************************
Copyright 2020 GuYueHome (www.guyuehome.com).
***********************************************************************/
/**
* 该例程将发布turtle1/cmd_vel话题,消息类型geometry_msgs::Twist
*/
#include <ros/ros.h>
#include <geometry_msgs/Twist.h>
int main(int argc, char **argv)
{
// ROS节点初始化,创建一个名为“velocity_publisher”的节点
ros::init(argc, argv, "velocity_publisher");
// 创建节点句柄(创建了一个 ros::NodeHandle 对象,通常简称为 n)
// NodeHandle 是ROS中用于管理节点资源的类,
// 它提供了订阅话题、发布消息、服务调用、参数获取等功能。
// 每个节点至少有一个 NodeHandle 对象,它允许节点与ROS通信系统交互。
ros::NodeHandle n;
// 创建一个Publisher,发布名为/turtle1/cmd_vel的topic,消息类型为geometry_msgs::Twist,队列长度10
ros::Publisher turtle_vel_pub = n.advertise<geometry_msgs::Twist>("/turtle1/cmd_vel", 10);
// 设置循环的频率
ros::Rate loop_rate(10);
int count = 0;
while (ros::ok())
{
// 初始化geometry_msgs::Twist类型的消息
geometry_msgs::Twist vel_msg;
vel_msg.linear.x = 0.5;
vel_msg.angular.z = 0.2;
// 发布消息
turtle_vel_pub.publish(vel_msg);
ROS_INFO("Publsh turtle velocity command[%0.2f m/s, %0.2f rad/s]",
vel_msg.linear.x, vel_msg.angular.z);
// 按照循环频率延时
loop_rate.sleep();
}
return 0;
}
三. Moveit安装配置
(一)启动模拟机器人
进入前面建立的catkin_ws目录,打开终端,每打开一个新终端都需要source一下这个.bash文件
source devel/setup.bash
在 Gazebo 中调出模拟机器人(终端1)
roslaunch ur_gazebo ur10e_bringup.launch
使用 MoveIt!控制模拟机器人,设置 MoveIt!允许运行运动规划的节点(终端2)
roslaunch ur10e_moveit_config moveit_planning_execution.launch sim:=true
使用包括 MoveIt!Motion Planning 插件运行(终端3)
roslaunch ur10e_moveit_config moveit_rviz.launch