
hello robo

Hello,
I am trying to run EZ-BuilderPi and EZBPi on a Raspberry Pi 3. I have tried installing them on two different versions of Raspbian, the latest release and the 11/13/18 (stretch) version, which was released closer to "DJ's 9th Live Hack" (I have been following that YouTube tutorial). When I execute EZ-BuilderPi, I get the following error before ARC launches:Code:
pi@raspberrypi:~/EZ-BuilderPi $ mono EZ-Builder.exe
Unknown heap type: #GUlD
Unknown heap type: #Blop
Unknown heap type: #GUlD
Unknown heap type: #Blop
The help viewer could not load. Maybe you don't have chmsee installed or haven't set MONO_HELP_VIEWER. The specific error message was: ApplicationName='chmsee', CommandLine='"https://synthiam.com/Software"', CurrentDirectory='', Native error= Cannot find the specified file
X11 Error encountered:
Error: BadMatch (invalid parameter attributes)
Request: 12 (0)
Resource ID: 0x1C013B8
Serial: 48245
Hwnd: Hwnd, Mapped:True ClientWindow:0x1C013B9, WholeWindow:0x1C013B8, Zombie=False, Parent:[Hwnd, Mapped:True ClientWindow:0x1C013B7, WholeWindow:0x1C013B6, Zombie=False, Parent:[]]
Control: System.Windows.Forms.Panel, BorderStyle: None at System.Environment.get_StackTrace () [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0
at System.Windows.Forms.XplatUIX11.HandleError (System.IntPtr display, System.Windows.Forms.XErrorEvent& error_event) [0x00000] in :0
at System.Drawing.GDIPlus.GdipCreateFromXDrawable_linux (System.IntPtr , System.IntPtr , System.IntPtr& ) [0x00000] in <1917aa1c39d94b1a91807b8cd9f03350>:0
at System.Drawing.Graphics.FromXDrawable (System.IntPtr drawable, System.IntPtr display) [0x00000] in <1917aa1c39d94b1a91807b8cd9f03350>:0
at System.Drawing.Graphics.FromHwnd (System.IntPtr hwnd) [0x00000] in <1917aa1c39d94b1a91807b8cd9f03350>:0
at System.Windows.Forms.Control.CreateGraphics () [0x00000] in :0
at System.Windows.Forms.TextBoxBase.CreateGraphicsInternal () [0x00000] in :0
at System.Windows.Forms.Document.owner_VisibleChanged (System.Object sender, System.EventArgs e) [0x00000] in :0
at System.Windows.Forms.Control.OnVisibleChanged (System.EventArgs e) [0x00000] in :0
at System.Windows.Forms.Control.OnParentVisibleChanged (System.EventArgs e) [0x00000] in :0
Once ARC launches, if I try to open a previously saved project, a window pops up with a similar message:
I searched Synthiam Community for a similar thread, so forgive me if this issue has been addressed in a previous post and I missed it. I am happy to answer any questions. Does anyone know what I could have done wrong during the installation?Code:
Version: 2019.05.08.00
System.IO.DirectoryNotFoundException: Directory 'EZ-Builder/Examples' not found.
at System.IO.Directory.ValidateDirectoryListing (System.String path, System.String searchPattern, System.Boolean& stop) [0x00091] in <8f2c484307284b51944a1a13a14c0266>:0
at System.IO.Directory.GetFileSystemEntries (System.String path, System.String searchPattern, System.IO.FileAttributes mask, System.IO.FileAttributes attrs) [0x00023] in <8f2c484307284b51944a1a13a14c0266>:0
at System.IO.Directory.GetDirectories (System.String path, System.String searchPattern) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0
at System.IO.Directory.GetDirectories (System.String path) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0
at EZ_Builder.FormOpenEZB.XtZsj07xQ5 () [0x0000b] in <8a9b654daa5e46dc9cae530155c2d0ff>:0
at EZ_Builder.FormOpenEZB..ctor (System.String folder) [0x0002d] in <8a9b654daa5e46dc9cae530155c2d0ff>:0
at (wrapper remoting-invoke-with-check) EZ_Builder.FormOpenEZB:.ctor (string)
at EZ_Builder.FormMain.MenuClick_Open (System.Object sender, System.EventArgs e) [0x00027] in <8a9b654daa5e46dc9cae530155c2d0ff>:0
at (wrapper delegate-invoke) :invoke_void_object_EventArgs (object,System.EventArgs)
at System.Windows.Forms.RibbonItem.OnClick (System.EventArgs e) [0x00042] in <8137470ea8f14440974ce9168ccc636e>:0
at System.Windows.Forms.RibbonButton.OnClick (System.EventArgs e) [0x0003f] in <8137470ea8f14440974ce9168ccc636e>:0
at System.Windows.Forms.RibbonMouseSensor.Control_MouseClick (System.Object sender, System.Windows.Forms.MouseEventArgs e) [0x00041] in <8137470ea8f14440974ce9168ccc636e>:0
at System.Windows.Forms.Control.OnMouseClick (System.Windows.Forms.MouseEventArgs e) [0x0001c] in :0
at System.Windows.Forms.Control.HandleClick (System.Int32 clicks, System.Windows.Forms.MouseEventArgs me) [0x0005d] in :0
at System.Windows.Forms.Control.WmLButtonUp (System.Windows.Forms.Message& m) [0x00071] in :0
at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x0016f] in :0
at System.Windows.Forms.Ribbon.WndProc (System.Windows.Forms.Message& m) [0x00191] in <8137470ea8f14440974ce9168ccc636e>:0
at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x0000b] in :0
at System.Windows.Forms.NativeWindow.WndProc (System.IntPtr hWnd, System.Windows.Forms.Msg msg, System.IntPtr wParam, System.IntPtr lParam) [0x0008e] in :0
Thanks
Tim
so solution lies with robotis then.
I have many different versions of the Dynamixels and some work and some don't with ARC. I have two servos worth $600 that refuse to work. I've had best results with the MX series. Dj found the night of that hack, that they have different protocols for different series of servos (MX, XM,XL, etc)...which is a really bad idea from a company standpoint. ARC supports 3 protocols.....but its obvious there are more needed to cover their entire line of servos. Many servos are now discontinued and will be gone with stock including the AX-12. New series of servos are now in preorder.
So what will the new servos have as far as protocol?! Only testing will tell.
EDIT: OK I see you are using the IOTINY. so you have to change the baud rate.
Check to see that your port number matches the port on the iotiny when programming the servos id and baud using the plug in configuration.
So far I had the best luck using the Robotis OpenCM IDE, because on Arduino IDE the Examples also need tweaking to some extend, while the Robotis Software works pretty straightforward...
But one thing that is to be taken into account, you will always have to have some sort of a microcontroller for sending and receiving data from those servos.. eg an EZB, OpenCM or something similar!
The Raspberry Pi and its GPIOs are not made for this!
Thank you for your input. I agree with your statements about the different protocols. Robotis makes excellent servos, but I find them challenging to work with... I can say that their support is responsive... I am using the IoTiny because my other EZ-B v4 boards are in other robots. I may order another board or "borrow" one from a different robot.
Also, I will go back and double check the port number.
https://www.trossenrobotics.com/dynamixel-u2d2.aspx
I ordered one and should have it by Thursday or Friday. It would even be great if I could get the EZ-B IoTiny to work. It is small enough to be mounted inside of the MAKI robot (the EZ-B v4 is a bit too large), but I still want to use the Google AIY voice kit for speech...
Also, here is the latest response from Robotis (spoiler, they also suggest the U2D2):
Hi Tim,
Thanks for providing the additional information. Based on what you shared here's what we believe is causing this:
1)The first thing that stands out is that the OpenCM9.04 isn't fully supported on the DYNAMIXEL Wizard 2.0.
A) Normally other ROBOTIS software allows users to interact with the OpenCM9.04, However because the software is unable to see the OpenCM9.04 you are unable to make necessary changes to a firmware in the OpenCM9.04.
B) In the OpenCM9.04 firmware Address 12 sets the DXL Baud Rate which determines what baud rate the OpenCM9.04 uses to look for DYNAMIXELs. Because you are unable to change the baud rate in the OpenCM9.04 firmware the software is unable to change the baud rate DYNAMIXELs.
C) The U2D2 is ROBOTIS' recommend Interface device for the DYNAMIXEL Wizard 2.0
2)Using R+ Manager 2.0 will allow you to make these changes using the OpenCM9.04.
Did you say you ordered 90 OF THOSE???
Well, if so...or even if you are just using a few of them, I can totally understand that you need to get them to work!!
I would suggest we are going step by step, with the hardware at hand!!
So could you confirm, that your servos are working with the example code provided by Robotis for the OpenCM board!
Please use the Robotis software to upload, the code will not work with the Arduino IDE...
So we can confirm, that you are able to drive those servos, the way that Robotis wants us to drive them!!
Turns left the dynamixel , then turn right for one second,
repeatedly.
Compatibility
CM900 O
OpenCM9.04 O
Dynamixel Compatibility
AX MX RX XL-320 Pro
CM900 O O O O X
OpenCM9.04 O O O O X
**** OpenCM 485 EXP board is needed to use 4 pin Dynamixel and Pro Series ****
created 16 Nov 2012
by ROBOTIS CO,.LTD.
*/
/* Serial device defines for dxl bus */
#define DXL_BUS_SERIAL1 1 //Dynamixel on Serial1(USART1) <-OpenCM9.04
#define DXL_BUS_SERIAL2 2 //Dynamixel on Serial2(USART2) <-LN101,BT210
#define DXL_BUS_SERIAL3 3 //Dynamixel on Serial3(USART3) <-OpenCM 485EXP
/* Dynamixel ID defines */
#define ID_NUM 1
/* Control table defines */
#define GOAL_POSITION 30
Dynamixel Dxl(DXL_BUS_SERIAL1);
void setup() {
// Dynamixel 2.0 Baudrate -> 0: 9600, 1: 57600, 2: 115200, 3: 1Mbps
Dxl.begin(3);
Dxl.jointMode(ID_NUM); //jointMode() is to use position mode
}
void loop() {
//Turn dynamixel ID 1 to position 0
Dxl.writeWord(ID_NUM, GOAL_POSITION, 0); //Compatible with all dynamixel serise
// Wait for 1 second (1000 milliseconds)
delay(1000);
//Turn dynamixel ID 1 to position 300
Dxl.writeWord(ID_NUM, GOAL_POSITION, 300);
// Wait for 1 second (1000 milliseconds)
delay(1000);
}
Yes, I am invested in getting these servos to work
Also, here is an image of those robots assembled:
I forget my power supply at my shop yesterday, but I grabbed it this morning. I will test the example code after lunch. I also received the U2D2 yesterday, so I will test that as well. Lastly, if I have time today I would like to install EZBPi server onto an OpenCM9.04 and test that.
Thanks again for everyone's help.
And yes the EZBPi server on the OpenCM would be the best option if you want a smooth ARC integration...I am sure that @DjSures will also update the plugin code, if you are having trouble to get those servos working!!
Let us know, how things are evolving!!
Here is a link for the power supply (Coolmax I-400):
http://www.coolmaxusa.com/productDetailsPower.asp?item=I-400&details=overview&subcategory=80mm&category=single
Here is a link for the touchscreen display:
https://www.waveshare.com/7inch-hdmi-lcd-c.htm
Seems like there are already a lot of people interested in your robot!!
ARC has a nice, and easy to use GUI...so it should get a lot easier for anyone to get started with MAKI!!
I experienced that ARC is a bit slow when running on the Raspberry Pi, but I also only tried it on the 3B...
The new Pi should have more than enough juice to run the software I guess!
In addition to the Raspberry Pi 3 B+, I am also using an OpenCM9.04 connected to the Pi via USB. The XL430 servos have a default baud rate of 1 Mbps, so I made sure that the DXL baud rate was also set to 1 Mbps on the OpenCM9.04. I am powering the OpenCM9.04 board directly from a 12v power supply. If you are using an OpenCM 485 Expansion Board, be sure to change the channel to 1, otherwise leave it set to the default which is 0.
To install EZB Server (BlueBerry Server), follow ptp's setup instructions; in addition, you will also have to follow these instructions (also provided by ptp) if you are using an OpenCM9.04:
1) Install opencm usb port settings :
source: http://emanual.robotis.com/docs/en/parts/controller/opencm904/
point: 8.3.1.1
run those 4 lines:
2)Code:
after connecting the opencm you can confirm is available:
Code:
you should see the serial device: /dev/ttyACM0
3) Update your Blueberry repository
Code:
the last command updates your local repository
4) Start the BlueberryServer:
4.1 help with the options:
Code:
4.2 use opencm as serial ARC uart0 :
*orCode:
4.3. use opencm and picamera
Code:
*Other notes:
When using XL430 servos, in the Dynamixel plugin settings, set the baud rate to 1000000 (unless you have changed the default setting) and use UART Port #0. When moving the servos to different positions, the movement was very "jerky" until I increased the number of Steps.
This is a great first step and I am happy that I am able to run EZBPi server on a Raspberry Pi, but ultimately I would like to run ARC on the Pi as well. I will update this post once I am able to run ARC on the Pi with this version of EZB Server. Once I get "most" of the bugs worked out, I will also let you know when the STL files will be available for download (if you are interested in building your own MAKI)
*Please let me know if anyone has any input on this issue.
There is also just a bit of delay in the RPI camera feed. I am hoping that once I am able to run both EZB Server and ARC on the same Pi, that delay will be reduced.
Thanks again everyone
As for smoothness of servos, you don’t have to use 4095, it can be 1024 or even 512, which increase the resolution significantly
the servo speed, steps and delay will help quite a bit. Once you experiment with the values and their affect, it’ll make a lot of sense
Or is it just to early to do so because there are still a lot of changes at this time of development?
the only time I’ve had someone reach out directly with a raspberry pi ARC issue was because they were trying to load ARC from text mode. They forgot to load the xwindows GUI first.