ubuntu_ros+solidworks+ubuntu_raspberryPi3+arduino_mega機器人仿真&實際系統搭建

前陣子藉着比賽搭了一整套機器人系統,系統全開源環境,搭配如下
ubuntu_ros+solidworks+ubuntu_raspberryPi3+arduino_mega

ubuntu_ros

基本框架在ROS上完成,raspberryPi3和arduino兼容,可以利用開源框架自己編寫整體的系統程序。
具體塊程序在GITHUB上

solidworks

主要是利用soliworks的插件導出URDF模型文件給ROS的rviz用,具體的導出教程參考https://www.cnblogs.com/21207-iHome/p/7821269.html
根據上面的方法就可以導出來,導出來的主要問題就是建立的座標變換的關係,要設定參考軸和參考座標系,這和設計的機械結構有一點關係,有時候設計有問題導出來的模型座標關係需要修改。如何正確設定參考軸和座標系看上面的網址。

ubuntu_raspberryPi3

在前期開源臺上利用遠程控制方式,用電腦SSH方式遠程控制raspberryPi3,SSH遠程通信需要設置WIFI路由配置,安裝SSH這裏就不說了,google一下就有命令安裝
兩臺都要配置

SSH通信需要配置文件
1.首先保證IP地址恆定,設置靜態IP
sudo vim /etc/network/interfaces
#在文件末尾加上
auto wlp9s0 #ifconfig查看WLAN名稱,UBUNTU16後變成這樣了,以前的不會這麼奇怪
iface wlp9s0 inet static #靜態
address 192.168.1.114 #IP值
netmask 255.255.255.0 
gateway 192.168.1.1
dns-nameservers 121.14.136.214 #DNS服務器地址可改,按需

然後ssh調試一下

ssh ubuntu@pi

ubuntu是遠程raspberryPi3的用戶名,pi是IP地址,我在

sudo vim /etc/hosts

裏面設置了ip地址變量替換
能登錄調通後設置

sudo vim ~/.barshrc
#在文件末端加入設置的主從機設置
export ROS_HOSTNAME=ly
#export ROS_HOSTNAME=lylab
#export ROS_MASTER_URI='http://pi:11311'
export ROS_MASTER_URI='http://ly:11311'
#這是電腦端的,電腦端是從機
export ROS_HOSTNAME=pi
export ROS_MASTER_URI='http://pi:11311'
#這是pi端的,pi端是主機

pi端roscore後能在電腦端rosrun個東西就說明成功

arduino_mega

前期爲了方便是直接電泳rosserial_python包,把arduino當成一個ros節點來使用,這樣的好處上根據arduino基礎和ros基礎就能快速寫出一個能用的機器人真實系統(賊快)https://blog.csdn.net/qq_27806947/article/category/8105351
缺點就是它把arduino當成了一個節點,這個節點需要不斷的掃和pi通信的緩存看有沒有話題消息發下來,相當的佔內存,可以所示真的就把它當成節點了,沒有其他自主功能。

後期可以考慮用通信的方式發送驅動命令,這樣優勢是快,佔內存比上面的方法少一點。具體可以參考(還沒有去實現,控制的東西數量和傳感器不一樣)https://blog.csdn.net/jialing678/article/details/85921834

機器人系統的代碼上GITHUB
實際調用命令

前提是把文件寫入arduino和pi裏面
1.pi端
roscore#終端1
rosrun rosserial_python serial_node.py /dev/ttyACM0 #終端2
#串口號根據自己的改 
2.電腦端
rosrun needle turtlebot_teleop_key #終端1
rosrun needle turtlebot_teleop_key1 #終端2
roslaunch needle display.launch #終端3
#實現表現:仿真和實際可以同時運動
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章