Week 4:命令行、机器人基础概念与 Python 仿真
本周从更底层的角度理解“程序如何运行”,并补充 Ubuntu 权限、网络、SSH、Git、Python 和 PyBullet 仿真基础。
课堂内容
- 编程基础概念说明。
- 机器人基础概念说明。
- 运行程序作业。
答疑安排
- 周三下午 3 点半到晚上 9 点。
- 也可以随时微信提问。
- 有问题请大胆、大方提问。
命令行的意义
开发软件然后运行的本质:
程序(文本)
-> 编译 / 解释
-> 可执行文件或运行时指令
-> 运行于各类平台
不同平台会带来不同运行结果:
- 操作系统:Windows、Linux、macOS、iOS、Android。
- 芯片平台:x86、amd64、arm64。
- 嵌入式设备:单片机、Arduino、树莓派。
- 并行计算平台:GPU。
- 实时系统、DSP、FPGA 等。
命令行也叫 terminal / CLI,是运行系统内核和开发工具的重要入口。图形界面 GUI 更面向普通用户,命令行更接近开发和运维工作。
物理机、虚拟机、Ubuntu 与 Docker
课堂类比:
- 物理机:买房。
- 虚拟机:租房,例如 VMware Workstation、WSL。
- 容器化:开房间,例如 Docker。
WSL 是微软官方的虚拟化架构。Docker 在 Windows 上也可以基于 WSL 运行,让每个应用拥有相对独立的环境。
IP 地址与通信
常见概念:
- IPv4 地址,例如
192.168.0.1。 - IPv6 地址。
- DNS 服务器地址。
- 广域网 / 局域网 / 本机回环地址
127.0.0.1。 - 外网 / 内网。
查看外网地址可以打开:
https://www.ip138.com
测试网络连通性:
ping ip地址或网址
ROS1、ROS2 与通信
早期 ROS1 通信常涉及 TCP / UDP:
- TCP 需要握手,可靠但开销更高。
- UDP 更快,但可能丢包。
ROS2 使用 DDS 技术,更适合分布式机器人系统。

什么是 SSH
SSH 是安全外壳协议。Git 可以使用 SSH 连接远程服务器,也可以直接登录远程机器:
ssh root@110.110.110.110
格式是:
用户名@远程或局域网计算机地址
Ubuntu 权限
Ubuntu 中常见用户权限:
root:完整控制权限,风险也最高。sudo:普通用户临时执行高权限命令的前缀。- 普通用户:日常开发使用。
常用命令:
su 用户名
exit
sudo bash
Ubuntu 目录表示
/ 根目录
. 当前目录
.. 上一级目录
~ 用户目录,例如 /home/robot
常用命令:
pwd
cd 目录地址
ls
ls 目录地址
mv 当前地址 新地址
Git 与 GitHub
Git 是程序版本管理工具,类似代码的游戏存档。写错了可以回退,多人可以独立开发后合并。
GitHub 是常用的远程代码仓库服务器,也可以使用 Gitee、GitLab 或自建服务器。

SSH key 相关命令:
ssh-keygen -t ed25519 -C "your@email"
ls ~/.ssh
cat ~/.ssh/id_ed25519.pub





Python 与 PyBullet
安装 Python:
sudo apt install python
进入程序目录后运行:
python3 程序名字.py
安装 pip 和 PyBullet:
sudo apt install python3-pip
pip3 install pybullet
运行机器狗仿真程序示例:
git clone https://github.com/bulletphysics/pybullet_robots
python3 laikago.py
课堂练习:运行程序,修改关节参数,观察机器狗运动或倒下。

Python 控制小乌龟
课堂提到的练习方向:
- 保存 Python 程序文件。
- 启动 turtlesim 节点。
- 运行 Python 程序控制小乌龟。
参考页面:
https://course.a-real.me/content/week3.html