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
  • 解压文件,打开解压文件夹,鼠标右击【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
  • 打开解压后的文件夹,双击运行【DiskGeniusLoad】。
  • 鼠标右击一个磁盘(可选择自己容量较大的一个磁盘),选择【新建分区】。

下图所示的是已经完成分区的情况,所以一开始安装时与下图不符也不要worry。

  • 分配新建分区的容量(不少于20G,推荐分配更多的内存到Linux系统中,我自己分配了50G的容量),点击【开始】。
  • 点击【是】。
  • 分区完成,点击【完成】。

三、安装系统

  • 重启电脑,选择电脑从介质(U盘)启动(由于电脑型号不同同,设置方法不同,提供以下两种方法)。

    • 方法一、开机画面出现后,立刻按本机型的U盘启动【快捷键】(各主流机型快捷键如下图)选择自己的【U盘英文名称】即可启动。
    • 方法二、进入电脑Bios设置U盘为第一启动项(当方法一无法选择U盘启动时,需用此方法进行设置),不同类型的机器进入BIOS按键和设置方法均不同(建议自行搜索对应的电脑型号设置教程),总体来说就是在boot里面设置U盘为第一启动项,设置后按F10保存,重启电脑自动从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相关推荐

  1. 6.1 Windows和Ubuntu双系统安装过程

    6.1 Windows和Ubuntu双系统安装过程 **先搞清楚自己电脑的类型:** **情况A:MBR传统bios+单硬盘** **情况B:MBR传统bios+双硬盘(SSD固态硬盘+机械硬盘)** ...

  2. Windows、Ubuntu双系统安装

    Windows.Ubuntu双系统安装 一.安装所需工具 U盘一个(大于8G),作为启动盘:启动盘制作工具(ultraiso):Ubuntu系统镜像文件 二.双系统安装过程 安装启动盘制作工具 下载u ...

  3. Windows10和Ubuntu双系统安装与配置

    一.制作Ubuntu16系统启动盘 1.1 下载Ubuntu系统 下载地址:http://releases.ubuntu.com/ 1.2 制作系统盘 注意:UltraISO版本过旧会导致安装启动失败 ...

  4. Windows10+ubuntu 双系统安装(针对联想小新air14)

    联想小新air14-Windows10+ubuntu 双系统安装 一. 准备工作 1.查看电脑配置 (1)查看BIOS模式 (2)搞清楚硬盘单双 2.制作系统盘 (1)资源准备 (2)写盘 3.磁盘分 ...

  5. ROS从入门到精通0-2:Win10+Ubuntu双系统安装、配置、卸载保姆级图文教程

    目录 0 电脑环境 1 安装Ubuntu双系统 1.1 刻录系统引导盘 1.2 在Windows下创建空白分区 1.3 重启电脑进入安装界面 1.4 图形化安装Ubuntu 2 配置Ubuntu系统 ...

  6. (以Windows 7 引导的)Windows 和Ubuntu双系统安装

    来源于网络,回馈于网络 给硬盘划分空白空间安装Ubuntu. 开始菜单--右键点击我的电脑--管理--存储--磁盘管理(本地) 比如你的D盘有60GB空闲,你希望用40GB来装Ubuntu 那么单击D ...

  7. Windows和Ubuntu双系统安装(非虚拟机)

    前言:   虚拟机的配置和使用经常会给习惯了直接使用各类发行版本linux操作系统的用户带来困扰,特此补充Windows和Ubuntu的双系统安装方法 1.简介   本教程是在Windows系统下安装 ...

  8. windows和ubuntu双系统安装笔记

    自己大部分的编程工作已经由Windows环境转移到了Linux环境中进行.原本考虑的方案是采用虚拟机,但是在使用的过程中发现虚拟机里面处理数据会出现一些问题,所以就考虑安装双系统的方案.基于Linux ...

  9. Windows和Ubuntu双系统安装教程

    一.参考资料 用UltraISO制作Ubuntu16.04 U盘启动盘 DiskPart Command-Line Options [Ubuntu版]制作U盘启动盘 安装Ubuntu系统 修复Ubun ...

最新文章

  1. 导师推荐的学术前沿号
  2. 帝国cms7.5 utf-8本地网站电脑手机模板开发同步插件即时预览修改结果
  3. c++实现sscom串口助手循环发送_串口通讯你真的会了吗?不妨看看这些经验
  4. 在Ubuntu下搭建FTP服务器的方法
  5. 9、10、11、12、13_添加标注 (Annotations)、添加网格线(Grid Lines)、显示中文字体、保存图形(saving Figures)、高质量矢量图输出
  6. 16个让你烧脑让你晕的悖论
  7. java 实例变量和类变量
  8. Jrebel 激活方式
  9. Oracle/PLSQL AFTER DELETE Trigger
  10. Unity3dRPG 相机跟随player旋转_跟随式灌装机
  11. 23个小动作让你记忆力惊人
  12. ip在线代理联合早报_我所资深代理人马俪雯线上参加”中国医药设备工程协会年会”...
  13. 关于css3的:target伪类选择器
  14. 2016年APP推广应该怎么做?
  15. html向下的箭头符号怎么打,向下的箭头怎么打
  16. 关于tp-link 路由器
  17. 【软考题目】假设某磁盘的每个磁道划分成11个物理块,每块存放1个逻辑记录。
  18. 关于DVDScr, Screener,TS, TC等常见术语
  19. 解决SVN文件不显示绿色小钩图标问题
  20. python sklearn库silhouette_score轮廓系数接口调用

热门文章

  1. 例【4.6】 要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70-84分,C等为60-69分,D等为60分以下。
  2. 小程序如何制作和代理
  3. 揭秘灰色项目,特别是iPhone果粉要小心了
  4. 电脑可以联网和VPN,但不能打开知网怎么办
  5. 小米Note手机安装Linux
  6. 导入excel表格识别表格中数据得到一个List集合
  7. Synology Drive Client 提示用户名/密码无效或用户权限不足
  8. 如何在 Ubuntu 20.04 上安装和使用 Docker
  9. 真的不想知道图片转excel表格怎么弄吗
  10. Html 播放 mp4格式视频提示 没有发现支持的视频格式和mime类型