cugo_ros_control
ROSKai Fa kitsuto/kuro-rarobotsutoKai Fa puratsutohuo-muniFu Shu surumaikonniDui shiteZhi Yu Zhi Ling woSong ri, enko-danoDu miQu riJie Guo woShou keQu runo-dodesu. ROS topicno/cmd_velwoSubscribeshi, /odomwoPublishshimasu. setsutodecugo_ros_motorcontrollerShi Yong shimasu.
Warning
kuro-rarobotsutoKai Fa puratsutohuo-muZhuan Yong nocugo_ros2_control2woriri-sushimashita.
kochiranoripozitorihasapo-toDui Xiang Wai ninarimasunode, Xin patsuke-ziwogoLi Yong kudasai.
ROSKai Fa kitsuto CuGo V3 wogoLi Yong noFang hakochirawoCan Zhao shitekudasai.
Table of Contents
- Features
- Requirement
- Installation
- Usage
- Topics and Parameters
- UDP Protocol
- Note
- License
Features
Subscribeshita/cmd_velnoSu Du bekutoruninaruyounaJia Xiang Che Lun L/RnoHui Zhuan Shu woJi Suan shimasu. Ji Suan shitaHui Zhuan Shu womaikonniSong Xin shimasu. mata, cugo_ros_motorcontrollergaShu kiIp maretamaikonkaraenko-danokauntoShu woShou keQu rimasu. kauntoShu kararobotsutonoodometoriwoJi Suan shi, /odomwoSheng Cheng shiPublishshimasu.
Dui Ying Zhi Pin
CuboRexZhi Pin deha,
- ROSKai Fa kitsuto CuGo V3
- kuro-rarobotsutoKai Fa puratsutohuo-mu CuGo V4
- kuro-rarobotsutoKai Fa puratsutohuo-mu CuGo V3i
deoShi iitadakemasu. sorezoreShi Yong suruko-dogaYi narukotogaarimasunode, Xia Ji Biao karagoCan Zhao kudasai.
kokodeha, "kuro-rarobotsutoKai Fa puratsutohuo-mu CuGo V4"to"kuro-rarobotsutoKai Fa puratsutohuo-mu CuGo V3i"ha"kuro-rarobotsutoKai Fa puratsutohuo-mu"toZong Cheng shimasu.
| Zhi Pin Ming | ROSpatsuke-zi | maikonsuketsuchi |
|---|---|---|
| ROSKai Fa kitsuto | konope-zi | ArduinoUNOYong |
| kuro-rarobotsutoKai Fa puratsutohuo-mu | konope-zi | RaspberryPiPicoYong |
ROSKai Fa kitsutonoChang He
goGou Ru Shi Dian desetsutoatsupuJi midesunode, sonomamaROSpatsuke-zinoShi Xing woshitekudasai.
konopatsuke-zihaFu Shu noArduinoUNOtoUDPTong Xin shimasu. robotsutoNei noEdgeru-taniDui shite, You Xian Ethernetke-burumataha, WiFiniJie Sok surukotodeArduinoUNOtoTong Xin surukotogadekimasu. cugo_ros_motorcontrollerdemaikonCe noIPadoresuwoZhi Ding shi, sonoIPadoresuniDui shiteUDPXin Hao woSong Xin shimasu. maikonCe nosuketsuchideha, 192.168.11.216wodehuorutonishiteimasu. Bi Yao niYing zitelaunchhuairuwoBian Geng shitekudasai.
Fu Shu noArduinoUNOwoShu kiHuan eteshimatsutaChang He hakochiranosuketsuchiwoShu kiIp ndekudasai.
suketsuchinoShu kiHuan ehaROS PCdearuBi Yao Xing haarimasen.
kuro-rarobotsutoKai Fa puratsutohuo-munoChang He
Fu Shu noRaspberryPiPicotoTong Xin shimasu. Fu Shu noRaspberryPiPiconikochiranosuketsuchiwoShu kiIp mi, ROS PCtoRaspberryPiPicowoUSBke-burudeJie Sok shitekudasai. sonoHou ROSpatsuke-ziwoShi Xing shitekudasai. Zi Dong deTong Xin Kai Shi shimasu.
suketsuchinoShu kiHuan ehaROS PCdearuBi Yao Xing haarimasen.
Requirement
- OS: Ubuntu 20.04.4 LTS
- ROS Distribution: ROS 2 Foxy Fitzroy
Installation
ROS 2Huan Jing ganaiChang He haROS 2 DocumentationwoCan Zhao shiROS 2woinsuto-rushitekudasai.
IMUnode-taQu De niShi Yong shiteiruwitmotion_IMU_rosnobuildnihaver3.19Yi Shang noCMakegaBi Yao desu. ba-ziyongaDi iChang He ha, Installing CMakewoCan Kao niCMakewoinsuto-rushitekudasai.
ROS 2nowa-kusupe-suNei degit cloneshitanochi, colcon buildshitekudasai.
$ cd ~/your/ros_workspace/ros2_ws/src
$ git clone https://github.com/CuboRex-Development/cugo_ros_control.git
$ cd ../..
$ colcon build --symlink-install
$ source ~/your/ros_workspace/ros2_ws/install/local_setup.bash
Usage
Xia Ji nokomandodecugo_ros_controlno-dogaQi Dong shimasu. ros2 launchwoYong iteQi Dong suruJi , ikutsukanoparame-tawoZhi Ding surukotogadekimasu. Xiang Xi haParametersnoXiang Mu woCan Zhao shitekudasai.
ROSKai Fa kitsuto CuGo V3noFang
$ ros2 launch cugo_ros2_control cugov3_ros2_control_launch.py
kuro-rarobotsutoKai Fa puratsutohuo-mu CuGo V4noFang
Fu Shu noRaspberryPiPicotoUSBke-burudeJie Sok woshitanochi, oKe Yang Huan Jing niatsutaQuan Xian She Ding woshitekaralaunchhuairuwoShi Xing shitekudasai.
# RaspberryPiPiconoQuan Xian Fu Yu Li
# oKe Yang Huan Jing niHe wasetekomandowoShi Xing shitekudasai.
$ sudo chmod 777 /dev/ttyACM0
# launch huairuwoShi Xing
$ ros2 launch cugo_ros2_control cugov4_ros2_control_launch.py
kuro-rarobotsutoKai Fa puratsutohuo-mu CuGo V3inoFang
Fu Shu noRaspberryPiPicotoUSBke-burudeJie Sok woshitanochi, oKe Yang Huan Jing niatsutaQuan Xian She Ding woshitekaralaunchhuairuwoShi Xing shitekudasai.
# RaspberryPiPiconoQuan Xian Fu Yu Li
# oKe Yang Huan Jing niHe wasetekomandowoShi Xing shitekudasai.
$ sudo chmod 777 /dev/ttyACM0
# launch huairuwoShi Xing
$ ros2 launch cugo_ros2_control cugov3i_ros2_control_launch.py
Topics and Parameters
Published Topics
/odom(nav_msgs/msg/Odometry)/tf(tf2_msgs/msg/TFMessage)
Subscribed Topics
/cmd_vel(geometry_msgs/msg/Twist)
Parameters
ODOMETRY_DISPLAY (boolean, default: true)- odometoriBiao Shi noYou Wu (truedeBiao Shi )
PARAMETERS_DISPLAY (boolean, default: false)- She Ding shitaparame-tawoQi Dong Shi niBiao Shi (truedeBiao Shi )
TARGET_RPM_DISPLAY (boolean, default: true)- Mu Biao RPMBiao Shi noYou Wu (truedeBiao Shi )
SENT_PACKET_DISPLAY (boolean, default: false)- Song Xin paketsutonodebatsuguBiao Shi noYou Wu (truedeBiao Shi )
RECV_PACKET_DISPLAY (boolean, default: true)- Shou Xin paketsutonodebatsuguBiao Shi noYou Wu (truedeBiao Shi )
READ_DATA_DISPLAY (boolean, default: true)- Shou Xin paketsutokaradeko-doshitaShu Zhi noBiao Shi noYou Wu (truedeBiao Shi )
arduino_addr (string, default: 192.168.11.216)- ArduinodoraibanoTong Xin Shou Fu IPadoresu
arduino_port (int, default: 8888)- ArduinodoraibanoTong Xin Shou Fu po-toFan Hao
encoder_max (int, default: 2147483647)- enko-daZui Da kaunto
- maikonCe nokauntagao-ba-huro-suruZhi woShe Ding
encoder_resolution (int, default: 2048)- enko-daFen Jie Neng
odom_child_frame_id (string, default: base_link)- odometoriZi hure-muID
odom_frame_id (string, default: odom)- odometorihure-muID
reduction_ratio (float, default: 1.0)- mo-taZhou Duan karanoJian Su Bi
source_port (int, default: 8888)- ROSno-donoTong Xin Shou Fu po-toFan Hao
timeout (float, default: 0.05)- Tong Xin taimuautomadenoShi Jian [sec]
tread (float, default: 0.380)- toretsudoFu [m]
wheel_radius_l (float, default: 0.03858)- Zuo kuro-ranoJia Xiang taiyaBan Jing [m]
wheel_radius_r (float, default: 0.03858)- You kuro-ranoJia Xiang taiyaBan Jing [m]
comm_type (string, default: UDP)- Tong Xin woUDPdesurukaUSBdesuruka
serial_port (string, default: /dev/ttyACM0)- USB-SerialdeTong Xin surupo-towoZhi Ding
serial_baudrate (int, default: 115200)- USB-SerialTong Xin nobo-re-towoShe Ding
Shang Ji noparame-tahalaunchhuairudeShe Ding sareteimasu.
Protocol
cugo_ros_motorcontrollerto, hetsuda8baito*bodei64baitonoHe Ji 72baitokaraGou Cheng sarerude-tawoTong Xin shiteimasu. bodeide-taniGe Na sarerude-tanoYi Lan haYi Xia noTong rininarimasu. nao, Xi ude-tahaJin Hou Kuo Zhang suruYu Ding desu.
ArduinodoraibahenoSong Xin de-ta
| Data Name | Data Type | Data Size(byte) | Start Address in PacketBody | Data Abstract |
|---|---|---|---|---|
| TARGET_RPM_L | float | 4 | 0 | RPMZhi Ling Zhi (Zuo mo-ta) |
| TARGET_RPM_R | float | 4 | 4 | RPMZhi Ling Zhi (You mo-ta) |
ArduinodoraibakaranoShou Xin de-ta
| Data Name | Data Type | Data Size(byte) | Start Address in PacketBody | Data Abstract |
|---|---|---|---|---|
| RECV_ENCODER_L | float | 4 | 0 | Zuo enko-danokauntoShu |
| RECV_ENCODER_R | float | 4 | 4 | You enko-danokauntoShu |
Note
goBu Ming Dian gagozaimashitara, issuesniteoWen iHe wasekudasai. Hui Da itashimasu.
License
konopuroziekutohaApache License 2.0nomoto, Gong Kai sareteimasu. Xiang Xi haLICENSEwogoLan kudasai.