negative voltage generator
运算放大器需要
所需要的元件:
- 单通道电压源
- LM324N
- 47K电阻两个
- 1
电容一个100 电容两个
参考文章:
https://blog.csdn.net/qq_41836400/article/details/98345011
运算放大器需要
所需要的元件:
参考文章:
https://blog.csdn.net/qq_41836400/article/details/98345011
include/apue.h在include/apue.h增加 1
#include <sys/sysmacros.h>
stdio/buf.c打开apue.3e/stdio/buf.c,搜索_LP64,大致在(文件的89~93行),将其删除
1
2
3
4
5#ifdef _LP64
#define _flag __pad[4]
#define _ptr __pad[1]
#define _base __pad[2]
#endif
将is_unbuffered,
is_linebuffered和buffer_size替换如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27int
is_unbuffered(FILE *fp)
{
return(fp->_flags & _IONBF);
}
int
is_linebuffered(FILE *fp)
{
return(fp->_flags & _IOLBF);
}
int
buffer_size(FILE *fp)
{
#ifdef _LP64
return(fp->_IO_buf_end - fp->_IO_buf_base);
#else
return(BUFSIZ); /* just a guess */
#endif
}
#else
#error unknown stdio implementation!
#endif
1 | sudo cp ./include/apue.h /usr/include/ |
1 | cd |
add lines at the end of ~/.tmux.conf.local
1 | # force Vi mode |
add 185.199.108.133 raw.githubusercontent.com t
o/etc/hosts
1 | sudo apt install zsh |
install nvm
1 | curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash |
npm源
1 | npm config set registry https://registry.npmmirror.com |
1 | npm install -g hexo-cli |
1 | cd blog |
1 | diff --git a/_config.yml b/_config.yml |
cat /etc/apt/sources.list
1 | deb http://mirrors.aliyun.com/raspbian/raspbian/ bullseye main non-free contrib rpi |
安装emacs依赖
1 | sudo apt install libxpm-dev libgif-dev libgnutls28-dev libgtk-3-dev libjpeg-dev libtiff-dev libncurses-dev libgccjit-10-dev |
1 | ./configure --with-native-compilation |
参考炬峰的视频,来搞个电台玩玩。
1 | git clone https://github.com/F5OEO/rpitx |
audio输入输出设置
验证输入输出
1 | arecord -f cd - | aplay -V sterio - |
修改testfmrds.sh脚本
1 | sudo arecord -f cd -D plughw:2,0 -c 2 - | sudo ./pifmrds -freq "$1" -audio - |
修改/boot/config.txt
1 | # Enable audio (loads snd_bcm2835) |
测试
1 | ./testfmrds.sh 434 |
build on the pi and dev machine
1 | cd ~/code/dep_ws/src |
for normal rplidar
1 | sudo apt install ros-foxy-rplidar-ros |
flowchart
A[Driver Node] ---> B["/image_raw
sensor_msgs/Image"] ---> C[Algorithms & Stuff]
E["/image_raw/compressed
sensor_msgs/CompressedImage"]
B <-- image_transport_library/nodes --> E
on the dev machine
1 | sudo apt-get install ros-foxy-v4l2-camera |
on the pi, add start_x=1 to
/boot/firmware/config.txt
1 | sudo apt install libtheora-dev libogg-dev v4l-utils |
Launch the camera
1 | cd ~/code/dev_ws |
on the dev machine
1 | cd ~/code/dev_ws |
stateDiagram-v2
Command_Velocity --> Diff_Dirve_Controller
state ros2_control {
Diff_Dirve_Controller --> Hardware_interface: Req. Motor Velocities Velocity Cmd Interfaces
Controller_Manager
Hardware_interface --> Joint_State_Broadcaster: Encoder position state
}
Hardware_interface --> Car
Joint_State_Broadcaster --> /joint_states
/joint_states --> Off_to_robot_state_publisher
要注意的是如果ubuntu20.04都是源码编译ros,需要跳过这一步,因为会失败。总之我是通过源码编译的,因为树莓派在20.04系统64位的暂时没法烧录成功。
1 | sudo apt install ros-foxy-ros2-control ros-foxy-ros2-controllers ros-foxy-xacro |
需要从这里开始源码编译。 1
2
3
4
5
6
7
8
9git clone https://github.com/ros/angles.git -b foxy-devel
git clone -b ros2 https://github.com/ros-drivers/ackermann_msgs.git
git clone https://github.com/ros-controls/control_toolbox.git -b foxy
git clone https://github.com/ros-controls/realtime_tools.git -b foxy-devel
git clone https://github.com/ros-controls/control_msgs.git -b foxy-devel
git clone https://github.com/ros-controls/ros2_controllers.git -b foxy
git clone https://github.com/ros-controls/ros2_control.git -b foxy
git clone https://github.com/ros/xacro.git
git checkout 2.0.7
1 | source ~/ros2_foxy/ros2-linux/setup.bash |
1 | sudo apt install ros-foxy-joy joystick jstest-gtk evtest |
1 | sudo apt install libserial-dev |
stateDiagram-v2
[*] --> Linux_Joystick_Driver
Linux_Joystick_Driver --> Joy_Node
Joy_Node --> /Joy
/Joy --> /Other_Nodes
/Other_Nodes --> /whatever
/Joy --> e.g.teleop_twist_joy
e.g.teleop_twist_joy --> /cmd_vel
1 | ros2 run joy joy_enumerate_devices |
1 | mkdir ~/code/dev_ws |
config/my_controllers.yaml
1 | wheel_separation: 0.177 |
description/ros2_control.xacro
1 | <param name="enc_counts_per_rev">1321</param> |
端午节到了,👨👩带我和妹妹一起去朱家尖。到了以后,我们在楼下的🍴里吃饭。吃完饭我们在酒店里睡觉。睡觉起来以后,我们一起到🏖️堆起了沙堡。第一步我先画好了我们的地盘。第二步,我们挖出了一条护城河。👨拿着大铲子,挖出了很深的一个坑。我想到了一个好主意,我把👨挖出来的土,都放在地盘的边缘上。第三步,我叫妹妹拿着🪣,打好多水倒进护城河里,我叫妈妈把这些泥土弄结实。而我把所有的泥土都弄到边线上。
后来我拿着大耙子,画出了一条护城河的边缘,然后我拿了一个小🔧,帮👨一起挖护城河。挖了一半,我感觉水不太够了。我和妹妹赶紧跑到海边,拿小🪣灌了一大桶水。我们赶紧跑回来,把水洒在护城河里。然后我赶紧拿起小工具继续挖呀挖。我们挖呀挖,挖呀挖,堆呀堆,堆呀堆,堆好了大半个沙堡。水又不够了,我和妹妹赶紧跑到海边,拿起水桶,刚准备灌水,忽然一阵🌊飘来,我和妹妹一起把水都给接了过来。我和妹妹大喊起来:“爸爸妈妈,马上就要涨潮啦!”我和妹妹急忙提起🪣,跑了回去。我们几个赶紧搭呀搭,搭呀搭,快速地搭了起来。只剩最后一点了,我们几个飞快地搭了起来。终于搭完了,只剩最后一个,就是挖护城河。我和妹妹赶紧来到海边,拿起🪣,这是又有一阵🌊飘来了。我和妹妹跑了回来,刚好👨👩挖好了护城河。我和妹妹把水都洒了进去。天色已经差不多了,我们也该吃饭了。我们到了🏨楼下,开始吃饭。吃完饭,我们准备去🚶♀️。
🚶♀️的时候,我们走到了隔壁一家🏨里,到了那边,我看见了三只🐱。第一只🐱叫做“🍮”,第二只🐱叫做“咪咪”,第三只🐱叫做“小小”。那三只🐱真的好可爱。那三只🐱颜色各不相同。🍮的颜色是黑白相间的,咪咪的颜色是灰白色的,小小的颜色是跟🍮一样,是黑白相间的。🍮它喜欢吃猫粮和鱼条。咪咪喜欢吃狗尾巴草。小小它喜欢吃猫粮。我们跟🐱拜拜了以后就去🏨睡觉了。
第二天,我们先到楼下吃了早饭。早饭非常丰富,有🍜,炒粉,粽子,还有好多好多好吃的。吃完早饭,我们去看了🐱。只看到了咪咪,剩下的🐱全没有看到。我们给咪咪喂了好多好多的草。后来我在那边知道,咪咪抓过很多很多的🐭。因为没有看到其他的🐱,所以👩带我们到海边去挖沙了。👩在旁边的🪨上,抓到了一只小🦀️。我和妹妹把沙子放在磨具里,做出了好多个冰淇凌。我们还在旁边堆了个小山,也就是沙子山。
到了中午,我们一起去吃完了午饭。吃完午饭,我们到🛏️准备睡觉。妹妹在🛏️唱了一首“找朋友”,找呀找呀找画人,找到一个画画人,敬个礼呀握握手,你是我滴画画人。起床了以后,我在楼下写作业,妹妹在旁边吵吵闹闹地玩。写完作业,我们一起玩,然后等雨停了,我们又来到了海边。我跟妹妹在旁边挖了一个大水坑。我和妹妹一起把水给填满,我和妹妹在水坑里蹦来蹦去,跳来跳去。
到了🌃,我们在旁边的店里吃了一顿晚餐。👩点了🦪,🐙,🐚,海瓜子,扇贝。我还喝了北冰洋,可乐。👨喝了🍺,杨梅酒。
我们吃完饭,回到家,躺在🛏️就睡着了。
第三天,我们刚起床,外面就哗哗哗地下了大雨,我发现了一句👩🏫叫我们的谚语:“有雨山戴帽,无雨半山腰”。我们准备回家了。我们告别了大海、🏖️,还有小🦀️,🐱。我们来到🚗上,高兴地回到了🏠。
真是一个快乐的端午啊!下一次🤷♀️👨👩还会带我们去哪里⛱️。我相信下次还会带我们去更好的地方玩!
1 | cd ~/code |
Client gui at the ubuntu22
1 | source install/setup.bash |
run at the pi 1
2source install/setup.bash
ros2 run serial_motor_demo driver --ros-args -p serial_port:=/dev/ttyUSB0 -p baud_rate:=57600 -p loop_rate:=30 -p encoder_cpr:=1321