Iniziamo con le cose facili....Arduino
si scarica Arduino IDE 1.0.6 (progetto vecchio IDE vecchia)
https://downloads.arduino.cc/arduino-1.0.6-linux64.tgz
si scaricano le librerie del robot
https://github.com/trossenrobotics/arbotix/archive/master.zip
si scompattano le librerie in un folder tipo ~/Documents/Arduino
si crea in ~/Documents/Arduino un folder hardware e si copia il file boards.txt dove c'e' la definizione della Arbotix
https://github.com/vanadiumlabs/arbotix/blob/master/hardware/arbotix/boards.txt
a questo punto si puo' aprire la IDE e
- File->Preferences->Sketchbook Location
- Tools->Board->Arbotix
- Tools->Serial Port->/dev/ttyUSBX
- File->Sketchbook->Arbotix Sketches ->ros
- Verify + Upload
in questo modo sulla scheda c'e' caricato il firmware per connettere il robot tramite ROS (ci sono altri sketch piu' semplici per muovere il robot senza passare da ROS)
Visto che si tratta di ROS1 ho montato una macchina virtuale Ubuntu 18.04.06 (ultima disponibile con ROS che permetta anche l'aggiornamento dei pacchetti con apt)
Questa e' la serie di comandi per installare Ros ed i driver del robot
Primo problema ...su Ubuntu 18.04 non si apre il terminale dopo installazione
la cosa piu' semplice e' installare una shell alternativa
ALT+F2 gnome-software tilix
secondo problema (emerso solo in una installazione ...la chiave di apt)
$ sudo apt update && sudo apt install curl gnupg2 lsb-release
$ curl http://repo.ros2.org/repos.key | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=amd64,arm64] http://packages.ros.org/ros2/ubuntu lsb_release -cs main" > /etc/apt/sources.list.d/ros2-latest.list'
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
git clone https://github.com/RobotnikAutomation/phantomx_reactor_arm
git clone https://github.com/arebgun/dynamixel_motor.git
sudo service udev reload
sudo service udev restart
sudo udevadm trigger
sudo udevadm trigger
roslaunch phantomx_reactor_arm_controller arbotix_phantomx_reactor_arm_wrist.launch
rostopic pub --once /phantomx_reactor_controller/wrist_pitch_joint/command std_msgs/Float64 "data: 1.0"
# Wait a moment, then move to negative angle
rostopic pub --once /phantomx_reactor_controller/wrist_pitch_joint/command std_msgs/Float64 "data: -1.0"
# Return to center
rostopic pub --once /phantomx_reactor_controller/wrist_pitch_joint/command std_msgs/Float64 "data: 0.0"
while true; do
echo "Moving to 1.0"
rostopic pub --once /phantomx_reactor_controller/wrist_pitch_joint/command std_msgs/Float64 "data: 1.0"
sleep 2
echo "Moving to -1.0"
rostopic pub --once /phantomx_reactor_controller/wrist_pitch_joint/command std_msgs/Float64 "data: -1.0"
sleep 2
done
header:
seq: 2785
stamp:
secs: 1761918289
nsecs: 796997070
frame_id: ''
name:
- elbow_pitch_mimic_joint
- shoulder_pitch_joint
- wrist_pitch_joint
- wrist_roll_joint
- shoulder_yaw_joint
- elbow_pitch_joint
- gripper_revolute_joint
- shoulder_pitch_mimic_joint
position: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
velocity: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
effort: []
---
header:
seq: 3318
stamp:
secs: 1761918289
nsecs: 800457000
frame_id: ''
name:
- gripper_right_joint
position: [0.014999999999999998]
velocity: [0.0]
effort: [0.0]
---
header:
seq: 3319
stamp:
secs: 1761918289
nsecs: 902303934
frame_id: ''
name:
- gripper_right_joint
position: [0.014999999999999998]
velocity: [0.0]
effort: [0.0]
---
header:
seq: 2786
stamp:
secs: 1761918289
nsecs: 925811052
frame_id: ''
name:
- elbow_pitch_mimic_joint
- shoulder_pitch_joint
- wrist_pitch_joint
- wrist_roll_joint
- shoulder_yaw_joint
- elbow_pitch_joint
- gripper_revolute_joint
- shoulder_pitch_mimic_joint
position: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
velocity: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
effort: []
---
header:
seq: 3320
stamp:
secs: 1761918290
nsecs: 7497072
frame_id: ''
name:
Nessun commento:
Posta un commento