windows上ubuntu双系统安装+ROS配置全过程+小海龟+RVIZ
win系统下安装 Linux 双系统教程
【系统名称】: Linux
【系统大小】: 1.82G
【系统版本】: 18.04.1
【安装环境】: win10
【下载方式】:
- 百度网盘: https://pan.baidu.com/s/15-4W5HhduVRqLa-gUxJgCw
提取码:48y9 - 镜像下载地址: https://ubuntu.com/download/desktop
此处给出下载 18.04 版本的方法
点击Download下载20.04.2.0 LTS版本,如果想下载18.04版本点击Download下方。
选择【ubuntu 18.04 LTS (Bionic Beaver)】。
选择【64-bit PC (AMD64) desktop image】。
一、制作 U 盘启动
提前准备一个空 U 盘(请提前备份 U 盘里面的资料,因为后面操作要格式化)
下载【UltralSO】
- 百度网盘:https://pan.baidu.com/s/13GlP7jPD1OiRvoSGEN8Tkg
提取码:8671
- 百度网盘:https://pan.baidu.com/s/13GlP7jPD1OiRvoSGEN8Tkg
解压文件,打开解压文件夹,鼠标右击【UltralSO_9.7.1.3519_cn】选择以【管理员身份运行】。
安装完成后,点击【结束】。
点击输入注册码:输入注册名【Guanjiu】,输入注册码【A06C-83A7-701D-6CFC】,点击【确定】。
插入U盘(4G以上),双击桌面【UltralSO】图标启动软件。
点击【文件】,选择【打开】。
选择下载后的【ubuntu-18.04.1-desktop-amd64】,点击【打开】。
回到【UltralSO】界面,菜单栏选择【启动】,选择【写入镜像】。
在界面下方点击【写入】,之后选择【是】。
【刻录成功】,退出软件。
二、磁盘分区
- 下载【DiskGenius】
- 百度网盘:https://pan.baidu.com/s/1yA_JuXg0WMZsIQfTamETdg
提取码:dx68
- 百度网盘:https://pan.baidu.com/s/1yA_JuXg0WMZsIQfTamETdg
- 打开解压后的文件夹,双击运行【DiskGeniusLoad】。
- 鼠标右击一个磁盘(可选择自己容量较大的一个磁盘),选择【新建分区】。
下图所示的是已经完成分区的情况,所以一开始安装时与下图不符也不要worry。
- 分配新建分区的容量(不少于20G,推荐分配更多的内存到Linux系统中,我自己分配了50G的容量),点击【开始】。
- 点击【是】。
- 分区完成,点击【完成】。
三、安装系统
- 重启电脑,选择电脑从介质(U盘)启动(由于电脑型号不同同,设置方法不同,提供以下两种方法)。
- 方法一、开机画面出现后,立刻按本机型的U盘启动【快捷键】(各主流机型快捷键如下图)选择自己的【U盘英文名称】即可启动。
- 方法二、进入电脑Bios设置U盘为第一启动项(当方法一无法选择U盘启动时,需用此方法进行设置),不同类型的机器进入BIOS按键和设置方法均不同(建议自行搜索对应的电脑型号设置教程),总体来说就是在boot里面设置U盘为第一启动项,设置后按F10保存,重启电脑自动从U盘启动。
- 方法一、开机画面出现后,立刻按本机型的U盘启动【快捷键】(各主流机型快捷键如下图)选择自己的【U盘英文名称】即可启动。
- 双击【安装ubuntu】。
- 然后一路yes,直到看到以下界面,选择【其他选项】。
- 选取空余分区,也就是从内存最大的【free】分区开始选取,开始分区,最终分区情况及内存分布为下图标有【unknown】的位置。
- 注意【efi】【swap】【/】分区时为【logical】分区,【/home】为【primary】分区。
- 内存分配【efi】150MB、【swap】8000MB、【/】15000MB、【/home】剩下的全部内存都分给它。
- 点击【install】安装。
- 【地域】随便选,【设置用户】,一定要记住【用户名】和【密码】。
- 安装完成
重启电脑后就可以发现有ubuntu和Windows的选择菜单了。
Linux系统下安装ROS
官方教程地址:http://wiki.ros.org/melodic/Installation/Ubuntu
- 点击屏幕左下角,在弹出的图标界面中选择【软件和更新】
- 点击【下载自】下拉框,从其他站点选择
- 选择aliyun服务器,并点击【关闭】,会要求输入密码进行认证,认证完之后会弹出窗口,点击【重新载入】。
安装过程:
- 打开终端,快捷方式:【Ctrl+Shift+T】
- 输入以下命令行:
添加ROS软件源
官方镜像
$sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
(上面可能会报错,报错可以换一个源)
$sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
添加密钥
$sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv- key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
安装ROS
sudo apt update
sudo apt install ros-melodic-desktop-full
初始化rosdep
sudo rosdep init
rosdep update
设置环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
安装ros install
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
至此,完成 ROS 软件的安装。通过在终端输入 roscore 指令可以验证软件是否安装完成。
工作空间的搭建
- 创建工作空间
mkdir -p ~/catkin_ws/src //创建带有src 子文件夹的catkin_ws 文件夹
cd ~/catkin_ws/src //进入 src
catkin_init_workspace //工作空间初始化
- 编译整个工作空间
cd ~/catkin_ws
catkin_make //编译器指令,通过该指令编译src下所有功能包源码,结果放入build 和 devel 文件夹下
- 建立install文件夹
catkin_make install //建立安装空间
- 设置环境变量‘
source ~/catkin_ws/devel/setup.bash
vi ~/.bashrc
退出如图所示的配置界面后,添加一句 source 命令,将环境变量配置进入 bash 系统中。至此,环境变量的配置已完成。
source ~/.bashrc
创建功能包
创建功能包的指令
catkin_create_pkg <package_name> [depend1] [depend2] [depend3]
depend为依赖
eg:
创建一个名为learning_communication 的功能包。首先进入代码空间, 使用如下指令创建功能包。
cd ~/catkin_ws/src
catkin_create_pkg learning_communication srd_msgs rospy cpp
创建完成后,代码空间 src 便会产生该功能包,然后回到工作空间的根目录下进行编译。
cd ~/catkin_ws
catkin_make
小海龟示例
roscore //启动ROS Master
rosrun turtlesim turtlesim_node //启动小海龟仿真器
rosrun turtlesim turtle_teleop_key //启动海龟节点控制器
查看话题列表
rosnode list
发布话题消息
rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:
x: 1.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0"
//可以设置小海龟的位置坐标与其行动角度
发布服务请求
rosservice call /spawn "x: 5.0
y: 5.0
theta: 0.0
name: 'turtle2'"
话题记录(举例:对小海龟的运动进行记录,类似拍了个视频)
rosbag record -a -O cmd_record
话题复现(举例:把上面录制的运动轨迹进行复现)
rosbag play cmd_record.bag
RIVIZ初次使用
- 进入工作空间
cd ~/catkin_ws
- 创建包
catkin_create_pkg using_markers roscpp visualization_msgs
- 创建cpp文件
touch using_markers/src/basic_shapes.cpp
- 将代码复制到cpp文件或者使用gedit命令书写进文件夹
- 代码如下:
#include <ros/ros.h>
#include <visualization_msgs/Marker.h>int main( int argc, char** argv )
{ros::init(argc, argv, "basic_shapes");ros::NodeHandle n;ros::Rate r(1);ros::Publisher marker_pub = n.advertise<visualization_msgs::Marker>("visualization_marker", 1);// Set our initial shape type to be a cubeuint32_t shape = visualization_msgs::Marker::CUBE;while (ros::ok()){visualization_msgs::Marker marker;// Set the frame ID and timestamp. See the TF tutorials for information on these.marker.header.frame_id = "/my_frame";marker.header.stamp = ros::Time::now();// Set the namespace and id for this marker. This serves to create a unique ID// Any marker sent with the same namespace and id will overwrite the old onemarker.ns = "basic_shapes";marker.id = 0;// Set the marker type. Initially this is CUBE, and cycles between that and SPHERE, ARROW, and CYLINDERmarker.type = shape;// Set the marker action. Options are ADD, DELETE, and new in ROS Indigo: 3 (DELETEALL)marker.action = visualization_msgs::Marker::ADD;// Set the pose of the marker. This is a full 6DOF pose relative to the frame/time specified in the headermarker.pose.position.x = 0;marker.pose.position.y = 0;marker.pose.position.z = 0;marker.pose.orientation.x = 0.0;marker.pose.orientation.y = 0.0;marker.pose.orientation.z = 0.0;marker.pose.orientation.w = 1.0;// Set the scale of the marker -- 1x1x1 here means 1m on a sidemarker.scale.x = 1.0;marker.scale.y = 1.0;marker.scale.z = 1.0;// Set the color -- be sure to set alpha to something non-zero!marker.color.r = 0.0f;marker.color.g = 1.0f;marker.color.b = 0.0f;marker.color.a = 1.0;marker.lifetime = ros::Duration();// Publish the markerwhile (marker_pub.getNumSubscribers() < 1){if (!ros::ok()){return 0;}ROS_WARN_ONCE("Please create a subscriber to the marker");sleep(1);}marker_pub.publish(marker);// Cycle between different shapesswitch (shape){case visualization_msgs::Marker::CUBE:shape = visualization_msgs::Marker::SPHERE;break;case visualization_msgs::Marker::SPHERE:shape = visualization_msgs::Marker::ARROW;break;case visualization_msgs::Marker::ARROW:shape = visualization_msgs::Marker::CYLINDER;break;case visualization_msgs::Marker::CYLINDER:shape = visualization_msgs::Marker::CUBE;break;}r.sleep();}
}
- 进入工作空间构建代代码
cd ~/catkin_ws
catkin_make
- 运行刚才构建的节点
rosrun using_markers basic_shapes
- 启动RVIZ
rosrun rviz rviz
注意,在启动RVIZ之前,重新打开一个终端运行
roscore
运行RVIZ之后,如果报错“No tf data,Actual error,Fixed Frame [map] does not exit",另外开一个终端输入:
rosrun tf static_transform_publisher 0 0 0 0 0 1 map my_frame 10
windows上ubuntu双系统安装+ROS配置全过程+小海龟+RVIZ相关推荐
- 6.1 Windows和Ubuntu双系统安装过程
6.1 Windows和Ubuntu双系统安装过程 **先搞清楚自己电脑的类型:** **情况A:MBR传统bios+单硬盘** **情况B:MBR传统bios+双硬盘(SSD固态硬盘+机械硬盘)** ...
- Windows、Ubuntu双系统安装
Windows.Ubuntu双系统安装 一.安装所需工具 U盘一个(大于8G),作为启动盘:启动盘制作工具(ultraiso):Ubuntu系统镜像文件 二.双系统安装过程 安装启动盘制作工具 下载u ...
- Windows10和Ubuntu双系统安装与配置
一.制作Ubuntu16系统启动盘 1.1 下载Ubuntu系统 下载地址:http://releases.ubuntu.com/ 1.2 制作系统盘 注意:UltraISO版本过旧会导致安装启动失败 ...
- Windows10+ubuntu 双系统安装(针对联想小新air14)
联想小新air14-Windows10+ubuntu 双系统安装 一. 准备工作 1.查看电脑配置 (1)查看BIOS模式 (2)搞清楚硬盘单双 2.制作系统盘 (1)资源准备 (2)写盘 3.磁盘分 ...
- ROS从入门到精通0-2:Win10+Ubuntu双系统安装、配置、卸载保姆级图文教程
目录 0 电脑环境 1 安装Ubuntu双系统 1.1 刻录系统引导盘 1.2 在Windows下创建空白分区 1.3 重启电脑进入安装界面 1.4 图形化安装Ubuntu 2 配置Ubuntu系统 ...
- (以Windows 7 引导的)Windows 和Ubuntu双系统安装
来源于网络,回馈于网络 给硬盘划分空白空间安装Ubuntu. 开始菜单--右键点击我的电脑--管理--存储--磁盘管理(本地) 比如你的D盘有60GB空闲,你希望用40GB来装Ubuntu 那么单击D ...
- Windows和Ubuntu双系统安装(非虚拟机)
前言: 虚拟机的配置和使用经常会给习惯了直接使用各类发行版本linux操作系统的用户带来困扰,特此补充Windows和Ubuntu的双系统安装方法 1.简介 本教程是在Windows系统下安装 ...
- windows和ubuntu双系统安装笔记
自己大部分的编程工作已经由Windows环境转移到了Linux环境中进行.原本考虑的方案是采用虚拟机,但是在使用的过程中发现虚拟机里面处理数据会出现一些问题,所以就考虑安装双系统的方案.基于Linux ...
- Windows和Ubuntu双系统安装教程
一.参考资料 用UltraISO制作Ubuntu16.04 U盘启动盘 DiskPart Command-Line Options [Ubuntu版]制作U盘启动盘 安装Ubuntu系统 修复Ubun ...
最新文章
- 导师推荐的学术前沿号
- 帝国cms7.5 utf-8本地网站电脑手机模板开发同步插件即时预览修改结果
- c++实现sscom串口助手循环发送_串口通讯你真的会了吗?不妨看看这些经验
- 在Ubuntu下搭建FTP服务器的方法
- 9、10、11、12、13_添加标注 (Annotations)、添加网格线(Grid Lines)、显示中文字体、保存图形(saving Figures)、高质量矢量图输出
- 16个让你烧脑让你晕的悖论
- java 实例变量和类变量
- Jrebel 激活方式
- Oracle/PLSQL AFTER DELETE Trigger
- Unity3dRPG 相机跟随player旋转_跟随式灌装机
- 23个小动作让你记忆力惊人
- ip在线代理联合早报_我所资深代理人马俪雯线上参加”中国医药设备工程协会年会”...
- 关于css3的:target伪类选择器
- 2016年APP推广应该怎么做?
- html向下的箭头符号怎么打,向下的箭头怎么打
- 关于tp-link 路由器
- 【软考题目】假设某磁盘的每个磁道划分成11个物理块,每块存放1个逻辑记录。
- 关于DVDScr, Screener,TS, TC等常见术语
- 解决SVN文件不显示绿色小钩图标问题
- python sklearn库silhouette_score轮廓系数接口调用
热门文章
- 例【4.6】 要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70-84分,C等为60-69分,D等为60分以下。
- 小程序如何制作和代理
- 揭秘灰色项目,特别是iPhone果粉要小心了
- 电脑可以联网和VPN,但不能打开知网怎么办
- 小米Note手机安装Linux
- 导入excel表格识别表格中数据得到一个List集合
- Synology Drive Client 提示用户名/密码无效或用户权限不足
- 如何在 Ubuntu 20.04 上安装和使用 Docker
- 真的不想知道图片转excel表格怎么弄吗
- Html 播放 mp4格式视频提示 没有发现支持的视频格式和mime类型